git“在X commits之前或之后”是什么意思?

时间:2019-11-01 23:06:28

标签: git

所以R返回了

git status

我这样做了,现在Your branch is ahead of 'origin/Dev-Branch' by 5 commits. (use "git push" to publish your local commits) 返回了

git status

但是Your branch is up to date with 'origin/Dev-Branch'. 表明我的最后一次提交是从前一天开始的:也就是说,今天什么都没有推送到源头

Git如何计算前后提交信息?

4 个答案:

答案 0 :(得分:0)

  

但是git log显示我的最后一次提交是从前一天开始的:也就是说,今天什么都没有推送到源头

那不是那个时间戳的意思。您在前一天投入工作,并于今天开始工作。

Git跟踪您当前分支在历史中的位置,以及它收到的有关上游(远程(GitHub)上的相应分支)的位置的最新信息。它可以告诉您这两种历史的比较。有时候,同步两个存储库(例如您的存储库和GitHub的存储库)所需要做的只是告诉其中一个存储库有关新提交的信息。此过程不会创建任何新的提交,因此您不会在Git内看到与其相关的任何时间戳。

答案 1 :(得分:0)

  

今天什么都没被推上来

今天,当您运行git push命令时,您的提交推送到了原始位置。

但是那些承诺是昨天做出的。提交的时间戳显示提交的时间,而不是推送的时间。

分支推送的时间可能记录在GitHub上,或者已经生成了一些电子邮件,或者存储在git reflog中,但实际上并没有记录在基本git本身中。您的分支不存储创建或推送时间的时间戳。

  

Git如何计算前后提交信息?

如果您的远程和本地分支都指向同一提交,则它们是“最新的”。否则,您所做的X提交将领先于另一个。

在计算机上进行本地提交时,本地分支位于远程分支的“前面”。在push对远程仓库进行的本地更改之后,您的分支将是“最新的”。

答案 2 :(得分:0)

请记住,您拥有整个git存储库的本地副本。当您提交内容时,什么都不会发送到服务器-提交内容将保存到存储库的本地副本中。您可以根据需要进行任意数量的提交,直到运行git push之前,没人会看到它们。

关于您的问题:

  

您的分支比'origin / Dev-Branch'提前5次提交。

这意味着您的本地存储库副本中有5个提交不在“ origin / Dev-Branch”中。换句话说,您尚未推送5次提交。

按下后,一切都一样。

git log仅显示您的提交,而不显示已推送或未推送的内容。因此,如果您的最后一次提交是昨天,那是正确的。推送时,它不会更改提交的日期。

答案 3 :(得分:0)

git一起工作是以下三位一体的舞蹈:

  1. Dev-Branch本地,当前已签出
  2. Dev-Branch在远程存储库上
  3. (remotes/)origin/Dev-Branch-远程Dev-Branch的本地副本

前进/后退大约是1和3。

3.是您执行fetch(和git pull = fetch & merge)时更新的内容。