<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          最近從 0 學習Git,詳細分類總結(jié)了這份 Git 命令寶典

          共 3584字,需瀏覽 8分鐘

           ·

          2020-01-05 23:22

          來源:帥地玩編程

          作者:帥地


          雖然之前學過 Git,不過用的比較少,很多原理也不是很清楚,所以最近是買了個視頻,靜下心來從零學習了下 Git,不過 Git 用來用去其實也就那幾個命令,今天這篇文章,我把那些命令都分類總結(jié)了一下(當然,是參考別人的分類的),這些總結(jié)大部分來自于我買的一個 Git 鼠標墊,主要是為了以后自己忘記了方便查找。相信這份 Git 寶典,一定值得你收藏。

          一、Git 配置相關(guān)

          如果你首次使用 Git,那剛開始首先是需要配置各種身份信息的,這樣當你提交相關(guān)任務(wù)的時候,別人才能知道這個 commit 是誰提交的。

          (1)、Git 最小配置

          1、配置全局賬戶,也就是該賬戶對所有的 Git 倉庫都有效

          git?config?--global?user.name?'你的賬戶名稱'
          git?config?--global?user.email?'你的?Email'

          2、配置局部賬戶,也就是該賬戶只對當前 Git 倉庫有效

          git?config?--local?user.name?'你的賬戶名稱'?
          git?config?--local?user.email?'你的?Email'

          注意,不同點就是一個參數(shù)是 global(全局),一個是 local(本地)

          (2)、查看相關(guān)配置情況

          配置了之后,顯然有時候是需要查看我們當前配置的相關(guān)情況的,可以使用如下命令

          1、查看 global 類型的配置情況

          git?config?--global?--list

          2、查看某個倉庫下的配置情況

          git?config?--local?--list

          二、本地基本操作

          這部分命令有點多,也是使用的最頻繁的命令了,待我一一列舉出來,建議收藏

          (1)、基本操作

          1、查看變更情況

          git?status

          2、查看當前工作在哪個分支上

          git?branch?-v

          3、切換到指定分支

          git?checkout?指定分支的名稱

          4、把當前目錄及其子目錄下所有變更都加入到暫存區(qū)

          git?add?.?//?注意,add 后面是一個?'.';

          5、把倉庫內(nèi)所有變更都假如到暫存區(qū)

          git?add?-A

          6、把指定文件添加到暫存區(qū)

          git?add?文件1?文件2?...?文件n

          7、創(chuàng)建正式的 commit,也就是把當前的數(shù)據(jù)提交上去

          git?commit

          (二)、比較差異

          1、比較某文件工作區(qū)和暫存區(qū)的差異

          git?diff?某文件

          2、比較某文件暫存區(qū)和 HEAD 的差異

          git?diff?--cache?某文件

          3、比較工作區(qū)和暫存區(qū)的所有差異

          git?diff

          4、比較暫存區(qū)和 HEAD 的所有差異

          git?diff?--cache

          (3)、暫存區(qū)與工作區(qū)之間回滾

          1、把工作區(qū)指定文件恢復成和暫存區(qū)一樣

          git?checkout?文件1?文件2?...?文件n

          2、把暫存區(qū)指定文件回復和 HEAD 一樣

          git?reset?文件1?文件2?...?文件n

          3、把暫存區(qū)和工作區(qū)所有文件恢復成和 HEAD 一樣

          git?reset?--hard

          4、用 difftool 比較任意兩個 commit 的差異

          git?difftool?commit1?commit2

          注意,從工作區(qū)回滾到暫存區(qū)則用 checkout ,否則用 reset

          (四)、其他

          查看哪些文件沒有被 Git 管控

          git?ls-files?--others

          三、加塞臨時任務(wù)處理

          1、把未處理完的變更先保存到 stash 中

          git?stash

          2、臨時任務(wù)處理完后繼續(xù)之前的工作

          git?stash?pop?//?pop?相當于棧的出棧和入棧一樣,把之前的任務(wù)彈出來
          或者
          git?stash?apply?//?和?pop?不同的是,?apply?相當于從棧頂把任務(wù)取出來,但是不過從棧中把任務(wù)移除

          3、查看所有的 stash

          git?stash?list

          4、取回某次 stash 的變更

          git?stash?pop?stash?@{數(shù)字n}

          四、修改個人分支歷史

          我們的倉庫的內(nèi)容每次變更執(zhí)行 commit 的時候,都會生成一個新的 commit,不過有時候,我們不想產(chǎn)生新的 commit,而是想要通過修改之前的 commit 來變更倉庫的內(nèi)容,那么就可以使用如下命令了

          1、修改最后一次 commit

          1、在工作區(qū)中修改文件
          2、git?add
          3、git?commit?--amend

          2|、修改中間的 commit(假設(shè)代號為 X)

          1.?git?rebase?-i?X前面的一個?commit?的?id
          2.?在工作區(qū)修改文件
          3.?git?add
          4.?git?rebase?--contiue?

          五、查看變更日志等

          1、當前分支各個 commit 用一行顯示

          git?log?--online

          2、顯示最近的 n 個 commit

          git?log?-n

          3、用圖示顯示所有的分支歷史

          git?log?--online?--graph?--all

          4、查看涉及到某文件變更的所有 commit

          git?log?某文件

          5、某文件各行最后修改對應(yīng)的 commit 以及作者

          git?blame?某文件

          六、分支與標簽

          1、創(chuàng)建新分支

          基于當前分支創(chuàng)建新分支

          git?branch?新分支

          基于指定分支創(chuàng)建新分支

          git?branch?新分支?已有分支

          基于某個 commit 創(chuàng)建分支

          git?branch?新分支?某個?commit?的id

          創(chuàng)建分支并且切換到該分支

          git?chechout?-b?新分支

          2、列出分支

          列出本地分支

          git?branch?-v

          列出本地和遠端分支

          git?branch?-av

          列出遠端所有分支

          git?branch?-rv

          列出名稱符號某樣式的遠端分支

          git?branch?-rv?-l?'某樣式'

          3、刪除分支

          安全刪除本地某分支

          git?branch?-d?要刪除的分支

          強行刪除本地分支

          git?branch?-D?要刪除的分支

          刪除已合并到 master 分支的所有本地分支

          git?branch?--merged?master?|?grep?-v?'^\*\|?master'?|?xargs?-n?1?git?branch?-d

          刪除遠端 origin 已不存在的所有本地分支

          git?remote?prune?origin

          4、打標簽

          從 commit 打上標簽

          git?tag?標簽名?commit?的id

          七、兩分支之間的集成

          1、把 A 分支合入到當前分支,且為 merge 創(chuàng)建 commit

          git?merge?A分支

          2、把 A 分支合入到 B 分支,且為 Merge 創(chuàng)建 commit

          git?merge?A分支?B分支?

          3、把當前分支基于B分支做 rebase,以便把B分支合入到當前分支

          git?rebase?B分支

          4、把A分支基于B分支做rebase,以便把B分支合入到A分支

          git?rebase?B分支?A分支

          5、用 mergetool 解決沖突

          git?mergetool

          八、和遠端交互

          1、列出所有 remote

          git?remote?-v

          2、增加 remote

          git?remote?add?url地址

          3、刪除 remote

          git?remote?remove?remote的名稱

          4、改變 remote 的name

          git?remote?rename?舊名稱?新名稱

          5、把遠端所有分支和標簽的變更都拉到本地

          git?fetch?remote

          6、把遠端分支的變更拉倒本地,且 merge 到本地分支

          git?pull?remote名稱?分支名

          關(guān)于 pull 和 fetch 的區(qū)別不懂可以看這篇文章從0學習Git:詳解git pull和git fetch的區(qū)別

          7、把本地分支 push 到遠端

          git?push?remote名稱?分支名

          8、刪除遠端分支

          git?push?remote?--delete?遠端分支名
          或者
          git?push?remote:遠端分支名

          9、向遠端提交指定標簽

          git?push?remote?標簽名

          10、向遠端提交所有標簽

          git?push?remote?--tags

          總結(jié)

          如果把這些命令掌握了,那么 git 就順手拈來了,不過很多命令是比較容易忘的,所有還是比較需要一份 git 手冊,以后用到的時候多查幾次,多用幾次命令,相信就能夠記住了。

          不過單單會命令不知道原理的話還是不大行,至于原理,可以通過網(wǎng)上找文章慢慢了解,當然,如果有需要,我后面也會分享 git 的一些原理,讓大家從本質(zhì)上讀懂 git。

          其他相關(guān)

          1、從0學習Git:詳解git pull和git fetch的區(qū)別

          2、Git使用教程:最詳細、最傻瓜、最淺顯、真正手把手教!(又一篇萬字長文)

          更多算法?+?計算機基礎(chǔ)知識(計算機網(wǎng)絡(luò)+ 操作系統(tǒng)+數(shù)據(jù)庫+Linux等)文章,歡迎更多我的微信公眾號哦。

          瀏覽 40
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  欧美干干干日日日 | 国产精品亚洲五月天丁香 | 9·1成长视频蘑菇视频大全 | 青娱乐精品视频日美 | 强开小嫩苞一区二区三区视频 |