编辑并提交到本地仓库后,Git Status不会显示"超前"

Ter*_*rry 6 git-status

我们公司的工作流程是在我们处理新功能时将主分支克隆到_Test分支,并且我们不断推送/共享此_Test分支,直到客户完成并批准一组功能,然后我们合并到主分支并构建和发布我们的站点.然后冲洗并重复.

我遇到的问题是git状态在_Test分支上工作时没有显示正确的前进/后退(或者更可能,我可能不理解它应该显示的内容).如果我执行以下步骤:

  1. git checkout _Test
  2. git pull --rebase origin _Test#获取最新代码
  3. 编辑一些文件
  4. 得到提交-am"测试提交"
  5. git状态

在第四步之后,git输出是

[_Test d6fa824] Test commit
1 file changed, 1 insertion(+), 1 deletion(-)
Run Code Online (Sandbox Code Playgroud)

然后在第五步之后,git输出

# On branch _Test
nothing to commit, working directory clean
Run Code Online (Sandbox Code Playgroud)

不应该说吗?

Your branch is ahead of 'origin/_Test' by 1 commit.
Run Code Online (Sandbox Code Playgroud)

如果我查看qgit或gitk,它们分别(正确地)显示origin/_Test和remotes/origin/_Test,在最后一次测试提交后提交1次.我正在运行msysgit和git版本输出:

git version 1.8.1.mysysgit.1
Run Code Online (Sandbox Code Playgroud)

所以我很困惑为什么git commit的输出没有声明我超前于origin/_Test(显然我是因为我刚刚提交)以及为什么git status不会声明相同的信息.

如果我需要提供更多信息,请告诉我.

gra*_*ray 5

我解决了这个问题.

您基本上需要使用设置git跟踪

git branch --set-upstream *branch_name*
Run Code Online (Sandbox Code Playgroud)

请阅读我的完整说明

  • git建议现在使用`git branch --set-upstream-to ...` (3认同)