1975得票26回答
将子目录从现有Git仓库中分离出来,创建一个独立的Git仓库

我有一个 Git 仓库,其中包含许多子目录。现在我发现其中一个子目录与其他目录无关,应该将其分离到一个单独的仓库中。 在保持子目录文件历史记录的同时,我该如何做呢? 我想我可以克隆一份并移除每个克隆体中不需要的部分,但是我觉得这样会在检出旧版本时给我整个树形结构。或许这样也可以接受,但我更...

632得票4回答
使用Git更改项目的第一个提交?

我想在项目的第一个提交中更改一些内容,而不会丢失所有后续提交。 是否有任何方法可以做到这一点? 我不小心在源代码的评论中列出了我的原始电子邮件,并且由于机器人索引GitHub而收到垃圾邮件,因此我想更改它。

509得票12回答
从Git历史记录中删除敏感文件及其提交记录

我想将一个Git项目放到GitHub上,但它包含某些包含敏感数据的文件(用户名和密码,例如capistrano的/config/deploy.rb)。 我知道可以将这些文件名添加到.gitignore中,但这并不会从Git中删除它们的历史记录。 我也不想通过删除/.git目录来重新开始。 ...

436得票12回答
如何修复一个不良的合并,并将你的好提交重新应用到修复后的合并中?

我在解决合并时意外提交了一个不想要的文件(filename.orig),几个提交之前就已经提交到了我的代码仓库,但直到现在我才发现。我想完全从代码仓库历史记录中删除该文件。 是否有可能重写变更历史记录,使得filename.orig从一开始就没有被添加到代码仓库中?

289得票13回答
如何从git仓库中删除旧的历史记录?

很抱歉,我没有找到类似于这种特定场景的内容。我有一个具有大量历史记录的git存储库:500+分支,500+标签,始于2007年中期。它包含大约19,500个提交。我们想要删除2010年1月1日之前的所有历史记录,以使其更小且更易处理(我们将在存档存储库中保留完整的历史记录副本)。我知道我想要成...

161得票11回答
将许多子目录分离成一个新的、独立的Git存储库

这个问题是基于将子目录分离为单独的Git仓库的。 我想要分离多个子目录,而不是单个子目录。例如,我的当前目录结构如下:/apps /AAA /BBB /CCC /libs /XXX /YYY /ZZZ 我想要的是这个:/apps /AAA /libs /XXX...

151得票4回答
从Git仓库中清除文件失败,无法创建新备份。

我尝试通过运行以下命令从远程仓库中删除一个文件:git filter-branch --index-filter 'git rm --cached --ignore-unmatch Rakefile' HEAD 但是Git报错: 无法创建新备份。在refs/original/目录下已经...

139得票13回答
git rm - 致命错误:路径规范与任何文件都不匹配。

我不小心向我的项目文件夹中添加了超过9000张照片,并将它们提交了。然后从硬盘中删除了它们,再次提交。 现在我试图推送更改到git服务器,但它花费的时间太长,并尝试发送12 GB的数据。 我检查了磁盘上的文件大小,发现真正占用12 GB的是.git文件夹。 如何从中删除照片?我尝试使用g...

125得票6回答
我能否更改之前所有提交中的姓名和姓氏?

我想要更改我所有提交中的姓名、姓氏和电子邮件地址,这是否可行?