在使用我的webapp时,我将包含密码的文件添加到我的git repo中。我已经删除了它们,但我想开始一个新的git repo,当密码被包含时没有提交(我已经更改了密码,就像重新开始一样)。
有没有我可以抓住一个git repo而没有抓住所有的历史记录?或者我应该只复制文件夹并在复制的文件夹中启动一个新的git repo?如何启动新的git仓库,只需删除.git
文件夹,然后重新运行git init
?
答案 0 :(得分:5)
你是对的,如果你知道你不想要任何历史记录只删除.git文件夹并重新运行git init
。如果您想保留历史记录,另一个选择是遵循this优秀的Github指南来删除敏感数据。
答案 1 :(得分:2)
从工作副本中删除.git
目录肯定是最简单的解决方案。如果您对更复杂的解决方案感兴趣,请继续阅读:
您可以使用-d
--depth
(git clone
)选项创建存储库的“浅层克隆”。例如:
git clone --depth 1 file:///path/to/your/repo
在这种情况下,您需要使用file://
,因为git
会在您使用简单路径时忽略-d
选项。
如果您希望保留更改历史记录,则可以重写存储库以删除包含密码的文件。请查看git filter-branch
,特别是Pro Git中的“从每次提交中删除文件”部分。