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