問題タブ [fast-forward]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
git - 別の git fast-forward merge revert の質問
私は昨夜自動操縦をしていて、無意識のうちに大きな機能feature/bigfeature
ブランチを私たちのdevelop
ブランチにマージし、リモートにプッシュしましたorigin/develop
. 私は開発が完全に無傷で変更されていないことを望んでいました。
このフィーチャー ブランチは数週間にわたって開発中であり、ワークフローの一部は継続的に origin/develop をそれにマージしていました。これにより、マージ/プッシュを元に戻すことが難しくなります (不可能ですか?)
各ブランチには時間の経過とともにいくつかのコミットがあり、これを解く方法は履歴を見ると明確ではありません。マージコミットの復帰を試みました:
git revert 94c8d1f0 -m 1
しかし、これは、origin/develop のフィーチャー ブランチへの最後のマージ後に、狭い範囲のコミットを元に戻すだけです。reflog でマージを特定しました。
だから私はできることを知っていますgit reset --keep develop@{N}
が、繰り返しますが、bigfeature に関係のない他の多くのオリジン/開発へのマージを失っているようです。戦略は、時間をさかのぼってチェリーピックを始めることだと思います。しかし、別の方法はありますか?
git - Git Merge Fast-Forward vs Git Rebase
What is the difference between a fast-forwarded git merge
and a git rebase
? Don't both accomplish keeping history linear and no merge commits? If so, why would one use one over the other? If not, which is what I think is true, what is the whole story that I'm not seeing?
Thanks!