相关疑难解决方法(0)

你如何合并两个Git存储库?

请考虑以下情形:

我在自己的Git仓库中开发了一个小型实验项目A. 它现在已经成熟,我希望A成为更大的项目B的一部分,它有自己的大型存储库.我现在想添加A作为B的子目录.

如何将A合并到B中,而不会丢失任何一方的历史记录?

git merge repository git-subtree

1517
推荐指数
16
解决办法
44万
查看次数

如何从Git存储库中的提交历史记录中删除/删除大文件?

偶尔我会把一个DVD-rip放到一个网站项目中,然后不小心git commit -a -m ...,然后,zap,回购邮件被2.2演出臃肿.下次我做了一些编辑,删除了视频文件,并提交了所有内容,但是历史记录中的压缩文件仍然存储在存储库中.

我知道我可以从那些提交开始分支并将一个分支重新绑定到另一个分支.但是我应该怎么做才能将2个提交合并在一起,以便大文件没有在历史记录中显示并在垃圾收集过程中被清除?

git version-control git-rebase git-rewrite-history

646
推荐指数
17
解决办法
22万
查看次数

Git,重写以前的提交用户名和电子邮件

我已经为Github上的一个项目提交了一堆提交,但是我意识到我没有在我正在使用的计算机上设置正确的电子邮件和提交者全名,因此用户的头像和电子邮件地址不在那里.

如何重写所有过去的提交电子邮件和用户名?

git

134
推荐指数
10
解决办法
5万
查看次数

从git-git命令中删除历史记录失败

我试图从Git历史清除项目bin目录.我已经将'bin'添加到.gitignore并$git rm --cached -r bin成功运行.现在我尝试使用GitHub帮助页面中建议的命令来清除历史记录:

$ git filter-branch --force --index-filter \
  'git rm --cached --ignore-unmatch bin' \
  --prune-empty --tag-name-filter cat -- --all
Run Code Online (Sandbox Code Playgroud)

但这会导致错误:

Rewrite <hash> (1/164) fatal: not removing 'bin' recursively without -r
index filter failed: git rm --cached --ignore-unmatch bin
rm: cannot remove 'c:/pathToMyLocalRepo/.git-rewrite/revs': Permission denied
rm: cannot remove directory 'c:/pathToMyLocalRepo/.git-rewrite': Directory not empty
Run Code Online (Sandbox Code Playgroud)

没有其他程序持有/转开./ rev在指定的路径中不存在,.git-rewrite 空.

我不确定我应该在哪里添加-r?否则命令不正确?

当然,我确实需要将bin本身保留在本地本地回购中,因为这是我的工作目录.

谢谢

git github purge

7
推荐指数
1
解决办法
3530
查看次数