1. 程式人生 > >Git 合併、分支、提交

Git 合併、分支、提交

1. 分支策略

在實際開發中,我們應該按照幾個基本原則進行分支管理:

首先,master分支應該是非常穩定的,也就是僅用來發布新版本,平時不能在上面幹活;

那在哪幹活呢?幹活都在dev分支上,也就是說,dev分支是不穩定的,到某個時候,比如1.0版本釋出時,再把dev分支合併到master上,在master分支釋出1.0版本;

你和你的小夥伴們每個人都在dev分支上幹活,每個人都有自己的分支,時不時地往dev分支上合併就可以了。

所以,團隊合作的分支看起來就像這樣:

Git 你還不會?第一次俗語把git解釋的這麼清楚!合併、分支、提交、還原等原理講解

常用策略:

Git 你還不會?第一次俗語把git解釋的這麼清楚!合併、分支、提交、還原等原理講解

Merge原理

Git 你還不會?第一次俗語把git解釋的這麼清楚!合併、分支、提交、還原等原理講解

git checkout –b https 建立並切換https分支

git add c3 新增C3改動到暫存區

git commit –m ‘c3’ 提交C3改動.

git checkout master 切換分支

git checkout -b bf_1 建立並切換到bf_1分支

Git 你還不會?第一次俗語把git解釋的這麼清楚!合併、分支、提交、還原等原理講解

git add c4 新增c4到暫存區

git commit –m “c4” 提交c4變更到bf_1分支

現在開始合併

git checkout master 切換到master

git merge --no-ff -m "merge bf_1 with no-ff" bf_1 將bf_1分支合併到當前分支(master)

–no-ff代表禁用fast forward模式

git add xxxxx

git commit 合併完成

git merge --no-ff -m "merge https with no-ff" https將https分支合併到當前分支(master)

通常,合併分支時,如果可能,Git會用Fast forward模式,但這種模式下,刪除分支後,會丟掉分支資訊。git log –graph 命令可以看到分支合併圖。

(可選)刪除https及bf_1分支

git branch –d https

git branch –d bf_1

Rebase原理

Git 你還不會?第一次俗語把git解釋的這麼清楚!合併、分支、提交、還原等原理講解

git-add解決衝突

git rebase –continue繼續合併

Git 你還不會?第一次俗語把git解釋的這麼清楚!合併、分支、提交、還原等原理講解

Merge與rebase區別

Git 你還不會?第一次俗語把git解釋的這麼清楚!合併、分支、提交、還原等原理講解

用merge只需要解決一遍衝突,比較簡單粗暴

用rebase有時候會需要多次fix衝突(原因在於本地分支已經提交了非常多的commit,而且很久都沒有和上游合併過)

Stash原理

Git 你還不會?第一次俗語把git解釋的這麼清楚!合併、分支、提交、還原等原理講解

Tag標籤介紹

釋出一個版本時,我們通常先在版本庫中打一個標籤(tag),這樣,就唯一確定了打標籤時刻的版本。將來無論什麼時候,取某個標籤的版本,就是把那個打標籤的時刻的歷史版本取出來。所以,標籤也是版本庫的一個快照。

git tag <tagname> 建立tag

git tag 檢視tag列表

git show <tagname> 檢視標籤資訊

git tag -a <tagname> -m "描述" 建立帶描述的tag

git push origin <tagname> 推送指定標籤到遠端庫

git push origin &ndash;tags 推送全部tag到遠端庫

git tag &ndash;d <tagname> 刪除本地標籤

刪除遠端庫標籤很麻煩,具體請自行百度.

Idea中使用git

常用快捷鍵

Ctrl+t 更新

Ctrl+k 提交

Ctrl+shift+k 推送

Ctrl+alt+a add new file

-------非git操作快捷鍵

ctrl+shift+f 檢視全部檔案

ctrl+q 檢視註釋

ctrl+h檢視

shift2 檢視everywhere

ctrl+o 選擇重寫方法

alt+f7 檢視被引用

alt+enter 加註釋等

Ctrl+Alt+Shift+N

ctrl+n 查類

ctrl+b 按住ctrl點選 進入方法或者類

ctrl+f12 檢視類檔案結構

shift+f6 重新命名

ctrl+shift+空格 自動引入合適物件及內容

alt+insert 生成settergetter等

alt+f1 切換顯示元素 navigater之類的

ctrl+alt+t trycatch ifelse等包裝

ctrl+alt+o 自動引入/去除無用引入

ctrl+alt+b 檢視抽象方法

ctrl+w 擴充套件選擇

ctl+alt+v 重構

ctrl+/ ctrl+shift+/ 註釋程式碼

ctrl+d 複製所選行或塊

ctrl+p 括號內內容填充

Ctrl+Shift+Backspace 最後的編輯點

Ctrl+Shift+F7 高亮使用

alt+q 檢視類宣告

ctrl+e 最近開啟文件

F2 shiftF2 跳轉到錯誤

ctrl+j 檢視模板列表

ctrl+shift+j 合併兩行並格式化

ctrl+shift+v 選擇最近剪貼簿內容貼上

ctrl+h 導航類層次結構

Ctrl+Q(檢視快速文件)、Ctrl+P(檢視引數資訊)、Ctrl+B(導航宣告)

alt+shift+c 回顧最近修改

Ctrl+Shift+Enter 補全if else等

Ctrl+Shift+向上箭頭 or Ctrl+Shift+向下箭頭. 上下移動行/方法位置

alt上下 快速跳躍方法

Ctrl+Shift+I 快速瀏覽定義

ctrl+alt+z 還原類變更 至版本

sout syso功能

psvm main方法建立

Version Control面板

Local changes檢視本地變更

Git 你還不會?第一次俗語把git解釋的這麼清楚!合併、分支、提交、還原等原理講解

已變更待暫存檔案(Default)

未跟蹤檔案

Log檢視提交日誌

Git 你還不會?第一次俗語把git解釋的這麼清楚!合併、分支、提交、還原等原理講解

mainPanel開啟註釋

Git 你還不會?第一次俗語把git解釋的這麼清楚!合併、分支、提交、還原等原理講解

可根據每行的註釋及git日期,檢視具體差異等操作

Git 你還不會?第一次俗語把git解釋的這麼清楚!合併、分支、提交、還原等原理講解

使用合併

Git 你還不會?第一次俗語把git解釋的這麼清楚!合併、分支、提交、還原等原理講解