这个git输出是什么意思?

时间:2019-01-25 15:40:29

标签: git

user@host:~/dir$ git status
On branch master
Your branch is up to date with 'origin/master'.

nothing to commit, working tree clean
user@host:~/dir$ git checkout SMC_VFR_01_18_2019
Switched to branch 'SMC_VFR_01_18_2019'
Your branch is ahead of 'origin/SMC_VFR_01_18_2019' by 2 commits.
  (use "git push" to publish your local commits)
user@host:~/dir$

我担心签出分支后会有未决的提交。

3 个答案:

答案 0 :(得分:3)

这可能意味着您尚未推送本地提交。尝试运行

git push

答案 1 :(得分:2)

消息:

  

您的分支比“ origin / SMC_VFR_01_18_2019”提前2次提交。

表示,由于您已经同步了本地SMC_VFR_01_18_2019分支,因此您对该分支进行了两次提交而没有推送它们。请注意,origin/SMC_VFR_01_18_2019实际上也是一个 local 分支,其目的是跟踪真正的远程SMC_VFR_01_18_2019分支。自从您上次拉出该分支以来,其他人也可能向远程计算机提交了提交。

因此,您可以尝试执行以下操作:

git fetch origin

引入对远程origin/SMC_VFR_01_18_2019的任何新提交。然后,如果远程进行了新的提交,您可能会看到一条消息,说您的本地分支既在远程分支的前面(您的提交),又在远程分支的后面(其他人的提交)。

答案 2 :(得分:1)

摘自官方文档

  

git checkout

     

要准备进行工作,请通过更新工作树中的索引和文件,并将HEAD指向分支来切换到该文件。保留对工作树中文件的本地修改,以便可以将它们提交到<分支>。

注意:结帐后,将保留本地修改。因此,在您的情况下,在命令列表中看到的结帐之前已经存在本地修改。