2

まず、現在どのブランチにいるのかを確認するにはどうすればよいですか?「gitbranch」と入力しましたが、返されました

* (no branch)
  master

では、コミットするとき、これらの変更はどこにコミットされますか?

次に、マスターブランチに加えた変更をどのように取得できますか?

4

3 に答える 3

1

そのような状況で何かをコミットすると、コミットは通常と同じ方法で作成されますが、それを指すブランチはありません。後でコミットを見つけやすくするために(つまり、ハッシュを覚えたりreflogを使用したりせずに)、ガベージコレクターから保護するために、コミットした後でもそのコミットへのブランチを作成できます。

git commit
git branch tmp

その後、変更をマスターに戻す1つの方法は、チェックアウトされたコミットがマスターの親であると仮定して、次のようになります。

git rebase master
git checkout master
git merge tmp
git branch -d tmp
于 2012-07-10T23:38:07.140 に答える
0

これは、それをローカルマスターに取り込み、リモートオリジンにプッシュするためのトリックを実行する必要があります

  git stash
  git checkout master
  git stash pop  
  git add .
  git commit -m "my changes.."
  git push origin master
于 2012-07-10T23:33:31.620 に答える
0

現在、「デタッチドヘッド」モードになっています。つまり、gitはあなたに嘘をついているわけではありません。あなたはブランチに参加していないか、名前のあるブランチに参加していません。

それにもかかわらず、現在のコミットにはまだ履歴があります。行った変更はすでにコミットされていると想定します。そのため、作業コピーはクリーンです。そうでない場合は、git stashまたはgit commitそれらの変更を邪魔にならないように使用してください。

コミットをマスターに「アウト」するには、2つのオプションがあります。まず、現在のブランチとなるマスターを変更できます。

git branch -d master
git branch master
git checkout master

...これは、「マスター」のすべての変更が現在の名前のないブランチに存在する場合にのみ成功します。

もう1つの方法は、マスターをチェックアウトしてから、現在の変更をマージ/リベース/チェリーピックすることです。

git checkout master
git merge HEAD@{1} # HEAD@{1} is "where HEAD was previously"

git checkout HEAD~1ブランチのHEADではないものをチェックアウトするなどの操作を行うと、「切り離されたヘッド」状態になります。

于 2012-07-10T23:36:52.960 に答える