git常用命令行

學(xué)習(xí)git命令行之前先來了解git的區(qū)域劃分已經(jīng)git文件的狀態(tài)劃分

git區(qū)域分為工作區(qū)、暫存區(qū),本地倉庫,遠(yuǎn)程倉庫

image.png
  • Workspace:工作區(qū)
  • Index / Stage:暫存區(qū)
  • Repository:本地倉庫
  • Remote:遠(yuǎn)程倉庫

一個(gè)文件的git狀態(tài)(通過git status可以查看)可以分為:

  • Untracked files:未跟蹤狀態(tài),即新建的文件還未進(jìn)行add操作,在工作區(qū)
  • Changes not staged for commit:已有的文件,修改了但未暫存,即未進(jìn)行add操作,在工作區(qū)
  • Changes to be committed:等待提交的文件,也可以說是staged狀態(tài),已a(bǔ)dd但未commit,等待提交的文件,在暫存區(qū)

受版本控制并且已修改的 modified 狀態(tài)
從暫存區(qū)已經(jīng)提交到本地倉庫的 committed 狀態(tài)

文件操作

在工作區(qū)(workspace)的文件可進(jìn)行的操作

  1. git add [file1] [file2] [dir]... :將指定文件或指定目錄(目錄下所有修改)從工作區(qū)添加到暫存區(qū)(可以是 新建、編輯和刪除的文件)
  2. git add . :將工作區(qū)中所有文件變更添加到暫存區(qū)
  3. git rm [file1] [file2] ...:刪除文件并將刪除放入暫存區(qū)
  4. git commit -a:提交工作區(qū)自上次commit之后的變化,直接到本地倉庫
  5. git checkout [file]:將文件從工作區(qū)撤回,即撤銷更改

在暫存區(qū)(Index/Staged)的文件可進(jìn)行的操作

  1. git restore --staged [file1] [dir] ... :撤銷文件或者目錄下的文件的add操作,恢復(fù)到工作區(qū)(Git 2.23 版本之后新加)
  2. git commit -m [message]:將暫存區(qū)所有文件提交到本地倉庫
  3. git commit [file1] [file2] ... -m [message]:將指定文件從暫存區(qū)提交到本地倉庫

在本地倉庫(Repository)的文件可進(jìn)行的操作

  1. git push <遠(yuǎn)程主機(jī)名> <本地分支名>:<遠(yuǎn)程分支名>
    如果本地分支名與遠(yuǎn)程分支名相同,則可以省略為:git push <遠(yuǎn)程主機(jī)名> <本地分支名>
    如果當(dāng)前分支只有一個(gè)遠(yuǎn)程分支,那么主機(jī)名都可以省略,形如 git push <本地分支名>
  2. git reset HEAD file_name:拉取最近一次提交到本地倉庫的文件到暫存區(qū),并且該操作不影響工作區(qū)
    git reset 通過把分支記錄回退幾個(gè)提交記錄來實(shí)現(xiàn)撤銷改動(dòng)

在遠(yuǎn)程倉庫(Repository)的文件可進(jìn)行的操作

  1. git pull [remote] [branch]: 取回遠(yuǎn)程倉庫的變化,并與本地分支合并
  2. git fetch [remote]: 下載遠(yuǎn)程倉庫的所有變動(dòng)

配置

  1. git config --list 列出所有 Git 當(dāng)時(shí)能找到的配置
  2. git config --list --show-origin:查看所有的配置以及它們所在的文件
  3. git config --global user.name "[name]" 設(shè)置姓名
  4. git config --global user.email "[email]" 設(shè)置郵箱
    如果使用了 --global 選項(xiàng),那么該命令只需要運(yùn)行一次,因?yàn)橹鬅o論你在該系統(tǒng)上做任何事情, Git 都會(huì)使用那些信息。 當(dāng)你想針對(duì)特定項(xiàng)目使用不同的用戶名稱與郵件地址時(shí),可以在那個(gè)項(xiàng)目目錄下運(yùn)行沒有 --global 選項(xiàng)的命令來配置

