【GIT】可視化操作

部分參考:https://blog.csdn.net/syq8023/article/details/89844030

1、在GIT注冊(cè)賬號(hào)

https://gitee.com/lottie22/projects (手機(jī)號(hào))

2、新建倉(cāng)庫(kù)

3、下載sourcetree安裝包:

鏈接:https://pan.baidu.com/s/1BFofwtTL6Z6sSIwthykd2Q

提取碼:2vhj

4、安裝時(shí)跳過(guò)注冊(cè)(參考http://m.itdecent.cn/p/9d4f66bdbe56和https://www.cnblogs.com/xiaohuizhang/p/12355751.html)

=============================

1. 在下面路徑下創(chuàng)建一個(gè)accounts.json文件(把"你的電腦用戶名"部分替代成你自己的信息)

? ? C:\Users\"你的電腦用戶名"\AppData\Local\Atlassian\SourceTree

? ?(注意: 找對(duì)路徑. 在Local文件夾里也有一個(gè)SourceTree文件夾; 需要添加json文件的這個(gè)SourceTree文件夾在Local=>Atlassian下面)


2. 在json文件中輸入下面的內(nèi)容 (不需要做任何的更改)

[{"$id":"1","$type":"SourceTree.Api.Host.Identity.Model.IdentityAccount, SourceTree.Api.Host.Identity","Authenticate":true,"HostInstance":{"$id":"2","$type":"SourceTree.Host.Atlassianaccount.AtlassianAccountInstance, SourceTree.Host.AtlassianAccount","Host":{"$id":"3","$type":"SourceTree.Host.Atlassianaccount.AtlassianAccountHost, SourceTree.Host.AtlassianAccount","Id":"atlassian account"},"BaseUrl":"https://id.atlassian.com/"},"Credentials":{"$id":"4","$type":"SourceTree.Model.BasicAuthCredentials, SourceTree.Api.Account","Username":"","Email":null},"IsDefault":false}]

3. 完成上面步驟后,再次執(zhí)行SourceTree的安裝, 這次會(huì)直接跳出下面這個(gè)窗口. Mercurial也是一個(gè)版本管理工具, 不過(guò)我用的是git, 就選擇不用.


  最終安裝成功 (我這個(gè)因?yàn)閺墓倬W(wǎng)下載一直失敗, 就從網(wǎng)上隨便找了一個(gè)包安裝,所以顯示中文).

============================

5、在本地新建一個(gè)文件夾目錄用于文件傳輸,打開(kāi)sourcetree,新建倉(cāng)庫(kù)->Clone.輸入git地址,本地目錄等。

、

6、提交和推送。由于git是分布式版本控制工具,存在著本地倉(cāng)庫(kù)和遠(yuǎn)程倉(cāng)庫(kù),所以我們?cè)诒镜毓ぷ鞲北具M(jìn)行的編輯,要先提交到本地倉(cāng)庫(kù),再?gòu)谋镜貍}(cāng)庫(kù)推送到遠(yuǎn)程倉(cāng)庫(kù)。下面進(jìn)行演示。第7步中編輯完成后,打開(kāi)sourceTree, 可以看到文件的變動(dòng)已經(jīng)顯示到軟件界面,點(diǎn)擊暫存所選,類似于勾選要提交的文件。


提交時(shí)可能需要登錄GIT賬號(hào)。

提交時(shí)可勾選立即推送。也可提交后點(diǎn)擊推送。推送后才能在web上看到。


7、獲取和拉取

獲取是將遠(yuǎn)程倉(cāng)庫(kù)的代碼更新到本地倉(cāng)庫(kù),拉取是將本地倉(cāng)庫(kù)的代碼更新到本地工作副本。打開(kāi)sourceTree,點(diǎn)擊 獲取按鈕,如下圖

獲取

一般在實(shí)際使用中是不會(huì)先點(diǎn)獲取,再點(diǎn)拉取的,因?yàn)槔a都是直接一步到位為拉到本地工作副本的。所以直接一個(gè)拉取操作就夠了。

拉取

8、分支。

當(dāng)要新增一個(gè)功能,又要保證原始功能的正常的使用,這個(gè)時(shí)候?yàn)榱瞬挥绊懺δ艿氖褂?,就可以建立一個(gè)分支,在分支上進(jìn)行新增功能的開(kāi)發(fā),等到新增的功能測(cè)試通過(guò)后再把分支合并到主干上。如下圖,點(diǎn)擊分支,輸入新分支名字,以當(dāng)前工作副本為基礎(chǔ)生成一個(gè)新的develop分支。


