git 常用指令 代码冲突 合并代码

【常规操作】

git clone xxx】 从远端克隆项目

1. 【git pull】    提交代码之前需要先拉取最新的代码,这是为了防止你提交的东西与远端已提交代码发生冲突,如果本地不是clean的话,可能在拉取代码时提示你 需要把本地代码reset或者stash,那就暂时不拉取代码,先把本地没用的代码reset一下,再把本地有用的代码stash,这样本地就是干净的了;

tips:stash的时候最好写一下描述,这样方便知道自己stash的是什么内容。【git stash】 【git stash apply

2. 【git add .】如果有新增的文件,需要add一下,这样git可以追踪该文件;

3. 【git commit -m xxx】 提交,这一步再确认一次提交的文件是否有问题,xxx是自己提交的描述,比如 fix:xxx;

4. 【git push】 最后一步就是推到远端,如果这个时候报错了,大概率是因为你在commit和push之间,有人又提交了新的代码,这时候可以选择再提交一次merge,或者取消掉自己刚刚的提交,还原到提交前的版本【git reset --soft HEAD^】,重新拉取并继续后面的操作即可。

 

【git合并代码】

通常我们会有不止一个分支来进行开发及版本维护,比如会有生产分支,开发分支,那么日常该如何维护这些分支呢?

一般来讲,开发分支进行新功能开发,多位开发协同完成一项任务时,最好分工明确,避免同时操作同一文件,这样也可以避免冲突。那如果我在提交代码时发生了冲突怎么办呢,首先需要看看代码发生冲突的地方是谁做的修改,冲突代码较多时最好两个人同时解决。处理冲突一般有三个办法,选择 incoming change,选择current change 或者 接受both change。那到底谁是incoming change 谁是current change呢?

1. 提交代码时冲突。

如果远端代码和本地修改有冲突,是不会拉取代码成功的,也就是说,只有把代码贮藏【stash】起来,才能拉取到最新代码,这时候 应用贮藏的时候就可能会发生冲突,这种情况下,stash的代码就是incoming change,拉下来的代码就是current change。

2. 合并代码时冲突。

A分支合并到B分支,此时若没有冲突,会提示成功,可以直接提交并推送,若有冲突,则需要解决完冲突才能提交,这时候 A分支代码是incoming change,原有的B分支就是current change。

git config --list

git config --global credential.helper store

git merge --abort 取消合并


【多分支合并某一条提交记录】

假如我提交了某一次更改,提交在了A分支,之后A分支又有别人提交了新的代码,这时候我发现B分支也需要有这段代码,可是A分支之后提交的内容又不能整个合并到B分支,这时候应该怎么办呢?

1. 首先需要在A分支【git log】找到你需要合并的那条提交记录;

2. 切换到B分支 【git cherry-pick xxxxx 

3. git push


这些足够应对日常开发了,无惧代码冲突,加油鸭!

你可能感兴趣的:(git 常用指令 代码冲突 合并代码)