美文网首页技术博客
git解决代码冲突

git解决代码冲突

作者: Lovealfy | 来源:发表于2021-01-14 23:54 被阅读0次

    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就可以一次性把暂存区的所有修改提交到分支

    相关文章

      网友评论

        本文标题:git解决代码冲突

        本文链接:https://www.haomeiwen.com/subject/ubobaktx.html