我和GitLab的几个朋友有一个项目,当然还有主分支,还有其他的。当我克隆存储库时,我还使用命令git remote add upstream ...创建了一个上游。
然后,我发布了git fetch upstream。其次是git checkout upstream/test1。现在,如果输入git branch -a,就会得到如下输出:
* (HEAD detached at upstream/test1)
master
remotes/origin/HEAD -> origin/master
remotes/origin/master
remotes/upstream/test1
remotes/upstream/master这一切都很好,但是我对我的upstream/test1分支中的代码做了一些更改,我想将它们推送到origin/test1存储库,我在标题上得到了错误消息。请注意,我按照以下步骤推动:
git add .
git commit -m "Sample message"
git push -u origin test1如果我发出git show-ref,将得到以下输出:
refs/heads/master
refs/remotes/origin/HEAD
refs/remotes/origin/master
refs/remotes/upstream/test1
refs/remotes/upstream/master我检查了下面的questions,但没有发现它有帮助。有什么办法解决吗?
发布于 2016-10-23 12:26:49
您似乎没有一个名为test1的本地分支。您有一个名为test1的远程分支与您的upstream远程关联。
您不应该直接编辑upstream/test1分支。事实上,试图检查这一结果应该会产生一个警告:
$ git checkout upstream/test1
You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.您应该首先查看一个跟踪远程分支的本地分支,该分支应该如下所示:
$ git checkout test1
Branch test1 set up to track remote branch test1 from upstream by rebasing.
Switched to a new branch 'test1'完成此操作后,未修饰的git push将推送到upstream远程,而git push origin test1将推送到您的origin远程。添加-u标志将切换跟踪分支,这样您的分支将跟踪origin/test1而不是跟踪upstream/test1,因此未来的git pull和git push操作在默认情况下将引用该远程分支(origin/test1)。
发布于 2016-10-23 12:42:54
以下内容将在本地和远程创建一个新分支。当我创建要使用的新分支时,我会遵循这一点。
git结账母版 git拉源母机 git结帐-b您的分支
做出新的改变
git推动-u起源于您的分支
发布于 2018-08-14 11:28:38
在我的例子中,我对主分支进行了更改,我试图将更改推送到开发分支,从而得到错误。我所做的是-
git checkout development做了修改,然后跑了
git add .
git commit -m "my changes"
git push origin developmenthttps://stackoverflow.com/questions/40202284
复制相似问题