我正在检查 github 中的一些项目,在其中一个项目中我注意到了这一点:This branch is 287 commits ahead, 361 commits behind X:Master
这到底有多大可能?
最佳答案
就像这样:
o ----- ... 285 commits ... -- o <-- master
/
o -- o -- o -- ... 359 commits ... -- o <-- X/master
您在本地存储库中的分支
master
上创建了 287 个提交。这些提交不能从 X/master
访问。这就是 master
是“287 次提交 X/master
”的原因。与此同时,其他开发人员在
X/master
上创建了 361 个新提交。由于本地 master
和 X/master
不同,因此无法从 master
访问这 361 次提交,这就是为什么 master
是“X/master
后面的 361 次提交”。这是版本控制系统中的正常情况。您可以通过两种方式将
master
分支与 X/master
同步:运行:
git checkout master
git merge X/master
这将创建一个新提交,其中包含
master
和 X/master
的所有更改,并且有两个父项:master
和 X/master
分支的当前提示。如果成功,图形如下所示:
+--- old "master"
v
o -- ... 285 commits ... -- o -- o <-- master (the merge commit)
/ /
o -- o -- o -- ... 359 commits ... -- o <-- X/master
运行:
git checkout master
git rebase X/master
这将移动
master
上所有在 X/master
上但不在 X/master
上的提交(287 个“提前”提交)在 X/master
分支上,在 master
上的提交 361 之后,并且不能从 ojit_code 访问。如果成功,图形将如下所示:
+--- old split point
v
o -- o - ... 360 commits ... - o - ... 286 commits ... - o <-- master
^
+---- X/master
关于git - 一个分支怎么可能既是 X 次提交又是 Y 次提交呢?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41492486/