Git

2020-08-07  本文已影响0人  lzy_blue

前言

本文主要介绍Git的原理以及常用的命令。并分享一下在多人协同开发中常见的如代码冲突、修改被覆盖、暂存修改撤换分支、撤销commit、如何将漏提交的修改合并到上一个commit、分支回退到某个历史版本等等情况时,如何利用Git完美解决这些问题。

Git 是什么

Git是一个开源的分布式版本控制软件,Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。
image

Git 对比 SVN

Git 的原理

Git分为工作区暂存区Git仓库,所有本地修改都是在操作工作区的内容 即文件的修改操作,当使用add 命令时
工作区的变动就会被添加到暂存区,使用commit命令将暂存区的内容提交到Git仓库。每次更新Git并不会记录更新的内容,而是将更新后的文件坐一个快照,并指针指向最新的快照

image

Git 的开发规范

建议在提交代码前按顺序执行

1.git stash 或者 git add/git commit

2.git pull --rebase (使用 rebase 策略替代默认的 merge 策略)

3.git apply 如果第一步不是git stash 则跳过

4.有冲突解决冲突

5.git add/git commit/git push

1.解决特性分支合并时产生的冲突时时比较容易的,在本地解决完后,在提交到远程。

2.如果是在将特性分支合并到master等受保护的分支时产生冲突,应该首先基于master分支拉去一条fix 冲突的分支,将特性分支先合并到fix 冲突分支,然后解决完冲突后在将fix 冲突分支合进master,此时特性分支和master将不在冲突。

应严厉禁止将develop/master 等不稳定分支合并进自己的特性分支,因为这样会导致特性分支在合并入release时污染release

3.在碰到冲突时,因该用=======下半段覆盖上版段,如果使用idea解决时应该用右边文件内容为最新内容

image

4.直接在Gitlab提交合并请求是更合理的做法。

5.tapd关联Gitlab,使需求能和某个分支/某个commit 关联起来,更能直观的感受某个commit是为了修复那个问题,某条分支是为了完成那个功能。

TAPD项目与源码仓库进行关联

Gitlab关联TAPD

image
Gtlab关联Jira
image

Git 常用命令

基本命令

配置Git别名

Git 如何处理日常开发中的各种异常情况

于2020-7-15 周三 深圳

上一篇下一篇

猜你喜欢

热点阅读