git常用操作命令

利用命令行提交代碼步驟

首先,進(jìn)入你的項(xiàng)目目錄

1:拉取服務(wù)器代碼,避免覆蓋他人代碼

git pull

2:查看當(dāng)前項(xiàng)目中有哪些文件被修改過(guò)

git status

具體狀態(tài)如下:

1:Untracked: 未跟蹤,一般為新增文件,此文件在文件夾中, 但并沒(méi)有加入到git庫(kù), 不參與版本控制. 通過(guò)git add 狀態(tài)變?yōu)镾taged.

2:Modified: 文件已修改, 僅僅是修改, 并沒(méi)有進(jìn)行其他的操作.

3:deleted: 文件已刪除,本地刪除,服務(wù)器上還沒(méi)有刪除.

4:renamed:文件改名, 因?yàn)槿绻挥锰厥馓幚?,改名之后git只會(huì)認(rèn)為你刪了這個(gè)文件,又新建了另一個(gè)文件。

3:將狀態(tài)改變的代碼提交至緩存

git add + 文件

git add -u + 路徑:將修改過(guò)的被跟蹤代碼提交緩存

git add -A + 路徑: 將修改過(guò)的未被跟蹤的代碼提交至緩存

例如:

git add -u vpaas-frontend/src/components

將 vpaas-frontend/src/components 目錄下被跟蹤的已修改過(guò)的代碼提交到緩存中

git add -A vpaas-frontend/src/components

將 vpaas-frontend/src/components 目錄下未被跟蹤的已修改過(guò)的代碼提交到緩存中

git add .

使用上面的命令將所有的修改的文件提交到緩存區(qū)

4:將代碼提交到本地倉(cāng)庫(kù)中

git commit -m “修改項(xiàng)目代碼”

5:將緩存區(qū)代碼推送到Git服務(wù)器

git push

$ git push origin

上面命令表示,將當(dāng)前分支推送到origin主機(jī)的對(duì)應(yīng)分支。?

如果當(dāng)前分支只有一個(gè)追蹤分支,那么主機(jī)名都可以省略。?

$ git push 如果當(dāng)前分支與多個(gè)主機(jī)存在追蹤關(guān)系,那么這個(gè)時(shí)候-u選項(xiàng)會(huì)指定一個(gè)默認(rèn)主機(jī),這樣后面就可以不加任何參數(shù)使用git push。

$ git push -u origin master 上面命令將本地的master分支推送到origin主機(jī),同時(shí)指定origin為默認(rèn)主機(jī),后面就可以不加任何參數(shù)使用git push了。

不帶任何參數(shù)的git push,默認(rèn)只推送當(dāng)前分支,這叫做simple方式。此外,還有一種matching方式,會(huì)推送所有有對(duì)應(yīng)的遠(yuǎn)程分支的本地分支。Git 2.0版本之前,默認(rèn)采用matching方法,現(xiàn)在改為默認(rèn)采用simple方式。


1:誤將代碼提交到緩存中(利用 git add 命令誤將代碼提交的緩存中)

解決辦法:利用 git reset 命令將撤回緩存中的代碼。

2:誤將代碼提交到本地倉(cāng)庫(kù)(利用 git commit 命令誤將代碼提交到本地倉(cāng)庫(kù))

解決辦法:

git reset —hard + 版本號(hào)

徹底回退到某個(gè)版本,本地的代碼也會(huì)改變上一個(gè)版本內(nèi)容。


開(kāi)發(fā)常用git指令:

git init? # 初始化本地git環(huán)境

git clone? <xxx>? <#> 克隆一份代碼到本地

git config --globa user.name/user.email? # 修改全局的用戶名稱/郵箱

git checkout -b xxx? # 基于當(dāng)前分支創(chuàng)建xxx分支并切換到xxx分支

git checkout xxx? # 切換到xxx分支

git checkout -d xxx? # 刪除本地xxx分支

?git checkout -- readme.txt? ? ?撤銷修改:1. 文件在添加到緩存區(qū)前修改,則回退到原工作區(qū)狀態(tài);2. 文件在添加到緩存區(qū)后修改,則回退到原緩存區(qū)狀態(tài)。也即是將readme.txt撤回到最近一次git add或git commit狀態(tài)(注:--表示在當(dāng)前分支,如果沒(méi)有,則切換到另一個(gè)分支)

