Git常用命令示例速查

2021-09-26 19:16:07 字數 4180 閱讀 3727

1. git配置 config

git config --list 			檢視已有的配置資訊

git config --global user.name "username" 修改全域性使用者名稱

git config --global user.email "[email protected]" 修改全域性郵箱

git config user.name 直接檢視使用者名稱(也可以時它配置屬性)!

[在這裡插入描述]

(# git配置的範圍 global / system / local

2. git倉庫

工作區(workspace):就是你在電腦裡能看到的目錄。

暫存區(index/stage):英文叫stage, 或index。一般存放在"git目錄"下的index檔案(.git/index)中,所以我們把暫存區有時也叫作索引(index)。

版本庫(repository):工作區有乙個隱藏目錄.git,這個不算工作區,而是git的版本庫。

遠端倉庫(remote):遠端倉庫,可能被分布在不同地點處於協作關係的本地倉庫修改。

3. init (初始化)

git init					使用當前目錄作為git倉庫

git init [directory] 使用指定目錄作為git倉庫

4. commit (提交)
# commit只會提交已經在暫存區中的改動

git add . 將當前目錄的所有檔案納入版本控制(就是工作區新增或修改的檔案更新到暫存區)

git add *.c 將以.c結尾的檔案納入版本控制(也可以指定具體檔案)

git commit -m 'first commit message' 提交暫存區修到本地倉庫並新增備註

git commit -am "........." -a可以省略git add這個步驟(只支援已經跟蹤的檔案)

5. clone (轉殖)
git clone 			轉殖遠端倉庫到本地(會在本地建立乙個mall目錄,其中包含乙個.git目錄記錄版本資訊)

git clone mymall 可以自定義目錄名稱mymall

6. remote (遠端倉庫)
# 管理遠端倉庫

git remote 列出所有遠端服務的縮寫名稱 clone下來的專案git的預設遠端倉庫名稱是origin

git remote -v 列出所有遠端倉庫名稱和url

git remote add

新增遠端倉庫 shortname倉庫名稱 url倉庫位址

# 之後拉去或提交遠端**可以使用 shortname 替代 url

# 示例: git remote add origin

git remote rename origin myorigin 修改遠端倉庫名 / 修改遠端倉庫origin名為myorigin

git remote rm origin 移除遠端倉庫連線 / 移除origin遠端倉庫的連線

7. fetch (抓取)
git fetch [remote-name]		從遠端倉庫拉取所有你沒有的資料,但並不會與本地**合併
8. pull (拉取)
git pull [remote-name]

[branch-name] 拉取遠端更新到本地分支

# 示例: git pull origin master

9.push (推送)
git push [remote-name]

[branch-name] 推送本地提交的版本到遠端分支

# 示例: git push origin master

# 從你獲取遠端分支上的**(clone/pull)的時間直到你現在推送(push)的時間之內,

# 這期間沒有其他人向該遠端分支推送**,你的推送才能成功,否則,你需要先拉取再推送。

git push -u origin master 推送本地的master分支到origin遠端倉庫

# -u 表示指定origin為預設主機,後面就可以不加任何引數使用git push了

# 不帶任何引數的git push,預設只推送當前分支,這叫做******方式。此外,還有一種matching方式,會推送所有有對應的遠端分支的本地分支。git 2.0版本之前,預設採用matching方法,現在改為預設採用******方式。如果要修改這個設定,可以採用git config命令。

# 該命令推薦:

git push -f

強制推送

10. status (狀態)
git status 			命令用於檢視專案的當前狀態

git status -s 簡潔展示

11. diff (不同)
# 執行 git diff 來檢視執行 git status 的結果的詳細資訊。

# git diff 命令顯示已寫入快取與已修改但尚未寫入快取的改動的區別。git diff 有兩個主要的應用場景。

gitdiff 尚未快取的改動

gitdiff --cached 檢視已快取的改動

gitdiff head 檢視已快取的與未快取的所有改動

gitdiff --stat 顯示摘要而非整個 diff

12. reset (重置)
git reset head  			命令用於取消快取已快取的內容(取消暫存區的內容)

git reset --hard head 強制重置到本地最新版本(包括暫存區、及工作區內所有被跟蹤的檔案)

#注意:(如果工作區中有某個未被跟蹤的檔案於回退到的版本中有相同檔名的檔案,該檔案會被替換)

git reset ***xx(版本號)

git reset --hard ***xx

13. revert (撤銷)
git revert head		提交乙個新版本,撤銷最新版本提交的內容

git revert ***x 提交乙個新版本,撤銷指定版本提交的內容

# 以上命令如果當前版本是乙個merge版本,那麼撤銷會失敗,使用以下命令:

# 因為一般下merge是兩個版本(commit)的合併,直接使用上面的命令,系統不知道你要冊撤銷哪個

# 相當於乙個merge就有個父版本,而你在那個版本上進行merge的這個版本標號為1,你合併過來的版本標號為2

git revert -n -m 1 ***xx

# -n表示撤銷後不直接提交,-m後跟數字 1或2表示要撤銷到哪個parent commit,***xx表示merge的那個版本號

14. rm (移除)
git

rm filename 移除暫存區的檔案同時也會從磁碟上刪除

gitrm --cached 僅從暫存區移除

gitrm ***xx -r ***xx如果是資料夾名,加-r表示遞迴刪除

15. mv (移動)
git

mv 重新命名暫存區的檔案

16. log (日誌)
git log									列出歷史提交記錄

git log --oneline 簡潔列出歷史提交記錄

git log --oneline --graph graph開啟拓撲圖

git log --reverse --oneline reverse逆向顯示所有日誌

git log --author=user --oneline -5 author檢視指定使用者的提交的日誌 -5顯示·

? 官方文件…

? book…

Git 常用命令速查

記錄一下方面自己查詢 git branch 檢視本地所有分支 git status 檢視當前狀態 git commit 提交 git branch a 檢視所有的分支 git branch r 檢視遠端所有分支 git commit am init 提交並且加注釋 git remote add or...

Git 常用命令速查

git branch 檢視本地所有分支 git status 檢視當前狀態 git commit 提交 git branch a 檢視所有的分支 git branch r 檢視遠端所有分支 git commit am init 提交並且加注釋 git remote add origin git 19...

Git 常用命令速查

英文 含義master 預設開發分支 head 預設開發分支 origin 預設遠端版本庫 head head的父提交 注 此表引用自網際網路 2.修改和提交 3.檢視提交歷史 4.撤銷 5.分支與標籤 6.合併和衍合 7.遠端操作 1.1 轉殖遠端版本庫 git clone1.2 初始化本地版本庫...