一、常用命令
切換到master分支:git checkout master
查看已有本地及遠程分支:git branch -a(先git pull拉下全部數據)
查看遠程分支:git branch -r
查看本地分支:git branch
刪除遠程dev分支:git push origin --delete dev
刪除本地dev分支:git branch -d dev
從遠程的origin倉庫的master分支下載到本地,並新建一個test分支:git fetch origin master:test
查看test分支與本地原有分支的不同:git diff test
將test分支和本地分支合並:git merge test
將遠程git倉庫里的指定分支拉取到本地(本地不存在的分支):git checkout -b 本地分支 origin/遠程分支
二、常見報錯處理
1、導致報錯:error: You have not concluded your merge (MERGE_HEAD exists).
的原因可能是在以前pull下來的代碼自動合並失敗。
解決方案一:保留本地的更改,中止合並->重新合並->重新拉取
$:git merge --abort $:git reset --merge $:git pull
解決方案二:舍棄本地代碼,遠端版本覆蓋本地版本(慎重)
$:git fetch --all $:git reset --hard origin/master $:git fetch
2、Git fetch和git pull的區別
都可以從遠程獲取最新版本到本地
git fetch:只是從遠程獲取最新版本到本地,不會merge
(合並)
$:git fetch origin master //從遠程的origin的master主分支上獲取最新版本到origin/master分支上 $:git log -p master..origin/master //比較本地的master分支和origin/master分支的區別 $:git merge origin/master //合並
Git pull:從遠程獲取最新版本並merge
(合並)到本地
$:git pull origin master //相當於進行了 git fetch 和 git merge兩部操作
3、本地刪除無效的遠程分支:清理遠程分支,把本地不存在的遠程分支刪除
git remote prune origin
Git 清理無效的遠程追蹤分支
在使用git進行版本控制時,經常會創建一些特性分支方便產品功能的開發和迭代,
在遠程版本庫創建了一個分支后,在本地可以使用:git remote update,可以在本地創建遠程追蹤分支,
但是,如果在遠程版本庫上刪除了某一分支,該命令並不會刪除本地的遠程追蹤分支,這時候,有另一個命令:git remote prune,該命令可以刪除本地版本庫上那些失效的遠程追蹤分支。
具體用法是,假如你的遠程版本庫名是 origin,則使用如下命令先查看哪些分支需要清理:git remote prune origin --dry-run
可以看到, origin/test 和 origin/test1 兩個遠程分支已經失效,將會被清理,執行:git remote prune origin
這樣,就完成了無效的遠程追蹤分支的清理工作。