2012-05-30 11 views
11

を犯す可能性の重複を削除します。
How can I remove a commit on github?
How to delete a 'git commit'はgithubのから

だから私はgithubのからコミットを削除しようとしています。

3分前ですが、すべての変更が失われても大丈夫です。

だからここからの質問に基づいて、私は今、それはgithubのからだけでなく、gitのログに消えて

git reset --hard <sha-commit-name-to-go-back-to> 
git push -f origin HEAD^:master 

をしました。

私はその後、私の変更をやり直しと

git add <file I changed> 
git commit 
git log 

すべてが正常に見えるんでした。古いコミットの痕跡はありません。だから私はついにやった:

git push 

今私は削除したこれらの3つのコミットがあります。

私は間違っていますか?どのようにコミットを返すのを防ぎますか?

答えて

11

新しい変更を適用する前にgit rebaseプロセスを使用してください。再配置後、新しい変更を追加してコミットします。

git rebase -i HEAD~2 

git push origin +master 
+0

ありがとうございます!これはうまくいったようです。しかし、.gitディレクトリを掘り下げてみると、削除しようとしているコミットの参照で、ログの下にたくさんのファイルがあります。 git push origin + masterを実行する前に、これらのファイルを編集して参照を削除しました。 – Jistanidiot

+2

@ Jistanidiot、たぶんあなたは 'git reflog'のストレージを使いこなしていたでしょう。実際には 'git reflog'にはストレージを操作する独自の方法があり、何かを壊すための変更がありました。 – kostix

+2

ありがとう!私はまず 'git reset -hard 'を実行してコマンドを使い、それは魅力的に機能しました! –

関連する問題