背景:我在 VSTS 托管的 git 存储库中有一个“原始”项目,并想创建一个
类似的项目,所以我 fork 了 repo 。我无意从 fork merge 到原始 repo - 它们将是 2 个独立的项目。 fork repo 的主分支策略需要 pull 请求,没有直接推送。
现在,每当我创建这样的 pull 请求时,默认目标不是 fork>master 而是 original>master。我总是手动将其更改为 fork>master,但是很烦人...
问题:
分支?
最佳答案
git fork repo 的目的是为上游(原始)repo 做出贡献。所以 fork 的 repo 和原始 repo 之间总是有关系 .
如果你想创建一个新的 repo(与原始 repo 没有任何关系),但使用与原始 repo 相同的代码和分支,那么你应该 创建一个空的 git repo 并将原始 repo 中的所有分支推送到新创建的 repo 而不是 fork 原始 repo 。
详细步骤如下:
1. 在你的 VSTS 项目中创建一个新的 git repo
在 VSTS 网页中,创建一个新的 git repo。详细步骤,可以引用文档create a repo using the web portal .
假设 git repo 名称是 myrepo 并且 URL 是 https://account.visualstudio.com/project/_git/myrepo
.
2. 在本地克隆并 check out 原始 repo 的所有分支
如果您还没有克隆原始 git repo,您可以通过以下方式克隆原始 git repo:
git clone <original git repo URL>
然后通过命令在本地 check out 所有远程分支:
git checkout <remote branchname>
3.将本地原repo的所有分支推送到新创建的repo
在本地原git repo中,为新创建的git repo添加remote,将所有分支push到新创建的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 是分开的。
关于git - 设置 fork 仓库的 pull 请求默认分支,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50784422/