開發中實用的git命令以及IDEA中的git操做整理

前言

git 做爲一個應用性超廣的代碼託管軟件較SVN仍是方便多了,自項目組去年10月份從SVN切換到git以來已經在實際開發過程當中使用git來進行已通過去一段時間了。相較於以前本身在學校裏面只會用git bash用命令行進行git操做,這段時間仍是學習總結了一些git命令對應的IDEA中git圖形界面的操做,感受仍是挺方便的。下面就介紹一些我的整理總結的操做。java

1、分支管理

1. 分支切換

git bash:git

git checkout branchName
複製代碼

IDEA操做:緩存

2. 新建分支

2.1 從branchName-1分支新建出一個branchName-2本地分支

git bash:bash

git checkout branchName-1
git checkout –b branchName-2
複製代碼

IDEA操做:學習

2.2 從遠程branchName分支關聯一個本地新建branchName分支

git bash:ui

git pull
git checkout branchName
複製代碼

IDEA操做:spa

3 分支刪除

刪除本地分支: 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
複製代碼

4 分支merge,branchName-1 merge到 branchName-2

git bash:

git checkout branchName-1
git merge branchName-2
複製代碼

IDEA操做: 切換到branchName-1分支

2、代碼回退

1. 回退工做區代碼

git bash:

git checkout givenFile
複製代碼

IDEA 操做:

回退單個文件

回退代碼段

2. 本地分支回退到歷史版本

git bash:

git log  // 查看要回退到的歷史版本的Commit ID
git reset –hard Commit ID
複製代碼

IDEA操做:

3. 遠程分支回退到歷史版本

git bash:

git log  // 查看要回退到的歷史版本的Commit ID
git reset –hard Commit ID  // 回退本地分支
git push -f origin branchName  // 強制推送到遠程分支
複製代碼

3、stash(緩存)功能

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操做:

4、提交查看(bug追蹤)功能

IDEA -> Version Control -> Log,能夠指定所要查看的分支,提交人,時間,文件或文件夾。

1. 查看某個文件的提交記錄

git bash:

git log workSpace/src/main/java/javaop/BaseOpTest.java
複製代碼

IDEA操做: 右擊代碼文件空白處

2. 查看某一行代碼的修改歷史

git bash:

// -L s,e 表示第s行第e行
git blame -L 1,1000 workSpace/src/main/java/javaop/BaseOpTest.java
複製代碼

IDEA 操做: 右擊代碼文件空白處

5、將屢次commit合併爲一個

如圖,有屢次同一個bug的屢次bugfix commit,我想把它們合併成一個commit。

  1. 打開IDEA的log history

  2. 右鍵如圖提交記錄3(須要進行合併的上一個提交),菜單Copy Revision Number複製commit ID

  3. 菜單VCS->Git->Rebase,勾上Interactive,Onto粘貼第2步中複製的commit

  4. 點擊Rebase並在交互式rebase菜單中,將第一個選爲pick,後面的都選爲squash,點Start Rebasing

  1. 在Additional Rebase Input中編輯下合併之後的commit message,並點擊Resume Rebasing

  1. 搞定,完成commits合併了

參考文獻

  1. www.zhihu.com/question/56…
  2. blog.csdn.net/qq_32452623…
相關文章
相關標籤/搜索