关于git的文件内容冲突解决

虽然以前我很怕git冲突,包括以前的版本控制器SVN上的冲突,但是昨天我决定好好的面对它,不去怕它,下面是我的解决过程。。。

话说一天的早上,我和同事(称为A)都同步了网络上的代码,然而A在中途提交了一次,并且合并到主分支master上了,更巧的是提交的那个文件是我现在也修改了的,然后等我晚上提交request 合并时,上面显示无法自动合并,头疼了(当时还是怕有冲突的),以下是我的解决办法。。。

windows版本

打开git bash

进入到项目本地分支目录下(如我的本地分支名叫wuyouwei)

切换到本地master主分支

git checkout master

同步本地wuyouwei分支

git merge wuyouwei

同步完成后本地master分支上就有本地分支wuyouwei的修改内容了

然后与网络上的master同步

git pull

此时会发生冲突不要紧张

查看那几个文件冲突了

git status -uno

打开相应的文件去手动修改下(文件上会有你的修改和网络上别人的修改,自己看着修改)修改完成后

git add 冲突文件

git commit         (也许会让你填提交信息,但是默认的有,就按Esc后再按shift加:然后输入wq再按Enter键)

git push

这样冲突就解决了

linux版本(可能会对windows有用)

这里分享个链接http://www.cnblogs.com/jasmine270885/p/5688802.html

时间: 2024-10-10 07:51:54

关于git的文件内容冲突解决的相关文章

git分支管理与冲突解决(转载)

Git 分支管理和冲突解决 原文:http://www.cnblogs.com/mengdd/p/3585038.html 创建分支 git branch 没有参数,显示本地版本库中所有的本地分支名称. 当前检出分支的前面会有星号. git branch newname 在当前检出分支上新建分支,名叫newname. git checkout newname 检出分支,即切换到名叫newname的分支. git checkout –b newname master 这个命令将上面两个命令合并:在

git 分之合并和冲突解决

Git 分支管理和冲突解决 创建分支 git branch 没有参数,显示本地版本库中所有的本地分支名称. 当前检出分支的前面会有星号. git branch newname 在当前检出分支上新建分支,名叫newname. git checkout newname 检出分支,即切换到名叫newname的分支. git checkout –b newname master 这个命令将上面两个命令合并:在master分支上创建分支newname分支并检出到该分支. 合并分支间的修改 Merge 合并

git merge git pull时候遇到冲突解决办法git stash

在使用git pull代码时,经常会碰到有冲突的情况,提示如下信息: error: Your local changes to 'c/environ.c' would be overwritten by merge. Aborting. Please, commit your changes or stash them before you can merge. 这个意思是说更新下来的内容和本地修改的内容有冲突,先提交你的改变或者先将本地修改暂时存储起来. 处理的方式非常简单,主要是使用git

git服务器创建,冲突解决

1.git服务器创建 在公司多人协作开发的情况下,不能简单地使用github,因为github是互联网公开的,这种情况公司的代码的保密性就会丧失了.这种情况下,需要创建git服务器. 登录服务器,使用git init --bare xx.git创建空的git版本库,这个版本库比较特别,和tree不是一回事,在这个目录下也没法运行git命令. 之后在工作的机器上,clone此版本库. 多人clone以及pull.push就可以实现协同开发. 然后本地的操作方法就都和一般使用git一样了,只不过ip

Git下的冲突解决

冲突的产生 很多命令都可能出现冲突,但从根本上来讲,都是merge 和 patch(应用补丁)时产生冲突. 而rebase就是重新设置基准,然后应用补丁的过程,所以也会冲突. git pull会自动merge,repo sync会自动rebase,所以git pull和repo sync也会产生冲突.当然git rebase就更不用说了. 冲突的类型 逻辑冲突 git自动处理(合并/应用补丁)成功,但是逻辑上是有问题的. 比如另外一个人修改了文件名,但我还使用老的文件名,这种情况下自动处理是能成

git手动解决内容冲突

[cpp] view plain copy print? <span style="font-size:18px;">git checkout -b lab4 origin/lab4 git merge lab3</span> 执行上面2条命令是创建一个新的本地分支lab4,并且将分支origin/lab4的内容放到新分支lab4中,最后将本地lab3分支的内容合并到新创建的本地lab4分支中. 合并过程中若出现冲突,比如: [cpp] view plain c

Git 分支管理和冲突解决

创建分支 git branch 没有参数,显示本地版本库中所有的本地分支名称. 当前检出分支的前面会有星号. git branch newname 在当前检出分支上新建分支,名叫newname. git checkout newname 检出分支,即切换到名叫newname的分支. git checkout –b newname master 这个命令将上面两个命令合并:在master分支上创建分支newname分支并检出到该分支. 合并分支间的修改 Merge 合并操作将两条或多条分支合并到一

Git merge 冲突解决简明教程

目录 1.????概述????1 2.????从git difftool & mergetool 工具开始 – Beyond Compare????1 2.1.????下载安装Beyond Compare????1 2.2.????创建启动Beyond Compare脚本????1 2.2.1.????创建git-difftool-bcomp-wrapper.sh????2 2.2.2.????创建git-mergetool-bcomp-wrapper.sh????2 2.3.????设置环境变

git pull文件时和本地文件冲突 方法之一

1.先将本地修改存储起来 2.pull内容 3.还原暂存的内容 4.解决文件中冲突的的部分 打开 dsa.txt 文件手动解决冲突. 其中Updated upstream 和=====之间的内容就是pull下来的内容,====和stashed changes之间的内容就是本地修改的内容.碰到这种情况,git也不知道哪行内容是需要的,所以要自行确定需要的内容.