1

在 master 分支中进行任何提交并使用它后git status,它告诉我 origin 领先于 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,它有几个提交。

有时我会忘记我在分支中所做的提交,所以我没有推送它们。有没有一种方法可以像 master 分支一样跟踪本地和远程 repo 之间的区别?

4

3 回答 3

3

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

$ 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

git-branch 上的文档

于 2015-09-14T15:04:35.490 回答
1

尝试运行:

git branch -u origin/test-01 test-01
于 2015-09-14T15:05:13.360 回答
1

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

$ git push -u origin test-01

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

$ git branch -u origin/test-01
于 2015-09-14T15:05:41.720 回答