Git常用命令、及常見報錯處理:You have not concluded your merge (MERGE_HEAD exists)、清理無效的遠程追蹤分支


一、常用命令

切換到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

  這樣,就完成了無效的遠程追蹤分支的清理工作。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM