美文网首页Git 汇总时光轴linux&github
Git 文件冲突合并的几种情况

Git 文件冲突合并的几种情况

作者: 侯工 | 来源:发表于2019-03-15 11:59 被阅读29次

假设冲突文件是 index.html

下面分5种情况讨论。

1、本地不变。

然后远程别人有更新。
git pull
这种最简单,没有冲突,本地工作区直接更新

2、我本地修改,但是不add。

然后远程别人有更新,此时 :
git pull,
git会告诉你:

error: Your local changes to the following files would be overwritten by merge: 
index.html

此时,我git checkout -- index.html千万注意,上条命令会导致你自己的修改丢失了!!
然后git pull.成功。
这种情况下,你自己的修改完全丢失。本地接受了远程的修改。

3、我本地修改,但是已经add了。

然后别人远程更新,
git pull
这种情况,和上面几乎一样。
git reset HEAD test/TestCase.php
上面这条命令可以理解为add命令的逆命令。即,取消add操作。

然后继续
git checkout -- index.html
千万注意,上条命令会导致你自己的修改丢失了!!
然后git pull.成功。
这种情况下,你自己的修改完全丢失。 本地接受了远程的修改。

4、我本地修改,add 且 commit了

然后别人远程更新,
git pull
注意:这种情况和第2,第3种情况不同。git会认为你的commit也很重要。同等重要。
突然发现,自动进入vi界面。
Merge branch 'master' of https://github.com/xxxx
这什么意思呢?就是git会主动再帮你添加一个commit。
先让你写点注释,并且它已经帮你写了几句话
那自己写点东西,然后保存退出vi
请注意,这个commit是在本地的,还没有发到远程。
这个commit会自动合并 你添加到代码,和 别人远程更新的代码,
所以,之后请自己检查一下这个代码有无问题。

如果都没有问题,则你现在
git push
这个命令可以把你的本地改动推送到远程。
push之后,远程得到你和他人的所有更新。push之前,仅本地得到你和他人的所有更新。

5、使用分支功能。

git的分支功能很强大,应该多使用。 上面几种情况都没有使用分支。使用分支会更好。 首先,我本地新建并切换分支branch_1,自己起有意义名字,并修改文件。

  git checkout -b branch_1 
  vi index.html
  git add index.html
  git commit -m "change test" 

现在,别人已经更新了远程主分支代码(没更新就极其方便了,也不必说了,快速更新)我想把分支合并到主分支。 我应该,先回到主分支,并更新。

  git  checkout master
  git pull

然后,在本地,把我的修改分支合并上去。git merge branch_1 自动进入vi界面,让你写注释。 然后会合并好。 类似提示:

index.html | 3 ++- 

上面,两个加号表示文件增加了两行,一个减号表示文件减少了一行。

此时,注意,凡是进入vi界面后, 最好自己再检查一下程序,检查那些被提示修改过的文件,(这是一个好习惯,但我从来不遵守) 如果认为正确,最后, git push,推送到远程。

push之后,远程得到你和他人的所有更新。push之前,仅本地得到你和他人的所有更新。

相关文章

  • Git 文件冲突合并的几种情况

    假设冲突文件是 index.html 下面分5种情况讨论。 1、本地不变。 然后远程别人有更新。git pull这...

  • Git分支合并及冲突解决

    分支合并 $ git checkout 分支名A $ git merge 分支名B 产生合并冲突 查看冲突情况 $...

  • (二)

    转自:Android Studio、Git 解决合并冲突Android Studio、Git 解决合并冲突Andr...

  • (4.2) git分支管理-解决冲突

    小结 当Git无法自动合并分支时,就必须首先解决冲突。解决冲突后,再提交,合并完成。 解决冲突就是把Git合并失败...

  • git 合并代码常见问题

    git 合并代码常见问题 配置文件出现冲突 导致项目无法打开--> 找合并前的(bidHall.xcodeproj...

  • git合并分支冲突解决

    1、执行合并执行 merge 命令 git merge [有新内容分支名] 2、出现冲突,文件中冲突的表现 3、冲...

  • iOS 代码冲突

    引言:有时合并分支后,可能会造成某些工程文件打不开,说明同一个文件被多人修改,造成了git冲突,这种情况就需要解决...

  • git 如何解决冲突

    在git中会出现共同对一个文件操作的情况,而提交时,晚提交的一般要面临解决冲突的问题。 在合并后发现发生冲突了,可...

  • SVN 部分命令

    1. 从版本控制删除文件 2. git svn 命令 当我们使用“git svn rebase”合并产生冲突是,我...

  • git最常用命令和最常见问题整理

    解决合并冲突 2个分支的文件发生冲突的时候,VS Code会给你4个选择,选择其一之后,保存文件,然后git ad...

网友评论

    本文标题:Git 文件冲突合并的几种情况

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