exi*_*xic 6 linux migration git
我正在使用 git 对我的配置文件进行版本控制。现在我需要将我的一些配置文件移动到不同的存储库,以实现一个干净的结构。如果我将文件移动到不同的存储库,有没有办法保留文件的更改日志?
如果我将其移动到 B/a,我希望在 repo B 中对 repo A 的所有提交都触及文件 A/a。理想情况下,如果我之后将 A/x 移动到 B/x,我希望看到 B/a 和 B/x 一起出现在涉及存储库 A 中两个文件的提交中。我不希望有任何 A/ 开发步骤a 合并到 B 的任何提交中,我只希望它们之后出现在那里。
谢谢您最好的问候
假设您要将历史filename.conf
从一个源存储库传输到另一个接收存储库。我认为您要遵循的策略是:
filename.conf
.在执行此操作之前,一定要备份您的存储库!
在源存储库中,使用filter-branch重建历史记录,删除除filename.conf
.
git checkout -b filtered-commits
git filter-branch -f --prune-empty --tree-filter 'find . -not -name filename.conf -exec rm {} \;' filtered-commits
Run Code Online (Sandbox Code Playgroud)
然后,在接收存储库中:
git pull path/to/source/repo
Run Code Online (Sandbox Code Playgroud)
如果您还需要移动filename.conf
存储库中的路径,您可能需要使用 上的--subdirectory-filter
选项git filter-branch
。
归档时间: |
|
查看次数: |
3321 次 |
最近记录: |