我想在Github项目上开始使用git。(我已经使用CVS、SVN和hg多年了,但git很难理解)。我尽可能准确地按照指示操作,但仍然无法使其正常工作。
我克隆了我的分支项目:
git clone git@github.com:davidgiven/linux-allwinner.git
按照建议,我添加了一个“upstream”远程仓库,用于跟踪我所派生的项目:
git remote add upstream https://github.com/amery/linux-allwinner.git
我从中获取:
git fetch upstream
所有这些都很好。但是,自从我fork了这个项目以来已经过去了一个星期左右,上游一直在做改变。所以我想拉取那些更改。我当前在正确的分支---allwinner-v3.0-android-v2---所以我将从上游合并到我的分支:
git merge upstream/allwinner-v3.0-android-v2
...然后我遇到了合并冲突。
CONFLICT (add/add): Merge conflict in arch/arm/mach-sun5i/pm/standby/common.h
CONFLICT (add/add): Merge conflict in arch/arm/mach-sun5i/pm/standby/Makefile
CONFLICT (add/add): Merge conflict in arch/arm/mach-sun5i/pm/standby.S
CONFLICT (add/add): Merge conflict in arch/arm/mach-sun5i/pm/Makefile
[etc]
现在,我什么也没有提交;我还没有开始工作,我的项目自从我fork它以来一直没有改动。因此不应该有任何冲突。但实际上存在一些冲突;发生了什么,我该如何解决?
更新:
git show-branch HEAD upstream/allwinner-v3.0-android-v2
显示了以下内容,我必须承认我看不懂:
! [HEAD] arm: sun3i: add getioaddr macro
! [upstream/allwinner-v3.0-android-v2] arm: sun3i: updated irq handling and machine_desc to 3.0
--
+ [upstream/allwinner-v3.0-android-v2] arm: sun3i: updated irq handling and machine_desc to 3.0
+ [upstream/allwinner-v3.0-android-v2^] arm: sunxi: renable early_printk in all _defconfig except crane's
+ [HEAD] arm: sun3i: add getioaddr macro
+ [HEAD^] arm: sun3i: add dummy machine type
git show-branch HEAD upstream/allwinner-v3.0-android-v2
可能会揭示一些有趣的东西。 - georgebrockshow-branch
的完整输出吗?我期望它以一行以“++”开头的行结尾。 - georgebrock++
。 - David Given