0

周りを見回しても、これに対する答えが見つかりません! 私は完全な git n00b であり、私にいくつかの指針を与えることができる人には本当に感謝しています。

私は当初、リポジトリにコミットの長いブランチを 1 つ持っていました。ブランチの以前のコミット (master~14) に割り当てたメッセージを変更したかったのです。

だから私はやった

git checkout master~14
git commit --amend -m "added the new description for the commit bla bla bla"

残念ながら、私は切り離されたヘッドモードに置かれました。それで、少しパニックになり、このコミットへの参照を失わないように新しいブランチを作成しました

git branch detached

今、私はこのような状況にあり、独自のブランチのツリーの一番上に master~14 があり、競合を引き起こしたり、何も上書きしたりせずに、ツリー内の場所に戻したいと考えています。

+        [detached] xxxxx
  *    + [master] xxxxx
  *    + [master^] xxxxx
  *    + [master~2] xxxxx
  *    + [master~3] xxxxx
  *    + [master~4] xxxxx
  *    + [master~5] xxxxx
  *    + [master~6] xxxxx
  *    + [master~7] xxxxx
  *    + [master~8] xxxxx
  *    + [master~9] xxxxx
  *    + [master~10] xxxxx
  *    + [master~11] xxxxx
  *    + [master~12] xxxxx
  *    + [master~13] xxxxx
  *    + [master~14] xxxxx

また、(これが解決された後) コミットを master~14..master~5 から 1 つの新しいツリーとして分岐し、最後に master~4..master を別のツリーとして分岐したいと考えています。

4

2 に答える 2

1

q1:

git checkout master

これにより、マスターのヒントに戻ります

または使用する

git reflog

またgit reflog show master

ポインタがどのように動いているかを確認します

しかし、全体へのより良いアプローチは

git rebase -i master~14

次に、修正のために停止するために必要なコミットをマークします。そうすれば、分離されたHEAD状態にはなりません。

q2:私には、master〜14..master〜5とmaster〜4..masterが正しい場合はmaster〜15から開始するように思われます(簡単にするために名前付きブランチを作成します):

git branch feature1 master~5
git branch master15back master~15
git rebase --onto master15back feature1 master

gitrebasedocを参照してください

于 2012-07-19T21:31:29.073 に答える
0

q1の場合、git rebase -i master〜14を試すことができます

この後、relate commitをrに変更すると、コミットメッセージが更新されます。

于 2012-07-19T14:36:29.783 に答える