git常用指令

git常用指令

  • 基礎(chǔ)概念
    • ??(.git所在的文件路徑)
      • 工作區(qū)(和.git在同一個目錄下的文件夾/文件)
      • .git:版本庫
        • stage(暫存區(qū):git之所以比其他的版本管理優(yōu)秀就在于它管理的是修改(暫存區(qū)),而不是文件)
        • master(git默認(rèn)創(chuàng)建的主分支)
        • HEAD(指向當(dāng)前分支的指針)
  • git init:創(chuàng)建版本庫,初始化
  • git add:把文件添加到暫存區(qū),用于之后提交到本地倉庫
    • git add .:添加所有的修改到暫存區(qū)
    • git add <fileName>:添加某個文件的修改到暫存區(qū)
    • git add <fileName1> <fileName2>
  • git commit:把暫存區(qū)的修改提交到當(dāng)前分支
    • git commit -m "修改信息"
    • git commit <fileName> -m "修改信息"
  • git status:查看當(dāng)前狀態(tài)
  • git diff:對比當(dāng)前做了哪些改動
    • git diff HEAD -- <fileName>:查看工作區(qū)和版本庫中最新版本的區(qū)別
  • git log:查看提交日志(從近到遠(yuǎn))
    • git log --pretty-oneline:日志格式為一行,方便閱讀
    • git reflog:查看你操作的每一次命令
    • git log --graph:查看分支合并圖
  • git reset:回退
    • HEAD:是指向當(dāng)前分支的指針
    • git reset --hard HEAD^:回退到上一個版本(^符號的數(shù)量代表向上回退的版本數(shù)量)
    • git reset --hard HEAD~100:向后回退100個版本
    • git reset --hard 版本號:回退到某一個版本(版本號為commitID哈希值的前7位)
    • git checkout -- <fileName>:工作區(qū)內(nèi)容回退到最近一次git addgit commit的狀態(tài),就是撤銷之前的修改。
      1. 如果是修改后還未add到暫存區(qū),就回退到和版本庫一模一樣的狀態(tài)。
      2. 如果是已經(jīng)add到暫存區(qū)后又做了修改,就回退到添加暫存區(qū)后的狀態(tài)。
    • git reset HEAD <fileName>:把暫存區(qū)的修改撤銷掉,重新放回工作區(qū)。
  • git rm <fileName>:刪除文件
  • git push:把當(dāng)前分支推送到遠(yuǎn)程倉庫
    • git push -u origin master:第一次使用加上-u
    • git push origin <local_branch_name>:推送分支(origin為遠(yuǎn)程庫的分支名)
  • git pull:抓取遠(yuǎn)程庫的分支
  • git clone:克隆
  • 創(chuàng)建并切換分支
    • git checkout -b <branchName>:創(chuàng)建并切換到branchName分支上(舊版本寫法)。相當(dāng)于以下兩句:
      • git branch <branchName>:創(chuàng)建分支
      • git checkout <branchName>:切換分支
    • git switch -c <branchName>:創(chuàng)建并切換到branchName分支上(新版本寫法)。相當(dāng)于以下兩句:
      • git branch <branchName>:創(chuàng)建分支
      • git switch <branchName>:切換分支
    • git checkout -b <local_branch> origin/<remote_branch>:創(chuàng)建遠(yuǎn)程庫的分支(remote_branch)到本地(local_branch),本地分支名最好和遠(yuǎn)程分支名一致。
    • git branch --set-upstream-to=origin/<remote_branch> <local_branch>:指定本地分支(local_branch)和遠(yuǎn)程分支(remote_branch)的鏈接。
  • git branch:查看當(dāng)前分支
  • 合并分支
    • git merge <branchName>:合并指定分支到當(dāng)前分支上,如果可能,會使用Fast Forward模式
    • git merge --no-ff <branchName> -m "merge_dec_info":強(qiáng)制禁用Fast Forward模式
  • 刪除分支
    • git branch -d <branchName>:刪除分支
    • git branch -D <branchName>:強(qiáng)行刪除分支
  • git stash:藏匿當(dāng)前修改
  • git stash list:查看藏匿
  • git stash pop:恢復(fù)并刪除stash,相當(dāng)于以下兩步:
    • git stash apply:恢復(fù)stash
    • git stash drop:刪除stash
  • git cherry-pick <commint_id>:把某次提交的修改內(nèi)容,在當(dāng)前分支重復(fù)操作提交一次。
  • git remote:查看遠(yuǎn)程庫
    • git remote -v:遠(yuǎn)程庫抓取和推送的地址
    • git remote add origin 遠(yuǎn)程倉庫地址:本地倉庫關(guān)聯(lián)一個叫origin的遠(yuǎn)程倉庫。
    • git remote rm origin:刪除遠(yuǎn)程庫
  • git tag:查看標(biāo)簽
    • git tag <tag_name>:打標(biāo)簽
    • git tag <tag_name> <commit_id>:給某次commit打上標(biāo)簽
    • git show <tag_name>:查看標(biāo)簽信息
    • git tag -a <tag_name> -m "tag_info" <commit_id>:帶備注信息的標(biāo)簽,-a指定標(biāo)簽名,-m指定標(biāo)簽信息。
    • git tag -d <tag_name>:刪除標(biāo)簽
    • git push origin <tag_name>:推送標(biāo)簽
    • git push --tags:推送所有的本地標(biāo)簽
    • 刪除遠(yuǎn)程庫的標(biāo)簽:
      1. git tag -d <tag_name>:刪除本地標(biāo)簽
      2. git push origin :refs/tags/<tag_name>:刪除遠(yuǎn)程標(biāo)簽
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

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

  • 下面是我整理的常用 Git 命令清單。幾個專用名詞的譯名如下。 Workspace:工作區(qū)Index / Stag...
    你為什么無理取鬧閱讀 338評論 0 0
  • 版本庫操作 git init # 把當(dāng)前的目錄變成可以管理的git倉庫,生成隱藏.git文件(但...
    琢磨先生lf閱讀 488評論 0 0
  • Git常用命令總結(jié) Git常用命令總結(jié) git init 在本地新建一個repo,進(jìn)入一個項(xiàng)目目錄,執(zhí)行g(shù)it i...
    猿ape閱讀 277評論 0 1
  • git init** 在本地新建一個repo,進(jìn)入一個項(xiàng)目目錄,執(zhí)行g(shù)it init,會初始化一個repo,并...
    江南永保春閱讀 397評論 0 1
  • 青木閱·第六周 《易俠張延生》 這周返回去看這本很神奇的書,此書講述了航空航天技術(shù)員張延生在上個世紀(jì)與中醫(yī)、易經(jīng)結(jié)...
    青木閱閱讀 222評論 0 0

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