私は現在ブランチ「foo」にいます。実行したばかりですgit merge master
。唯一の問題は、fooに保持したい特定のファイルがあったことです。それを取り戻すが、マージマスターからの他のすべての変更を保持する方法はありますか?
次のようなものを試してください。
git checkout HEAD -- filename
これにより、ファイルバックが1つのコミットにロールバックされます。特定のコミットにさらに戻りたい場合は、コミットハッシュを使用するか、HEADキーワードの末尾に^ Nを追加します。例:HEAD^2
。
現在の状況から問題を修正する方法がわかりませんが、git merge -s ours
を確認することをお勧めします。ドキュメントは ここ です。
ワークフローは
a
からブランチmaster
を作成しますa
にマージして戻したくないブランチmaster
でカスタム変更を行いますmaster
とgit merge -s ours a
をチェックしてくださいa
をチェックして、作業とコミットを続けてください。これで、マスターとマージするときに、ステップ2のカスタム変更は無視されます。