git之在远程开发分支上开发

gitlab中对master分支是设定为protected的,对于developer身份的成员需要单独拉一个分支让其开发,等到稳定后来merge到master分支中,但是这个时候我们如何在本地根据developer分支来开发,又如何pull developer分支到本地,在push代码到developer分支呢?

创建developer分支

这里写图片描述

这里注意如果你远程分支删除后,你执行git branch -a还是会存在的,这个时候你执行一下git fetch -p就可以了。

将远程代码clone到本地

拉到本地后,我们的分支信息如下:

58deMacBook-Pro:ResponseTimeTool wuxian$ git branch -a
* master
  remotes/origin/developer
  remotes/origin/master

这个时候我们是在主分支master开发的,所有的git pull和git push都是在master分支上操作的。但是我们不想这样做。

切换到developer分支上开发

58deMacBook-Pro:ResponseTimeTool wuxian$ git checkout -b local_developer remotes/origin/developer
Branch local_developer set up to track remote branch developer from origin.
Switched to a new branch 'local_developer'

这个时候我们已经切换到local_developer分支中开发,且该分支是由远程分支developer生成的。

git pull

58deMacBook-Pro:ResponseTimeTool wuxian$ git pull
remote: Counting objects: 3, done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 3 (delta 2), reused 0 (delta 0)
Unpacking objects: 100% (3/3), done.
From 
   96978fb..8a02689  developer  -> origin/developer
Updating 96978fb..8a02689
Fast-forward
 build.gradle | 1 +
 1 file changed, 1 insertion(+)

我在gitlab的页面上developer分支上手动了修改某处,然后pull,显示是同developer拉取下来了,说明我们的git pull是成功的。

git push

但是我们执行git push就出问题了:

58deMacBook-Pro:ResponseTimeTool wuxian$ git push
Total 0 (delta 0), reused 0 (delta 0)
To git@gitlab.58corp.com:com.wuba.wuxian.autotest/ResponseTimeTool.git
 * [new branch]      local_developer -> local_developer

它会默认生成一个新的分支,名字和我本地分支一样,这是不正确的,我们要push到developer分支上的。

我们需要显示的执行push到的分支:

58deMacBook-Pro:ResponseTimeTool wuxian$ git push origin local_developer:developer
Counting objects: 1, done.
Writing objects: 100% (1/1), 175 bytes | 0 bytes/s, done.
Total 1 (delta 0), reused 0 (delta 0)
To 
   8a02689..1e27554  local_developer -> developer

这样就ok了。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值