タグ付けされた質問 「git」

Gitは、オープンソースの分散バージョン管理システム(DVCS)です。このタグは、Gitの使用法とワークフローに関連する質問に使用します。単にリポジトリがGitHubでホストされているからといって、Git関連の問題には[github]タグを使用しないでください。また、Gitリポジトリが関係する一般的なプログラミングの質問には、このタグを使用しないでください。

5
プルリクエストからコミットを削除する方法
私はプルリクエストを行いましたが、その後、ローカルでプロジェクトにいくつかのコミットを行い、プルリクエストを汚染しました。それを削除しようとしましたが、運がありませんでした。 StackOverflowで同様の質問をいくつか見つけましたが、そこにあるものを適用できません。これはGitHubでの最初のプルリクエストなので、これがどのように機能するのか私には少し奇妙です。 ハイライトされたコミットは、他のすべてのものを保持して削除する必要があるコミットです。私はいくつかのマージを行うので、これは歴史上4番目のコミットになります。 私のgitログ 誰かが何が起こっているのか、そしてこの問題を修正する方法を説明できますか?
103 git  github  pull-request 

3
フォークされたリポジトリのgit masterブランチを上流のブランチにリセットするにはどうすればよいですか?
フォークしたgitリポジトリのmasterブランチを完全にめちゃくちゃにしました。 私のフォークにプッシュされたマスターブランチを、アップストリームのマスターリポジトリの内容で完全にリセットしたいと思います。マスターブランチの変更や履歴を保持することに関心はありません。 最も単純なアプローチは、私のフォークされたリポジトリを削除して、上流プロジェクトからreforkすることでした。ただし、他のプッシュされたブランチで、失いたくない作業があります。 したがって、プッシュされたマスターブランチをアップストリームマスターでリセットするにはどうすればよいですか? git clone https://myrepo.git cd myrepo git remote add upstream https://upstream.git git fetch upstream ローカルおよびリモートのマスターブランチをアップストリームマスターでリセットするには、ここからどこに行けばよいですか?
103 git 

4
git stash popが、追跡されていないファイルをstashエントリから復元できなかったと言うのはなぜですか?
ステージングされた変更とステージングされていない変更がたくさんあり、すぐに別のブランチに切り替えてから元に戻したいと思いました。 そこで、以下を使用して変更をステージングしました。 $ git stash push -a (後から考えると、--include-untracked代わりに使用できたはずです--all) 次に、隠し場所をポップしようとすると、次の行に沿って多くのエラーが発生します。 $ git stash pop foo.txt already exists, no checkout bar.txt already exists, no checkout ... Could not restore untracked files from stash entry 隠し場所から復元された変更はないようです。 私も試しました$ git stash branch tempが、同じエラーが表示されます。 私はこれを回避する方法を見つけました。 $ git stash show -p | git apply 今のところ災害は回避されていますが、これはいくつかの疑問を提起します。 そもそもなぜこのエラーが発生したのですか?次回はどうすれば回避できますか?
103 git  git-stash 

4
「master」以外のデフォルトのブランチ名でGitリポジトリを作成するにはどうすればよいですか?
ではプロGitの本、それは言います 「起源」は特別ではありません ブランチ名「master」がGitで特別な意味を持たないように、「origin」も同様です。「master」はgitinitを実行するときの開始ブランチのデフォルト名であり、これが広く使用されている唯一の理由ですが、「origin」はgitcloneを実行するときのリモートのデフォルト名です。代わりにgitclone -o booyahを実行すると、デフォルトのリモートブランチとしてbooyah / masterが使用されます。 つまり、デフォルトのブランチ名をmainまたはmain-branchなどとして使用できます。別のデフォルトのブランチ名でman git-init初期化するオプションが見つかりませんでしたrepo。 GitHubは、設定ページでデフォルトのブランチ名を設定する方法を示しています。しかし、私は特定のGitホスティングサイトでそれを設定する方法について話していません。特定のGitホスティングサイトに関してではなく、Gitに関してのみ厳密に質問しています。 それを行う方法はありますか?

