背景:我有一个项目"原创"在VSTS托管的git仓库中,想要创建一个 类似的项目,所以我分了回购。我无意从分支机构合并到原始仓库 - 它们将是两个独立的项目。 fork for repo的主分支策略,需要拉取请求,不需要直接推送。
现在,每当我创建这样的拉取请求时,默认目标不是fork> master而是原始> master。我总是手动将它改为fork> master,但它很烦人......
问题:
答案 0 :(得分:2)
git fork repo的目的是为上游(原始)repo做出贡献。所以分叉回购和原始回购总是有他们之间的关系。
如果你想创建一个新的repo(与原始repo没有任何关系),但是使用与原始repo相同的代码和分支,那么你应该创建一个空的git repo并推送所有分支从原始的repo到新创建的repo 而不是分支原始的repo。 详细步骤如下:
在VSTS网页中,创建一个新的git仓库。详细步骤,您可以参考文档create a repo using the web portal。
假设git repo名称为myrepo,URL为https://account.visualstudio.com/project/_git/myrepo
。
如果你还没有克隆原来的git repo,你可以通过以下方式克隆原始的git repo:
git clone <original git repo URL>
然后通过以下命令在本地检出所有远程分支:
git checkout <remote branchname>
在本地原始git repo中,为新创建的git repo添加remote,并将所有分支推送到新创建的git repo。详细命令如下:
#In the local original repo
git remote add myrepo https://account.visualstudio.com/project/_git/myrepo
git push myrepo --all
现在所有的分支都被推送到新创建的git repo中,它与原来的git repo分开。