gitでコミットの範囲を元に戻すにはどうすればよいですか?gitrevisionsのドキュメントを見ると、必要な範囲を指定する方法がわかりません。例えば:
A -> B -> C -> D -> E -> HEAD
私は次と同等のことをしたい:
git revert B-D
結果は次のようになります。
A -> B -> C -> D -> E -> F -> HEAD
ここで、FにはBDの逆が含まれます。
どのバージョンのGitを使用していますか?
Git1.7.2 +でのみサポートされている複数のコミットの復帰:詳細については、「複数回復帰を使用して古いコミットにロールバックする」を参照してください。
現在のgit revert
マニュアルページは、現在のGitバージョン(1.7.4+)専用です。
以下のようOPアレックス・スパーリングはコメントで報告します。
1.7.4へのアップグレードは正常に機能します。
私自身の質問に答えるために、これは私が探していた構文です:
git revert B^..D
B^
「Bの最初の親コミット」を意味します。これによりB
、復帰に含めることができます。
「を参照してくださいgit rev-parse
REVISIONS区間を指定含まれている」<rev>^
など、HEAD^
構文:でもっと見る「キャレット(何^
)文字の平均値を?)」
元に戻された各コミットは個別にコミットされることに注意してください。
git revert OLDER_COMMIT^..NEWER_COMMIT
以下に示すように、すぐにコミットせずに元に戻すことができます。
git revert -n OLDER_COMMIT^..NEWER_COMMIT
git commit -m "revert OLDER_COMMIT to NEWER_COMMIT"
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加