分支上的git状态不显示本地仓库和远程仓库之间的差异

时间:2015-09-14 15:01:55

标签: git commit git-status

在master分支中进行任何提交并使用git status后,它告诉我原点在master之前,需要推送。

On branch master
Your branch is ahead of 'origin/master' by 1 commit.
  (use "git push" to publish your local commits)
nothing to commit, working directory clean

但是当在分支中提交并在检查分支时使用git status时,它并没有说明原点和分支之间的区别。

On branch test-01
nothing to commit, working directory clean

我使用test-01创建了分支git checkout -b test-01,并将其推送为git push origin test-01并且它有多次提交。

有时候我会忘记我在分支机构中所做的提交,所以我没有推动它们。有没有办法可以跟踪本地和远程仓库之间的差异,如主分支?

3 个答案:

答案 0 :(得分:2)

您需要跟踪上游分支,因为当前未跟踪这些分支:

$ git checkout test-01
$ git branch -u origin/test-01

或者,如果您不想将上下文切换到要设置跟踪的分支,您可以简单地完成:

$ git branch -u origin/test-01 test-01

这会将您的本地test-01分支设置为跟踪origin/test-01分支。

设置正确的跟踪后,您应该能够使用以下命令查看本地和远程分支之间的跟踪关系:

$ git branch -vv

Documentation on git-branch

答案 1 :(得分:1)

尝试跑步:

git branch -u origin/test-01 test-01

答案 2 :(得分:1)

你忘了告诉git跟踪远程test-01分支。只需记住在第一次推送到远程分支时添加标记-u,如下所示:

$ git push -u origin test-01

当您的本地分支已有现有远程分支时,您可以执行以下操作:

$ git branch -u origin/test-01