我有以下分支:
主
upgadingToJquery1.4
handlingExceptions
我正在开发 upgradeToJquery1.4 分支并做了一些提交。 我创建了另一个分支 handlingExceptions 进行了一些更改并提交了它们。 然后我切换回master并合并了 handlingExceptions 分支。令人惊讶的是,我认为 upgardeToJquery1.4 分支的变化也已合并。然后确认我合并了 upgradToJqueyry1.4 分支并且它说是最新的。
有人可以解释图表在这里指示的内容吗?
git log --oneline --decorate --graph --all
* a54bd6d (HEAD, master) Merge branch 'upgradeToJquery1.4'
|\
| * d4f762c (upgradeToJquery1.4) main.sass updated
* | bcf7a4f Merge branch 'handlingExceptions'
|\ \
| * | 471c1ad (handlingExceptions) the postLogin method in the accountControlle catches the exceptions and now prov
| |/
| * 76145d1 1. css/images - Jquerymobile icon files
| * 34bc7b9 custom-jqueryMobile.js - to override jquerymobile defaults.Currently added transitions dont work with p
答案 0 :(得分:1)
在结构上,你有这个(我在这里完成的是水平重绘图形):
D <-- upgradeToJquery1.4
/ \
- A - B - C \ <-- handlingExceptions
\ \
------------- E - F <-- HEAD=master
其中:
A = 34bc7b9 custom-jqueryMobile.js - to ...
B = 76145d1 1. css/images - Jquerymobile icon files
C = 471c1ad the postLogin method in ...
D = d4f762c main.sass updated
E = bcf7a4f Merge branch 'handlingExceptions'
F = a54bd6d Merge branch 'upgradeToJquery1.4'
有不同的方法可以到达这里,但鉴于您创建了handlingExceptions
(可能是git checkout -b
),最简单的可能就是:
git checkout upgradeToJquery1.4
... make commit A (or maybe it was already there but you said make "a few" commits)
... make commit B
git checkout -b handlingExceptions
... make commit C
git checkout upgradeToJquery1.4
... make commit D
git checkout master
git merge handlingExceptions
git merge upgradeToJquery1.4
另一种不同的方式是:
git checkout upgradeToJquery1.4
... make commits A, B, and D
git checkout HEAD^ # get back onto commit B
git checkout -b handlingExceptions
... make commit C
... now checkout master and merge as before
或者您可以git checkout HEAD^
创建git checkout -b handlingExceptions HEAD^
而不是单独的handlingExceptions
,以便提交C
获得B
作为其父级。
但是,在任何情况下,在发生git merge handlingExceptions
时,您在master
并且handlingExceptions
指向了提交C
,因此创建了提交{{} 1}}。提交消息和图形节点相互支持:E
的父母没有显示(第一个父母)和E
(第二个父母)。然后,在C
上,单独的 master
创建了提交git merge upgradeToJquery1.4
,其父项为F
(第一个父级)和{{1 (第二个父母)。
在任何情况下,分支标签都指向现在提交E
,D
和D
。