2017-03-07 11 views
0

gitは、以前のコミットをリポジトリに保持します。私は私のレポ履歴からさらに特定のコミット(私はIDを持っている)をどのように取り除くことができるか知りたいですか?リポジトリから前のコミットをgitで削除するには?

+3

[ブランチの途中からコミットを取り除く]の複製があります(http://stackoverflow.com/questions/42518104/removing-commit-from-middle-of-a-branch) –

+0

誰も私を説明できますか? ?私はそれを得ていない –

答えて

0

としてはhttps://stackoverflow.com/a/42522493/1507546を説明し、あなたは多くのコミットを参照してくださいよ最初の部分ではgit rebase

# 06c8c77^ means the commit just before 06c8c77 
git rebase -i 06c8c77^ 

# Your default editor configured for git will be opened with line similar to the following 

を使用することができ、削除したい一つは、あなたがそのためにコミットハッシュを比較することができ、一番下にあります。

pick 91c0bd0 track one 
.... 
pick 06c8c77 bla bla bla # the one to remove 

これを削除するには、2番目の部分で説明するように、エディタから行を削除するだけです。

# .... 
# 
# If you remove a line here THAT COMMIT WILL BE LOST. 

その後、エディタを保存して終了する必要があります。これがエラーなく行われる場合は、リモートブランチを更新する必要があります。ブランチの名前はインスタンスのfeature/my_branchある場合は、次の操作を行う必要があります

git push -f origin feature/my_branch # -f or --force to replace the remote feature/my_branch with the local one 

N.B. rebaseを使用すると、ブランチが1人の開発者のみが使用する限り、これは安全です。

関連する問題