首頁技術(shù)文章正文

Git常用命令大全:git命令基本用法

更新時間:2021-12-14 來源:傳智教育 瀏覽量:

Git是一個開源的分布式版本控制系統(tǒng),可以有效、高速地處理從很小到非常大的項目版本管理。下面是總結(jié)一下git命令,建議收藏和記憶。

1、 常用的git命令

Git 常用的六個命令是什么?

·“git clone”克隆代碼;

·“git log”查看日志;

·“git tag”查看標(biāo)簽;

·“git branch”查看分支;

·“git branch -a”查看遠(yuǎn)程分支;

·“git pull”拉取。

1639463859109_git命令大全.png

2、 新建代碼

在當(dāng)前目錄新建一個Git代碼庫

 git init

新建一個目錄,將其初始化為Git代碼庫

 git init [project-name]

下載一個項目和它的整個代碼歷史

 git clone [url]

3、 配置

顯示當(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]"

4、 增加/刪除文件

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

 git add [file1] [file2] ...

添加指定目錄到暫存區(qū),包括子目錄

 git add [dir]

加當(dāng)前目錄的所有文件到暫存區(qū)

 git add .

刪除工作區(qū)文件,并且將這次刪除放入暫存區(qū)

 git rm [file1] [file2] ...

停止追蹤指定文件,但該文件會保留在工作區(qū)

 git rm --cached [file]

改名文件,并且將這個改名放入暫存區(qū)

 git mv [file-original] [file-renamed]

5、代碼提交

提交暫存區(qū)到倉庫區(qū)

 git commit -m [message]

提交暫存區(qū)的指定文件到倉庫區(qū)

 git commit [file1] [file2] ... -m [message]

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

 git commit -a

提交時顯示所有diff信息

 git commit -v

使用一次新的commit,替代上一次提交

如果代碼沒有任何新變化,則用來改寫上一次commit的提交信息

 git commit --amend -m [message]

重做上一次commit,并包括指定文件的新變化

 git commit --amend   ...

6、分支

列出所有本地分支

 git branch

列出所有遠(yuǎn)程分支

 git branch -r

列出所有本地分支和遠(yuǎn)程分支

 git branch -a

新建一個分支,但依然停留在當(dāng)前分支

 git branch [branch-name]

新建一個分支,并切換到該分支

 git checkout -b [branch]

新建一個分支,指向指定commit

 git branch [branch] [commit]

新建一個分支,與指定的遠(yuǎn)程分支建立追蹤關(guān)系

 git branch --track [branch] [remote-branch]

切換到指定分支,并更新工作區(qū)

 git checkout [branch-name]

建立追蹤關(guān)系,在現(xiàn)有分支與指定的遠(yuǎn)程分支之間

 git branch --set-upstream [branch] [remote-branch]

合并指定分支到當(dāng)前分支

 git merge [branch]

選擇一個commit,合并進(jìn)當(dāng)前分支

 git cherry-pick [commit]

刪除分支

 git branch -d [branch-name]

刪除遠(yuǎn)程分支

 git push origin --delete 
 git branch -dr

7、標(biāo)簽

列出所有tag

 git tag

新建一個tag在當(dāng)前commit

 git tag [tag]

新建一個tag在指定commit

 git tag [tag] [commit]

查看tag信息

 git show [tag]

提交指定tag

 git push [remote] [tag]

提交所有tag

 git push [remote] --tags

新建一個分支,指向某個tag

 git checkout -b [branch] [tag]

8 、查看所有信息

顯示有變更的文件

 git status

顯示當(dāng)前分支的版本歷史

 git log

顯示commit歷史,以及每次commit發(fā)生變更的文件

 git log --stat

顯示某個文件的版本歷史,包括文件改名

 git log --follow [file]
 git whatchanged [file]

顯示指定文件相關(guān)的每一次diff

 git log -p [file]

顯示指定文件是什么人在什么時間修改過

 git blame [file]

顯示暫存區(qū)和工作區(qū)的差異

 git diff

顯示暫存區(qū)和上一個commit的差異

 git diff --cached []

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

 git diff HEAD

顯示兩次提交之間的差異

 git diff [first-branch]...[second-branch]

顯示某次提交的元數(shù)據(jù)和內(nèi)容變化

 git show [commit]

顯示某次提交發(fā)生變化的文件

 git show --name-only [commit]

顯示某次提交時,某個文件的內(nèi)容

 git show [commit]:[filename]

顯示當(dāng)前分支的最近幾次提交

 git reflog

9、 遠(yuǎn)程同步

下載遠(yuǎn)程倉庫的所有變動

 git fetch [remote]

顯示所有遠(yuǎn)程倉庫

 git remote -v

顯示某個遠(yuǎn)程倉庫的信息

 git remote show [remote]

增加一個新的遠(yuǎn)程倉庫,并命名

 git remote add [shortname] [url]

取回遠(yuǎn)程倉庫的變化,并與本地分支合并

 git pull [remote] [branch]

上傳本地指定分支到遠(yuǎn)程倉庫

 git push [remote] [branch]

強(qiáng)行推送當(dāng)前分支到遠(yuǎn)程倉庫,即使有沖突

 git push [remote] --force

推送所有分支到遠(yuǎn)程倉庫

 git push [remote] --all

恢復(fù)暫存區(qū)的指定文件到工作區(qū)

 git checkout [file]

恢復(fù)某個commit的指定文件到工作區(qū)

 git checkout [commit] [file]

恢復(fù)上一個commit的所有文件到工作區(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]

10、其他

生成一個可供發(fā)布的壓縮包

 git archive

備份當(dāng)前工作區(qū)的內(nèi)容

 git stash

從Git棧中讀取最近一次保存的內(nèi)容,恢復(fù)工作區(qū)的相關(guān)內(nèi)容

 git stash pop

顯示Git棧內(nèi)的所有備份

 git stash list

清空Git棧

 git stash clear

前端開發(fā)課程



猜你喜歡:

Git安裝教程:git工具安裝詳細(xì)步驟

win10安裝git bash教程[圖文]

Git和SVN的區(qū)別有哪些?

git、github、gitlab三者之間的聯(lián)系以及區(qū)別?

黑馬程序員前端開發(fā)培訓(xùn)課程

分享到:
在線咨詢 我要報名
和我們在線交談!