<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>

          常用的Git命令清單

          共 10792字,需瀏覽 22分鐘

           ·

          2021-01-15 16:14

          來自:CSDN,作者:dqy19901103

          鏈接:https://blog.csdn.net/dqy19901103/article/details/107380601

          常用Git命令清單

          一般來說,日常使用只要記住下圖6個命令,就可以了。但是熟練使用,恐怕要記住60~100個命令。

          名次解釋

          下面是我整理的常用 Git 命令清單。幾個專用名詞的譯名如下: Workspace:工作區(qū) Index / Stage:暫存區(qū) Repository:倉庫區(qū)(或本地倉庫) Remote:遠程倉庫

          一、新建代碼庫

          #?在當(dāng)前目錄新建一個Git代碼庫
          $?git?init

          #?新建一個目錄,將其初始化為Git代碼庫
          $?git?init?[project-name]

          #?下載一個項目和它的整個代碼歷史
          $?git?clone?[url]

          二、配置

          Git的設(shè)置文件為.gitconfig,它可以在用戶主目錄下(全局配置),也可以在項目目錄下(項目配置)

          #?顯示當(dāng)前的Git配置
          $?git?config?--list

          #?編輯Git配置文件
          $?git?config?-e?[--global]

          #?設(shè)置提交代碼時的用戶信息
          $?git?config?[--global]?user.name?"[name]"
          $?git?config?[--global]?user.email?"[email?address]"

          #?顏色設(shè)置
          git?config?--global?color.ui?true?????????????????????????#?git?status等命令自動著色
          git?config?--global?color.status?auto
          git?config?--global?color.diff?auto
          git?config?--global?color.branch?auto
          git?config?--global?color.interactive?auto
          git?config?--global?--unset?http.proxy????????????????????#?remove??proxy?configuration?on?git

          三、增加/刪除文件

          #?添加指定文件到暫存區(qū)
          $?git?add?[file1]?[file2]?...

          #?添加指定目錄到暫存區(qū),包括子目錄
          $?git?add?[dir]

          #?添加當(dāng)前目錄的所有文件到暫存區(qū)
          $?git?add?.

          #?添加每個變化前,都會要求確認(rèn)
          #?對于同一個文件的多處變化,可以實現(xiàn)分次提交
          $?git?add?-p

          #?刪除工作區(qū)文件,并且將這次刪除放入暫存區(qū)
          $?git?rm?[file1]?[file2]?...

          #?停止追蹤指定文件,但該文件會保留在工作區(qū)
          $?git?rm?--cached?[file]

          #?改名文件,并且將這個改名放入暫存區(qū)
          $?git?mv?[file-original]?[file-renamed]

          四、代碼提交

          #?提交暫存區(qū)到倉庫區(qū)
          $?git?commit?-m?[message]

          #?提交暫存區(qū)的指定文件到倉庫區(qū)
          $?git?commit?[file1]?[file2]?...?-m?[message]

          #?提交工作區(qū)自上次commit之后的變化,直接到倉庫區(qū)
          $?git?commit?-a

          #?提交時顯示所有diff信息
          $?git?commit?-v

          #?將add和commit合為一步
          $?git?commit?-am?'message'

          #?使用一次新的commit,替代上一次提交
          #?如果代碼沒有任何新變化,則用來改寫上一次commit的提交信息
          $?git?commit?--amend?-m?[message]

          #?重做上一次commit,并包括指定文件的新變化
          $?git?commit?--amend?[file1]?[file2]?...

          五、分支

          #?列出所有本地分支
          $?git?branch

          #?列出所有遠程分支
          $?git?branch?-r

          #?列出所有本地分支和遠程分支
          $?git?branch?-a

          #?新建一個分支,但依然停留在當(dāng)前分支
          $?git?branch?[branch-name]

          #?新建一個分支,并切換到該分支
          $?git?checkout?-b?[branch]

          #?新建一個分支,指向指定commit
          $?git?branch?[branch]?[commit]

          #?新建一個分支,與指定的遠程分支建立追蹤關(guān)系
          $?git?branch?--track?[branch]?[remote-branch]

          #?切換到指定分支,并更新工作區(qū)
          $?git?checkout?[branch-name]

          #?切換到上一個分支
          $?git?checkout?-

          #?建立追蹤關(guān)系,在現(xiàn)有分支與指定的遠程分支之間
          $?git?branch?--set-upstream?[branch]?[remote-branch]

          #?合并指定分支到當(dāng)前分支
          $?git?merge?[branch]

          #?選擇一個commit,合并進當(dāng)前分支
          $?git?cherry-pick?[commit]

          #?刪除分支
          $?git?branch?-d?[branch-name]

          #?刪除遠程分支
          $?git?push?origin?--delete?[branch-name]
          $?git?branch?-dr?[remote/branch]

          #?檢出版本v2.0
          $?git?checkout?v2.0

          #?從遠程分支develop創(chuàng)建新本地分支devel并檢出
          $?git?checkout?-b?devel?origin/develop

          #?檢出head版本的README文件(可用于修改錯誤回退)
          git?checkout?--?README????????????????????????????????????

          六、標(biāo)簽

          #?列出所有tag
          $?git?tag

          #?新建一個tag在當(dāng)前commit
          $?git?tag?[tag]

          #?新建一個tag在指定commit
          $?git?tag?[tag]?[commit]

          #?刪除本地tag
          $?git?tag?-d?[tag]

          #?刪除遠程tag
          $?git?push?origin?:refs/tags/[tagName]

          #?查看tag信息
          $?git?show?[tag]

          #?提交指定tag
          $?git?push?[remote]?[tag]

          #?提交所有tag
          $?git?push?[remote]?--tags

          #?新建一個分支,指向某個tag
          $?git?checkout?-b?[branch]?[tag]

          七、查看信息

          #?顯示有變更的文件
          $?git?status

          #?顯示當(dāng)前分支的版本歷史
          $?git?log

          #?顯示commit歷史,以及每次commit發(fā)生變更的文件
          $?git?log?--stat

          #?搜索提交歷史,根據(jù)關(guān)鍵詞
          $?git?log?-S?[keyword]

          #?顯示某個commit之后的所有變動,每個commit占據(jù)一行
          $?git?log?[tag]?HEAD?--pretty=format:%s

          #?顯示某個commit之后的所有變動,其"提交說明"必須符合搜索條件
          $?git?log?[tag]?HEAD?--grep?feature

          #?顯示某個文件的版本歷史,包括文件改名
          $?git?log?--follow?[file]
          $?git?whatchanged?[file]

          #?顯示指定文件相關(guān)的每一次diff
          $?git?log?-p?[file]

          #?顯示過去5次提交
          $?git?log?-5?--pretty?--oneline

          #?顯示所有提交過的用戶,按提交次數(shù)排序
          $?git?shortlog?-sn

          #?顯示指定文件是什么人在什么時間修改過
          $?git?blame?[file]

          #?顯示暫存區(qū)和工作區(qū)的差異
          $?git?diff

          #?顯示暫存區(qū)和上一個commit的差異
          $?git?diff?--cached?[file]

          #?顯示工作區(qū)與當(dāng)前分支最新commit之間的差異
          $?git?diff?HEAD

          #?顯示兩次提交之間的差異
          $?git?diff?[first-branch]...[second-branch]

          #?顯示今天你寫了多少行代碼
          $?git?diff?--shortstat?"@{0?day?ago}"

          #?顯示某次提交的元數(shù)據(jù)和內(nèi)容變化
          $?git?show?[commit]

          #?顯示某次提交發(fā)生變化的文件
          $?git?show?--name-only?[commit]

          #?顯示某次提交時,某個文件的內(nèi)容
          $?git?show?[commit]:[filename]

          #?顯示當(dāng)前分支的最近幾次提交
          $?git?reflog

          八、遠程同步

          #?下載遠程倉庫的所有變動
          $?git?fetch?[remote]

          #?顯示所有遠程倉庫
          $?git?remote?-v

          #?顯示某個遠程倉庫的信息
          $?git?remote?show?[remote]

          #?增加一個新的遠程倉庫,并命名
          $?git?remote?add?[shortname]?[url]

          #?取回遠程倉庫的變化,并與本地分支合并
          $?git?pull?[remote]?[branch]

          #?上傳本地指定分支到遠程倉庫
          $?git?push?[remote]?[branch]

          #?強行推送當(dāng)前分支到遠程倉庫,即使有沖突
          $?git?push?[remote]?--force

          #?推送所有分支到遠程倉庫
          $?git?push?[remote]?--all

          九、撤銷

          #?恢復(fù)暫存區(qū)的指定文件到工作區(qū)
          $?git?checkout?[file]

          #?恢復(fù)某個commit的指定文件到暫存區(qū)和工作區(qū)
          $?git?checkout?[commit]?[file]

          #?恢復(fù)暫存區(qū)的所有文件到工作區(qū)
          $?git?checkout?.

          #?重置暫存區(qū)的指定文件,與上一次commit保持一致,但工作區(qū)不變
          $?git?reset?[file]

          #?重置暫存區(qū)與工作區(qū),與上一次commit保持一致
          $?git?reset?--hard

          #?重置當(dāng)前分支的指針為指定commit,同時重置暫存區(qū),但工作區(qū)不變
          $?git?reset?[commit]

          #?重置當(dāng)前分支的HEAD為指定commit,同時重置暫存區(qū)和工作區(qū),與指定commit一致
          $?git?reset?--hard?[commit]

          #?重置當(dāng)前HEAD為指定commit,但保持暫存區(qū)和工作區(qū)不變
          $?git?reset?--keep?[commit]

          #?新建一個commit,用來撤銷指定commit
          #?后者的所有變化都將被前者抵消,并且應(yīng)用到當(dāng)前分支
          $?git?revert?[commit]

          #?暫時將未提交的變化移除,稍后再移入
          $?git?stash
          $?git?stash?pop

          十、其他

          git?init??????????????????????????????????????????????????#?初始化本地git倉庫(創(chuàng)建新倉庫)
          git?config?--global?user.name?"xxx"???????????????????????#?配置用戶名
          git?config?--global?user.email?"[email protected]"??????????????#?配置郵件
          git?config?--global?color.ui?true?????????????????????????#?git?status等命令自動著色
          git?config?--global?color.status?auto
          git?config?--global?color.diff?auto
          git?config?--global?color.branch?auto
          git?config?--global?color.interactive?auto
          git?config?--global?--unset?http.proxy????????????????????#?remove??proxy?configuration?on?git
          git?clone?git+ssh://[email protected]/VT.git?????????????#?clone遠程倉庫
          git?status????????????????????????????????????????????????#?查看當(dāng)前版本狀態(tài)(是否修改)
          git?add?xyz???????????????????????????????????????????????#?添加xyz文件至index
          git?add?.?????????????????????????????????????????????????#?增加當(dāng)前子目錄下所有更改過的文件至index
          git?commit?-m?'xxx'???????????????????????????????????????#?提交
          git?commit?--amend?-m?'xxx'???????????????????????????????#?合并上一次提交(用于反復(fù)修改)
          git?commit?-am?'xxx'??????????????????????????????????????#?將add和commit合為一步
          git?rm?xxx????????????????????????????????????????????????#?刪除index中的文件
          git?rm?-r?*???????????????????????????????????????????????#?遞歸刪除
          git?log???????????????????????????????????????????????????#?顯示提交日志
          git?log?-1????????????????????????????????????????????????#?顯示1行日志?-n為n行
          git?log?-5
          git?log?--stat????????????????????????????????????????????#?顯示提交日志及相關(guān)變動文件
          git?log?-p?-m
          git?show?dfb02e6e4f2f7b573337763e5c0013802e392818?????????#?顯示某個提交的詳細內(nèi)容
          git?show?dfb02????????????????????????????????????????????#?可只用commitid的前幾位
          git?show?HEAD?????????????????????????????????????????????#?顯示HEAD提交日志
          git?show?HEAD^????????????????????????????????????????????#?顯示HEAD的父(上一個版本)的提交日志?^^為上兩個版本?^5為上5個版本
          git?tag???????????????????????????????????????????????????#?顯示已存在的tag
          git?tag?-a?v2.0?-m?'xxx'??????????????????????????????????#?增加v2.0的tag
          git?show?v2.0?????????????????????????????????????????????#?顯示v2.0的日志及詳細內(nèi)容
          git?log?v2.0??????????????????????????????????????????????#?顯示v2.0的日志
          git?diff??????????????????????????????????????????????????#?顯示所有未添加至index的變更
          git?diff?--cached?????????????????????????????????????????#?顯示所有已添加index但還未commit的變更
          git?diff?HEAD^????????????????????????????????????????????#?比較與上一個版本的差異
          git?diff?HEAD?--?./lib????????????????????????????????????#?比較與HEAD版本lib目錄的差異
          git?diff?origin/master..master????????????????????????????#?比較遠程分支master上有本地分支master上沒有的
          git?diff?origin/master..master?--stat?????????????????????#?只顯示差異的文件,不顯示具體內(nèi)容
          git?remote?add?origin?git+ssh://[email protected]/VT.git?#?增加遠程定義(用于push/pull/fetch)
          git?branch????????????????????????????????????????????????#?顯示本地分支
          git?branch?--contains?50089???????????????????????????????#?顯示包含提交50089的分支
          git?branch?-a?????????????????????????????????????????????#?顯示所有分支
          git?branch?-r?????????????????????????????????????????????#?顯示所有原創(chuàng)分支
          git?branch?--merged???????????????????????????????????????#?顯示所有已合并到當(dāng)前分支的分支
          git?branch?--no-merged????????????????????????????????????#?顯示所有未合并到當(dāng)前分支的分支
          git?branch?-m?master?master_copy??????????????????????????#?本地分支改名
          git?checkout?-b?master_copy???????????????????????????????#?從當(dāng)前分支創(chuàng)建新分支master_copy并檢出
          git?checkout?-b?master?master_copy????????????????????????#?上面的完整版
          git?checkout?features/performance?????????????????????????#?檢出已存在的features/performance分支
          git?checkout?--track?hotfixes/BJVEP933????????????????????#?檢出遠程分支hotfixes/BJVEP933并創(chuàng)建本地跟蹤分支
          git?checkout?v2.0?????????????????????????????????????????#?檢出版本v2.0
          git?checkout?-b?devel?origin/develop??????????????????????#?從遠程分支develop創(chuàng)建新本地分支devel并檢出
          git?checkout?--?README????????????????????????????????????#?檢出head版本的README文件(可用于修改錯誤回退)
          git?merge?origin/master???????????????????????????????????#?合并遠程master分支至當(dāng)前分支
          git?cherry-pick?ff44785404a8e?????????????????????????????#?合并提交ff44785404a8e的修改
          git?push?origin?master????????????????????????????????????#?將當(dāng)前分支push到遠程master分支
          git?push?origin?:hotfixes/BJVEP933????????????????????????#?刪除遠程倉庫的hotfixes/BJVEP933分支
          git?push?--tags???????????????????????????????????????????#?把所有tag推送到遠程倉庫
          git?fetch?????????????????????????????????????????????????#?獲取所有遠程分支(不更新本地分支,另需merge)
          git?fetch?--prune?????????????????????????????????????????#?獲取所有原創(chuàng)分支并清除服務(wù)器上已刪掉的分支
          git?pull?origin?master????????????????????????????????????#?獲取遠程分支master并merge到當(dāng)前分支
          git?mv?README?README2?????????????????????????????????????#?重命名文件README為README2
          git?reset?--hard?HEAD?????????????????????????????????????#?將當(dāng)前版本重置為HEAD(通常用于merge失敗回退)
          git?rebase
          git?branch?-d?hotfixes/BJVEP933???????????????????????????#?刪除分支hotfixes/BJVEP933(本分支修改已合并到其他分支)
          git?branch?-D?hotfixes/BJVEP933???????????????????????????#?強制刪除分支hotfixes/BJVEP933
          git?ls-files??????????????????????????????????????????????#?列出git?index包含的文件
          git?show-branch???????????????????????????????????????????#?圖示當(dāng)前分支歷史
          git?show-branch?--all?????????????????????????????????????#?圖示所有分支歷史
          git?whatchanged???????????????????????????????????????????#?顯示提交歷史對應(yīng)的文件修改
          git?revert?dfb02e6e4f2f7b573337763e5c0013802e392818???????#?撤銷提交dfb02e6e4f2f7b573337763e5c0013802e392818
          git?ls-tree?HEAD??????????????????????????????????????????#?內(nèi)部命令:顯示某個git對象
          git?rev-parse?v2.0????????????????????????????????????????#?內(nèi)部命令:顯示某個ref對于的SHA1 HASH
          git?reflog????????????????????????????????????????????????#?顯示所有提交,包括孤立節(jié)點
          git?show?HEAD@{5}
          git?show?master@{yesterday}???????????????????????????????#?顯示master分支昨天的狀態(tài)
          git?log?--pretty=format:'%h?%s'?--graph???????????????????#?圖示提交日志
          git?show?HEAD~3
          git?show?-s?--pretty=raw?2be7fcb476
          git?stash?????????????????????????????????????????????????#?暫存當(dāng)前修改,將所有至為HEAD狀態(tài)
          git?stash?list????????????????????????????????????????????#?查看所有暫存
          git?stash?show?-p?stash@{0}???????????????????????????????#?參考第一次暫存
          git?stash?apply?stash@{0}?????????????????????????????????#?應(yīng)用第一次暫存
          git?grep?"delete?from"????????????????????????????????????#?文件中搜索文本“delete?from”
          git?grep?-e?'#define'?--and?-e?SORT_DIRENT
          git?gc
          git?fsck
          #?生成一個可供發(fā)布的壓縮包
          $?git?archive

          參考文章

          • 常用 Git 命令清單 - 阮一峰的網(wǎng)絡(luò)日志
          • 老鐵,這年頭不會點Git真不行
          • 一些命令-github
            Home-geeeeeeeeek/git-recipes Wiki-GitHub



          推薦閱讀

          分享基于 Spring Cloud +OAuth2 的權(quán)限管理系統(tǒng)

          鏈家程序員刪公司9TB 數(shù)據(jù) 被判7年

          工作10年后,再看String s = new String("xyz") 創(chuàng)建了幾個對象?

          SpringBoot集成WebSocket,實現(xiàn)后臺向前端推送信息

          SpringBoot 配置 ELK 環(huán)境

          給代碼寫注釋時有哪些講究?

          程序員該如何把 Windows 系統(tǒng)打造的跟 Mac 一樣牛逼?

          基于 SpringBoot,來實現(xiàn)MySQL讀寫分離技術(shù)

          瀏覽 36
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

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

          手機掃一掃分享

          分享
          舉報
          <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>
                  国产自偷自拍 | 亚洲乱伦电影 | 欧美大奶一区二区 | 亚洲日韩国产AV无码精品 | 台湾一区二区 |