项目远程有以下分支
master 主分支
dev 开发分支
qzz-dev 自己的开发分支
开发的流程
在自己的 qzz-dev 上进行开发,然后合并到dev 分支上。
出现问题的可能原因
将master checkout 下来之后直接在上面进行开发,然后使用了idea 的push 功能,push时新建了一个远程分支qzz-dev。 这种方式导致本地没有分支与远程的qzz-dev分支进行关联。
git checkout dev 将远程的dev分支拉下来,并自动创建了一个本地dev分支,且切换到了该分支。
Branch dev set up to track remote branch dev from origin. Switched to a new branch 'dev'
接下来想将dev分支与qzz-dev分支进行合并。
git merge qzz-dev
merge: qzz-dev - not something we can merge
Did you mean this?
origin/qzz-dev
git checkout origin/dev (莫名其妙,乱敲一气。对git 不太熟)
Note: checking out 'origin/dev'.
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.
If you want to create a new branch to retain commits you create, you may do so (now or later) by using -b with the checkout command again. Example:
git checkout -b
就这样进入了游离状态
解决办法
将最后提交的id 加到一个临时分支上去
git branch qzz-temp 5c57729
然后切换到该分支上,直接push 到 远程qzz-dev上。现在我就在qzz-temp分支上。
建立关联关系
目前没有本地分支与远程qzz-dev进行关联,每次push都得指定远程分支,太麻烦。
git checkout qzz-dev
创建本地分支,并且进行关联。
git branch -vv
查看分支
dev ad655de [origin/dev: behind 3]
master 6de04cf [origin/master: ahead 8] 邻取卡券
*qzz-dev 9a3dbf5 [origin/qzz-dev] 主题标题修改
qzz-temp 9a3dbf5 主题标题修改
现在可以愉快的进行pull 和 push 了。
本文讲述了开发者如何在git中正确管理远程分支qzz-dev,包括避免在master上直接开发、理解detached HEAD状态、合并本地dev与qzz-dev分支,以及创建并关联本地分支的过程。通过实例展示了git checkout、merge和branch操作,以及如何解决push时的分支关联问题。

7780

被折叠的 条评论
为什么被折叠?



