为什么git提取在git提取之后清除您的分支位于';原点/主控';消息

为什么git提取在git提取之后清除您的分支位于';原点/主控';消息,git,Git,我的问题是,@Rich in this的答案为什么如此有效 我运行的是git version git version 1.7.1,有一个简单的git存储库,通过将开发更改提交并推送到远程ics_client.git,然后git将这些更改拉到生产系统,保持开发和生产环境的更新 将更改向下拉到生产环境后,我看到如下输出(在下面的示例中,我尝试了git-fetch,然后是git-merge-fetch\u-HEAD,但得到了与git-pull相同的消息 [ics@bucky ics_client]$

我的问题是,@Rich in this的答案为什么如此有效

我运行的是git version git version 1.7.1,有一个简单的git存储库,通过将开发更改提交并推送到远程
ics_client.git
,然后
git将这些更改拉到生产系统,保持开发和生产环境的更新

将更改向下拉到生产环境后,我看到如下输出(在下面的示例中,我尝试了
git-fetch
,然后是
git-merge-fetch\u-HEAD
,但得到了与
git-pull
相同的消息

[ics@bucky ics_client]$ git fetch origin master
gituser@h2oamr's password: 
remote: Counting objects: 11, done.
remote: Compressing objects: 100% (7/7), done.
remote: Total 7 (delta 5), reused 0 (delta 0)
Unpacking objects: 100% (7/7), done.
From h2oamr:ics_client
 * branch            master     -> FETCH_HEAD
[ics@bucky ics_client]$ git merge FETCH_HEAD
Updating 59a2f6a..05f8d8b
Fast-forward
 Reports.mf     |    5 +-
 fgiusr.c       |  354 ++++++++++++++++++++++++++++----------------------------
 rangebatch.4gl |   52 +++++++-
 3 files changed, 225 insertions(+), 186 deletions(-)
[ics@bucky ics_client]$ git status
# On branch master
# Your branch is ahead of 'origin/master' by 2 commits.
#
nothing to commit (working directory clean)

那么,这是git的正常部分吗?我做错了什么吗?

git fetch
后面跟着
git merge
执行的操作与
git pull
执行的操作几乎相同。然而,合并操作也产生了自己的更改(因此,远程的本地表示现在领先了)以下获取操作通过同步远程分支的本地表示来处理


在1.8.4以下的git版本中,当您
git pull
时,FETCH_HEAD会更新并合并到签出的HEAD中,但远程存储库的本地表示不会更新。因此,虽然它表示您领先于远程分支,但它们实际上是在一条直线上。请注意,OP的“merge”是一个快进合并,所以没有创建合并提交。我将git版本添加到OP中,我的版本根据您的回答解释了发生了什么。@poke Danke-我已经删除了错误的内容information@poke那么,如何避免快进合并呢?@octopusgrabbus通常很有帮助,这绝对不是一件坏事,也不是你描述的原因我在你的问题中提到过。