git 做爲一個應用性超廣的代碼託管軟件較SVN仍是方便多了,自項目組去年10月份從SVN切換到git以來已經在實際開發過程當中使用git來進行已通過去一段時間了。相較於以前本身在學校裏面只會用git bash用命令行進行git操做,這段時間仍是學習總結了一些git命令對應的IDEA中git圖形界面的操做,感受仍是挺方便的。下面就介紹一些我的整理總結的操做。java
git bash:git
git checkout branchName
複製代碼
IDEA操做:緩存
git bash:bash
git checkout branchName-1
git checkout –b branchName-2
複製代碼
IDEA操做:學習
git bash:ui
git pull
git checkout branchName
複製代碼
IDEA操做:spa
刪除本地分支: git bash:.net
git branch –d branchName
複製代碼
IDEA操做:命令行
刪除遠程分支:git bash:3d
// 刪除遠程分支在本地的記錄
git branch -r -d origin/ branchName
// 注意這裏origin和冒號之間有一個空格,表示推送本地的一個空分支(冒號前面的)分支到遠程origin的feature-branch(冒號後面的)分支及刪除遠程分支
git push origin : branchName
複製代碼
git bash:
git checkout branchName-1
git merge branchName-2
複製代碼
IDEA操做: 切換到branchName-1分支
git bash:
git checkout givenFile
複製代碼
IDEA 操做:
回退單個文件
回退代碼段
git bash:
git log // 查看要回退到的歷史版本的Commit ID
git reset –hard Commit ID
複製代碼
IDEA操做:
git bash:
git log // 查看要回退到的歷史版本的Commit ID
git reset –hard Commit ID // 回退本地分支
git push -f origin branchName // 強制推送到遠程分支
複製代碼
git stash用於保存當前工做進度。比較經常使用的場景就是在開發分支開發特性的時候緊急修復release分支的嚴重bug。這個時候即可以用使用 git stash將當前修改(未提交的代碼)存入緩存區,切換分支修改 bug, 回來後再經過git stash pop將以前緩存的修改取出來。
git bash:
git stash
git stash save 「message...」 // 功能同上能夠添加一些備註
git stash show // 查看緩存的修改
git stash list // 查看緩存區中全部緩存記錄
git stash pop // 取出緩存區棧頂的記錄
複製代碼
IDEA操做:
IDEA -> Version Control -> Log,能夠指定所要查看的分支,提交人,時間,文件或文件夾。
git bash:
git log workSpace/src/main/java/javaop/BaseOpTest.java
複製代碼
IDEA操做: 右擊代碼文件空白處
git bash:
// -L s,e 表示第s行第e行
git blame -L 1,1000 workSpace/src/main/java/javaop/BaseOpTest.java
複製代碼
IDEA 操做: 右擊代碼文件空白處
如圖,有屢次同一個bug的屢次bugfix commit,我想把它們合併成一個commit。
打開IDEA的log history
右鍵如圖提交記錄3(須要進行合併的上一個提交),菜單Copy Revision Number複製commit ID
菜單VCS->Git->Rebase,勾上Interactive,Onto粘貼第2步中複製的commit
點擊Rebase並在交互式rebase菜單中,將第一個選爲pick,後面的都選爲squash,點Start Rebasing
參考文獻