2017-08-03 16 views
1

タイトルから推測できる通り、私は誤ってコミットを押した。私はそれを削除したり削除したりする方法がまだあるかどうか疑問に思っていましたか?GitHubでプッシュされたコミットを削除するには?

この質問には既に回答していますが(hereなど)、私は、そこに提供されている回答が今日も適用されているかどうかわからないため、サイトにさらに更新されたバージョンを追加すると便利です。

ありがとうございます!

+0

[どのように私はGitHubの上のコミットを削除することができますか?](https://stackoverflow.com/questions/448919/how-can-i-remove-a-commit-on-github)の可能性のある重複 – phd

答えて

2

はい、削除したいコミットが最新のコミットであるとします。削除したいコミットの前にコミットのコミットIDを取得することができます。 git logでこれを行うことができます。このようなものかもしれません。

commit d338e7a5626a763f74c2e69777ce930532fe008d 
Author: Stan Liu 
Date: Wed Aug 2 18:35:00 2017 -0700 

    Commit 2 

commit 47d81989c633c3afb3fc6aa1f319c0c0d4d3871b 
Author: Stan Liu 
Date: Wed Aug 2 18:31:39 2017 -0700 

    Commit 1 

ローカルマシンで変更を削除する場合は、git reset --hard <COMMIT_ID>を実行します。私の場合、git reset --hard 47d81989c633c3afb3fc6aa1f319c0c0d4d3871b47d81989c633c3afb3fc6aa1f319c0c0d4d3871bを削除します。次に、リモートのレポがある場合は、新しいブランチをリモートのレポにプッシュします。

コミットを削除したいが、そのコミットの変更を保持したい場合は、git reset <COMMIT_ID>が動作します。

+0

私は今これを試してみる –

+0

申し訳ありませんが、 'd338e7a5626a763f74c2e69777ce930532fe008d'を削除したい場合、' git reset -hard 47d81989c633c3afb3fc6aa1f319c0c0d4d3871b' –

+0

ありがとうございました! –

1

はいローカルで作業し、「力」賢明かつ慎重にそれを使用してコミット

git push --force 

をプッシュをロールバックすることができます!

+0

これは遅すぎるのではないですか? –

+0

番号。 – wargre

1
$ git commit -m "accidently committed"   
$ git reset HEAD~        
<< edit files as necessary >>      
$ git add ...           
$ git commit -c ORIG_HEAD         
関連する問題