分離頭指標表示我們在工作在沒用分支的情況下,我們通過git log 列印日誌,選擇中間的乙個commitid,然後進行checkout操作,git checkout 82fdac4baac702ad0473c
講git切換到這次提交。在通過git branch
檢視分支,可見當前分支在(頭指標分離於 82fdac4)
。操作記錄如下:
git checkout 82fdac4baac702ad0473c # 切換命令
注意:正在切換到 '82fdac4baac702ad0473c'。
您正處於分離頭指標狀態。您可以檢視、做試驗性的修改及提交,並且您可以在切換
回乙個分支時,丟棄在此狀態下所做的提交而不對分支造成影響。
如果您想要通過建立分支來保留在此狀態下所做的提交,您可以通過在 switch 命令
中新增引數 -c 來實現(現在或稍後)。例如:
git switch -c 《新分支名》
或者撤銷此操作:
git switch -
通過將配置變數 advice.detachedhead 設定為 false 來關閉此建議
head 目前位於 82fdac4 測試config system
mrli@localhost git_learning % git branch
* (頭指標分離於 82fdac4)
master
temp
危險操作:如果我們當前位於分離頭指標,不要基礎改分支進行commit操作,因為在分離頭指標的commit不跟任何分支掛鉤,當我們切換到具體的master分支或者develop分支的時候,這些提交都看不到了。
head:head不僅表示當前的分支,還表示當前分支的最頂層commit。我們可以使用head代指最近一次提交。
git diff head head^ # 比較最近兩次提交的差異
git branch -d temp # 如果報錯使用-d
git branch -d temp
git commit --amend #執行之後會跳轉到提交資訊編輯頁面,編輯資訊之後儲存即可。
如果我們要修改倒數第二次提交的message資訊,我們需要使用git rebase -i
加上要修改的提交的上一次提交commitid,也就是倒數第三次提交的commitid。
mrli@localhost git_learning % git log # 檢視日誌
commit ee7b88abfe0ff8f78cad5a994b2f98a091c70f74 (head -> master)
author: zs_local date: thu apr 2 20:45:59 2020 +0800
修改為123
commit 7cd3ecd648aa388469973c12533af047676f2feb # 要修改這一次的提交資訊
author: zs_local date: sun mar 29 17:49:58 2020 +0800
修改提交資訊
commit 82fdac4baac702ad0473c96948795d88132d5a2e # 使用這一次的commit
author: mr li date: sun mar 29 17:13:23 2020 +0800
測試config system
commit 72b4ca8f0981f6d39a337c091bfbb8683b7ee7cf
author: zs_local date: sun mar 29 17:04:20 2020 +0800
測試config local
commit 96068ca86b6b4b646ff69fcb3ab3bc34d543dc39
author: mr li date: sun mar 29 10:28:20 2020 +0800
初識git
mrli@localhost git_learning % git rebase -i 82fdac4baac702 #修改命令
如下圖所示,使用reword 簡寫為 r,標記要修改的資訊。最後儲存,進入下一次提交。
我們依然使用的是git rebase -i 操作,選取的commit依然上要合併commit的前一次提交。
mrli@localhost git_learning % git log # 檢視提交歷史
commit ee7b88abfe0ff8f78cad5a994b2f98a091c70f74 (head -> master)
author: zs_local date: thu apr 2 20:45:59 2020 +0800
修改為123
pick 72b4ca8 測試config local
# 這是乙個 4 個提交的組合。
commit 7cd3ecd648aa388469973c12533af047676f2feb
author: zs_local date: sun mar 29 17:49:58 2020 +0800
修改提交資訊
commit 82fdac4baac702ad0473c96948795d88132d5a2e
author: mr li date: sun mar 29 17:13:23 2020 +0800
測試config system
commit 72b4ca8f0981f6d39a337c091bfbb8683b7ee7cf
author: zs_local date: sun mar 29 17:04:20 2020 +0800
測試config local
commit 96068ca86b6b4b646ff69fcb3ab3bc34d543dc39
author: mr li date: sun mar 29 10:28:20 2020 +0800
初識git
mrli@localhost git_learning % git rebase -i 96068ca86b6 # 執行變基操作,
[分離頭指標 1fab332] 合併4次提交
date: sun mar 29 17:04:20 2020 +0800
1 file changed, 1 insertion(+), 1 deletion(-)
successfully rebased and updated refs/heads/master.
mrli@localhost git_learning % git log
commit 1fab33204eb275ffd1f68dc0fb876f9feb978112 (head -> master)
author: zs_local date: sun mar 29 17:04:20 2020 +0800
合併4次提交
測試config local
測試config system
修改提交資訊
修改為123
commit 96068ca86b6b4b646ff69fcb3ab3bc34d543dc39
author: mr li date: sun mar 29 10:28:20 2020 +0800
初識git
mrli@localhost git_learning % git branch
* master
temp
這裡在編輯的時候選用合併的命令squash簡寫是s。
與上面操作的區別需要將間隔合併的commit調整到相鄰的位置。
系統掌握SQL Server增刪改查
建立資料庫 create database test 建立表 create table 職工表 在這裡插入 片 職工編號 int identity 1 1 primary key,職工號 varchar 50 unique 倉庫號 varchar 50 工資 int check 基本工資 800an...
資訊不是資訊系統
資訊不是資訊系統 資訊 資訊處理工具 使用人 資訊系統 不需要資訊的業務活動要資訊幹什麼,資訊只對需要他的人有用。資訊系統的最終對接物件是人腦這個生物智慧型資訊系統,才能發揮他的價值 寧無資訊,勿假資訊。現在的資訊科技的價值主要還是體現在獲取,傳輸層次,加工與運用施效還不足。資訊科技的價值在哪?對業...
資訊系統監理之資訊系統專案管理
前言 去年參加了資訊系統監理師的考評,遺憾,沒過。一度為這事難過,今年還準備考一次,這次,通過與否不是關鍵了,努力過了,就夠了吧。進入正題,這一次,來介紹一下資訊系統監理中的專案管理十四個要素,應該是考試的重點。ready?go!一 立項管理 1 立項階段的主要工作內容 1 立項準備 準確描述專案的...