git push origin --delete xxx? # 刪除遠(yuǎn)端xxx分支

git push origin xxx:xxx? # 將本地xxx分支推送到遠(yuǎn)端

git branch -a/-r? # 查看全部分支/查看遠(yuǎn)端分支

git branch -d? # 刪除本地分支

git remote prune origin #刪除遠(yuǎn)端不存在的分支

git pull origin xxx? ?# 將遠(yuǎn)端xxx分支拉取到當(dāng)前分支(將git fetch 和 git merge 合并為一步)

git fetch origin xxx? # 將遠(yuǎn)端分支更新到當(dāng)前分支(單獨(dú)進(jìn)行下載和合并是一個(gè)好的做法,你可以先看看下載的是什么,然后再?zèng)Q定是否和本地代碼合并。git diff xxx xxx,? git merge xxx)

git add xxx? # 將本地文件xxx添加到stage中

git commit -m "xxx"? # 將stage中文件提交到本地倉(cāng)庫(kù),備注為xxx

git commit --amend? # 將stage中的文件追加到上一次提交中

git merge xxx? # 將xxx分支合并到當(dāng)前分支,可能會(huì)出現(xiàn)沖突,修改沖突后 git commit

git push origin xxx? ?# 將分支推送到遠(yuǎn)端xxx分支

git stash? # 把未完成的修改緩存到棧容器中

git stash list? # 查看所有的緩存

git stash pop? # 恢復(fù)最近一次緩存到當(dāng)前分支

git stash drop file? # 刪除緩存的stash

git stash clear? # 清空棧內(nèi)所有緩存

git status? # 查看當(dāng)前分支有哪些修改

git log? # 查看當(dāng)前分支上面的日志信息

git diff? # 查看當(dāng)前沒(méi)有add的內(nèi)容

git diff --cache? # 查看已經(jīng)add但沒(méi)有commit的內(nèi)容

git diff xxx xxx? # 對(duì)比兩條分支之間不同的代碼(可在向遠(yuǎn)端提交代碼之前或合并分支之前看自己做了哪些更改)

git show xxx? # 查看某次提交的具體內(nèi)容

git resert --hard HEAD? # 撤銷本地修改



目前正在有完成。突然一個(gè)緊急的bug需要處理:

git add .? # 添加修改到stage

git stash? # 添加到緩存

git checkout xxx? # 切換到xxx問(wèn)題分支

git pull origin xxx? # 拉取xxx分支的最新代碼

git add xxx? # 將修改的文件添加到stage

git commit -m “” # 提交修改

git push origin xxx? # 推送到遠(yuǎn)端

git checkout xxx? # 切換到之前的分支

git stash pop? # 恢復(fù)之前修改的內(nèi)容,繼續(xù)進(jìn)行開(kāi)發(fā)

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

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

  • 查看當(dāng)前項(xiàng)目ip等信息:cat .git/config 編輯外網(wǎng)ip:vim .git/config 修改外網(wǎng)ip...
    華華00526閱讀 617評(píng)論 0 0
  • 本篇的基礎(chǔ)知識(shí): git常用操作命令 cocoapods基本使用 cocoapods本地私有庫(kù)的使用 cocoap...
    Lovell_閱讀 660評(píng)論 1 0
  • 1)遠(yuǎn)程倉(cāng)庫(kù)相關(guān)命令 檢出倉(cāng)庫(kù):$ git clone git://github.com/jquery/jquer...
    Jeff_Tsui閱讀 375評(píng)論 0 0
  • git工作流現(xiàn)在已經(jīng)成了大大小小科技型公司的標(biāo)配,程序員日常擼代碼必備工具。不同的公司根據(jù)業(yè)務(wù)的展開(kāi)及開(kāi)發(fā)的進(jìn)度都...
    養(yǎng)了個(gè)喵閱讀 2,396評(píng)論 0 2
  • 圖中名詞解釋 workspace: 工作區(qū) Index: 暫存區(qū) Repository: 本地倉(cāng)庫(kù) Remote:...
    lmmy123閱讀 241評(píng)論 0 0

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