私たちは、マスターブランチ、マスターからのステージングブランチ、およびステージングからの私の機能ブランチを持っています。ここでは図です:特定のコミットを削除するには?
my_feature: o--o--o---o--o <= after rebase, contains commits
/ / from other_feature
other_feature: o--o /
/ \ /
staging: o--o---o--o
/
master: o--o--o--o-o--o--o--o--o <= master
other_feature
がstaging
にマージすることを意図してstaging
と合併したが、その後my_feature
がmaster
に直接マージする必要があることを実現した後、私はmy_feature
ブランチをリベース。
今のところ問題はother_feature
から現時点ではmaster
に取引がありません。
私はgit revert --no-commit 65b2e1b
をしようとすると、それがマージされていないファイルやfatal: Your index file is unmerged
のリストを返します。私はこれがどういう意味か分かりません。
git status
は、前述のマージされていないファイルを返します。そこでgit commit -am "revert"
を実行して、You are currently reverting commit 5a53cd0. nothing to commit, working directory clean
というメッセージを返します。私はその後、git push
をしようとするとそれだけでeverything is up to date
任意の提案を言いますか?あなたが新しいリベースで、元のリベースを元に戻すことができ
これらの「マージされていない」メッセージがマージの途中であることを意味しています。表示されているステータスは、既にこの復帰を開始したことを示唆しており、まだ復帰しています。コミットを元に戻したい場合は、手動でマージプロセスを終了し、復帰を 'git commit'する必要があります。 git pushは* commit *だけをプッシュし、進行中のrevert-the-a-merge-conflictはまだ新しいコミットではないので、 'git push'はあまり役に立ちません。あなたがすべてで元に戻すのではなく、完全に元のリベースを取り消して、所望の標的とリベースのプロセスを再起動してはならないよう – torek
は、あなたの質問の更新に基づいて、それが聞こえます。それが正しい場合は、現在の復帰を終了する代わりに、 'git revert --abort'を実行して復帰状態に戻します。フィーチャーブランチのreflogを使用して、リベースを元に戻します。 – torek
助けてくれてありがとう!数日前にリベースしてから、それ以来何週間もの作業がありましたか? 誰かが私がなぜこのような質問をdownvoteするのか理解するのを助けることができますか?それはとても不合理なのでしょうか? –