當(dāng)你在單位拿到了git倉庫,并利用公司給你的OA賬號和郵箱完成了你的git基礎(chǔ)配置,下面就是使用命令行的無錯固定操作流程
如果你很著急,你可以直接跳到最后的總結(jié)部分
具體步驟
1.從倉庫克隆代碼到本地
這里的[codeUrl]就是你倉庫的地址,當(dāng)你在倉庫點(diǎn)擊圖中綠色位置時,剪貼板復(fù)制的就是倉庫的地址
git clone [codeUrl]
2.切換到開發(fā)分支(當(dāng)下倉庫內(nèi)已存在的遠(yuǎn)程分支)
這里說一下,正常來說,生產(chǎn)和主體代碼都是在master分支上,克隆代碼的時候沒有特殊配置,也會是master分支。
任何人都不可能在master上開發(fā)和提交自己的代碼!!!,master一般是負(fù)責(zé)人用來合并代碼的,然后推送上生產(chǎn)的。
不過,也有很多項目是同時建立幾個分支,dev(開發(fā)),test(測試),release(預(yù)發(fā)或生產(chǎn))等等,這個時候你就需要去向別人核對你以哪個分支為主拉取代碼。
比如公司有dev分支,每次開發(fā)都是以dev分支為主,那你就需要先去跳轉(zhuǎn)到dev分支上。
當(dāng)然了,你使用下面這個命令必須是你本地或者遠(yuǎn)程倉庫本來就已經(jīng)有這個分支了
git checkout dev
3.根據(jù)功能或者需求創(chuàng)建新分支
以master為主,我們需要創(chuàng)建自己的開發(fā)分支,我們可以根據(jù)功能的名字去給分支命名。
比如我們這次開發(fā)的功能,叫做圖表功能開發(fā),我們創(chuàng)建的名字應(yīng)該叫做charts_mode或者chartsMode等,總之命名的語義化要強(qiáng),千萬不要命名什么aaa,bbb之類的
如果這次是修復(fù)圖標(biāo)數(shù)據(jù)的問題,可以這樣命名,bug_charts_dataError
依據(jù)源分支創(chuàng)建并跳轉(zhuǎn)分支
git checkout -b charts_mode
4.查看當(dāng)前所在分支
怎么確定你當(dāng)前在哪個分支
git branch
綠色的星標(biāo)在哪里,你就在哪個分支
5.暫存代碼,查看緩沖區(qū)和工作區(qū)的對比
將代碼提交到暫存區(qū),是本地提交前的一步,你需要將你的代碼先推送到暫存區(qū),這一步就好比火箭發(fā)射前讓火箭去發(fā)射臺,預(yù)備發(fā)射
當(dāng)你改了一些東西,還沒有保存到暫存區(qū)
你可以使用下面這個命令
git diff
?
當(dāng)出現(xiàn)這種情況的時候,那就說明你的工作區(qū)還有沒有推到暫存區(qū)的代碼。
你就需要使用下面的命令,將工作區(qū)的代碼推送到緩存區(qū)
git add -A
?執(zhí)行完畢后,再去執(zhí)行diff命令對比
當(dāng)什么都沒有的時候,就說明提到暫存區(qū)了
6.本地提交代碼
當(dāng)你改了一部分代碼之后,比如你要休息,或者你感覺這里需要階段性的保存一下,可以暫時提交到本地
暫時提交到本地的重要性有兩個:
1.復(fù)盤和查找問題,回退時會比較方便,可以快速定位
2.如果你的代碼因為特殊原因丟失了,只要你在本地提交過,都是可以找回的
提交本地之前需要先將代碼推送到暫存區(qū),add命令
并且提交到本地的時候,需要把你所提交的功能描述清楚
比如你開發(fā)完畢一個餅狀圖,你就可以這樣描述:? ?new:餅圖開發(fā)完成
執(zhí)行命令
git commit -m "餅圖開發(fā)完畢"
當(dāng)出現(xiàn)如下情況,就說明你提交成功了。
7.推送到遠(yuǎn)程分支
當(dāng)你本地代碼都commit之后,你就需要把你的代碼推送到遠(yuǎn)程分支了?
git push
?如果你之前的這個分支,在遠(yuǎn)程倉庫壓根并沒有,會出現(xiàn)如下的提示
?這段話是告訴你,你要推送的這個分支對于遠(yuǎn)程倉庫來說是個新分支,你確定要推送?
所以你需要執(zhí)行下面的命令
git push --set-upstream origin test
?出現(xiàn)如下情況,就說明推送上去了
8.拉取源分支最新代碼
當(dāng)你將你的分支推送完畢之后,你需要和源分支去對比和修改沖突
首先你需要拉取倉庫當(dāng)前最新的代碼
git pull
?
?如果出現(xiàn)上面這種情況,就說明目前沒有新代碼,你就可以不用對比了。
9.進(jìn)行對比和修改沖突
如果有沖突,你需要認(rèn)真的去看沖突是什么,并找有關(guān)同事,切記,不要把別人代碼給弄沒了,雖然也能找回來,但是這事辦的就很惡心。
切記,切記!!!
10.與源分支合并
沖突解決完之后,你就需要將源分支的代碼合并到你的分支上
執(zhí)行合并命令:這里的[branchName]就是你的遠(yuǎn)程分支名
git merge [branchName]
?例如遠(yuǎn)程分支叫test
git merge test
當(dāng)你合并完之后,你本地的charts_mode分支就已經(jīng)兼并了你開發(fā)的功能和遠(yuǎn)程test分支更新的功能,這個時候,你就需要再次推送到你的分支,執(zhí)行git push
現(xiàn)在你就完成了你個人分支的全部操作
11.提交給審核人去合并代碼
當(dāng)你所有的分支都操作完畢之后,這個時候你就需要去找負(fù)責(zé)人,將你的代碼合并到源分支上,這里每個單位肯定都有一定的流程或者代碼審查之類的,就需要看你個人了。
如果你是獨(dú)立負(fù)責(zé)這個項目,分支由你自己來定,那你只需要切到源分支,去合并你剛才推送的個人分支,然后再推到遠(yuǎn)程。
12.拉取新分支開始新功能
當(dāng)你完成一個功能,開始第二個功能開發(fā)的時候,最保險的方法就是從最新的源分支上重新構(gòu)建新分支,這樣可以使代碼的管理更加方便。
總結(jié):
固定步驟:
1.克隆倉庫
git clone ?[codeUrl]? ? ? ? ? ?
2.創(chuàng)建并跳至新分支
git checkout -b [newbranch]
3.提交到暫存區(qū)
git add -A? ?
4.提交到本地分支
git commit -m "完成某某功能"?
5.推送到遠(yuǎn)程倉庫
git push
6.拉取遠(yuǎn)程倉庫最新代碼
git pull
7.合并沖突(如果有的話)
8.與源分支合并
git merge [branchName]?
9.再次推送到自己的遠(yuǎn)程分支
git push
10.向負(fù)責(zé)人提交合并與源分支的工單
注意:
1.保持定期commit的習(xí)慣,防止白干
2.合并沖突要謹(jǐn)慎,別坑隊友
3.提交文本說明清楚,不要寫天書
4.各分支的用途搞明白,選對源分支文章來源:http://www.zghlxwxcb.cn/news/detail-775040.html
5.開發(fā)新功能和修改問題最好拉新分支,方便管理和回退(個人建議)文章來源地址http://www.zghlxwxcb.cn/news/detail-775040.html
到了這里,關(guān)于git常規(guī)操作流程(純命令行操作)和一些注意事項的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!