4

約2か月前、同僚の1人が仮想環境をGitリポジトリに追加してプッシュしました。

後続のcommit/pushで削除し、.gitignoreに追加しました。

ただし、それ以降、約500のコミットがあります。

彼の元の90kラインコミットをGithubとローカルリポジトリから問題なく完全に削除する方法はありますか?

4

2 に答える 2

3

Githubには、状況に当てはまる機密データの削除に関するヘルプページがあります(無視できるGithub固有の部分はごくわずかです)。

良いニュースは、古いコミットを削除できることです。

悪いニュースは、リポジトリの履歴全体が変更されることを非常に効果的に伝えることができない限り、共同作業者に問題を引き起こす可能性があることです。彼らは、新しい歴史に照らしてすべての作業部門をリベースする必要があります。

于 2012-11-12T21:12:45.363 に答える
3

問題が発生する前のコミットからブランチを作成し、問題が発生した後の最初のコミットでブランチを作成できます。次に、2番目を最初にリベースします。次に、マスターをリセットしてそのブランチの新しい先端を指すようにし、他の行へのすべての参照を削除すると、GCは最終的にアイテムを破棄します。

もちろん、これは多くの参照を更新することを伴う非常に侵襲的な変更であるため、後で全員のリポジトリのクローンを作成することをお勧めします(これ以降、リポジトリで多くのことが発生したと仮定します)。

于 2012-11-12T21:13:35.097 に答える