oracle游离态,突然就处于游离态了。

本文讲述了开发者如何在git中正确管理远程分支qzz-dev,包括避免在master上直接开发、理解detached HEAD状态、合并本地dev与qzz-dev分支,以及创建并关联本地分支的过程。通过实例展示了git checkout、merge和branch操作,以及如何解决push时的分支关联问题。

项目远程有以下分支

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 了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值