从gitlab拉取代码、提交代码、提MR流程

以前在小公司实习,只需要简单提交代码,没有涉及代码分支,请求合并分支等,现在入职到大公司,代码规范要求较高,且多人协作开发,这一必须的技能要会,手忙脚乱之余,终于搞懂了整个流程。

第一个疑问:我从gitlab上面拉代码的时候要不要切分支?

git clone代码之前,可以直接拉取master分支上的代码,master分支的代码要求时刻处于部署的状态,是完整的。

代码拉下来之后,本地代码也处于master分支,这个时候我git checkout develop创建了一个本地的develop分支,此时查看所有的分支是这样的:

接着,我创建了一个本地分支:

git checkout -b feature-aa 结果:Switched to a new branch 'feature-aa'

接下来,我要把这个分支提交上去:

然后去gitlab上面操作,发送合并代码请求

之所以创建本地分支,是我在代码编写过程中,不能直接在master分支上做代码修改,因此在创建的本地分支上面对代码进行修改。 

 

再来补充一下整体流程:

(1)将自己在本地分支上的修改放在暂存区,git stash(git stash 项目完成一部分,需要跳转分支,可以用来保存当前分支上修改的代码,把当前分支还原到上一次commit的状态)。

(2)切换到develop分支,git pull,将代码拉下来,看是否有冲突;有冲突解决冲突,没有冲突,继续进行。

(3)切换到原先开发的本地分支,将修改的代码从暂存区拿出来;git stash pop

(4)git add .

(5)git commit -m 'aa'

(6)git push origin fixbug-dl: fixbug-dl

git push <远程主机名> <本地分支名>:<远程分支名>

PS:注意,分支推送顺序的写法是<来源地>:<目的地>,所以git pull是<远程分支>:<本地分支>,而git push是<本地分支>:<远程分支>。

(7)删除远程自己创建的分支:git push origin --delete fixbug-dl

(8)去GitLab发merge request

 

不错的一篇文章:https://www.cnblogs.com/JennyLin77/p/git.html

1、在项目文件目录下,打开Git Bash Here;

 

 

2、使用git add命令,将我们要提交的文件信息(包括有修改过和新建的文件)添加到索引库。输入以下命令:

git add .

3、使用git commit命令,根据索引库的内容进行文件的提交。输入以下命令:

git commit -m "commit the user's jade"

4、新建本地分支:git branch <branchname>,输入命令:

git branch xf

5、查看该项目的所有本地和远程分支:git branch -a ,并在当前所在分支前加"*"标记

拓展:git branch 查看本地分支

git branch -r 查看远程分支

此处,我们查看所有分支,包括远程和本地,故输入命令:(该步骤可省略)

git branch -a

6、切换本地分支:git checkout <分支名>,输入以下命令:

git checkout xf

7、把远程分支的代码pull到本地分支:git pull <远程主机名> <远程分支名>:<本地分支名>

如:取回origin主机的xf分支,与本地的xf分支合并,输入命令:

git pull origin xf:xf

远程主机名可通过上方的git branch -a或git branch -r查询,看下图:

PS:push代码前最好先用pull更新本地代码。

8、最后一步:git push <远程主机名> <本地分支名>:<远程分支名>

PS:注意,分支推送顺序的写法是<来源地>:<目的地>,所以git pull是<远程分支>:<本地分支>,而git push是<本地分支>:<远程分支>。

eg: 

git push origin xf:xf
上面命令表示,将本地的xf分支推送到origin主机的xf分支。

如果省略远程分支名,则表示将本地分支推送与之存在"追踪关系"的远程分支(通常两者同名),如果该远程分支不存在,则会被新建。

eg: git push origin test

上面命令表示,将本地的test分支推送到origin主机的test分支。如果后者不存在,则会被新建。

PS:提交远程分支有三种方式,我用的是下面第一种方法,大家有空也可以试下另外两种。

1. add并且commit,再checkout,提交到当前分支;

2. add但不commit,可以stash,然后checkout回来之后stash apply,在commit,提交到当前分支;

3. add但不commit,也不stash,直接checkout,然后再commit,(提交)记录就在切换分支下面。

 

  • 8
    点赞
  • 83
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Delicia_Lani

你的鼓励将是我写作的动力。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值