一千萬個為什麽

搜索

Git中DETACHED HEAD狀態的確切用法是什麽?



當我進入git checkout commitid(特定的提交ID)時,它會進入分離模式,HEAD POINTER不能指向最近的提交。 我們可以做些什麽以及如何使用獨立的頭部狀態。

轉載註明原文: Git中DETACHED HEAD狀態的確切用法是什麽?

一共有 1 個回答:

與GIT合作的“正常”方式是檢查分支機構。 HEAD是指向該分支中最新提交的“指針”,GIT將允許您在指針之後提交新的更改。

但是,正如你所想的那樣,如果你願意,可以檢查一個特定的提交散列。在這種情況下,如果您進行更改並嘗試提交它們,您將無法這樣做,因為您不在HEAD中,並且GIT不會允許您提交更改。

大多數情況下,如果要測試項目在特定時間點的運行情況,可以使用分離的HEAD(檢出較舊的提交)。

例如,如果您需要對代碼進行更改或需要使用Jenkins MultiBranch Pipelines進行構建,則還可以通過運行以下命令從該特定提交中創建一個新分支:

git branch my_new_fancy_branch 7y8u33ii

要麽

git checkout -b my_new_fancy_branch 7y8u33ii

... where 7y8u33ii is the hash you provided in the question. F要麽 this new branch, 7y8u33ii will be HEAD, so you will be able to commit new changes. If you need to get your code into the branch from which you created this new branch from, you will need to do a merge, but this is another discussion altogether.

如果這個答案可以幫助你,如果你能把它標記為公認的答案,我將不勝感激。