你需要的git命令大全来了
大家好,我是若川。最近組織了源碼共讀活動(dòng),感興趣的可以點(diǎn)此加我微信 ruochuan12?參與,每周大家一起學(xué)習(xí)200行左右的源碼,共同進(jìn)步。同時(shí)極力推薦訂閱我寫的《學(xué)習(xí)源碼整體架構(gòu)系列》?包含20余篇源碼文章。
雖然你可能用圖形化工具比較多,但基本的git命令還是需要熟悉的。今天分享常用git命令。
項(xiàng)目前的git配置
檢查git版本
git?--version查看git相關(guān)命令
git?--help查看當(dāng)前的git配置信息
git?config?--list查看git用戶名
git?config?user.name-查詢?前git所使?的使?者名稱 git?config?--global?user.name?名稱注:?--global 表示全局,?沒有--global表示只設(shè)置在當(dāng)前項(xiàng)目中的配置查看git郵箱
git?config?user.email -查詢git所使?的email git?config?--global?user.email設(shè)置 (配置)全局郵箱
git?config?--global?user.email?"eamil@qq.com"全局配置用戶名(設(shè)置git使?者名稱)
git?config?--global?user.name?"username"git對項(xiàng)目中的代碼進(jìn)行管理
初始化git儲(chǔ)存
git?init需要提交的所有修改放到暫存區(qū)(Stage)
git?add?*??//將工作區(qū)所有修改添加到暫存區(qū) git?add?.??//將工作區(qū)所有修改添加到暫存區(qū) git?add?<file-name>?//將指定文件添加到暫存區(qū) git?add?*.js??//提交所有.js格式文件 git?add?-f?<file-name>?//?強(qiáng)制添加?指定文件添加到暫存區(qū) 注:<file-name>指的是文件的名稱恢復(fù)(后悔藥)
將暫存區(qū)的文件恢復(fù)到工作區(qū)
git?reset?<file-name>???????????//從暫存區(qū)恢復(fù)指定到工作區(qū) git?reset?--?.??????????????????//從暫存區(qū)恢復(fù)所有文件到工作區(qū) git?reset?--hard????????????????//?把暫存區(qū)的修改退回到工作區(qū)查看工作區(qū)、暫存區(qū)的狀態(tài)
git?status移除暫存區(qū)的修改
git?rm?--cached?<file-name>??//將本地暫存區(qū)的內(nèi)容移除暫存區(qū)將緩存區(qū)的文件,提交到本地倉庫(版本庫 )
git?commit?<file-name>?...?"相關(guān)的記錄信息"?//將緩存區(qū)的指定文件提交到本地倉庫 git?commit?-m?"相關(guān)的記錄信息"????????//將緩存區(qū)的所有文件提交到本地倉庫 git?commit?-am?'相關(guān)的記錄信息'???????//跳過暫存區(qū)域直接提交更新并且添加備注的記錄信息 git?commit?--amend?'相關(guān)的記錄信息'???//使用一次新的commit,替代上一次提交,如果代碼沒有任何新變化,則用來修改上一次commit的提交記錄信息撤銷commit提交
git?revert?HEAD???//撤銷最近的一個(gè)提交(創(chuàng)建了一個(gè)撤銷上次提交(HEAD)的新提交)git?revert?HEAD^???//撤銷上上次的提交查看日志
查看歷史提交(commit)記錄
git?log????//查看歷史commit記錄 注:空格向下翻頁,b向上翻頁,q退出 git?log?--oneline??//以簡潔的一行顯示,包含簡潔哈希索引值 git?log?--pretty=oneline?//查看日志且并且顯示版本 git?log?--stat?????//顯示每個(gè)commit中哪些文件被修改,分別添加或刪除了多少行查看分支合并圖
git?log?--graph查看版本線圖
git?log?--oneline?--graphgit版本控制(時(shí)光機(jī))
回到指定哈希值對應(yīng)的版本
git?reset?--hard?<Hash> 注:<Hash>?是版本的哈希值 git?reset?--hard?HEAD?????//強(qiáng)制工作區(qū)、暫存區(qū)、本地庫為當(dāng)前HEAD指針?biāo)诘陌姹?h5>版本回退git?reset?--hard?HEAD~1??????????//后退一個(gè)版本 注:~后面的數(shù)字表示回退多少個(gè)版本分支
查看分支
git?branch??????????????//查看所有本地分支 git?branch?-r??????????//查看所有遠(yuǎn)程分支 git?branch?-a?????????//查看所有遠(yuǎn)程分支和本地分支 git?branch?--merged??//查看已經(jīng)合并的分支創(chuàng)建分支(依然停留在當(dāng)前的分支)
git?branch?<branch-name> 注:?<branch-name>?是分支的名稱切換分支
git?checKout?<branch-name>????//切換到指定分支,并更新工作區(qū) git?checkout?-?????????//切換到上一個(gè)分支創(chuàng)建并切換分支(創(chuàng)建一個(gè)新的分支,并切換到這個(gè)新建的分支上)
git?chechout?-b?<branch-name>合并分支(合并某一個(gè)分支到當(dāng)前分支)
git?merge?<branch-name>刪除分支
git?branch?-d?<branch-name>????//只能刪除已經(jīng)被當(dāng)前分支合并的分支 git?branch?-D?<>branch-name>???//強(qiáng)制刪除分支刪除遠(yuǎn)程分支
git?push?origin?--delete??<remote-branch-name> 注:<remote-branch-name>?遠(yuǎn)程分支名遠(yuǎn)程倉庫(團(tuán)隊(duì)協(xié)作)
克隆遠(yuǎn)程倉庫(從遠(yuǎn)程倉庫拉取代碼)
git?clone?<url> 注:<url>???遠(yuǎn)程倉庫的地址本地庫與遠(yuǎn)程庫進(jìn)行關(guān)聯(lián)
git?remote?add?origin?<url> 注:<url>???遠(yuǎn)程倉庫的地址查看遠(yuǎn)程倉庫地址別名
git?remote?-v新建遠(yuǎn)程倉庫地址別名
git?remote?add?<alias>?<url> 注:<alias>?遠(yuǎn)程倉庫的別名<url>???遠(yuǎn)程倉庫的地址刪除本地倉庫中的遠(yuǎn)程倉庫別名
git?remote?rm?<alias> 注:<alias>?遠(yuǎn)程倉庫的別名重命名遠(yuǎn)程倉庫地址別名
git?remote?rename?<old-alias>?<new-alias>注:<old-alias>??舊的遠(yuǎn)程倉庫<new-alias>??新的遠(yuǎn)程倉庫把遠(yuǎn)程庫的修改拉取到本地
git?fetch?<alias/url>?<remote-branch-name>?????//抓取遠(yuǎn)程倉庫的指定分支到本地,但沒有合并 git?merge?<alias-branch-name>????????????????//將抓取下來的遠(yuǎn)程的分支,跟當(dāng)前所在分支進(jìn)行合并 git?pull?<alias/url>?<remote-branch-name>????//拉取到本地,并且與當(dāng)前所在的分支進(jìn)行合并注:<alias/url>?遠(yuǎn)程倉庫的別名?或者是?遠(yuǎn)程倉庫地址<remote-branch-name>?遠(yuǎn)程分支名將本地的分支推送到遠(yuǎn)程倉庫
提示!:在推送前要先拉取哦 ?git pull
git?push?<alias/url>?<branch-name>?????//將本地的每個(gè)分支推送到遠(yuǎn)程倉庫 git?push?<alias/url>?--force?????????????//強(qiáng)行推送?當(dāng)前分支到遠(yuǎn)程倉庫,即使有沖突 git?push?<alias/url>?--all??????????????//推送所有本地分支到遠(yuǎn)程倉庫注:<alias/url>?遠(yuǎn)程倉庫的別名?或者是?遠(yuǎn)程倉庫地址<branch-name>??本地分支名項(xiàng)目前的git配置
檢查git版本
git?--version查看git相關(guān)命令
git?--help查看當(dāng)前的git配置信息
git?config?--list查看git用戶名
git?config?user.name-查詢?前git所使?的使?者名稱 git?config?--global?user.name?名稱注:?--global 表示全局,?沒有--global表示只設(shè)置在當(dāng)前項(xiàng)目中的配置查看git郵箱
git?config?user.email -查詢git所使?的email git?config?--global?user.email設(shè)置 (配置)全局郵箱
git?config?--global?user.email?"eamil@qq.com"全局配置用戶名(設(shè)置git使?者名稱)
git?config?--global?user.name?"username"git對項(xiàng)目中的代碼進(jìn)行管理
初始化git儲(chǔ)存
git?init需要提交的所有修改放到暫存區(qū)(Stage)
git?add?*??//將工作區(qū)所有修改添加到暫存區(qū) git?add?.??//將工作區(qū)所有修改添加到暫存區(qū) git?add?<file-name>?//將指定文件添加到暫存區(qū) git?add?*.js??//提交所有.js格式文件 git?add?-f?<file-name>?//?強(qiáng)制添加?指定文件添加到暫存區(qū) 注:<file-name>指的是文件的名稱恢復(fù)(后悔藥)
將暫存區(qū)的文件恢復(fù)到工作區(qū)
git?reset?<file-name>???????????//從暫存區(qū)恢復(fù)指定到工作區(qū) git?reset?--?.??????????????????//從暫存區(qū)恢復(fù)所有文件到工作區(qū) git?reset?--hard????????????????//?把暫存區(qū)的修改退回到工作區(qū)查看工作區(qū)、暫存區(qū)的狀態(tài)
git?status移除暫存區(qū)的修改
git?rm?--cached?<file-name>??//將本地暫存區(qū)的內(nèi)容移除暫存區(qū)將緩存區(qū)的文件,提交到本地倉庫(版本庫 )
git?commit?<file-name>?...?"相關(guān)的記錄信息"?//將緩存區(qū)的指定文件提交到本地倉庫 git?commit?-m?"相關(guān)的記錄信息"????????//將緩存區(qū)的所有文件提交到本地倉庫 git?commit?-am?'相關(guān)的記錄信息'???????//跳過暫存區(qū)域直接提交更新并且添加備注的記錄信息 git?commit?--amend?'相關(guān)的記錄信息'???//使用一次新的commit,替代上一次提交,如果代碼沒有任何新變化,則用來修改上一次commit的提交記錄信息撤銷commit提交
git?revert?HEAD???//撤銷最近的一個(gè)提交(創(chuàng)建了一個(gè)撤銷上次提交(HEAD)的新提交)git?revert?HEAD^???//撤銷上上次的提交查看日志
查看歷史提交(commit)記錄
git?log????//查看歷史commit記錄 注:空格向下翻頁,b向上翻頁,q退出 git?log?--oneline??//以簡潔的一行顯示,包含簡潔哈希索引值 git?log?--pretty=oneline?//查看日志且并且顯示版本 git?log?--stat?????//顯示每個(gè)commit中哪些文件被修改,分別添加或刪除了多少行查看分支合并圖
git?log?--graph查看版本線圖
git?log?--oneline?--graphgit版本控制(時(shí)光機(jī))
回到指定哈希值對應(yīng)的版本
git?reset?--hard?<Hash> 注:<Hash>?是版本的哈希值 git?reset?--hard?HEAD?????//強(qiáng)制工作區(qū)、暫存區(qū)、本地庫為當(dāng)前HEAD指針?biāo)诘陌姹?h5>版本回退git?reset?--hard?HEAD~1??????????//后退一個(gè)版本 注:~后面的數(shù)字表示回退多少個(gè)版本分支
查看分支
git?branch??????????????//查看所有本地分支 git?branch?-r??????????//查看所有遠(yuǎn)程分支 git?branch?-a?????????//查看所有遠(yuǎn)程分支和本地分支 git?branch?--merged??//查看已經(jīng)合并的分支創(chuàng)建分支(依然停留在當(dāng)前的分支)
git?branch?<branch-name> 注:?<branch-name>?是分支的名稱切換分支
git?checKout?<branch-name>????//切換到指定分支,并更新工作區(qū) git?checkout?-?????????//切換到上一個(gè)分支創(chuàng)建并切換分支(創(chuàng)建一個(gè)新的分支,并切換到這個(gè)新建的分支上)
git?chechout?-b?<branch-name>合并分支(合并某一個(gè)分支到當(dāng)前分支)
git?merge?<branch-name>刪除分支
git?branch?-d?<branch-name>????//只能刪除已經(jīng)被當(dāng)前分支合并的分支 git?branch?-D?<>branch-name>???//強(qiáng)制刪除分支刪除遠(yuǎn)程分支
git?push?origin?--delete??<remote-branch-name> 注:<remote-branch-name>?遠(yuǎn)程分支名遠(yuǎn)程倉庫(團(tuán)隊(duì)協(xié)作)
克隆遠(yuǎn)程倉庫(從遠(yuǎn)程倉庫拉取代碼)
git?clone?<url> 注:<url>???遠(yuǎn)程倉庫的地址本地庫與遠(yuǎn)程庫進(jìn)行關(guān)聯(lián)
git?remote?add?origin?<url> 注:<url>???遠(yuǎn)程倉庫的地址查看遠(yuǎn)程倉庫地址別名
git?remote?-v新建遠(yuǎn)程倉庫地址別名
git?remote?add?<alias>?<url> 注:<alias>?遠(yuǎn)程倉庫的別名<url>???遠(yuǎn)程倉庫的地址刪除本地倉庫中的遠(yuǎn)程倉庫別名
git?remote?rm?<alias> 注:<alias>?遠(yuǎn)程倉庫的別名重命名遠(yuǎn)程倉庫地址別名
git?remote?rename?<old-alias>?<new-alias>注:<old-alias>??舊的遠(yuǎn)程倉庫<new-alias>??新的遠(yuǎn)程倉庫把遠(yuǎn)程庫的修改拉取到本地
git?fetch?<alias/url>?<remote-branch-name>?????//抓取遠(yuǎn)程倉庫的指定分支到本地,但沒有合并 git?merge?<alias-branch-name>????????????????//將抓取下來的遠(yuǎn)程的分支,跟當(dāng)前所在分支進(jìn)行合并 git?pull?<alias/url>?<remote-branch-name>????//拉取到本地,并且與當(dāng)前所在的分支進(jìn)行合并注:<alias/url>?遠(yuǎn)程倉庫的別名?或者是?遠(yuǎn)程倉庫地址<remote-branch-name>?遠(yuǎn)程分支名將本地的分支推送到遠(yuǎn)程倉庫
提示!:在推送前要先拉取哦 ?git pull
git?push?<alias/url>?<branch-name>?????//將本地的每個(gè)分支推送到遠(yuǎn)程倉庫 git?push?<alias/url>?--force?????????????//強(qiáng)行推送?當(dāng)前分支到遠(yuǎn)程倉庫,即使有沖突 git?push?<alias/url>?--all??????????????//推送所有本地分支到遠(yuǎn)程倉庫注:<alias/url>?遠(yuǎn)程倉庫的別名?或者是?遠(yuǎn)程倉庫地址<branch-name>??本地分支名·················?若川簡介?·················
你好,我是若川,畢業(yè)于江西高校。現(xiàn)在是一名前端開發(fā)“工程師”。寫有《學(xué)習(xí)源碼整體架構(gòu)系列》10余篇,在知乎、掘金收獲超百萬閱讀。
從2014年起,每年都會(huì)寫一篇年度總結(jié),已經(jīng)寫了7篇,點(diǎn)擊查看年度總結(jié)。
同時(shí),最近組織了源碼共讀活動(dòng),幫助1000+前端人學(xué)會(huì)看源碼。公眾號(hào)愿景:幫助5年內(nèi)前端人走向前列。
識(shí)別上方二維碼加我微信、拉你進(jìn)源碼共讀群
今日話題
略。分享、收藏、點(diǎn)贊、在看我的文章就是對我最大的支持~
總結(jié)
以上是生活随笔為你收集整理的你需要的git命令大全来了的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [html] 在两个iframe之间传
- 下一篇: Vue团队核心成员开发的39行小工具 i