1

ユーザーブランチと彼が使用しているコミットIDをチェックアウトする機能を展開に組み込みたいです。

以前は、展開ボックスのマスターのみをチェックアウトしていました。私はこれを行いましたが、うまくいったようです。

git checkout HASH

しかし今は、ステージング ボックスでブランチとハッシュをテストする機能が必要です。それ、どうやったら出来るの?HASHにリセットするとブランチが推測されると思いましたが、うまくいきませんでした。私はただできると思ったcheckout branch HASH

ステージング サーバーのブランチに現在チェックインしているユーザーを再作成するにはどうすればよいですか?

4

2 に答える 2

3

コミット ハッシュ自体はブランチを参照しません。複数のブランチに存在するか、まったく存在しない可能性があるコミットを指します。

ブランチは、コミット ハッシュを指す名前にすぎません (このポインタは、コミットがブランチに追加されると移動します)。

ブランチをチェックアウトするには、 を使用する必要がありますgit checkout <branch>

ハッシュのみをプッシュする場合は、ステージング ボックスでブランチ名が認識されるように、ブランチを名前でプッシュするように切り替える必要があります。

ステージング サーバーのブランチに現在チェックインしているユーザーを再作成するにはどうすればよいですか?

これが必要な場合は、ブランチをチェックアウトする必要はありません。git checkout HASHすでに行っているように使用してください。これは、常に同じことを反映することが保証されています。

于 2012-09-05T12:08:48.490 に答える
1

これには複数のコマンドが必要です

新しいブランチを作成するという特別な場合を除いて、checkoutコマンドはブランチ ref とコミット ハッシュの両方を同時に受け取ることはできません。したがって、別のブランチのコミットをデタッチされたヘッドとしてチェックアウトするには:

git checkout <branch_name>
git checkout <commit_hash>

同一のハッシュは同一のコミットです

(実用的な観点から) 同一のコミット ハッシュには、それが存在するブランチに関係なく同じ内容が含まれるため、上記は厳密には必要ない場合があります。たとえば、コミット 1d2cad0 は複数のブランチに存在する可能性があり、デタッチされたヘッドの場合git checkout、コミット時にどのブランチにいるかは問題ではありません。

たとえば、ブランチfooに1d2cad0 が存在する場合、どのgit checkout 1d2cad0ブランチからでも次のようなメッセージが表示されます。

HEAD は現在 6bce656... foo にあります

あなたは切り離された頭の中にいて、それを処理する方法についての追加の指示が表示されます. このユースケースでは、祖先を追跡するためにgitを必要とする追加のコミットを行うまで、ブランチ自体について心配する必要はありません。

于 2012-09-05T12:21:51.000 に答える