工作中其實(shí)用的最多的就是這些命令
git status查看狀態(tài)
git add -A將所有文件提交至?xí)捍鎱^(qū)
git commit -m "信息說明"將修改文件提交至存儲(chǔ)庫
git push origin dev將當(dāng)前分支提交至遠(yuǎn)程dev分支中
git checkout dev切換至本地dev分支
git pull origin dev將遠(yuǎn)程dev分支拉取至本地當(dāng)前分支
git rebase dev解決本地當(dāng)前分支與本地dev分支中的代碼沖突
git stash儲(chǔ)存(避免臟提交)
git stash pop改完之后返回繼續(xù)之前工作
git log查看提交日志
git reset --hard "版本號"版本回退
一、git官網(wǎng)學(xué)習(xí)網(wǎng)址
二、一臺(tái)電腦上配置多公鑰文件
在git bash中使用命令ssh-keygen之后會(huì)出現(xiàn),下圖

信息填寫好了以后,在個(gè)人輸入的路徑(注意一定要寫全路徑)下就可以看到剛才命令生成的2個(gè)文件了

之后在公鑰文件路徑下創(chuàng)建config文件注意該文件沒有后綴擴(kuò)展名,打開config文件作以下配置,有幾個(gè)公鑰就配幾個(gè)。


后面將不同的.pub后綴公鑰文件里的內(nèi)容添加至不同的遠(yuǎn)程倉庫,這樣就可以不同遠(yuǎn)程倉庫擁有不同公鑰了。(coding,github,碼云等等都可以單獨(dú)擁有一個(gè)公鑰文件)
三、常用命令
- 克隆遠(yuǎn)程倉庫,使用命令
git clone 倉庫ssh,如下圖
使用git clone克隆遠(yuǎn)程倉庫 - 使用命令
git status顯示被修改文件
顯示被修改文件 - 使用命令
git add .或者git add -A是將所有修改文件提交至?xí)捍鎱^(qū),命令git add 文件名是將某個(gè)文件添加至?xí)捍鎱^(qū) - 使用命令
git commit -m "本次提交說明信息"將修改文件提交至存儲(chǔ)庫 - 使用命令
git push origin master將當(dāng)前分支所有本地推送至遠(yuǎn)程倉庫master分支
git簡單的一個(gè)使用流程示例
簡單git的一個(gè)步驟
四、工作中的git使用
通常情況下,我們不會(huì)將項(xiàng)目提交至master分支,工作中項(xiàng)目經(jīng)理會(huì)在創(chuàng)建一個(gè)dev分支
- 使用命令
check out -b dev本地新建dev分支并切換至dev分支 - 之后使用命令
git branch即可查看所有本地分支,帶*號的分支為當(dāng)前工作的分支 - 然后使用命令
git push origin dev:dev將本地dev分支推送至遠(yuǎn)程dev分支(git push origin 本地分支名:遠(yuǎn)程分支名)推送以后這樣遠(yuǎn)程倉庫就有了dev分支了
本地創(chuàng)建dev分支并推送至遠(yuǎn)程 -
修改默認(rèn)分支,工作中一般不會(huì)操作master分支,選擇新建的dev分支點(diǎn)擊確定
點(diǎn)擊修改默認(rèn)分支
選擇默認(rèn)分支
默認(rèn)分支修改成功
項(xiàng)目經(jīng)理創(chuàng)好項(xiàng)目以后,接下來開發(fā)人員操作如下:
- 首先還是需要在本地,使用命令
git clone ssh克隆遠(yuǎn)程倉庫至本地,之后cd進(jìn)入目錄默認(rèn)的分支就是dev分支了 - 克隆好了以后,開發(fā)人員不會(huì)再dev分支上進(jìn)行操作,一般會(huì)基于dev分支創(chuàng)建一個(gè)自己的分支,使用命令
git checkout -b 分支名
image.png - 將文件內(nèi)容進(jìn)行更改,使用命令
git status查看修改內(nèi)容
image.png
然后依次使用git add -A,git commit -m "提示信息",git push origin 開發(fā)人員分支名,之后遠(yuǎn)程倉庫就會(huì)出現(xiàn)開發(fā)人員分支,最后我們點(diǎn)擊新建合并請求將其與dev分支合并,當(dāng)然點(diǎn)擊以后可能出現(xiàn)可合并,也可能出現(xiàn)不可合并,不可合并為代碼沖突,需要同事之間進(jìn)行溝通處理
將kayle/user分支推送至遠(yuǎn)程
遠(yuǎn)程倉庫已有kayle/user分支
可合并示例
不可合并的情況,現(xiàn)在加入我們之前還沒有點(diǎn)擊合并,但是之前一位同事他已經(jīng)修改文件了,并且已經(jīng)合并至dev分支了
同事先行提交至dev分支合并了
這個(gè)時(shí)候我們點(diǎn)擊自己的分支的時(shí)候,新建合并請求就會(huì)出現(xiàn)不可自動(dòng)合并,即出現(xiàn)代碼沖突
不可自動(dòng)合并
之后我們使用命令git checkout dev將本地分支切換至dev分支,使用命令git pull origin dev將遠(yuǎn)程dev分支更新至本地,完了以后我們在使用命令git checkout 自己的分支,在使用命令git rebase dev
將遠(yuǎn)程dev分支更新至本地dev,并拉取至本地kayle/user分支

與同事溝通過后,協(xié)商保留哪些,之后再次,確認(rèn)后,在使用
git staus查看文件修改狀態(tài),在使用git add -A,之后使用命令git rebase --continue,git push origin kayle/user,這時(shí)出現(xiàn)我們自己本地kayle/user分支和遠(yuǎn)程kayle/user分支代碼沖突,我們在將遠(yuǎn)程kayle/user更新下來,使用命令git pull origin kayle/user,之后再?zèng)_突文件選擇保留內(nèi)容就好,最后在推送至遠(yuǎn)程


之后在進(jìn)入遠(yuǎn)程倉庫,選擇自己的分支,即顯示可合并,我們在點(diǎn)擊新建合并請求

之后我們輸入標(biāo)題,點(diǎn)擊新建合并請求

接下來就是code review過程,添加評審者(一般是項(xiàng)目成員),添加的目的是為了讓團(tuán)隊(duì)成員也看看代碼會(huì)不會(huì)給項(xiàng)目造成不利的影響,如果都認(rèn)為沒有問題,那么我們點(diǎn)擊合并分支進(jìn)行合并

在文件改動(dòng)里面可以看到文件修改的地方,紅色的是刪除的部分,綠色的是新增的部分,點(diǎn)擊加號評審者可以對該行代碼做出評論

若有評審者看不懂該行代碼,則我們需要進(jìn)行解釋,可以重新再代碼中詳細(xì)寫明,然后再次推送至遠(yuǎn)程倉庫,將推送后的鏈接復(fù)制回復(fù)至該評審者



當(dāng)所有人覺得都沒有問題的時(shí)候,就選中刪除源分支,點(diǎn)擊合并請求

合并以后在代碼里面,提交歷史里面,分支就合并在dev分支里面了















