在我的本地仓库中,我运行了以下commnands:
git checkout -b localBranch origin/master
<创建了一个新的分支
跟踪远程分支' master' git status
<说最新的git reset --hard HEAD~30
<我正面临一些构建问题。这是构建不会失败的地方。其他一些开发人员已经检查了一些问题。我git status
<现在,这说明我落后于36
来自origin / master的提交我原以为它会显示我落后于30次提交,但它表示36次提交。这是为什么?它是否也计算了合并分支的提交还是我在这里遗漏了其他东西?
注意:远程中有多个其他分支,很少有并入主分支。
答案 0 :(得分:6)
通过运行git reset --hard HEAD~30
,您还原为HEAD
的第30个父级。但是,如果您使用分支,则HEAD
和HEAD~30
之间可能会有超过30次提交。
例如:
* 501fe6f (origin/master) Merge branch 'master' into HEAD
|\
| * 24c80b0 foo
* | 69d4fad foo
|/
* 93d4461 (HEAD -> master) foo
* 566ba14 foo
* 97f38e0 old
本地master
是origin/master~2
,但它们之间有3次提交。 git status
显示3 commits behind
。
答案 1 :(得分:2)
它是否计算来自合并分支的提交
当然可以。
可以从origin/master
到达并且本地master
无法访问的每次提交都是您无法提交的。
当您将origin/master
合并到origin/master
时,您将拥有其中的所有36个(包括在master
中合并的分支)。