手機(jī)做網(wǎng)站多少錢搜索引擎營銷的方法有哪些
【Git企業(yè)實(shí)戰(zhàn)開發(fā)】Git常用開發(fā)流操作總結(jié)
大家好 我是寸鐵👊
總結(jié)了一篇Git常用開發(fā)流操作總結(jié)的文章?
喜歡的小伙伴可以點(diǎn)點(diǎn)關(guān)注 💝
現(xiàn)在剛做項(xiàng)目的伙伴,可能你之前學(xué)過git,但是一實(shí)戰(zhàn)發(fā)現(xiàn)不熟悉
沒關(guān)系,看寸鐵這篇博客,幫助你少走彎路!
前言
Git
作為開發(fā)的代碼版本和團(tuán)隊(duì)多人協(xié)作分支管理的強(qiáng)大工具,在企業(yè)和公司中運(yùn)用的十分廣泛,作為程序員,熟悉常用的開發(fā)流操作就顯得非常必要了!
Git
是一個(gè)開源的分布式版本控制系統(tǒng),用于敏捷高效地處理任何或小或大的項(xiàng)目。Git
與常用的版本控制工具 CVS, Subversion
等不同,它采用了分布式版本庫
的方式,不必對服務(wù)器端軟件支持。
筆者最近在開發(fā)過程中,經(jīng)常對Git
的企業(yè)開發(fā)流運(yùn)用的不夠熟練,所以整理了一下最近開發(fā)過程中的常用開發(fā)流,隨著項(xiàng)目的深入,后面會不斷在這篇文章中持續(xù)更新添加其他實(shí)戰(zhàn)操作,歡迎朋友們的關(guān)注與點(diǎn)贊!
謹(jǐn)此感謝幫助筆者一路成長的伙伴們!
Git工作流程
Git基礎(chǔ)操作
說明:
workspace
:工作區(qū)(你當(dāng)前所操作的區(qū)域)
staging area
:暫存區(qū)/緩存區(qū)
local repository
:版本庫或本地倉庫
remote repository
:遠(yuǎn)程倉庫
Git命令說明
命令 | 說明 |
---|---|
git init | git init命令創(chuàng)建一個(gè)空的Git倉庫或重新初始化一個(gè)現(xiàn)有倉庫。 |
git clone | git clone命令將遠(yuǎn)程存儲庫克隆到新目錄中。 |
git add | git add命令將文件內(nèi)容添加到索引(將修改添加到暫存區(qū))。 |
git commit | 該命令用于將更改記錄(提交)到存儲庫。將暫存區(qū)的當(dāng)前內(nèi)容與描述更改的用戶和日志消息一起存儲在新的提交中。 |
git pull | 該命令用于從另一個(gè)存儲庫或本地分支獲取并集成(整合)。 |
git push | 該命令用于將本地分支的更新,推送到遠(yuǎn)程倉庫。 |
git status | 該命令用于顯示工作目錄和暫存區(qū)的狀態(tài)。 |
git log | 該命令用于顯示提交日志信息。 |
git branch | 該命令列出當(dāng)前存儲庫中的所有本地分支。 |
git checkout | 該命令命令用于從一個(gè)分支切換到另一個(gè)分支。 |
git fetch | 該命令用于從遠(yuǎn)程獲取代碼庫。 |
git merge | 該命令用于將兩個(gè)或兩個(gè)以上的開發(fā)歷史加入(合并)一起。 |
git stash | 該命令臨時(shí)存儲所有已修改的跟蹤文件。 |
Git企業(yè)實(shí)戰(zhàn)
添加本地的文件到遠(yuǎn)程分支
默認(rèn)你已經(jīng)切換到本地分支了
- 先添加文件到暫存區(qū)
git add .
- 再提交到本地倉庫上
git commit -m '備注'
- 最后推到遠(yuǎn)程分支即可
git push (xx分支)
注意:如果說你所在的分支就是你要
push
的遠(yuǎn)程分支,請直接使用git push
比如:你所在的分支是origin/oop
然后想要push
到遠(yuǎn)程倉庫的oop
分支
即執(zhí)行: git push origin/oop
結(jié)果報(bào)錯(cuò)顯示如下, 嘗試直接使用如下命令:
git push
運(yùn)行結(jié)果如下:
這是因?yàn)槟闼诘姆种Ь褪悄阋?code>push的遠(yuǎn)程分支,所以會報(bào)倉庫不存在的錯(cuò)誤。
合并遠(yuǎn)程分支代碼
- 先拉取遠(yuǎn)程倉庫代碼到本地倉庫中
git fetch
注意:此時(shí)還未merge合并
- 再合并需要的分支代碼
git merge origin/xx分支
- 合并時(shí),遇到?jīng)_突時(shí)怎么解決?
2024/2/26更新
今天在合并代碼時(shí)報(bào)錯(cuò)如下:
具體報(bào)錯(cuò)如下:
warning: in the working copy of 'xx.go', LF will be replaced by CRLF the next time Git touches it
Auto-merging xx.go
CONFLICT (content): Merge conflict in xx.go
Auto-merging xx.go
CONFLICT (content): Merge conflict in xx.go
Automatic merge failed; fix conflicts and then commit the result.
這時(shí)需要我們先手動合并,再
add
和commit
即可。
- 先找到?jīng)_突的文件,沖突標(biāo)記如下:
<<<<<<<<你當(dāng)前的分支========>>>>>>>>合并的分支
- 進(jìn)行手動合并操作
我們把<<<<<<<<
、========
、>>>>>>>>
給刪掉,再合并保留我們需要的內(nèi)容。
比如,我這里需要保留一下resp
刪除符號,保留自己需要的內(nèi)容后,文件就不報(bào)紅啦
實(shí)際合并中,可能會有其他的也是需要合并的,比如
導(dǎo)入的包
之類的,這里只演示示例,其他的同上操作手動合并即可。
- 保存提交到本地倉庫
最后,待沖突解決完后,我們還要提交到本地倉庫中,相當(dāng)于保存
操作。如下兩步走:- 先
git add .
作用: 執(zhí)行git add
命令將解決沖突后的文件標(biāo)記為已解決
。
- 再
git commit -m '你備注'
作用:執(zhí)行git commit
提交合并后的結(jié)果。
至此,合并沖突就解決啦,又可以繼續(xù)愉快地開發(fā)啦!
- 先
合并沖突總結(jié)
我們再來回顧一下剛才的合并操作步驟:
-
先打開包含沖突的文件
-
在文件中搜索包含沖突的部分,通常會看到類似以下的標(biāo)記:
<<<<<<<<你當(dāng)前的分支========>>>>>>>>合并的分支
-
根據(jù)你的需求選擇要保留的
更改
或者進(jìn)行合并
,刪除
沖突標(biāo)記 (<<<<<<<
,=======
,>>>>>>>
),并保留
你需要的代碼。你可以選擇保留某個(gè)分支的更改
,也可以將兩個(gè)分支的更改合并
在一起。 -
解決完所有沖突后,保存文件。
-
執(zhí)行
git add
命令將解決沖突后的文件標(biāo)記為已解決
。 -
最后,執(zhí)行
git commit
提交合并后的結(jié)果。
切換到遠(yuǎn)程倉庫的其他分支
- 切換其他分支
git checkout -b origin/xx分支
如果提示已有這個(gè)分支
則進(jìn)行直接切換即可,如下命令:
git checkout origin/xx分支
- 再檢查一下是否在你想要的分支
-a
列舉出所有的分支,帶*
號報(bào)綠
的則為當(dāng)前分支
git branch -a
備注:q退出當(dāng)前命令行
刪除本地分支并拉取其他遠(yuǎn)程分支代碼
- 先切換到主分支
git checkout master
- 再執(zhí)行刪除本地分支
git branch -D 你的本地分支名字
- 最后再拉取遠(yuǎn)程分支的代碼
git pull origin xx分支
其他常用命令用法
- git stash
git stash
用于暫存當(dāng)前工作目錄的修改,以便于你在切換分支或者執(zhí)行其他操作之前保存這些修改,而不必提交它們。
git stash pop
從存儲的工作記錄(stash)中應(yīng)用(恢復(fù))最近的一次存儲的修改,并且從存儲區(qū)中刪除這次存儲,類似棧的pop彈出操作。
- git status
git status
狀態(tài)命令可以用來查看當(dāng)前項(xiàng)目的狀態(tài),包括修改過但未提交的文件、未跟蹤的文件、分支信息等。狀態(tài)命令的格式如下:
結(jié)語
Git
的命令很多,最常用的企業(yè)開發(fā)流基本都在這了,不熟悉的小伙伴趕緊學(xué)起來,快速上手項(xiàng)目的開發(fā)。后面會持續(xù)更新實(shí)戰(zhàn)命令,大家可以關(guān)注留意一下,感謝您的支持!
看到這里的小伙伴,恭喜你又掌握了一個(gè)技能👊
希望大家能取得勝利,堅(jiān)持就是勝利💪
我是寸鐵!我們下期再見💕
往期好文💕
保姆級教程
【保姆級教程】Windows11下go-zero的etcd安裝與初步使用
【保姆級教程】Windows11安裝go-zero代碼生成工具goctl、protoc、go-zero
【Go-Zero】手把手帶你在goland中創(chuàng)建api文件并設(shè)置高亮
報(bào)錯(cuò)解決
【Go-Zero】Error: user.api 27:9 syntax error: expected ‘:‘ | ‘IDENT‘ | ‘INT‘, got ‘(‘ 報(bào)錯(cuò)解決方案及api路由注意事項(xiàng)
【Go-Zero】Error: only one service expected goctl一鍵轉(zhuǎn)換生成rpc服務(wù)錯(cuò)誤解決方案
【Go-Zero】【error】 failed to initialize database, got error Error 1045 (28000):報(bào)錯(cuò)解決方案
【Go-Zero】Error 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: YES)報(bào)錯(cuò)解決方案
【Go-Zero】type mismatch for field “Auth.AccessSecret“, expect “string“, actual “number“報(bào)錯(cuò)解決方案
【Go-Zero】Error: user.api 30:2 syntax error: expected ‘)‘ | ‘KEY‘, got ‘IDENT‘報(bào)錯(cuò)解決方案
【Go-Zero】Windows啟動rpc服務(wù)報(bào)錯(cuò)panic:context deadline exceeded解決方案
Go面試向
【Go面試向】defer與time.sleep初探
【Go面試向】defer與return的執(zhí)行順序初探
【Go面試向】Go程序的執(zhí)行順序
【Go面試向】rune和byte類型的認(rèn)識與使用
【Go面試向】實(shí)現(xiàn)map穩(wěn)定的有序遍歷的方式