[英]Git pull with no changes from specified branch?
我現在在我的項目的develop
分支上。 我想從分支origin/Jim
中提取和合並。
這兩個分支之間有一些變化,如下所示:
git diff develop origin/Jim --stat
VERSION | 2 +-
api/account/models.py | 32 +--
api/account/views.py | 175 ++++--------
但是當我運行命令時
git pull origin Jim
它總是向我展示
* branch Jim -> FETCH_HEAD
Already up to date.
我的審判有什么問題。
謝謝
你發布的內容沒有什么不尋常的。 這個:
git diff develop origin/Jim --stat VERSION | 2 +- api/account/models.py | 32 +-- api/account/views.py | 175 ++++--------
shows some differences in the commit named by developer
(hash ID a123456
, perhaps: use git rev-parse developer
to see the exact hash ID), vs the commit named by origin/Jim
(a different hash ID—use git rev-parse
again如果需要 - 但我們只是說它可能是提交9876543
)。
這個:
git pull origin Jim
“意味着”,對於 Git,Git 應該運行以下兩個命令:
git fetch origin Jim
git merge -m ... FETCH_HEAD
(我在這里省略了實際的-m
參數,以及其他一些小項目)。 The git fetch
step causes your Git to reach out to some other Git software: your Git calls up the URL stored under remote.origin.url
, and some other Git version answers that Internet "phone call" and connects to another (different) repository並從該存儲庫中收集他們擁有的任何提交,而您沒有提交,您可能需要這些提交來更新您的origin/Jim
。
這個 output:
* branch Jim -> FETCH_HEAD
暗示(取決於您自己的 Git 版本)他們沒有您沒有的新提交,因此您的origin/Jim
已經與他們的Jim
保持同步。 到目前為止沒有問題:這只是意味着沒有什么可取的。
第二個命令git merge FETCH_HEAD
等效於git merge origin/Jim
。 這將找到一個提交 hash ID- 9876543
,在我們的示例中 - 並嘗試將您當前的 ( HEAD
) 提交與該提交合並。
我們不知道您當前的提交是什么提交。 我們不知道你在哪個分支,如果有的話。 但即使你在develop
,所以你當前的提交是a123456
,這仍然可以產生:
Already up to date.
如果您的提交( a123456
)嚴格“領先”於名稱FETCH_HEAD
下的提交9876543
,它將這樣做。
在這一點上,我們可以確定的是,在您當前的提交中,即使是在FETCH_HEAD
提交之前或之前。 合並命令並不意味着覆蓋所有內容,丟棄我的更改。 您的更改會添加到他們的工作中; 您的git merge
保留了您的更改。 他們沒有新的工作可以添加到您的工作中,所以沒有其他事情可做。
您是否提交並將您的分支推送到服務器?
也許它沒有與 Git 服務器同步。 嘗試提交您的分支並將其推送到服務器。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.