我目前正在切换到使用mono repos,因为它更适合我的工作流程。但是,我仍然希望能够分别部署/使用现在巨大项目的部分内容。这就是我遇到splitsh-lite(https://github.com/splitsh/lite),替换git subtree
的原因。
所以,我的主(单声道)存储库的项目结构如下:
/
-- some-application/
-- src/
-- -- MyLibrary1/
-- -- MyLibrary2/
mono repo master
使用splitsh-lite,我设法提取了我想要拆分成自己的分支的存储库的内容。假设我已拆分MyLibrary1:
/
-- file1
-- file2
mono repo split / library1
我现在没办法做的是将这个新创建的分支放到Bitbucket(或实际上任何Git存储库)上的新存储库的主分支中。我主要尝试了两种对我而言合乎逻辑的变化。
git push git@bitbucket.org:my-project/my-repo split/library1:master
,结果为error: unable to push to unqualified destination: master
The destination refspec neither matches an existing ref on the remote nor
begins with refs/, and we are unable to guess a prefix based on the source ref.
git push ../library1 split/library1:master
导致相同的错误我很感激有关如何从这里继续的任何建议,因为我真的不怎么继续这里。 :(
祝你好运
答案 0 :(得分:0)
在主repo目录中,有一个名为.git
的隐藏目录在其中有一个名为config的文件。你应该在那里添加新的远程仓库...
答案 1 :(得分:0)
所以,显然上面的命令应该按预期工作。然而问题是,Git在某种程度上无法解决" master"进入实际参考。通过指定确切的引用来解决问题:
git push some-repo-path split/library1:refs/heads/master
我和#git的一些人(freenode,再次感谢你的帮助!)无法弄清楚为什么Git无法做到这一点,但这有点令人不满意。