獲取幫助

  1. git help <verb> :獲取幫助,全面手冊(cè)
  2. git <verb> -h:獲取幫助,可選項(xiàng)的快速參考
    如 git help config/git config -h:獲取git config命令的手冊(cè);git add -h 。。。。

新建代碼庫

  1. git init: 當(dāng)前目錄新建一個(gè)git代碼塊
  2. git init [project-name]:新建一個(gè)目錄并初始化為git庫
  3. git clone [url]: 下載一個(gè)項(xiàng)目和整個(gè)代碼歷史

分支操作

  1. git brance:查看本地所有分支
  2. git branch -r:查看所有遠(yuǎn)程分支
  3. git branch -a:查看所有本地和遠(yuǎn)程分支
  4. git branch -d [branch-name]:刪除本地分支
  5. git push origin --delete [branch-name]:刪除遠(yuǎn)程分支(除了 git push,其他常用命令不會(huì)對(duì)遠(yuǎn)程倉庫造成影響)
  6. git branch [branch-name]:新建一個(gè)分支,但仍然留在當(dāng)前分支
  7. git branch --track [branch] [remote-branch]:新建一個(gè)分支,與指定的遠(yuǎn)程分支建立追蹤關(guān)系
  8. git checkout -b [branch-name]:新建一個(gè)分支并切換到該分支
  9. git checkout [branch-name]:切換到指定分支,并更新工作區(qū)
  10. git checkout -:切換到上一個(gè)分支
  11. git merge [branch]:合并指定分支到當(dāng)前分支

堆棧區(qū)操作(隱藏操作)

  1. git stash:將當(dāng)前的工作區(qū)內(nèi)容保存到git棧隱藏起來
    git stash save [message]:添加備注,方便查找
  2. git stash list: 查看stash存儲(chǔ)列表
  3. git stash show stash@{num}:顯示第{num+1}個(gè)存儲(chǔ)做了哪些更改
    若直接輸入git stash show,顯示的是第一個(gè),num從0開始
  4. git stash apply stash@{num}:將堆棧中第num+1個(gè)對(duì)應(yīng)的stash彈出,但不會(huì)刪除該存儲(chǔ)
    省略stash@{num}默認(rèn)操作的就是第一個(gè)
  5. git stash pop stash@{num}:將緩存堆棧中的對(duì)應(yīng)stash應(yīng)用到當(dāng)前的工作目錄下并從stash列表里刪除該stash
    省略stash@{num}默認(rèn)操作的就是第一個(gè)
  6. git stash drop stash@{num}:丟棄stash@{$num}存儲(chǔ),從列表中刪除這個(gè)存儲(chǔ)
    省略stash@{num}默認(rèn)操作的就是第一個(gè)
  7. git stash clear:刪除所有的stash

查看操作

  1. git status: 顯示有變更的文件狀態(tài)
  2. git log:顯示當(dāng)前分支的commit歷史
  3. git log --stat:顯示commit歷史,以及每次commit發(fā)生變更的文件
  4. git log -S [keyword]:根據(jù)關(guān)鍵字搜索commit歷史
  5. git diff: 顯示工作區(qū)和暫存區(qū)的差異

tag

?著作權(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)容

  • Git 使用總結(jié) 基本命令 創(chuàng)建本地倉庫 1.創(chuàng)建一個(gè)git倉庫首先創(chuàng)建一個(gè)文件夾做為倉庫 然后cd到這個(gè)文件夾然...
    再帥就滿分了閱讀 195評(píng)論 0 0
  • Git的一些概念 1.本地倉庫 工作區(qū)本地修改 暫存區(qū)本地修改可以放入暫存區(qū),再批量提交暫存區(qū)到本地倉庫 HEAD...
    HVCKER閱讀 630評(píng)論 0 1
  • 1.查看、添加、提交 git help # 顯示command的helpgit show # 顯示某次提交的內(nèi)...
    Aym_fuhong閱讀 277評(píng)論 0 1
  • 第一部分:免密碼推送 1,命令配置 git config --global user.name "這里換上你...
    捂耳聽雨閱讀 235評(píng)論 0 0
  • 提交過程status變化 查看提交日志記錄 版本庫(Repository) ? 第一次修改 -> g...
    孫俊洲閱讀 660評(píng)論 0 1

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