Git操作(二)
- 2020 年 7 月 14 日
- 筆記
- git/github
很久以前寫的git入門,最近又鞏固了一下Git分支操作,下面是我的一些整理。
1、分支與合併
#創建並切換到該分支 git checkout -b xxx #查看當前分支 git branch #進行一些正常的提交等 #分支工作完成,就可以切換回到master分支 git checkout master #將xxx分支合併到當前分支上 git merge xxx #刪除分支 # 合併完成後 git branch -d xxx # 未合併的分支的刪除 git branch -D xxx
2、
# 當手頭工作沒有完成時,先把工作現場`git stash`一下,然後去修復bug
# 修復完成後,`git stash list` 列出所有的暫存狀態
# 從暫存區之中恢復回到工作現場 # 先恢復,而後再刪除暫存 git stash apply git stash drop # 恢復的同時也將stash內容刪除 git stash pop
# 在master分支上修復的bug,想要合併到當前dev分支,可以用git cherry-pick <commit>命令,把bug提交的修改「複製」到當前分支,避免重複勞動。
3、多人協作的工作模式
- 首先,可以試圖用
git push origin <branch-name>
推送自己的修改; -
如果推送失敗,則因為遠程分支比你的本地更新,需要先用
git pull
試圖合併;-
如果
git pull
提示no tracking information
,則說明本地分支和遠程分支的鏈接關係沒有創建,用命令git branch --set-upstream-to <branch-name> origin/<branch-name>
。
-
-
如果合併有衝突,則解決衝突,並在本地提交;
-
沒有衝突或者解決掉衝突後,再用
git push origin <branch-name>
推送就能成功!
4、
-
git merge
命令用於合併指定分支到當前分支 -
使用
fast-forward
方式進行分支合併,只是簡單改變了分支指針,而不會產生新的commit
記錄。 -
git merge --no-ff -m "msg" <branch_name>
// 合併分支時禁用Fast forward模式
-
git rebase操作可以把本地未push的分叉提交歷史整理成直線;
-
git rebase 和 git merge 區別
-