git可視化工具Sourcetree使用全攻略(git沖突解決)
導(dǎo)入倉庫
首先我們需要知道自己的倉庫如何拉取到本地。
這里以碼云為例,找到對應(yīng)的源路徑/URL:
復(fù)制,然后來到Sourcetree:
更新版本操作
修改
當(dāng)你本地代碼發(fā)生改變時,會出現(xiàn)未暫存文件:
拉取
當(dāng)別人更新了代碼,而你本地沒有拉取,拉取會亮起,可以點擊拉取別人代碼:
提交
當(dāng)你修改了代碼,需要提交操作:
分支操作
遠程分支與本地分支
分支分為遠程倉庫的分支,與被你拉取到本地的分支
切換分支
要注意,如果本地有修改
了沒有提交的代碼,注意是修改
,新增內(nèi)容一般是不影響的,切換時會報錯。
可以先通過提交
操作再切換。
但是問題來了,如果你代碼就修改了一半你還不想提交但是又不得已切換分支怎么辦呢?看下面。
貯藏
可以暫時保留修改的內(nèi)容,清空狀態(tài)區(qū),就可以進行切換分支操作,等切換回來時再應(yīng)用貯藏區(qū),變回原來修改中的狀態(tài)。
當(dāng)我們切換出去再切回來時,再進行應(yīng)用
刪除分支
需要注意的是,刪除當(dāng)前分支時需要切換去別的分支,你不可以刪除當(dāng)前自己所在的分支。
獲取遠程分支
我刪除了本地的dev分支,這時候我想要獲取遠程的dev分支到本地,如何操作:
需要注意的是檢出分支時會自動切換去檢出的分支,如果你本地還有修改了未提交的代碼,要注意先提交
或者進行貯藏
操作噢。
創(chuàng)建新分支
比如我們希望創(chuàng)建一個測試版本的分支,所有更新操作都在測試版本上做,如果沒問題了再合并來主分支,怎么創(chuàng)建呢?
其實也還是檢出操作,所以一樣要注意本地未提交代碼問題。
合并分支內(nèi)容
我們在test測試分支上提交了代碼,我們希望將他合并到master主分支。
首先我們先切回主分支:
沖突
合并沖突
為了測試沖突,我們先在master上創(chuàng)建提交一個簡單的內(nèi)容,注釋了的111:
接下來我們切去test分支,在同樣的位置,提交一個注釋的222:
然后我們切換到master分支,進行將test合并到master的操作,會提示你沖突了:
我們可以看到兩個不同版本的狀態(tài),沖突內(nèi)容:
選擇你要保留的,如果是我的版本那就是保留//111,如果是他人版本就是保留//222。
但是這里我們合并test,test只修改了這個內(nèi)容,如果我們選擇我的版本
進行合并,雖然進行了合并操作,這次的合并操作便沒了什么意義,我們的master分支內(nèi)容什么都沒變。
不過實際項目中我們不會出現(xiàn)這種情況,肯定是視需求而決定需要保留什么內(nèi)容,比如test除了這個與我們沖突的注釋,還新增了其他功能,我們雖然沒有采納這個注釋的修改,但是我們合并了新增的功能。
被合并的test分支不會受到合并操作的任何影響,內(nèi)容不會發(fā)生改變,我們的合并操作只是為了讓master分支能夠得到test上更新的代碼。
未拉取便提交沖突
一般多人開發(fā)時會遇到的狀況。
如果代碼沒有沖突,你們修改的不是同一個頁面的代碼,那拉取與提交的先后是不影響代碼內(nèi)容的。
比如別人制作了一個新頁面,你沒有拉取下來,你修改了原來頁面的內(nèi)容,直接提交。
報錯了。
出現(xiàn)這種推送不上去的狀態(tài)。
這時候不用急,你只要確保不要讓自己的錯誤提交到遠程就好
記住,工作中,寧愿自己修改的代碼丟失,也千萬別覆蓋別人修改的代碼
其實很簡單,我們切回到我們提交前的即可。
接下來先拉取再提交即可。
如果我們先拉取再提交時,先拉取就報錯了,一般就是最后一個錯誤:拉取代碼與本地修改代碼有沖突
,見下一節(jié)。
拉取代碼與本地修改代碼有沖突
比如別人將注釋修改為333,而你本地修改代碼時,注釋修改成了777。
現(xiàn)在你想提交,先拉取再提交。
拉取時就報錯了,死活拉不下來,多少遍也不行。
這時候我們就先提交再拉取。
然后就會告訴你沖突在哪里了,我們就選擇保留哪個了,見上文合并沖突
解決方法,解決完沖突再提交即可。
撤銷合并操作
假如自己合并了不想合并的內(nèi)容,想撤銷掉一次合并操作,如何進行呢?
上圖dev合并到了master上面,這時候我們選擇合并前master的那一次提交,選擇重置分支到此次提交。
打開強制推送。
不去管提交和拉取,直接選擇推送。
把改變內(nèi)容全部移除和丟棄。
然后就發(fā)現(xiàn)合并操作消失了。
尾言
看完這些,使用sourcetree可以解決你日常95%的git版本控制問題啦,更多相關(guān)git可視化工具Sourcetree內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
2022編程語言需求排名出爐:第一不是Python,也不是Java
編程語言的流行程度、發(fā)展前景、就業(yè)市場這些一直都是程序員們非常關(guān)注的話題,需求排名是程序員們關(guān)注學(xué)習(xí)的風(fēng)向標(biāo),畢竟是市場經(jīng)濟,學(xué)以致用,如果熱門編程不了解,都不好意思告訴別人你是程序員。編程語言的種類有超過200+,但還有很多不為人知。2022-12-12超好用的免費內(nèi)網(wǎng)穿透工具【永久免費不限制流量】
對于開發(fā)人員來講,演示內(nèi)網(wǎng)web站點、本地開發(fā)微信公眾號、小程序開發(fā)、調(diào)試第三方支付系統(tǒng)對接等開發(fā)環(huán)境,往往需要一個環(huán)境可以進行調(diào)試,市面上內(nèi)網(wǎng)穿透工具有很多,這里推薦一款簡單又好用的cpolar,可以永久免費使用,不限制流量,支持http/https/tcp協(xié)議2022-09-09將WSL系統(tǒng)更換國內(nèi)源的方法(固定路徑+國內(nèi)鏡像源+詳細教程)
這篇文章主要介紹了將WSL系統(tǒng)更換國內(nèi)源的方法(固定路徑+國內(nèi)鏡像源+詳細教程),首先找到wsl鏡像源,替換鏡像源,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-10-10ffmpeg安裝及音頻轉(zhuǎn)換指令應(yīng)用
ffmpeg是一套可以用來記錄、轉(zhuǎn)換數(shù)字音頻、視頻,本文主要介紹了ffmpeg安裝及音頻轉(zhuǎn)換指令應(yīng)用,具有一定的參考價值,感興趣的可以了解一下2024-02-02Source?Insight?4.0.093?安裝破解詳細圖文教程
這篇文章主要介紹了Source?Insight?4.0.093?安裝破解詳細圖文教程,source?insight?4是一款非常強大的程序編輯器,如果你沒有一款合適的代碼編輯器,那么這款軟件不妨試試,可能你會喜歡2022-08-08