4
sbtはどのようにgitから依存関係のアーティファクトをプルできますか?
sbtgitリポジトリから依存関係を取得できると聞いたことがあります(また、どこかを思い出せば、例も見ました)。 依存関係harrah / upをgithub から取得したいと考えています。リポジトリはアーティファクトJARファイルを提供せず、を使用して構築するように設定されたソースツリーのみを提供しsbtます。私が想像しているプロセスはsbt、ソースリポジトリをダウンロードしてビルドし、それを依存関係のアーティファクトとして使用することです。 私はsbt実際にこのようなことができると想像しているかもしれません。それをできる?もしそうなら、どうやって?

11
既存のgitリポジトリをopenshiftで使用できますか?
OpenShiftでのみgit repoが必要ですか?私はすでにbitbucket / github git repoを持っているので、そこだけにプッシュしたいと思います。openshiftが親密になるように単純にそれにフックすることはできますか? または、簡略化のために、githubでのみプッシュしますが、展開したい場合、openshiftで何かを行いますか? 私はこれをチェックしましたが、それは私を混乱させました:それは、終了と新しい(オープンシフト)gitのマージについて話しているのですか?
102 git  openshift 


1
なぜGitはティータイムを持っているのですか?
でdate.cのGitのソースコード内のファイル、私は特別な時間名の次のような構造に注意してください。 static const struct special { const char *name; void (*fn)(struct tm *, struct tm *, int *); } special[] = { { "yesterday", date_yesterday }, { "noon", date_noon }, { "midnight", date_midnight }, { "tea", date_tea }, { "PM", date_pm }, { "AM", date_am }, { "never", date_never }, …
102 git 


7
--single-branchクローンを「元に戻す」にはどうすればよいですか?
私はを使用してレポをクローンしました git clone -b <branch name> --single-branch <github url> <target directory> これはこのブランチのみを複製しましたが、今はマスターと他のブランチに切り替えたいです。--single-branch設定を元に戻すことができる、それをクリアして残りのレポのクローンを作成し直す以外に方法はありますか?
102 git  github 

4
Gitで孤立したコミットを閲覧する
私のgitリポジトリはどういうわけか狂っています-私は今朝msysgitをロードし、現在のディレクトリの後にブランチ名が表示される代わりに、「((ref:re ...))」と表示され、「git status」はすべてとしてレポートします新しいファイル、「git log」、「git reflog」は、「致命的:悪いデフォルトリビジョン「HEAD」」などを通知します。 'git reflog --all'または 'gitk --all'を実行すると、リポジトリの残りの部分がそのまま表示されますが、作業していたブランチが消えたように見え、HEADが存在しないように見える理由を説明しています/何かを指す。 私はgitがあらゆる種類の情報の塊を保持していることを知っており、私のコミットが何らかの方法で孤立したと想定しているので、それらのコミットを表示してHEADをリセットできるコマンドはありますか? 編集:ああ、親愛なる。「git fsck」を発見し、「git fsck --full」で「致命的:オブジェクト03ca4 ...が壊れています」と報告されました。それについて悪魔は何ができますか? 編集:ああ、親愛なる、親愛なる。別のブランチをチェックアウトしてから、「git checkout -b lostbranchname」を使用して同じ名前で元のブランチを再作成しようとしましたが、gitは「エラー:参照refs / heads / lostbranchnameを解決できません:エラーなし、致命的:失敗しました更新のために参照をロックする:エラーなし」「エラーなし」は特に厄介なエラーでなければなりません。したがって、まだぶら下がっているように見えますが、使用したり殺したりすることはできません。 編集:スーパーデューパーああ、親愛なる。私はここで提案されているように、アンパック、再パック、および物事の交換をたくさん行いました:ハードディスク障害によって損傷したGitオブジェクトを回復する方法?、しかし今、「git status」のような無害なもののために、別のハッシュが破損していると報告されています。私はすべてがホースであると思います。Gitはとても美しいですが、私はこの種のことを扱う必要はありません。
102 git 

14
NET dllにgit commit hashを埋め込む
バージョンコントロールとしてGitを使用して、C#アプリケーションを構築しています。 アプリケーションをビルドするときに、最後のコミットハッシュを実行可能ファイルに自動的に埋め込む方法はありますか? たとえば、コンソールにコミットハッシュを出力すると、次のようになります。 class PrintCommitHash { private String lastCommitHash = ?? // What do I put here? static void Main(string[] args) { // Display the version number: System.Console.WriteLine(lastCommitHash ); } } デプロイした実行ファイルにはgitリポジトリにアクセスできないため、これはランタイムではなくビルド時に行う必要があることに注意してください。 C ++に関連する質問はここにあります。 編集 @mattanjaのリクエストに従って、私は自分のプロジェクトで使用するgitフックスクリプトを投稿しています。セットアップ: フックはLinuxシェルスクリプトで、次の場所に配置されています:path_to_project \ .git \ hooks msysgitを使用している場合、hooksフォルダーにはすでにいくつかのサンプルスクリプトが含まれています。gitでそれらを呼び出すようにするには、スクリプト名から「.sample」拡張子を削除します。 フックスクリプトの名前は、それらを呼び出すイベントと一致します。私の場合、ポストコミットとポストマージを変更しました。 私のAssemblyInfo.csファイルは、プロジェクトパスの直下にあります(.gitフォルダーと同じレベル)。23行ありますが、24行目はgitを使って生成しています。 私のlinux-shellは少し錆びているので、スクリプトは単にAssemblyInfo.csの最初の23行を一時ファイルに読み取り、gitハッシュを最後の行にエコーし、ファイルの名前をAssemblyInfo.csに戻します。これを行うにはもっと良い方法があると確信しています: #!/bin/sh cmt=$(git rev-list --max-count=1 HEAD) …
102 c#  git 

2
git AuthorDateがCommitDateと異なるのはなぜですか?
私はgitログを検索し、AuthorDateとCommitDateが一部のコミットでわずかに異なることを確認します。 commit 3a5912f90dc5227f308e99f95152fbee2301c59a Author: <hidden> AuthorDate: Fri Jun 15 10:57:22 2012 +0800 Commit: <hidden> CommitDate: Fri Jun 15 11:14:37 2012 +0800 著者とコミットは同じです。 これはどのように起こりますか?私は何日も困惑しています。 さらにあります(341のコミットのうち17で起こります): +------------------------------+-------------------------------+ | from_unixtime(authored_date) | from_unixtime(committed_date) | +------------------------------+-------------------------------+ | 2012-06-15 10:57:22 | 2012-06-15 11:14:37 | | 2012-06-15 14:39:54 | 2012-06-15 14:48:57 | | 2012-06-19 12:28:21 | 2012-06-19 …
102 git 

2
ブランチからすべてのコミットをプルし、指定されたコミットを別のコミットにプッシュします
次のブランチがあります。 master production および次のリモートブランチ: origin/master origin/production origin/masterブランチをフェッチし、最後のフェッチ(log -p master..origin/master)からの変更点の差分を取得するスクリプトがあります。その後、私はマージしorigin/masterます。 見つかったコミットはコードレビューツールにプッシュされます。 成功したコミット(そしてそれらのみ)を本番ブランチにプッシュし、次にもちろんにプッシュしたいと思いorigin/productionます。 どうすればできますか? また、2つのスクリプトを実行しています。1つはからフェッチしorigin/master、コミットの詳細をデータベースにプッシュし、マージします。もう1つは現在書いているスクリプトで、成功したコミットをプッシュする必要があります。 競合状態/マージの競合を回避しながら、これら2つのスクリプトを実行したいのですが。特定のコミットのみを操作したいので、不要なコミットを削除する方法があるのでしょうか?
102 git  branch 

8
Gitでコミットする前にステージが必要なのはなぜですか?
私はバージョン管理に不慣れです。「コミット」とは、作業中の新しい「現在の」バージョンを更新しながら、基本的にバックアップを作成することを理解しています。 私が理解していないのは、ステージングが実際的な観点から何であるかです。ステージングは​​名前だけで存在するものですか、それとも目的を果たしますか?あなたがコミットすると、とにかくすべてをコミットするでしょう、そうですか? 編集:用語がわかりにくいかもしれません。「ステージング」ファイルは「追跡」ファイルと同じですか?
102 git 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.