常用git指令

一、創(chuàng)建項(xiàng)目與管理

創(chuàng)建項(xiàng)目和管理項(xiàng)目都是管理賬號(hào)需要做的事情,如果只是合作開(kāi)發(fā)不進(jìn)行管理,只需要瀏覽第二部分的內(nèi)容即可。

1.創(chuàng)建項(xiàng)目

登錄代碼托管網(wǎng)站,點(diǎn)擊添加項(xiàng)目,如下圖所示:

image

填寫(xiě)相應(yīng)的項(xiàng)目信息,如下圖所示:

image

完成會(huì)生成項(xiàng)目的url,復(fù)制url后面會(huì)使用到,使用指令時(shí)需要注意每個(gè)項(xiàng)目的都不一樣,如下圖所示:

image

在本地創(chuàng)建項(xiàng)目文件,并創(chuàng)建項(xiàng)目說(shuō)明文件“README.md”,如下圖所示:

image

打開(kāi)git執(zhí)行如下命令操作
初始化git bash客戶(hù)端,進(jìn)入創(chuàng)建的項(xiàng)目文件夾執(zhí)行如下命令(也可以想項(xiàng)目文件夾中右鍵打開(kāi),省去cd命令)

git init

把文件添加到緩沖區(qū),并添加注釋信息

git add README.md
git commit -m "first commit"

注:在 Linux 系統(tǒng)中,commit 信息使用單引號(hào) ',Windows 系統(tǒng),commit 信息使用雙引號(hào) "。
推送創(chuàng)建的倉(cāng)庫(kù),其中url是之前復(fù)制的

git remote add origin url
git push -u origin master

執(zhí)行以上命令操作后,項(xiàng)目便創(chuàng)建成功了,如下圖所示:

image

2.添加協(xié)作者

點(diǎn)擊倉(cāng)庫(kù)設(shè)置,添加協(xié)作者,及協(xié)作者的操作權(quán)限,如下圖所示:

image

這樣簡(jiǎn)單的git項(xiàng)目就創(chuàng)建完成了。能訪(fǎng)問(wèn)到項(xiàng)目的協(xié)作者便可以開(kāi)始項(xiàng)目的編寫(xiě)了。

3.合并請(qǐng)求管理

當(dāng)有人發(fā)起合并請(qǐng)求時(shí),會(huì)有相應(yīng)的信息提醒,可以查看具體的請(qǐng)求說(shuō)明,如下圖所示:

image

查看明細(xì)后,如果覺(jué)得沒(méi)問(wèn)題后,點(diǎn)擊合并請(qǐng)求即可完成代碼的合并。如下圖所示:

image

合并完成后,協(xié)作人員只需要拉取一下主分支的代碼即更新本次更改的內(nèi)容。

二、git倉(cāng)庫(kù)使用

1.派生主分支

登錄協(xié)作者的賬號(hào)即可使用相應(yīng)的項(xiàng)目,如下圖所示:

image

選擇自己需要的項(xiàng)目并單擊進(jìn)入,此時(shí)便可以看到克隆的url,合作中不建議直接克隆主分支的項(xiàng)目,需要派生自己的分支,如下圖所示:

image

派生完成后會(huì)發(fā)現(xiàn)項(xiàng)目的路徑與主分支的不同,復(fù)制個(gè)人派生的url,如下圖所示:

image

2.配置遠(yuǎn)程倉(cāng)庫(kù)

打開(kāi)git bash 使用git clone url命令克隆分支倉(cāng)庫(kù),其中url是個(gè)人派生出來(lái)的url

git clone url

添加遠(yuǎn)程倉(cāng)庫(kù)fork的上游主庫(kù),其中rul是主分支的url

git remote add upstream url

查看倉(cāng)庫(kù)的設(shè)置地址

git remote -v

能看到origin和upstream的地址,則說(shuō)明配置成功,如圖所示:

image

到此倉(cāng)庫(kù)配置已經(jīng)完成,接下來(lái)便可以進(jìn)行開(kāi)發(fā)了。

2.更新本地倉(cāng)庫(kù)

每次編寫(xiě)代碼時(shí),記得同步遠(yuǎn)程倉(cāng)庫(kù)到本地資源庫(kù),保證本地倉(cāng)庫(kù)和遠(yuǎn)程倉(cāng)庫(kù)的代碼一直性

git pull upstream master
git pull origin master

注意:其中origin是更新個(gè)人分支到本地倉(cāng)庫(kù),upstream是更新主分支到本地資源庫(kù),因?yàn)閭€(gè)人分支的代碼多數(shù)只能自己更改,一般情況下個(gè)人分支的代碼和本地基本一致所以更新origin的頻率會(huì)少一些。主要是主分支由于協(xié)作的人較多,代碼變動(dòng)很大。

3.提交代碼

