我通过从命令行使用GIT将一些项目文件推送到GitHub上的存储库中。我修改了它们,并在本地文件夹中添加了一个新文件。我提交了它(我做了git add newFile
和git commit -m "some text"
),因此现在没有什么要提交的了,工作树很干净。我输入了Git log
,并得到了以下信息:
commit 532d55b88be3c8cc21ee1f89e08db3fc6c9c0631 (HEAD -> master)
Author: Rob <ennesimo@hotmail.it>
Date: Fri Jul 12 12:13:55 2019 +0200
example
commit b9719578146a01a3029e1bf3c6d15b3eb2c5473b
Author: Rob <ennesimo@hotmail.it>
Date: Fri Jul 12 11:58:17 2019 +0200
corrected orthography in the low_cost_hotels.json
commit aa8e758e852bb4dde1127b0e2fa256b1f5d67b29
Author: Rob <ennesimo@hotmail.it>
Date: Fri Jul 12 11:40:04 2019 +0200
version 2
commit 37e0e292242384afbee80260611ad021ed89ac37 (origin/master)
Author: Rob <ennesimo@hotmail.it>
Date: Thu Jul 11 12:10:10 2019 +0200
initial project version - 11 july 2019
如您在此处看到的那样,第一个提交报告(origin/master)
,最后一个提交(HEAD -> master)
。为什么会有这样的差异?我假设origin/master
是我在GitHub上的在线存储库,而(HEAD -> master)
表示我在PC上的本地文件夹中创建了一个新文件,然后将其发送到master
,即发送到GitHub上的远程存储库,这是正确的推理吗?
您能更准确地向我解释“大师”和“头”代表什么,为什么要这样命名吗?
答案 0 :(得分:3)
您看到的是origin/master
当前指向最下面的提交37e0e292
,而HEAD
指向最新的最上面的提交532d55b8
。所有这些意味着,由于您已将本地分支与远程服务器同步,因此您又进行了三个本地提交。
请记住,origin/master
是本地 tracking 分支。这意味着它的存在是为了在实际的GitHub存储库上跟踪它被视为master
分支的最新状态。这是有道理的,因为在缺少任何其他信息的情况下,远程计算机现在在本地master
版本的{em> 之后的三个commit中。
如果要通过git fetch
同步远程分支,则git log
的输出可能会更改(或可能不会更改)。
答案 1 :(得分:1)