- 我正在尋找一步一步的命令來運行。
- 假設所需的分支可能尚未存在於我的本地存儲庫中,並且我的工作空間可能指向另一個分支,那麼應該運行哪組命令,以便我只獲取所需的最小數據。我應該先嚐試獲取日誌信息,以便我可以獲取與分支相對應的修訂版本?
或者我應該做一個該分支的git獲取,然後得到相應的分支的修訂?如何獲取上次推送到分支的修訂散列?
或者我應該做一個該分支的git獲取,然後得到相應的分支的修訂?如何獲取上次推送到分支的修訂散列?
(假設你的遙控器被稱爲「原點」和你的分支被稱爲「主」)
首先,你要確保分支機構在本地資源庫是最新的,與等效遠端:
git fetch origin master
然後你就可以得到最新提交的哈希:
git log -1 --format="%H" origin/master
git ls-remote origin master
將讓你每一個裁判對比賽的「主人」的遙控器上,ls-remote
比裁判命名約定較低的水平。分支refnames是開始refs/heads/
的名稱。
您可以直接列出任何存儲庫的裁判,嘗試
git ls-remote git://git.kernel.org/pub/scm/git/git.git refs/heads/master
或只是離開過例如refname模式。
這也適用於當前的回購,嘗試
git ls-remote .
在明顯的地方
。
對於參考資料還沒有太多的想法。目前,其他答案對我來說工作得很好。不管怎麼說,還是要謝謝你。 –
我發現git fetch並不能反映git log輸出中的新修訂版。然而,git推動是這樣做的。請更新您的答案或糾正我,如果我失去了一些東西。 –
確保包含'origin/master'部分。或者,您可以使用'--all'選項。我認爲你的意思是拉和不推動你的評論,這也將工作,但也更新工作區(不同於獲取)。 –
我感到困惑。是的,我的意思是拉。我正要問'git log'和'git log origin master'有什麼區別?爲什麼'git log'即使在提取後也不更新信息? –