2012-03-20 20 views
3

チームメンバーが誤って1GB以上のファイルを私たちのmasterブランチにコミットし、それを元に戻しました。私はそれ以来、ソース管理から削除し、マスターにコミットしました。しかし、(git pullで)コードを更新している他のすべての共同作業者は、実際には履歴の一部としてファイルをダウンロードしています。私がローカルに持っていないリモートgitの履歴からコミットを削除します

私はそのコミットを歴史から完全に取り除きたいと思っています。私はチームメンバーのコンピュータにアクセスできればこれがはるかに簡単だと思いますが、現時点ではありません。それでは、リモートから最新のものを取り除かなくてもこれを行う方法はありますか?

答えて

3

私はあなたにレポのコピーを持っていると思っていますが、大きなコミットの最新版を持っていないと思います。 git push -fを使用してコピーをリポジトリにプッシュして、その他のリポジトリコミットを完全に上書きし、そこから続行することができます。

+0

Cool。うん、私はコミットしていないので、私はできるだけ避けたいです。問題は彼女が後でもっとコードをコミットしていることなので、プッシュ-fの吹き飛ばしはそれを避けるだろうか? – John

+2

@john - もちろんです。レポが適切な状態になると、それがプッシュされることを確認するのは彼女の仕事です。コードはサーバから吹き飛ばされますが、もちろんローカルリポジトリに残り、リベース/プルしてプッシュできる必要があります。 – manojlds

+0

私は何とか部分的なプルを行いました( 'git pull origin master'の後に' CTRL + C'が続きます)。それはファイルをダウンロードしませんでしたが、私の履歴を最新のものにしました。だから私はコミットアウトを得るために 'rebase'を行い、' push-f'をマスターすることができました。 – John

関連する問題