一、簡(jiǎn)介
? ? Git是一款免費(fèi)、開(kāi)源的分布式版本控制系統(tǒng)。
二、安裝
? ? 推薦到官網(wǎng)下載需要的版本https://git-scm.com,一般開(kāi)發(fā)都在windows平臺(tái),配合界面客戶端更方便使用,官網(wǎng)有很多推薦的圖形客戶端,由于之前習(xí)慣使用SVN,所以推薦TortoiseGit,官網(wǎng)下載地址https://tortoisegit.org。
三、使用
? ? 下面介紹的都是常用命令,并演示這些命令通過(guò)TortoiseGit如何實(shí)現(xiàn),“》”表示下一步。
? ? 1.創(chuàng)建中央倉(cāng)庫(kù)
? ? ? ? 命令:git init –bare
? ? ? ? TortoiseGit:倉(cāng)庫(kù)目錄右鍵》Git Create repository here》選中Make it bare》OK
? ? 2.獲取遠(yuǎn)程倉(cāng)庫(kù)
? ? ? ? 命令:創(chuàng)建本地倉(cāng)庫(kù)目錄》git init》git add remote?遠(yuǎn)程倉(cāng)庫(kù)地址(還可以使用:git clone?遠(yuǎn)程倉(cāng)庫(kù)地址,代碼一塊拉取過(guò)來(lái)了)
? ? ? ? TortoiseGit:右鍵》Git Clone》填寫URL》OK
? ? 3.獲取遠(yuǎn)程代碼
? ? ? ? 命令:git pull origin?分支名稱
? ? ? ? TortoiseGit:右鍵倉(cāng)庫(kù)目錄》TortoiseGit》Pull》OK
? ? ?4.提交本地代碼
? ? ? ? 命令:git add .》git commit -m "代碼提交注釋"》git push origin?提交的分支名稱
? ? ? ? TortoiseGit:右鍵倉(cāng)庫(kù)目錄》Git Commit -> "分支名稱"》填寫注釋并勾選提交文件》OK》點(diǎn)擊Push》OK
? ? 5.創(chuàng)建新的分支
? ? ? ? 命令:git checkout -b?新的分支名
? ? ? ? TortoiseGit:右鍵倉(cāng)庫(kù)目錄》TortoiseGit》Create Branch》輸入新的分支名并選中Switch to new branch》OK
? ? 6.提交本地分支
? ? ? ? 命令:git push origin?新的分支名
? ? ? ? TortoiseGit:右鍵倉(cāng)庫(kù)目錄》TortoiseGit》Create Branch》輸入新的分支名并選中Switch to new branch》OK
? ? 7.獲取新的分支
? ? ? ? ?命令:git fetch(服務(wù)器最新的分支需要使用)》git checkout -b?遠(yuǎn)程分支名?origin/遠(yuǎn)程分支名
? ? ? ? TortoiseGit:
? ? ? ? ? ? ?右鍵倉(cāng)庫(kù)目錄》TortoiseGit》Fetch》OK
? ? ? ? ? ? ?右鍵倉(cāng)庫(kù)目錄》TortoiseGit》Switch/Checkout》選擇分支》OK
? ? ?8.合并分支
? ? ? ? ?命令:git merge 需要合并的分支名稱
? ? ? ? TortoiseGit:右鍵倉(cāng)庫(kù)目錄》TortoiseGit》Merge》選擇需要合并的分支》OK
四、補(bǔ)充
? ? 1.如何解決沖突?
? ? ? ? ?合并別人代碼的時(shí)候可能會(huì)出現(xiàn)沖突的情況,這時(shí)候查看沖突文件可能會(huì)看到類似如下內(nèi)容:
? ? ? ? ? ? ? ? ? ? ? ? <<<<<<< HEAD
? ? ? ? ? ? ? ? ? ? ? ?你的代碼
? ? ? ? ? ? ? ? ? ? ? ? =======
? ? ? ? ? ? ? ? ? ? ? ? 別人的代碼
? ? ? ? ? ? ? ? ? ? ? ? >>>>>>>?合并的分支名
? ? ? ? 你可以手動(dòng)改成合適的代碼再提交代碼一次就可以了,或者使用TortoiseGit,操作如下:
? ? ? ? ? ? 右鍵倉(cāng)庫(kù)目錄》TortoiseGit》Resolve》編輯沖突文件》OK
五、評(píng)價(jià)
? ? 市面上版本管理工具有很多,本人用過(guò)的有TFS、SVN、GIT,SVN使用起來(lái)很方便,網(wǎng)上很多比較SVN和GIT的文章,很贊同一個(gè)外國(guó)人的評(píng)價(jià)“Just different,not better and not worse!”。
推薦學(xué)習(xí)站點(diǎn)
? ? ? ? ? ??史上最淺顯易懂的Git教程
? ? ? ? ? ??GIT分支管理是一門藝術(shù)