nrz*_*nrz 9 git branch git-branch
我目前正在研究一个在MATLAB/SPM8下运行的神经影像工具箱,我仓库中的大多数程序文件都是MATLAB *.m文件.我有不同的功能分支和一个analysis分支,我用于使用当前版本进行持续分析.同时我正在开发代码master和功能分支,然后不断合并到master分支.
现在的问题是,我在analysis分支机构运行的分析确实需要花费很多时间(甚至几天),而在那段时间我无法git checkout master或git checkout new-feature.这严重限制了我的生产力.
因此,由于不可能同时保持多个分支同时打开,我正在考虑将analysis分支从开发存储库移到其自己的存储库中.问题是,如果我git init是一个基于当前analysis分支的新存储库,是否有办法以某种方式git merge从当前master分支(开发存储库)不时地在新的开发存储库中使用新开发的代码分析库?
如果您git clone将现有存储库放入新存储库,则可以git push或者git fetch从一个存储库到另一个存储库以匹配您已更改的引用(分支); 不涉及合并.存储库的内容将自动硬链接以节省磁盘空间.
如果您使用的--mirror选项git clone和git push,你将省去由远程跟踪分支,只是有两个相同的分支,这是更简单,更对称,但少了以往使用git的.为了最大限度地"遵循教程"的简单性,而是安排第三个"中央"存储库(应该创建--bare),这两个存储库都是您的工作存储库的克隆.
不应该需要合并(除了"快进合并"之外并非真正合并,而是用旧的分支头替换旧的分支头),因为你在同一个分支上工作; 你只有两份副本.当您的分析完成并且您能够更新分析分支时,就git merge --ff-only master在进行中analysis; 您可以在方便的存储库中执行此操作,但不要忘记将更改同步回来git push other-repository.
另一个选项(因为Git版本2.5)是git worktree命令,它允许多个独立的工作树,您可以在其中git checkout独立使用.这个和上面制作克隆的选项之间的区别在于,这里只有一组分支.
但是(从版本2.8开始),这仍然被认为是一个"实验性"功能,我并没有亲自用它来评论它的可靠性和实用性.
| 归档时间: |
|
| 查看次数: |
3556 次 |
| 最近记录: |