Git常用命令整理

2021-10-13 09:30:54 字數 4532 閱讀 8343

一、配置git

# 配置提交**時的使用者資訊 (--global:全域性配置)

$ git config --global user.name "使用者名稱"

$ git config --global user.password "密碼"

$ git config --global user.email "郵箱"

# 檢視當前git配置

$ git config --list

二、初始化本地倉庫
$ git init
三、檔案的增、刪、改、查

1、增加

# 把指定檔案新增到暫存區

$ git add ***

# 把當前所有已編輯檔案新增到暫存區

$ git add .

2、刪除
# 刪除暫存區或分支上的檔案, 同時工作區也不需要這個檔案

1 git

rm file_path

# 刪除暫存區或分支上的檔案, 但本地又需要使用, 只是不希望這個檔案被版本控制

gitrm --cached file_path

3、修改
# 改名檔案,並且將這個改名放入暫存區 (-f:強制)

gitmv -f [檔名]

[新檔名]

4、檢視
# 顯示有變更的檔案

$ git status

# 顯示當前分支的版本歷史

$ git log

# 顯示commit歷史,以及每次commit發生變更的檔案

$ git log --stat

$ git log -s [關鍵字]

# 顯示某個檔案的版本歷史,包括檔案改名

$ git log --follow [檔名]

# 顯示指定檔案相關的每一次diff

$ git log -p [檔名]

# 顯示過去5次提交

$ git log -5 --pretty --oneline

# 顯示所有提交過的使用者,按提交次數排序

$ git shortlog -sn

# 顯示指定檔案是什麼人在什麼時間修改過

$ git blame [檔案]

# 顯示暫存區和工作區的差異

$ git

diff

# 顯示暫存區和上乙個commit的差異

$ git

diff --cached [檔案]

# 顯示工作區與當前分支最新commit之間的差異

$ git

diff head

# 檢視某次commit中具體某個檔案的修改

$ git show commitid [檔名]

四、分支的增、刪、查、合、解衝突

1、新增

# 新建乙個分支,但依然停留在當前分支

$ git branch [分支名稱]

# 新建乙個分支,並切換到該分支

$ git checkout -b [分支名稱]

$ git switch -c [分支名稱]

# 新建乙個分支,與指定的遠端分支建立追蹤關係

$ git branch --track [分支名稱]

[遠端分支]

2、刪除
# 刪除本地分支 (-d)為強制刪除

$ git branch -d [分支名稱]

# 刪除遠端分支 (慎用)

$ git push origin --delete [分支名稱]

3、檢視
# 列出所有本地分支

$ git branch

# 列出所有遠端分支

$ git branch -r

# 列出所有本地分支和遠端分支

$ git branch -a

4、合併
# 合併某分支到當前分支

$ git merge 分支名

5、解衝突
# 1.先本地直接提交**:

$ git push origin master

# 2.如果別人在自己之前提交了修改,git會提示push失敗,需要pull遠端**:

$ git pull origin/master

# 3.如果能自動合併,git會提示auto merge成功,這時可以直接提交**

$ git push origin master

# 4.如果不能自動merge,git會提示auto merge失敗,需要手動解決衝突,解決方法如下:

# 檢視衝突。

$ git status

# 修改衝突

# 衝突標記說明:

# <<<<<<<<<<<<

# 自己修改的內容

# **********==

# 別人修改的內容

# >>>>>>>>>>>>

#只要在協商後刪掉乙個並將衝突的標示符刪除就可以了。但是有時候會有警告在這個類上面,merge conflict:file still marked as conflicted git。

# 消除警告

$ git add -u

# 新增檔案到暫存區

git add .

# 提交並新增注釋

git commit -m '備註'

git push origin master

五、遠端同步

$ git fetch [遠端倉庫]

# 顯示所有遠端倉庫

$ git remote -v

# 顯示某個遠端倉庫的資訊

$ git remote show [遠端倉庫]

# 增加乙個新的遠端倉庫,並命名

$ git remote add [名稱]

[url]

# 取回遠端倉庫的變化,並與本地分支合併

$ git pull [遠端倉庫]

[分支]

# 上傳本地指定分支到遠端倉庫

$ git push [遠端倉庫]

[分支]

# 強行推送當前分支到遠端倉庫,即使有衝突

$ git push [遠端倉庫] --force

# 推送所有分支到遠端倉庫

$ git push [遠端倉庫] --all

六、撤銷

# 恢復暫存區的指定檔案到工作區

$ git checkout [檔案]

# 恢復暫存區的所有檔案到工作區

$ git checkout .

# 重置暫存區的指定檔案,與上一次commit保持一致,但工作區不變

$ git reset [檔案]

# 重置暫存區與工作區,與上一次commit保持一致

$ git reset --hard

# 重置當前分支的指標為指定commit,同時重置暫存區,但工作區不變

$ git reset [commit]

# 重置當前分支的head為指定commit,同時重置暫存區和工作區,與指定commit一致

$ git reset --hard [commit]

# 重置當前head為指定commit,但保持暫存區和工作區不變

$ git reset --keep [commit]

# 新建乙個commit,用來撤銷指定commit

# 後者的所有變化都將被前者抵消,並且應用到當前分支

$ git revert [commit]

# 暫時將未提交的變化移除,稍後再移入

$ git stash

$ git stash pop

七、提交
# 提交暫存區到倉庫區

$ git commit -m '備註'

# 提交暫存區的指定檔案到倉庫區

$ git commit '檔案1'

'檔案2'

... -m '備註'

# 提交工作區自上次commit之後的變化,直接到倉庫區

$ git commit -a

# 提交時顯示所有diff資訊

$ git commit -v

# 將add和commit合為一步

$ git commit -am '備註'

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

# 如果**沒有任何新變化,則用來改寫上一次commit的提交資訊

$ git commit --amend -m '備註'

# 重做上一次commit,幷包括指定檔案的新變化

$ git commit --amend '檔案1'

'檔案2'

...

最後附上一張個人感覺很棒的腦圖?

加油!奧力給 ~

Git 常用命令整理

最近在公司的伺服器上安裝了git sever,開始從svn轉向到git了,整理了一些在git常用的命令 初始化乙個版本倉庫 git init clone遠端版本庫 git clone git xbc.me wordpress.git 新增遠端版本庫origin,語法為 git remote add ...

Git 常用命令整理

初始化乙個版本倉庫 git init clone遠端版本庫 git clone git xbc.me wordpress.git 新增遠端版本庫origin,語法為 git remote add shortname url git remote add origin git xbc.me wordp...

Git常用命令整理

雖然git現在也有ui了,但是一些常用的命令了解總是有好處的,沒準什麼時候就用上了呢 git config global user.name your name git config global user.email your email 2.git bash下操作資料夾跟dos是一樣的 如建立資...