2012-03-30 37 views
2

在玩我的webapp时,我将包含密码的文件添加到了我的git回购中。我已经删除了它们,但是我想开始一个新的git仓库,当密码被包含时我没有提交(我已经更改了密码,就像重新开始一样)。从当前分支开始一个新的git回购

有没有我可以抓住一个git回购没有抓住所有的历史?还是应该复制文件夹并在复制的文件夹中启动新的git repo?我将如何开始一个新的git回购,只需删除.git文件夹,然后重新运行git init

回答

5

你是对的,如果你知道你不想要任何历史记录,只需删除.git文件夹并重新运行git init。如果您想保留自己的历史记录,另一种选择是遵循this关于删除敏感数据的出色Github指南。

2

只需从工作副本中删除.git目录当然是最简单的解决方案。如果您对更复杂的解决方案感兴趣,请继续阅读:

您可以使用-d--depth)选项创建存储库的“浅度克隆”至git clone。例如:

git clone --depth 1 file:///path/to/your/repo 

你需要使用一个file://在这种情况下,因为当你使用一个简单的路径git将忽略-d选项。

如果您宁愿保留更改历史记录,则可以重写您的存储库以删除包含密码的文件。看看git filter-branch,特别是Pro Git中的“从每次提交中删除文件”部分。

相关问题