提交代碼之前記得再次同步主分支的代碼,也就是說(shuō)執(zhí)行以下步驟是記得使用git pull upstream master,這樣能保證在合并時(shí)避免和主分支的代碼產(chǎn)生沖突。
添加所有更新至本地緩存

git add .

查看緩存區(qū)狀態(tài)

git status  

提交到說(shuō)明,便于版本管理

git commit -m "提交說(shuō)明"

提交到遠(yuǎn)程個(gè)人倉(cāng)庫(kù)(個(gè)人倉(cāng)庫(kù)名+分支名)

git push origin master

這樣已經(jīng)完成代碼的提交,提交完成后還需要將自己分支的代碼合并到主分支。

4.代碼合并

去遠(yuǎn)程管理倉(cāng)庫(kù)進(jìn)入到個(gè)人分支,點(diǎn)擊創(chuàng)建合并請(qǐng)求,如下圖所示:

image

選擇需要合并到的分支以及拉去代碼的位置,如下圖所示:

image

完成后點(diǎn)擊創(chuàng)建合并請(qǐng)求并填寫(xiě)合并請(qǐng)求的說(shuō)明已經(jīng)更改代碼的功能,便于管理員對(duì)代碼進(jìn)行管理。如
下圖所示:

image

到此個(gè)人開(kāi)發(fā)的流程已經(jīng)完成了,最后只需要理員同意合并請(qǐng)求便可以在主分支看到個(gè)人更改的代碼。

三、git其他指令

1.強(qiáng)制拉取覆蓋

強(qiáng)制拉取個(gè)人分支,并覆蓋本地倉(cāng)庫(kù),主要用于自己刪除本地文件后無(wú)法通過(guò)更新下載已刪除的文件時(shí)使用,當(dāng)然可以回滾至上一版本。

git fetch --all
git reset --hard origin/master
git pull

2.本地指令

git config --list                                   #查看配置信息
git init                                            #初始化倉(cāng)庫(kù)
git add 1.txt                                       #添加文件至緩存
git add .                                           #添加所有文件至緩存
git rm 1.txt                                        #刪除文件
git status                                          #查看倉(cāng)庫(kù)狀態(tài)
git commit –m "test"                                #提交說(shuō)明
git rm 1.txt                                        #刪除文件
git commit -m “test”                                #刪除相應(yīng)的提交    
git diff a.txt                                      #查看a.txt文件更改的內(nèi)容
git log                                             #查看提交記錄
git reset --hard HEAD^                              #回滾上一個(gè)版本
git reset --hard HEAD~n                             #回滾n個(gè)版本
git xxx --help                                      #查看指令幫助

3.本地倉(cāng)庫(kù)上傳至遠(yuǎn)程倉(cāng)庫(kù)

git pull origin master                              #拉取遠(yuǎn)程主分支
git pull --rebase origin master                     #拉取本地分支
git push -u origin master                           #提交代碼至個(gè)人分支
git push -u -f origin master                        #強(qiáng)制上傳代碼至個(gè)人分支

4.遠(yuǎn)程倉(cāng)庫(kù)指令

git clone url                                       #克隆倉(cāng)庫(kù)
git remote add                                      #添加/關(guān)聯(lián)一個(gè)遠(yuǎn)程倉(cāng)庫(kù),默認(rèn)名是origin
git remote remove origin                            #刪除遠(yuǎn)程庫(kù)的 origin 別名
git remote add upstream url                         #添加一個(gè)將被同步給fork遠(yuǎn)程的上游倉(cāng)庫(kù)
git fetch upstream                                  #從上游倉(cāng)庫(kù)fetch分支和提交點(diǎn),傳送到本地,并會(huì)被存儲(chǔ)在一個(gè)本地分支 upstream/master
git remote                                          #查看遠(yuǎn)程庫(kù)的別名
git remote –v                                       #查看遠(yuǎn)程庫(kù)的別名和倉(cāng)庫(kù)地址
git push origin master                              #把本地 master 分支推送到別名為 origin 的遠(yuǎn)程庫(kù)
git branch                                          #查看當(dāng)前所有的分支,默認(rèn)只有master 分支
git branch test                                     #創(chuàng)建 test 分支
git branch –d test                                  #刪除 test 分支
git checkout test                                   #從當(dāng)前分支切換到 test 分支
git checkout –b dev                                 #創(chuàng)建 dev 分支,并切換到 dev 分支上
git merge dev                                       #在當(dāng)前分支上合并 dev 分支
git merge upstream/master                           #把 upstream/master 分支合并到本地 master 上
git merge upstream/dev                              #把 upstream/dev 分支合并到本地 dev 上

作者:Java架構(gòu)大仙
鏈接:http://www.itdecent.cn/p/e34bc4eedc22
來(lái)源:簡(jiǎn)書(shū)
著作權(quán)歸作者所有。商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請(qǐng)注明出處。

最后編輯于
?著作權(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)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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