技术博客

git解决代码冲突

2021-01-14  本文已影响0人  Lovealfy

push:  本地分支合并到远程分支

pull:   远程分支合并到本地分支

git在合并时,两个分支修改了同一个文件的同一处代码时,会产生冲突。
通过对比 commit 的记录,如果本地高于远程就直接把多出来的commit 给怼上去,如果本地分支的最新版本和远程的 commit 有冲突,就需要解决冲突

为什么要先commit,然后pull,再push?

commit是告诉git,这次提交改了哪些东西,不然只是自己改了,git不知道你改了,无从判断比较
pull是为了本地commit和远程commit的对比记录,git按照文件的行数操作进行对比,如果同时操作了某文件的同一行那么就会产生冲突,这时候需要手动解决,保留本地分支代码还是保留远程分支代码                                         

出现代码覆盖或者丢失的情况:

A、B进行协同开发时,有一人没有commit操作,就push了(修改了另一个人写的代码),容易出现代码覆盖

本地代码进行commit后,仓库不会将本地代码与远程仓库代码进行比较,不会识别是否存在代码冲突,必须进行pull命令后,才会将本地代码与仓库远程代码进行比较,如果存在冲突,必须要解决冲突后重新commit和push。不存在冲突,会在pull时直接合并代码,不会将本地代码覆盖掉。

一些常用命令

git config --global user.name"bukas"

git config --global user.email"bukas@gmail.com"

git reset --hard 1094a 回退到指定提交

git remote add origin git@github.com:michaelliao/learngit.git 

git push origin master 推送到远程库master分支

git branch 查看所以分支

git commit -m " a"  告诉git把文件提交到本地仓库(本地分支)

第一步是用git add把文件添加进去,实际上就是把文件修改添加到暂存区;

第二步是用git commit提交更改,实际上就是把暂存区的所有内容提交到当前分支。

因为我们创建Git版本库时,Git自动为我们创建了唯一一个master分支,所以现在git commit就是往master分支上提交更改

git add命令实际上就是把要提交的所有修改放到暂存区(Stage),然后执行git commit就可以一次性把暂存区的所有修改提交到分支

上一篇 下一篇

猜你喜欢

热点阅读