git解决冲突和diff用法

假设这样一个场景,A和B两位同学各自建了两个分支来开发不同的功能,大部分情况下都会尽量互不干扰的,

但是有一个需求A需要改动一个基础库中的一个类的方法,不巧B这个时候由于业务需要也改动了基础库的这个方法。

那么在提交的时候便有可能会出现冲突conflicts  

一定要记住这个单词,CONFLICT

此时使用 git diff

查看具体冲突

上图就是冲突的示例,

冲突的地方==============分出了上下两个部分,

上半部分 **HEAD** 是当前所在分支的代码

下半部分是别人提交的代码

此时进入代码中把判断哪些代码进行删改,

我们只需要移除掉那些老旧代码,同时也要把那些 <<< HEAD  ==== 以及 >>>>>>baidu_activity 标记符号删除,最后进行一次 commit 就可以了。

diff的用法

diff命令是很常用的,在开发过程中,大家会经常做一些代码改动,但时间久了难免会忘记做过哪些改动,在提交之前需要确认下,这个时候就可以用diff来查看到底做了哪些改动,

例如,有一个 a.md 的文件,做了一些改动,

当输入 git diff 时,

就会看到如下内容:

需要注意的是,直接输入 git diff 只能比较当前文件和暂存区文件差异,

什么是暂存区?就是还没有执行 git add 的文件。

当然除了与暂存区做比较之外,他还可以有其他用法,如比较两次 commit 之间的差异,比较两个分支之间的差异,比较暂存区和版本库之间的差异等,具体用法如下:

  • git diff <$id1> <$id2>                 # 比较两次提交之间的差异
  • git diff <branch1>..<branch2>    # 在两个分支之间比较
  • git diff --staged                          # 比较暂存区和版本库差异

原文地址:https://www.cnblogs.com/lovecode3000/p/12254918.html

时间: 2024-10-05 23:55:20

git解决冲突和diff用法的相关文章

git解决冲突方式

Git解决冲突 安装beyond compare 4 2.配置git对比工具 #difftool 配置 git config --global diff.tool bc4 git config --global difftool.bc4.cmd "\" C:/Program Files/Beyond Compare 4/bcomp.exe\" \"$LOCAL\" \"$REMOTE\"" git difftool HEAD

git 解决冲突的办法

在项目中使用git管理,冲突是在所难免的,如果没办法解决冲突,可以试试这个办法! 第一步.对工程进行备份,最好是拷贝到其他文件夹中 第二步.在cmd命令栏上,进入到工程目录下,这里的工程只你正在开发的工程 第三步.输入命令 git stash git stash clear git reset --hard  id 注:id指你上传文件的id,在eclipse中右键工程->team->show in history 就可以看到上传的id git pull 第四步.刷新工程 第五步.将备份好的工

eclipse 中git解决冲突

——转载:http://blog.csdn.net/rosten/article/details/17068285 1.工程->Team->同步:  2.从远程pull至本地,就会出现如下内容:  3.使用Merge Tool,执行第二项 使用HEAD合并后的效果: 4.再手动修改 4.修改后的文件需要添加到git index中去: 5.冲突文件变为修改图标样式,再提交至本地,此时的提交便是merge合并:  6.此时需要pull的向下箭头和数量没了,注意图标的变化:  7.现在可以直接pus

eclipse git 解决冲突 解决 mergetool 不能使用问题

eclipse git 解决冲突 解决 mergetool 不能使用问题 本地代码 远程代码 第一步 --> 同步远程资源库,检查是否存在冲突 这里有冲突出现 第二步 --> 如果存在冲突,将本地代码提交到本地仓库 注意:这里是点击 commit,而不是点击 commit push 第三步 --> pull远程代码 第四步 --> 使用 merge tool 解决冲突 右键文件,选择 merge tool 第五步 --> 解决冲突 上传自己的本地代码到远程 点击 commit

git解决冲突插件之Beyond Compare

Beyond Compare主要作用: 1. 可以比较文件.文件夹的差异: 2. 将一个文件或文件夹的两个不同版本进行变更合并,生成一个输出. 基于以上两个特性,可以将beyond compare集成到git内,作为解决冲突的利器,具体配置如下,找到.gitconfig文件(Windows下在C:\Users\用户名目录)添加以下内容: [diff] tool = bc4 [difftool "bc4"] cmd = "\"F:/BeyondCompare/beyo

git 解决冲突

$ git push origin master To /home/fan/repo/code/../a.git/ ! [rejected] master -> master (fetch first) push失败,版本落后,提示要fetch $ git fetch origin $ git merge origin/master Auto-merging a.txt CONFLICT (content): Merge conflict in a.txt 发生冲突 选择修改,解决冲突 git

git解决冲突

解决冲突 人生不如意之事十之八九,合并分支往往也不是一帆风顺的. 准备新的feature1分支,继续我们的新分支开发: $ git checkout -b feature1 Switched to a new branch 'feature1' 修改readme.txt最后一行,改为: Creating a new branch is quick AND simple. 在feature1分支上提交: $ git add readme.txt $ git commit -m "AND simpl

git 解决冲突方案

直接上代码 1.首先执行git pull 这时候如果你本地没有修改过文件 会直接替换你的项目文件 如果你本地有修改过相应的文件 而且这个文件是之前版本已经存在的文件 则会提示你这个文件需要解决冲突 [你只要复制一份就可以了] 2.如果修改有多个冲突文件 则需要一个一个备份一份 重复1的操作 3.备份好文件之后 执行git reset --hard HEAD^ 命令 这一步操作是回复你修改之前的版本 4.继续执行git pull 因为3操作已经恢复到你本地最新版本 所以执行git pull命令会把

eclipse 中 git 解决冲突(重点)

Eclipse 中 GIT 提交代码时的冲突困扰了我很久,说实在的,真的感觉 GIT 太特么难用了,尤其是提交代码时(或许还没习惯吧).特此,写一篇博文记录一下自己使用 GIT 决解冲突的问题,希望能帮助正在"漩涡"中的小伙伴们!!!! 一.先制造冲突 这里的目的是模仿大家平常提交代码遇到的代码冲突问题.(项目已经已经提前创建好并放到了 GIT 上) 先在云端修改TestGit_Master.java文件,如下图: 然后在本地修改TestGit_Master.java文件,如下图: 接