Git 合併、分支、提交
1. 分支策略
在實際開發中,我們應該按照幾個基本原則進行分支管理:
首先,master分支應該是非常穩定的,也就是僅用來發布新版本,平時不能在上面幹活;
那在哪幹活呢?幹活都在dev分支上,也就是說,dev分支是不穩定的,到某個時候,比如1.0版本釋出時,再把dev分支合併到master上,在master分支釋出1.0版本;
你和你的小夥伴們每個人都在dev分支上幹活,每個人都有自己的分支,時不時地往dev分支上合併就可以了。
所以,團隊合作的分支看起來就像這樣:
常用策略:
Merge原理
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 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-add解決衝突
git rebase –continue繼續合併
Merge與rebase區別
用merge只需要解決一遍衝突,比較簡單粗暴
用rebase有時候會需要多次fix衝突(原因在於本地分支已經提交了非常多的commit,而且很久都沒有和上游合併過)
Stash原理
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 –tags 推送全部tag到遠端庫
git tag –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檢視本地變更
已變更待暫存檔案(Default)
未跟蹤檔案
Log檢視提交日誌
mainPanel開啟註釋
可根據每行的註釋及git日期,檢視具體差異等操作
使用合併