Heim > Fragen und Antworten > Hauptteil
是这样的,我想练习一下git解决冲突。
我在github上建了1个仓库,名叫p。我在电脑D盘、F盘个clone了一份远程仓库p。
我先在D盘对文件作出修改,提交到远程仓库。
然后在F盘,我故意随便改个文件,然后pull,那么git应该报告有冲突然后让我解决。
但我用git pull p master:master 和 git pull p master,结果不同:
这是git pull p master:master命令:
dbx@dbz MINGW64 /f/zns/p (master)
$ git pull p master:master
remote: Counting objects: 4, done.
remote: Compressing objects: 100% (1/1), done.
remote: Total 4 (delta 2), reused 4 (delta 2), pack-reused 0
Unpacking objects: 100% (4/4), done.
From github.com:ak74u/p
! [rejected] master -> master (non-fast-forward)
8b34266..f8a04e8 master -> p/master
并没有冲突出现
这是git pull p master命令
$ git pull p master
From github.com:ak74u/p
branch master -> FETCH_HEAD
Auto-merging html/some_shit1.html
CONFLICT (content): Merge conflict in html/some_shit1.html
Automatic merge failed; fix conflicts and then commit the result.
提示有冲突,并且文件也有了变化
请问为什么git pull p master:master 和 git pull p master会得到不同的git反馈?
给我你的怀抱2017-05-02 09:44:48
详细可以看下:阮一峰git教程
摘自其中的一段话
git pull命令的作用是,取回远程主机某个分支的更新,再与本地的指定分支合并。它的完整格式稍稍有点复杂。
$ git pull <远程主机名> <远程分支名>:<本地分支名>
比如,取回origin主机的next分支,与本地的master分支合并,需要写成下面这样。
$ git pull origin next:master
如果远程分支是与当前分支合并,则冒号后面的部分可以省略。
$ git pull origin next