我有为每个我开发的Arduino项目创建单独的GIT存储库,我使用SourceTree连接到Bitbucket中的远程存储库进行处理。
我想知道如何将这些存储库合并为一个,并保留每个文件的历史更改记录。
在SourceTree内是否可以完成此操作?我还没有使用过命令行来操作GIT。
我想知道如何将这些存储库合并为一个,并保留每个文件的历史更改记录。
在SourceTree内是否可以完成此操作?我还没有使用过命令行来操作GIT。
您可以在BitBucket中创建一个新的git repo,将其克隆并将您现有的两个bitbucket repos作为此新repo的submodules添加。
使用Sourcetree(自2012年及其1.3版本以来),这很容易实现。
然后,您将被提示提供源URL以克隆内容,以及此子模块将驻留在当前存储库中的路径。(此截图适用于Mercurial仓库,但对于Git仓库也是一样的)
另一种选择是git subtree
,在这里说明,该方法与子模块不同。
即使 git-subtree.sh add --prefix /url/to/repo.git master --squash
将把 vim-surround 仓库的所有历史记录压缩成一个单一的合并提交,subtree push
仍将推送更多历史记录到您的原始子树仓库,保留和完整其历史记录。