當(dāng)前位置:首頁 >  站長 >  編程技術(shù) >  正文

Git常用場景使用之分支操作

 2020-11-16 17:03  來源: 腳本之家   我來投稿 撤稿糾錯

  域名預(yù)訂/競價,好“米”不錯過

這篇文章主要介紹了Git常用場景使用-分支操作,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下。

1. 拉取推送分支:

git branch 分支名 : 創(chuàng)建分支

git checkout 分支名 : 切換分支

git checkout –b 分支名 : 創(chuàng)建并切換到新分支

本地拉取分支后推送到遠(yuǎn)程:

git push <遠(yuǎn)程主機名> <本地分支名>:<遠(yuǎn)程分支名>

【注意】直接git push 會將當(dāng)前本地分支推送到對應(yīng)遠(yuǎn)端同名分支,如果遠(yuǎn)端沒有同名分支則會新建同名分支

【舉例】git push 和git push origin branchTest是等效的,都是將本地branchTest分支推送到遠(yuǎn)端

2. 分支切換:

舉例的切換都是從branchTest切master分支

【場景1】分支切換后提示: Your local changes to the following files would be overwritten by checkout

【原因】如同push出現(xiàn)沖突問題一樣,該切換問題是因為當(dāng)前branchTest修改代碼后,和master代碼沖突

比如,master的File1未666666、777777兩行;branchTest修改后把777777刪掉了,切換的時候就會出現(xiàn)該問題;

如果branchTest修改時,不對master的代碼做改動,即單純的添加888888,則不會出現(xiàn)該問題。

【解決1】Force Checkout 會保留原汁原味的master代碼,分支修改的代碼不會出現(xiàn)再master

Smart Checkout選擇讓你手動解決沖突,可參考:鏈接的第4點

Don't Checkout 就是讓你放棄切換分支

【解決2】Don't Checkout放棄切換,然后commit一下,再切換,就不會有如上問題

但這樣會導(dǎo)致本地存在多個commit,到時還得合并多個本地commit

3. 在錯誤的分支修改了代碼:

【場景】在branchTest修改完代碼后,發(fā)現(xiàn)分支錯了,應(yīng)該是要在master是修改的

【解決1】未commit情況下,切換master分支,如上解決沖突;

commit了的話,可以reset后再切換;當(dāng)然如果改動不大,可以切換后重新修改吧,

【解決2】如果能確定push前遠(yuǎn)端兩個分支的代碼是一樣的, 那么可以git push origin branchTest:master將branchTest提交的代碼推送到遠(yuǎn)端commit分支

【解決3】 如果push前遠(yuǎn)端兩個分支的代碼不一樣,會push rejected

3-3-a. pull遠(yuǎn)端master代碼到當(dāng)前分支,會提示沖突,手動解決沖突

3-3-b. 代碼重新commit

手動解決沖突后,可以看見log中,之前提交的commit已經(jīng)斷開了,所以需要重新提交commit

重新commit后,會自動合并回來,這樣就可以git push origin branchTest:master

【建議】修改代碼前明確分支,提交代碼前先拉取代碼,有沖突則解決沖突。

總結(jié)

到此這篇關(guān)于Git常用場景使用-分支操作的文章就介紹到這了,更多相關(guān)Git常用場景使用內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

文章轉(zhuǎn)自腳本之家,原文鏈接:https://www.jb51.net/article/192998.htm

申請創(chuàng)業(yè)報道,分享創(chuàng)業(yè)好點子。點擊此處,共同探討創(chuàng)業(yè)新機遇!

相關(guān)文章

熱門排行

信息推薦