Git分支檢視、建立、合併、刪除
- git branch 檢視本地分支
* master //本地只有master分支複製程式碼
- git branch -r 檢視遠端分支
- git branch -a 檢視本地遠端所有分支
- git branch dev 建立dev分支
- git checkout dev 切換到dev分支
- git checkout -b dev 建立並且切換到dev分支 (本地新建的分支如果不推送到遠端,對其他人就是不可見的)
- git checkout -b newBranch origin/newBranch 建立切換關聯遠端分支
- git merge xxx 合併xxx分支
- git merge --no-ff -m 'merge dev' dev 普通模式合併,合併後的歷史有分支
- git branch -d xxx 刪除xxx分支
- git branch -D xxx 強制刪除未合併的分支
Git提交命令
- git add 將工作區中的修改檔案新增到版本庫
- git add -u 只將修改過的檔案加入暫存區,新建檔案不加入暫存區
- git commit -m 'fix' 將add的檔案提交到本地分支
commit後本地stage(暫存區)為空
- git push origin master 將本地分支推送到遠端分支
Git 撤銷修改命令
- 未新增到暫存區時 (未使用git add . 之前撤銷)
git checkout -- readme.txt複製程式碼
執行後readme.txt將回到工作區未修改的狀態
- 檔案已經提交到暫存區 (git add . 還沒有git commit -m 'xxx')
git reset HEAD readme.txt複製程式碼
執行後檔案會回到還沒有git add .的狀態,若繼續執行git checkout -- readme.txt
readme.txt回到初始版本
- 檔案已經commit 使用版本回退
git reset --hard HEAD^複製程式碼
git reset --hard 1149856f5eb65ed8301b1b5421c963098962a971 //指定回退commit id複製程式碼
Git 檢視提交資訊
- git log 檢視提交記錄
- git log --graph --pretty=oneline --abbrev-commit 檢視詳細圖形分支
Git stash'儲存'當前狀態
不想提交當前分支修改,但又需要切換分支時,'儲存'當前分支修改,在切換分支
git stash複製程式碼
然後切換分支提交修改,回到當前分支,恢復到'儲存'前狀態:
git stash apply //恢復後,stash內容並不刪除
git stash drop //使用apply後刪除stash內容
git stash pop //恢復的同時把stash內容也刪了
複製程式碼
Git遠端分支
- 檢視遠端庫資訊,使用
git remote -v
- 從本地推送分支,使用
git push origin branch-name
,如果推送失敗,先用git pull origin branch-name
抓取遠端的新提交 - 在本地建立和遠端分支對應的分支,使用
git checkout -b branch-name origin/branch-name
,本地和遠端分支的名稱最好一致 - 建立本地分支和遠端分支的關聯,使用
git branch --set-upstream branch-name origin/branch-name
最後 fetch pull區別
git rebase
gitbook.liuhui998.com/4_2.html