常用git命令

2022-03-13 16:22:42 字數 3539 閱讀 5177

常用git命令

git remote - 管理遠端分支

#只顯示遠端倉庫名

git remote

#使用-v 選項,可以看到遠端倉庫的**

git remote -v

#新增主機名,可以檢視遠端倉庫詳細資訊

git remote show origin

#用於新增遠端倉庫

git remote add 《倉庫名》 《**》

#修改倉庫名

git remote rename 《原倉庫名》 《新倉庫名》

#刪除倉庫

git remote rm 《主機名》

示例git pull/fetch - 拉取遠端倉庫最新改動

#取回遠端倉庫的所有更新

git fetch 《遠端倉庫》

#取回指定倉庫的指定分支

git fetch 《遠端倉庫》 《分支名》

git pull

git branch - 分支操作

#以當前分支為根基,建立新的分支,不會切換到新的分支

git branch 《新分支》

#以當前分支為根基,建立新分支並切換到新分支

git checkout -b 《新分支》

#檢視遠端分支

git branch -r

#檢視所有分支 * 代表當前所在分支

git branch -a

#如果刪除分支沒有合併到當前分支,刪除會失敗

#可以用git branch --merged和git branch --no-merged檢視

git branch -d 《分支名》

#強制刪除

git branch -d 《分支名》

#刪除遠端分支

git push origin --delete 《分支》 

合併合併有兩個命令可以使用,分別是git merge和git rebase

git merge - 合併

#把分支合併到當前分支

git merge 《被合併的分支》

#合併衝突解決

git add 《衝突的檔案》

git rebase - 變基

#把當前分支的根基變為新根基

git rebase 《新基》

#衝突git rebase --continue

#取出 client 分支,找出處於 client 分支和 server 分支的共同祖先之後的修改,然 後把它們在 master 分支上重演一遍

git rebase --onto master server client

示例比較

這兩個命令都是把分支合併到當前分支,只不過乙個是合併,乙個是首先變基再合併,變基使的提交歷史更加整潔。但是一般推薦使用git merge即可,防止帶來不必要的麻煩。

git merge是三方合併,如下例c2、c3、c4合併

git rebase是變換根基,就是把c2->c4的變更,在c3在應用一次,把c4的根基變為c3,然後移動master指標即可,所以更快,但是不要對在你的倉庫外有副本的分支執行變基

git diff - 檢視變更

# 工作區和暫存區的差異

git diff 《檔名》

#暫存區和本地倉庫的差異

git diff --cached 《檔名》

#工作區和本地倉庫的差異

git diff 《檔名》

#比較任意兩次提交的差異

git diff

示例

# 比較a.txt本地倉庫和工作目錄的差異

git diff head a.txt

# 比較head和head~2的提交差異

git diff head head~2 

git log - 檢視提交歷史

# -p,用來顯示每次提交的內容差異

# 加上 -2 ,只顯示最近的兩次提交

git log -p -2

#選項在每次提交的下面列出額所有被修改過的檔案、有多少檔案被修改了以及被修改 過的檔案的哪些行被移除或是新增了

git log --stat

#自定義輸出格式

git log --pretty=format

git log --pretty=format:"%h - %an, %ar : %s"

#輸出的sha-1值縮寫,並在一行輸出

git log --abbrev-commit --oneline

#根據提交者名字查詢

git log --author=huan.liu10

#根據日期過濾

git log --after="2014-7-1" --before="2014-7-4"

#根據提交資訊過濾

git log --grep=刪除

#根據檔案過濾,只顯示針對某個檔案改動的記錄

git log -- a.txt b.txt

#根據內容搜尋,檢視某個內容的變動記錄

git log -saaaaaaaaaaa --oneline

引用日誌,可以檢視所有提交歷史,包括刪除的,可以用來恢復

git reflog

git show - 檢視提交詳細內容

# 顯示head的提交日誌

git show head

# 顯示head上乙個版本提交的日誌

git show head^

git commit - 提交

#合併上一次提交或者重新編輯上一次提交,只有一次提交記錄

git commit --amend

git reset - 恢復/撤銷

#撤銷commit,從本地倉庫到暫存區,不會丟失資料

git reset --soft #撤銷暫存區,從暫存區到工作目錄,不會丟失資料

git reset 《檔名》

#撤銷commit,從本地倉庫到工作目錄,會丟失資料,如果想恢復丟失commit,使用git reflog

git reset --hard

git checkout - 切換分支/撤銷修改

#切換分支

git checkout

#使用本地倉庫的檔案內容覆蓋工作目錄內容,也就是撤銷對檔案修改

git checkout -- 《檔名》

git stash - 暫存

當不得不切到另外乙個分支,但是又不想提交時使用

# 暫存工作目錄和暫存區

git stash

#檢視暫存列表

git stash list

#不會刪除暫存記錄

#會刪除暫存記錄

git stash pop --index

常用Git命令

下面是我在開發中常用的git命令 1.配置git git config global add user.email git config global add user.name 2.建立新的專案 git init git add git commit a m git remote add orig...

常用Git命令

附上一些git的常見命令 gitremote add origin git github.com myaccount myproject.git git push u origin master gitinit 建立repository git 命令 help 檢視幫助命令 touchfilenam...

常用Git命令

建立管理倉庫 git initadd和commit git add readme.txt git commit m wrote a readme file 簡略版log git log pretty oneline abbrev commit當前狀態 git status撤銷更改 git check...