Git 原理與實踐

工作過程中發現很多小夥伴會git理解不深,操作過程中往往使用一些 刪除分支,文件備份的方法保證自己的代碼。本文將結合工程實踐講解git的原理 本文長期更新,歡迎研討交流。

一:git 強制回退

一不小心提交了多於的代碼到master分支,怎麼處理呢。

這時候遠程代碼已經提交到遠程倉庫了,這就需要強制回退,

idea裏沒有對應的操作菜單。

造成原因:

test 分支切換到master分支時 idea 有未提交的代碼

idea 選擇了smart 模式切換分支,導致代碼在本地帶到了master分支,進而被意外提交。

用命令實現:

1、獲取某個歷史版本的id(即change-id,每個版本唯一)

方法1:使用git log命令查看所有的歷史版本,輸入q便可退出。

git log

方法2:使用gitk圖形化界面查看節點信息。(在安裝 Git 的同時,你也裝好了它提供的可視化工具,gitk 和 git-gui。)

—>假設查到歷史版本的id是124bb0f757e661ef12cdbe99a805c156297d1f11

2、本地恢復到該節點狀態

git reset --hard 124bb0f757e661ef12cdbe99a805c156297d1f11

3、強推到遠程分支

<此時如果分支較遠或者改動較多,使用git push origin可能會報錯失敗,此時可使用強推>

git push -f -u origin master

這個操作需要輸入用戶名 密碼

原理分析:git 版本記錄 可以理解爲記錄每個操作節點

無論何種操作都會被記錄在git 操作日誌裏。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章