git提交代碼——先暫存-再更新-然后上傳代碼

1、git基本操作

在項(xiàng)目中協(xié)同開發(fā)的時(shí)候,會(huì)遇到你更新代碼之后開發(fā)階段中,同事提交了新的代碼,但是你本地代碼還未更新同事最新提交的代碼,如果直接提交,會(huì)產(chǎn)生沖突,這個(gè)時(shí)候需要先將本地最新的代碼暫存起來,然后pull,之后再將暫存的代碼釋放,然后提交。
完整的流程:

  • 1.git stash save "save XXXX" (將本地代碼回滾至上次提交的時(shí)候)
  • 2.git stash list (查看暫存的list)
  • 3.git pull (將遠(yuǎn)程代碼拉下來更新為最新的代碼)
  • 4.git stash pop (將第一步的回滾代碼釋放出來,相當(dāng)于對(duì)本地代碼和遠(yuǎn)程代碼進(jìn)行合并)
  • 5.git add . (正常的添加,提交推送代碼到遠(yuǎn)程)
    1. git commit -m "注釋"
  • 7.git push origin xx
  • 8 刪除分支 git branch -d 分支名


    刪除本地分支

    -d 是-delete的縮寫
    強(qiáng)制刪除本地分支 git branch -D 分支名
    -D 是 -delete -force的縮寫

  • 9 刪除遠(yuǎn)程分支 git push origin --delete 遠(yuǎn)程分支名
    該命令行會(huì)追蹤刪除分支


    刪除遠(yuǎn)程分支

2、第一次使用git相關(guān)配置

(1)git 初始化

  • git init

(2)配置用戶名和郵箱

  • git config --global user.name "XXX"
  • git config --global user.email "XXX"

(3)配置免密登錄

  • ssh-keygen -t rsa -C “XX@qq.com” 三次回車

(4)查看完整秘鑰內(nèi)容

  • cat ~/.ssh/id_rsa.pub

(5)將密鑰復(fù)制到git上面的ssh公鑰里面去

image.png

(6)用如下命令查看是否設(shè)置遠(yuǎn)程密鑰連接成功

3、git commit 回滾操作

git commit添加注釋的時(shí)候發(fā)現(xiàn)注釋信息寫錯(cuò)了,想要回滾commit,然后再提交。

  • (1)git log 查看日志


    image.png
  • (2)git reset --soft HEAD^
    或者 git reset --soft commit后那一串^

    image.png

  • (3)git status 查看狀態(tài),已經(jīng)變?yōu)樘砑游刺峤唬笾匦耤ommit,然后push就ok了。

4.git 第一次拉代碼并切換分支操作

  • (1)初始化本地git倉庫
    git init
  • (2)從git遠(yuǎn)程倉庫克隆代碼
    git clone xxx
  • (3) 創(chuàng)建并切換本地分支
    git checkout -b xx
  • (4)將遠(yuǎn)程地址添加為origin
    git remote add origin url地址
  • (5)拉取遠(yuǎn)程倉庫分支代碼到本地倉庫
    git pull origin feature

4.1 補(bǔ)充操作

  • (1)查看當(dāng)前分支
    git branch


    image.png
  • (2)本地合并兩個(gè)不同的分支(當(dāng)前在feature分支,將release分支合并過來)
    git merge release


    image.png
  • 注意:一般都是先在release分支git pull 之后切換會(huì)feature分支,將release分支合并到feature分支上
  • 為什么必須將release分支先合并到feature上是因?yàn)椋瑀elease分支測(cè)試出的問題修改之后,不合到feature開發(fā)分支上時(shí),會(huì)影響一些功能,例如登錄在release分支加密,后端同步解密,但是feature分支不知道這個(gè)事情,就會(huì)出現(xiàn)無法登陸,所以先合并本地分支再進(jìn)行開發(fā)。
  • (3)在開發(fā)過程中會(huì)遇到測(cè)試問題,需要切換會(huì)測(cè)試分支修改,這個(gè)步驟如下:
    • 1)暫存開發(fā)分支代碼 git stash save "注釋"
    • 2)切換到測(cè)試分支 git checkout release
    • 3) 修改代碼,然后像平常一樣add commit push
    • 4)測(cè)試分支修改提交后,切換會(huì)開發(fā)分支 git checkout feature
    • 5)合并分支要在沒有修改過的分支上進(jìn)行,所有,在開發(fā)分支上先合并 git merge release
    • 6)合并完成之后,在開發(fā)分支pop一下暫存的代碼,就可以繼續(xù)開發(fā)了git stash list--- git stash pop stash@{0}

5、其他分支合并到master分支

  • 1)修改主分支、本地提交,查看git提交歷史,
  • 2)增加新分支,本地提交
  • 3)提交主分支到遠(yuǎn)程倉
  • 4)提交新分支到遠(yuǎn)程倉
  • 5)合并分支
# 切換到master分支
git checkout master
# 查看當(dāng)前所有分支
git branch -a
# 查看master分支是否有需要提交的,先提交完成后,再合并分支
# 合并分支
git merge 分支名(如:feature)
# 合并過程中會(huì)有一個(gè)vim編輯框出現(xiàn),讓你填寫合并的理由,可以不輸入,直接‘:wq!’退出
# 本地合并完成后,推送到遠(yuǎn)程分支
git push 
# 至此合并完成

5.1 兩個(gè)非master分支合并

  • 場(chǎng)景是將兩個(gè)非master上的分支進(jìn)行合并,并且不造成沖突。
    比如現(xiàn)在有兩個(gè)分支feature,release?,F(xiàn)在將feature合并到release
    首先及將feature分支上的代碼clone下來,并且提交到新創(chuàng)建的分支back(這是為了不沖突)
    提交到back后,本地新建一個(gè)release分支并將其與遠(yuǎn)程release分支進(jìn)行關(guān)聯(lián)。
    切換到release分支。進(jìn)行g(shù)it merge back。
    成功后再將merge的代碼push到遠(yuǎn)程release分支。
    這樣就不用擔(dān)心沖突了。

6、git打tag

git打標(biāo)簽--版本迭代

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

相關(guān)閱讀更多精彩內(nèi)容

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