但是這個(gè)分支只存在于本地倉(cāng)庫(kù)。點(diǎn)擊推送,如下圖,勾選第一個(gè),將本地others分支推送到遠(yuǎn)程others分支

9、修改內(nèi)容,只在當(dāng)前分支提交和推送。后可看到,只在當(dāng)前分支有修改。

10、功能1和2測(cè)試通過(guò),現(xiàn)在要將others分支上新增的兩個(gè)功能合并到主分支master上。

將當(dāng)前分支切換到master分支,鼠標(biāo)移到到others分支,右鍵,選擇合并others至當(dāng)前分支,也即是主分支。智慧在主分支點(diǎn)推送。


11、沖突

可能會(huì)有多人同時(shí)編輯同一文件的情況。如原本文件1,在web端編輯的同時(shí)在本地編輯。保存web端編輯結(jié)果后,將本地修改提交并推送。推送時(shí)會(huì)報(bào)錯(cuò)。


既然提示 和遠(yuǎn)程倉(cāng)庫(kù)版本不一致,無(wú)法推送,那只能先拉成一致了。點(diǎn)擊拉取圖標(biāo),等執(zhí)行完,就會(huì)出現(xiàn)下圖所示。有一個(gè)待拉取的圖標(biāo)和一個(gè)待推送的圖標(biāo),并且test1.txt文件的圖標(biāo)變成了黃色的感嘆號(hào)。這個(gè)時(shí)候文件的沖突就造成了。


此時(shí),可以選擇使用他人版本/使用我的版本,或者進(jìn)入工具-選項(xiàng)-比較,使用外部工具beyond compare工具。




如上圖,如果覺(jué)得解決版本OK,點(diǎn)擊保存后關(guān)閉對(duì)比工具。此時(shí),在sourcetree可看到新增了一條記錄為解決版本。


提交并推送該版本。沖突解決。

12、支持文件部分提交。

SourceTree比起tortoiseGit來(lái),最大的不同之處在于 Sourcetree支持文件的部分提交,這大大方便了用戶的使用。

? ? ? ?有的時(shí)候,我們開(kāi)發(fā)了一個(gè)A功能,未上線,同時(shí)又并發(fā)開(kāi)發(fā)了B功能,B功能比A功能先上線,而且B功能和A功能修改的是同一個(gè)文件,這種情況在上線B功能時(shí),SourceTree就體現(xiàn)出優(yōu)勢(shì)了。

功能:在修改文件時(shí)暫存行/暫存區(qū)塊。然后提交-推送。


13、回滾提交

選定某個(gè)操作,右鍵回滾提交。提交成功后推送。則回滾。

若依次有A-B-C提交。在B環(huán)節(jié)回滾。


將第二次提交回滾。

于是解決沖突,保存并提交,推送。

推送后則是成功回滾并解決沖突的版本。

14、回滾到以前的版本,若版本的內(nèi)容已經(jīng)沒(méi)有用處了,可以進(jìn)行丟棄,丟棄過(guò)后,則上次修改的內(nèi)容則無(wú)效,即自動(dòng)刪除上次修改的所有內(nèi)容。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 關(guān)于SourceTree SourceTree是windows和Mac OSX(現(xiàn)在應(yīng)該叫mac OS)下免費(fèi)的G...
    上發(fā)條的樹閱讀 3,201評(píng)論 0 2
  • 可代替使用命令行操作git的可視化工具,之前一般都是使用tortoiseGit,但發(fā)現(xiàn)vscode上也可以直接操作...
    broccoli_d39c閱讀 31,506評(píng)論 0 13
  • 寫在前面 在團(tuán)隊(duì)做過(guò)軟件開(kāi)發(fā)的,版本控制必是不可或缺的一項(xiàng)。目前,版本控制主要分為集中式版本控制系統(tǒng)和分布式版本控...
    Jack_lin閱讀 10,101評(píng)論 45 433
  • 轉(zhuǎn)載至:https://www.liaoxuefeng.com/wiki/896043488029600 Git簡(jiǎn)...
    hwang_zhic閱讀 383評(píng)論 0 0
  • Git 命令行學(xué)習(xí)筆記 Git 基礎(chǔ) 基本原理 客戶端并不是只提取最新版本的文件快照,而是把代碼倉(cāng)庫(kù)完整的鏡像下來(lái)...
    sunnyghx閱讀 4,165評(píng)論 0 11

友情鏈接更多精彩內(nèi)容