2017-11-11 225 views

回答

4

Git存儲之前的狀態以供參考,您可以使用<refname>@{<n>}語法來查詢它們。拉操作執行合併,從而更新HEAD和分支引用。在使用[email protected]{1}(或[email protected]{1}作爲分支參考)更新之前,可以找到HEAD的狀態,然後找到帶有[email protected]{1}..HEAD的已提交提交的範圍。然後,你可以做這個犯任何你想要的:

具體參考ORIG_HEAD可以用來代替[email protected]{1},但<refname>@{<n>}是更普遍和更強大的學習工具。

+1

這個答案是正確的(並且upvoted),但我認爲值得一提的是,'git pull'實際運行*兩個* Git命令,它們是'git fetch',後面跟着你選擇的第二個命令 - 默認是'git merge',但你可以選擇'git rebase'。無論是merge還是rebase,它都是* second *命令,用於更新'HEAD'並因此設置'ORIG_HEAD'並創建一個reflog條目。你會在'git merge'和'git rebase'文檔中找到'ORIG_HEAD'。 'git pull'有一些罕見的角落案例,它不運行第二個命令;在這種情況下,沒有更新。 – torek

相關問題