Git 分支操作

1、更新遠(yuǎn)程分支

git remote update origin # 更新遠(yuǎn)程分支
git remote update origin --prune #簡(jiǎn)化更新遠(yuǎn)程分支

2、分支查看

git branch  #查看當(dāng)前本地分支   
git branch -a #查看所有分支   
git branch -r #查看遠(yuǎn)程origin分支 
git branch master2 #創(chuàng)建新的分支  
git checkout master2 #切換到新分支    
git diff master…master2 #對(duì)比兩個(gè)分支的區(qū)別  
git merge master2 #將master2分支合并到當(dāng)前分支    
git branch -m bugfix bugfix-1 #重命名  
git branch -d bugfix-1 #刪除  

3、分支創(chuàng)建及推送到遠(yuǎn)程

#本地創(chuàng)建新分支,然后將該新提交到遠(yuǎn)程分支(遠(yuǎn)程以前沒(méi)有該分支)
git branch develop
git checkout develop
git add .
git commit -m "master to develop"
git push origin develop
#完結(jié)

# 創(chuàng)建新分支,并切換到該新分支
git checkout -b season2

4、分支/tag刪除

刪除本地的所有標(biāo)簽,只會(huì)刪除本地的標(biāo)簽,不會(huì)影響遠(yuǎn)程倉(cāng)庫(kù)的標(biāo)簽:
git tag | xargs git tag -d
這個(gè)命令的工作原理是首先列出所有的標(biāo)簽(git tag),然后使用 xargs 命令將這些標(biāo)簽名傳遞給 git tag -d 命令,從而刪除所有的標(biāo)簽。

# git push origin --delete dev_test 刪除遠(yuǎn)程分支報(bào)錯(cuò),原因:dev_test 同名分支或tag
error: dst refspec dev_test matches more than one.

//刪除 dev_test 分支
git push origin :refs/heads/dev_test

//刪除 dev_test 標(biāo)簽
git push origin :refs/tags/dev_test

# 刪除遠(yuǎn)程分支
git push origin --delete [branch_name]

# [刪除本地分支區(qū)別
git branch -d # 會(huì)在刪除前檢查merge狀態(tài)(其與上游分支或者與head)
git branch -D # 是git branch --delete --force的簡(jiǎn)寫(xiě),它會(huì)直接刪除

# 共同點(diǎn):都是刪除本地分支的方法(與刪除遠(yuǎn)程分支命令相獨(dú)立,要想本地和遠(yuǎn)程都刪除,必須得運(yùn)行兩個(gè)命令)。

# 刪除分支:
刪除本地分支 git branch -d 本地分支名
刪除遠(yuǎn)程分支 git push origin --delete 遠(yuǎn)程分支名
推送空分支到遠(yuǎn)程(刪除遠(yuǎn)程分支另一種實(shí)現(xiàn))git push origin :遠(yuǎn)程分支

# 刪除本地tag
git tag -dvTag1.0.0

# 刪除遠(yuǎn)程tag
git push --delete origin vTag1.0.0

5、git push失敗:Failed to connect to github.com port 443 after 21222 ms: Couldn't connect to server

#  git push失敗:https://blog.csdn.net/m0_64007201/article/details/129628363
# fatal: unable to access 'https://github.com/xxx/xxx.git/': Failed to connect to github.com port 443 after 21222 ms: Couldn't connect to server
# 解決方案參考 https://blog.csdn.net/m0_64007201/article/details/129628363
# 解決步驟:1、查看本機(jī)網(wǎng)絡(luò)-代理-端口
# 解決步驟:2、修改git配置-代理端口,執(zhí)行下列2行命令
git config --global http.proxy http://127.0.0.1:1080(即你的代理端口)
git config --global https.proxy http://127.0.0.1:1080(即你的代理端口)
git config --global core.gitproxy http://127.0.0.1:1080(即你的代理端口)
# 解決步驟:3、繼續(xù)git push操作

# 取消代理
git config --global --unset http.proxy
git config --global --unset https.proxy
git config --global --unset core.gitproxy

# 參考:https://blog.csdn.net/zwhfyy/article/details/130739079
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • 本地分支 和 branch 命令 Git 鼓勵(lì)開(kāi)發(fā)者頻繁使用分支,正是因?yàn)橛兄@些特性作保障。Git 是如何知道你...
    acc8226閱讀 886評(píng)論 0 1
  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 134,973評(píng)論 19 139
  • git分支操作 前言:使用指令進(jìn)行的git操作的,請(qǐng)看看;另外推薦git學(xué)習(xí)網(wǎng)站: http://www.liao...
    鳴2010閱讀 1,152評(píng)論 0 3
  • 創(chuàng)建合并分支 在 Git 中,每次提交,Git 都會(huì)把他們串成一條時(shí)間線段,這個(gè)時(shí)間線就是分支。如下圖,目前只有一...
    z嘉嘉嘉閱讀 462評(píng)論 0 2
  • 上一節(jié)操作中每次提交都要手動(dòng)輸入用戶名和密碼,若想避免這些麻煩,可以在系統(tǒng)中創(chuàng)建 SSH 公私鑰,并將公鑰放到 G...
    Manchangdx閱讀 1,082評(píng)論 0 0