1

私はgitにかなり慣れていないので、まだツールを使用しています。

マージに関連する「小さな」問題があります。基本的にタイムラインは次のとおりです。

  1. git-svnブリッジを使用してSVNからリベースしました
  2. 私がマージしたが、決してコミットしなかった競合がありました
  3. 他の仕事をしました...それの多くと他の多くの変更をコミットしました
  4. プッシュしようとしましたが、「致命的です。マージMERGE_HEADが存在すると結論付けていません」
  5. http://www.btaz.com/scm/git/git-fatal-you-have-not-concluded-your-merge-merge_head-exists/で推奨されているように、「gitreset--mergeORIG_HEAD」を実行しました。
  6. マージの問題を修正しました
  7. 愚かにコミットされた変更とプッシュ

前回のマージで多くの変更が失われていることに気付きました。マージを元に戻し、変更を元に戻すためにgitを取得するのに最適な方法を考えていますか?

私は問題を明確にしたことを願っています...頭上で私を打ち負かさなければ

4

2 に答える 2

2

正確な修正方法はわかりませんが、git reflog非常に強力なツールです。リポジトリに発生したすべてが表示されます。次に、たとえば、コミットが作業中のマスター ブランチにない場合でも、履歴からコミットをチェリー ピックできます。

于 2012-05-02T00:20:34.553 に答える
0

前述のgit reflogコマンドを使用して、「失われた」コミットを見つけます。git showを使用して、各コミットを確認できます。次に、マージが完了したコミットを 1 つずつ現在のブランチにチェリー ピックすることをお勧めします。明らかに、テストを行う必要があります (単体テストはありますよね? :-)。すべてのコミットを選択したら、自由に変更をプッシュできます。

于 2015-09-02T13:07:05.837 に答える