常用的git 命令總結

2021-09-07 19:33:58 字數 3692 閱讀 5933

檢視、新增、提交、刪除、找回,重置修改檔案

git add # 將工作檔案修改提交到本地暫存區

git add . # 將所有修改過的工作檔案提交暫存區

git revert <$id> # 恢復某次提交的狀態,恢復動作本身也建立次提交物件

git revert head # 恢復最後一次提交的狀態

檢視提交記錄

git log git log # 檢視該檔案每次提交記錄

git log -p # 檢視每次詳細修改內容的diff

git log -p -2 # 檢視最近兩次詳細修改內容的diff

git log --stat #檢視提交統計資訊

clone指定分支命令

git clone -b

《分支管理》

建立分支:

git branch branchname

拉取遠端分支並建立本地分支

git checkout -b 本地分支名x origin/遠端分支名x

把分支推到遠端分支:

git push origin branchname

git push -u origin branchname# 將本地主分支推到遠端(如無遠端主分支則建立,用於初    始化遠端倉庫)

$ git checkout -b [branch]

$ git branch --set-upstream 

$ git push -u origin

檢視分支: 

git branch <-a>

切換分支: 

git checkout branchname

合併分支: 

(快速合併,合併指定分支到當前分支)git merge branchname 

(普通合併) git merge --on-ff -m "msg" branchname

分支push**:

git push   push所有分支

刪除分支:

git branch -d branchname

刪除遠端分支:

git push origin --delete

從遠端轉殖某個分支:

將本地修改儲存起來:

git stash

可以看到儲存的資訊:

git stash list

還原暫存的內容:

git stash pop stash@

清楚.iml檔案的快取,過濾掉iml檔案不提交

git rm -r --cached .  

git add .  

git commit -m "update .gitignore'"

git branch # 列出目前有多少branch

git branch new-branch # 產生新的branch (名稱: new-branch), 若沒有特別指定, 會由目前所在的branch / master 直接複製乙份.

git branch new-branch master # 由master 產生新的branch(new-branch)

git branch new-branch v1 # 由tag(v1) 產生新的branch(new-branch)

git branch -d new-branch # 刪除new-branch

git branch -d new-branch # 強制刪除new-branch

git checkout -b new-branch test # 產生新的branch, 並同時切換過去new-branch

git push origin 本地分支名:遠端分支名

# 與remote repository 有關

git branch -r # 列出所有repository branch

git branch -a # 列出所有branch

tag 操作

先 git clone 整個倉庫,然後 git checkout tag_name 就可以取得 tag 對應的**了。

但是這時候 git 可能會提示你當前處於乙個「detached head" 狀態,因為 tag 相當於是乙個快照,是不能更改它的**的,如果要在 tag **的基礎上做修改,你需要乙個分支:

git checkout -b branch_name tag_name

這樣會從 tag 建立乙個分支,然後就和普通的 git 操作一樣了。

tag 分享標籤

預設情況下,git push 並不會把標籤傳送到遠端伺服器上,只有通過顯式命令才能分享標籤到遠端倉庫。其命令格式如同推送分支,執行git push origin [tagname] 即可:

$ git push origin v1.5.0

如果要一次推送所有本地新增的標籤上去,可以使用 --tags 選項:

$ git push origin --tags

1:打 tag 標籤

git tag -a v1.0 -m 「commit version 1.0「

加上 -f 覆蓋原有的tag 

git tag -f v1.0

2:push 到遠端倉庫

push所有tag到遠端倉庫:git push origin –tags (注意tags前是兩個短橫槓)

push單個tag到遠端倉庫:git push origin [tagname]

3:刪除 tag 便簽

git tag -d v1.0

4:檢視 tag 標籤

git tag

5:切換標籤

git checkout v1.0

如果回退到某個版本

切換到,master

git reset --hard efdec9d3d07bc26bf42cf5d6126e00f4f2922b3a

切換到master分支

git reset —hard ***

git branch 分支名

git checkout 分支名

git push origin 分支名

切換到master分支

git reset --hard origin/master

比如多個oem 分支同步提交的**

1 首先先提交a 分支的**

2 git reset --soft head~1

3 切換到b分支上; 這時候; 會把a分支修改的**; 帶到b 分支上 修改提交;即可

4 切換a 更新一下**; 否會顯示你一直未提交**

git檢視某個檔案的修改歷史

1. git log filename

可以看到filename相關的commit記錄

2. git log -p filename

可以顯示每次提交的diff

3. 只看某次提交中的某個檔案變化,可以直接加上filename

git show c5e69804bbd9725b5dece57f8cbece4a96b9f80b filename

如果修復git 忽略不生效的問題

.gitignore只能忽略那些原來沒有被track的檔案,如果某些檔案已經被納入了版本管理中,則修改.gitignore是無效的。解決方法就是先把本地快取刪除(改變成未track狀態),然後再提交:

git rm -r --cached .

git add .

git commit -m 'update gitignore'

常用的Git命令總結

刪除無用分支 git branch d 或者強制刪除分支git branch d 修改最新commit的msg資訊git commit amend修改老舊commit的msg,變基操作 修改本地分支,若已提交至遠端倉庫不建議此操作 git rebase i 要變更版本號的父親版本號 將多個連續com...

常用Git命令總結

檢視 新增 提交 刪除 找回,重置修改檔案 git help 顯示command的help git show 顯示某次提交的內容 git show id git co 拋棄工作區修改 git co 拋棄工作區修改 git add 將工作檔案修改提交到本地暫存區 git add 將所有修改過的工作檔案...

常用git命令總結

使用git,總結了一些常用git命令放在這裡,供以後查詢使用。1,檔案的三種狀態 已提交 cmmitted 該檔案已經被安全的儲存到本地資料庫中了 已修改 modified 該檔案被修改了,但是還沒有提交儲存 已暫存 staged 把已經修改的檔案放在下次提交時要儲存的清單中 git config ...