赞
踩
git pull = git fetch + git merge
git merge [options...] <commit>...
大多数情况下的合并我们只需要提供一个commit分支就可以了,默认将指定分支合并到当前分支中。合并后的提交以当前分支的提交作为第一个父提交,以为第二个父提交,合并操作也支持多个与当前工作分支进行合并git merge --no-commit <commit>...
模式可以指定合并先将结果放入暂存区,让用户手动对合并结果进行检查、更改,然后手动提交cat > fileName.suffix
进行逐行修改git pull
命令,同样能正常合并,不会遇到任何麻烦git pull
获取并合并信息之后,会发现它同样也能正常合并,然后我们进行推送:git push origin master
然后成功推送,接着我们查看一下远程仓库的内容,会发现git对这种情况的处理方式是:user2用户最终修改的是user1用户对应重命名后的文件git pull
git ls-files -s
,该命令输出的第二列的值如果为0表示对应的文件没有冲突,合并成功,如果不为0,则表示产生了合并的冲突,其中具体的值对应的意义是:1表示两个用户之前一个共同版本的对应文件内容;2表示当前用户对应的文件版本;3表示合并后的文件对应的远程版本git show :n:filename
查看对应文件的对应版本的内容git ls-files -s // git show :n:filename
来解决之外,还可以通过git内置的图形化界面工具来操作,通过命令:git mergetool
打开工具,默认git提供的是kdiff3,其中上方的三个界面从左到右依次为:两个版本的前一个共同版本的文件版本、当前本地版本的文件版本、合并后的文件版本git pull
git ls-files -s
查看当前版本的冲突文件对应的状态,其中1表示当前合并前的版本的文件对应的文件名,2表示当前分支的文件名,3表示合并的版本的文件名gig merge -s 合并策略 -x 合并策略参数 <commit>...
git config
来设置与合并相关的配置变量,对合并进行配置。<<<<<<<=======>>>>>>>
读冲突内容进行标识,两个文字块分别是本地的修改和他人的修改<<<<<<< ||||||| ======= >>>>>>>
,分别表示本地更改版本、共同的原始版本、他人更改的版本git mergetool
进行冲突解决时调用的图形化工具Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。