【发布时间】:2015-10-11 20:17:01
【问题描述】:
我开发的每个 Arduino 项目都有单独的 GIT 存储库,我使用 SourceTree 处理这些项目,连接到 Bitbucket 中的远程存储库。
我想知道如何将这些存储库合并为一个并保存每个文件的历史更改。
是否可以在 SourceTree 中完成?我还没有通过命令行使用 GIT。
【问题讨论】:
标签: git join repository bitbucket atlassian-sourcetree
我开发的每个 Arduino 项目都有单独的 GIT 存储库,我使用 SourceTree 处理这些项目,连接到 Bitbucket 中的远程存储库。
我想知道如何将这些存储库合并为一个并保存每个文件的历史更改。
是否可以在 SourceTree 中完成?我还没有通过命令行使用 GIT。
【问题讨论】:
标签: git join repository bitbucket atlassian-sourcetree
您可以在 BitBucket 中创建一个新的 git 存储库,克隆它并将您现有的两个 bitbucket 存储库添加为这个新存储库的 submodules。
使用 Sourcetree(自 2012 年及其 1.3 版本以来),这很容易。
然后系统会提示您提供用于克隆内容的源 URL,以及该子模块将驻留的当前存储库中的路径。
一旦您对这些子模块中的任何一个进行了更改,您就可以推送所有内容(子模块,还有记录 gitlinks、special entries in the index 的父 repo)
(此屏幕截图适用于 mercurial 存储库,但适用于 git 存储库)
另一种选择是git subtree、illustrated here、differs from submodule。
即使git-subtree.sh add --prefix /url/to/repo.git master --squash 将通过将 vim-surround 存储库的整个历史压缩为一个来记录合并提交,subtree push 仍会将 bash 附加历史记录推送到您的原始子树存储库,保留并完成其历史。
【讨论】: