2016-07-15 8 views
5

私の.gitignoreファイルにあった私のDjangoプロジェクトの.ideaディレクトリからファイルを誤ってプッシュアップしました。彼は私のbitbucketリポジトリからコミットを完全に削除しようとしています。私のプロジェクトで作業している他の人がいるので、自分の.ideaファイルに影響を与えずに変更を取り込めません。私はあなたがgit revertを使うと言っている他のSOの質問を見ましたが、あなたが最後に行った良いコミットを押したことを覚えています。それ以降はすべてmasterブランチから削除されました。例bitbucketからコミットを削除する方法

の履歴をコミット:

94ca48e

55fab05

私は94ca48eを削除したい、と55fab05。 3813803を最新のコミットにすることができたコマンドがありました。そのコミットが削除された後のリモートリポジトリ内のすべてが削除されますが、どこでも見つけることができません。

答えて

5

git reset --hard 3813803を使用してください。このは元に戻すことができません。ローカルでもリモートでも動作します。

Atlassian hereのgit docuをご覧ください。

は私もそこから引用してみましょう:

復帰はgitのリセットは、ローカルでの変更を元に戻すように設計され、安全に国民がコミット元に戻すように設計されるのに対し。それらの異なる目標のために、2つのコマンドは異なる方法で実装されています。リセットするとチェンジセットが完全に削除されますが、元に戻すと元のチェンジセットが維持され、新しいコミットによって元に戻します。

git resetは完全削除を要求しているため、ここで使用するものです。

+0

私はそれが "あなたの支店が" origin/Summer2016 "の後ろに4つのコミットであり、早送りすることができるという理由でローカルに働いたと思います。しかし私はどうすればリモートで同じことをするのですか? – JBT

+9

@TimothyJosephBaney: 'git push --force origin master'を使います。 – Sumit

+0

あなたがあなたのレポに一人でいなければ、これはあまり良いことではないことを覚えておいてください! – harmonica141

関連する問題