實戰Git命令(界面操作+命令行)


先說明下公司的發版步驟,當需要開發一個新的功能,先從master分支中拉出一個自己的分支a(假設分支為a),在a分支開發功能完后,需要切換到dev分支,然后把自己的分支a合到dev分支,部署測試環境讓測試同學測試,如果測試沒問題了,將最新的master分支的代碼合到自己的分支a中,然后把a分支合到master分支中,最后部署正式環境。

Idea快捷鍵Alt+F12 打開命令終端

git reset

Log中沒回退記錄,Revert命令有Log記錄

(1)git reset --soft HEAD~1

回退一個版本,不清空暫存區,將已提交的內容恢復到暫存區(提交前),不影響原來本地的文件(未提交的也不受影響)。

(2)git reset --hard HEAD~1
回退一個版本,清空暫存區(回到修改前,即commit前修改內容也被清空了),將已提交的內容的版本恢復到本地,本地的文件也將被恢復的版本替換。

(1)git reset --soft HEAD~1

 補充:git reset --soft HEAD~1相當於idea中Undo Commit操作

(2)git reset --hard HEAD~1

 

 

git stash

應用場景

(1)當正在dev分支上開發某個項目,這時項目中出現一個bug,需要緊急修復,但是正在開發的內容只是完成一半,還不想提交,這時可以用git stash命令將修改的內容保存至堆棧區,然后順利切換到hotfix分支進行bug修復,修復完成后,再次切回到dev分支,從堆棧中恢復剛剛保存的內容。
(2) 由於疏忽,本應該在dev分支開發的內容,卻在master上進行了開發,需要重新切回到dev分支上進行開發,可以用git stash將內容保存至堆棧中,切回到dev分支后,再次恢復內容即可。
總的來說,git stash命令的作用就是將目前還不想提交的但是已經修改的內容進行保存至堆棧中,后續可以在某個分支上恢復出堆棧中的內容。這也就是說,stash中的內容不僅僅可以恢復到原先開發的分支,也可以恢復到其他任意指定的分支上。git stash作用的范圍包括工作區和暫存區中的內容,也就是說沒有提交的內容都會保存至堆棧中

idea界面操作

 命令行操作

git stash save “注釋說明”

git stash pop

 

 

 git clean

刪除本地工作目錄中未跟蹤(沒有 git add)的文件,在idea中文件的顏色是紅色

   git clean -n 顯示 將要 刪除的 文件 和  目錄

   git clean  -f 刪除 文件

   git clean -df 刪除 文件 和 目錄

 

 

 實戰

git reset --hard HEAD~1

在一次合並代碼中,修改完代碼Commit后,然后想從自己的分支whl_benefit切換到dev分支,然后不小心點了dev分支合到merge到自己的分支了(合並后有沖突,同時會有很多dev的新代碼需要你最終去Commit),這時就可以用的git reset --hard HEAD~1,回到上次Commit后打算切換dev分支的樣子,如果你用的是git reset --soft HEAD~1,你會發現還有一堆新的代碼需要你去判斷要不要Commit(都是dev中存在,沒有沖突的新代碼或者新的文件),這時你得配合git clean命令把暫存區的文件回滾回去。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM