这个图是如何通过git log获得的?

时间:2016-07-28 13:00:53

标签: git version-control git-branch git-log

我绝对是 GIT 的新人,我有以下疑问。

进入我正在处理的项目中:

Andrea@Andrea-PC MINGW64 ~/Documents/WS_vari/version-control/asteroids (master)
$ git branch
* master

所以我应该在这个项目中只有 master 分支。这是我的解释是正确的吗?

然后我希望看到与该项目的承诺相关的图表:

git log --graph --oneline --decorate=full --all

这是我的输出:

Andrea@Andrea-PC MINGW64 ~/Documents/WS_vari/version-control/asteroids (master)
$ git log --graph --oneline --decorate=full --all
* cba1887 (HEAD -> refs/heads/master) fixing: fixed the bug related of the weapo
n delay
* 3884eab (refs/remotes/origin/master, refs/remotes/origin/HEAD) Add color
* 3e42136 now using requestAnimationFrame
* 4035769 frame interval was set wrong after game was paused
* 25ede83 a couple missing ends with the ipad version
* df03538 I can't spell 'screen' apparently :)
| * 354dfdd (refs/remotes/origin/coins) Make ships able to spawn on coins
| * 0c6daf1 Make it possible to collect coins
| * a3c0ae4 Create helper functions
| * 656b02e First pass at adding coins
|/
* b0678b1 Revert controls
* f19cb1b Fix typo in space
* 75928a9 Use space for movement and enter for shooting
* ac83b72 mostly finished ipad version
* 7ca4826 trying to get div touch controls to work

....................................................................
....................................................................
....................................................................

所以我认为这意味着:

1)上次提交的ID为 cba1887 ,此提交已进入分支。

我的问题出在图表的这一部分:

* df03538 I can't spell 'screen' apparently :)
| * 354dfdd (refs/remotes/origin/coins) Make ships able to spawn on coins
| * 0c6daf1 Make it possible to collect coins
| * a3c0ae4 Create helper functions
| * 656b02e First pass at adding coins
|/

所以在我看来,它正在创建一个id df03538 的新分支(分支可以有ID或者我错过了什么?)并标记我无法拼写'屏幕'显然:)

此分支包含4个提交,其中包含 354dfdd,0c6daf1,a3c0ae4,656b02e

我的解释是正确还是我错过了什么?

如果我的解释是正确的并且这是一个新的分支,为什么我不能将它看到前一个 git branch 语句所暗示的分支列表中,这些分支仅显示 master 分支?

1 个答案:

答案 0 :(得分:1)

  

我的解释是正确还是我错过了什么?

不,行* df03538 I can't spell 'screen' apparently :)是表示master分支中提交的单位。

与此同时,* 354dfdd (refs/remotes/origin/coins) Make ships able to spawn on coins是你谈到的分支的最后一次提交。

  

为什么我无法将其显示在前一个仅显示主分支的git branch语句获得的分支列表中?

此处refs/remotes/origin/coins作为唯一的参考意味着它是一个远程分支,您尚未在本地检出,您实际上可以通过以下方式查看:

git branch -a

并且,您可以通过以下方式结帐:

git checkout -t origin/coins

这将创建一个名为coins的本地分支,该分支也跟踪origin/coins,您将能够通过git branch查看它。