我想从上游创建一个新分支。我做的是
$ git init
$ git clone https://github.com/nalam-nmef/LearnGitWithGithubFlow.git
$ git remote add upstream https://github.com/twentyTwo/LearnGitWithGithubFlow.git
然后,从上游创建一个新分支
$ git checkout -b changes1 upstream/master
但是此时发生了错误。它说
fatal: Cannot update paths and switch to branch 'changes1' at the same time. Did you intend to checkout 'upstream/master' which can not be resolved as commit?
在那之后我要做的就是将那个新分支推到我的 fork 上
$ git push -u origin changes1
也就是说,我总是在本地为新的变更请求创建一个分支。该分支是从 upstream/master 分支创建的。在本地提交更改并将其推送到我的 fork 。然后,向上游 master 创建 pull 请求。但是,我在 $ git checkout -b changes1 upstream/master
这有什么问题吗?最佳做法是什么?
最佳答案
您需要先获取上游
。
git fetch upstream
git checkout -b changes1 upstream/master
默认情况下,只有 origin
被克隆/获取。
类型:
git remote -v
您会看到您的 Remote 。
理想情况下,upstream
URL 应该不与origin
相同(应该是您的分支)。
upstream
应该指的是 fork 的原始 repo URL。
其次,不要做:
git init
git clone ...
这将克隆一个 git 仓库 在 另一个 git 仓库,这就是为什么 git remote -v 只显示上游。
改为尝试:
cd /a/path
git clone https://github.com/twentyTwo/LearnGitWithGithubFlow.git
cd LearnGitWithGithubFlow
git checkout -b changes1
(不需要 origin/master:默认情况下,origin/master 已经 checkout )
关于git - 从上游创建新分支失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51625435/