Git 常用命令
阿新 • • 發佈:2020-07-17
原文地址:https://blog.spiritling.cn/posts/5fddf106/
配置操作
全域性配置
git config --global user.name '你的名字'
git config --global user.email '你的郵箱'
當前倉庫配置
git config --local user.name '你的名字'
git config --local user.email '你的郵箱'
檢視 global 配置
git config --global --list
檢視當前倉庫配置
git config --local --list複製程式碼
刪除 global 配置
git config -unset --global 要刪除的配置項
刪除當前倉庫配置
git config --unset --local 要刪除的配置項
本地操作
檢視變更情況
git status
將當前目錄及其子目錄下所有變更都加入到暫存區
git add .
將倉庫內所有變更都加入到暫存區
git add -A
將指定檔案新增到暫存區
git add 檔案1 檔案2 檔案3
比較工作區和暫存區的所有差異
git diff
比較某檔案工作區和暫存區的差異
git diff 檔案
比較暫存區和 HEAD 的所有差異
git diff --cached
比較某檔案暫存區和 HEAD 的差異
git diff -cached 檔案
比較某檔案工作區和 HEAD 的差異
git diff HEAD 檔案
建立 commit
git commit
將工作區指定檔案恢復成和暫存區一致
git checkout 檔案1 檔案2 檔案3
將暫存區指定檔案恢復成和 HEAD 一致
git reset 檔案1 檔案2 檔案3
將暫存區和工作區所有檔案恢復成和 HEAD 一樣
git reset --hard
用 difftool 比較任意兩個 commit 的差異
git difftool 提交1 提交2
檢視哪些檔案沒被 Git 管控
git ls-files --others
將未處理完的變更先儲存到 stash 中
git stash
臨時任務處理完後繼續之前的工作
-
pop 不保留 stash
-
apply 保留 stash
git stash pop
git stash apply
檢視所有 stash
git stash list
取回某次 stash 的變更
git stash pop stash@{數字n}
優雅修改最後一次 commit
git add.
git commit --amend
分支操作
檢視當前工作分支及本地分支
git branch -v
檢視本地和遠端分支
git branch -av
檢視遠端分支
git branch -rv
切換到指定分支
git checkout 指定分支
基於當前分支建立新分支
git branch 新分支
基於指定分支建立新分支
git branch 新分支 指定分支
基於某個 commit 建立分支
git branch 新分支 某個 commit 的 id
建立並切換到該分支
git checkout -b 新分支
安全刪除本地某分支
git branch -d 要刪除的分支
強行刪除本地某分支
git branch -D 要刪除的分支
刪除已合併到 master 分支的所有本地分支
git branch --merged master | grep -v '^\*\| master' | xargs -n 1 git branch -d
刪除遠端 origin 已不存在的所有本地分支
git remote prune orign
將 A 分支合入到當前分支中且為 merge 建立 commit
git merge A分支
將 A 分支合入到 B 分支中且為 merge 建立 commit
git merge A分支 B分支
將當前分支基於 B 分支做 rebase,以便將B分支合入到當前分支
git rebase B分支
將 A 分支基於 B 分支做 rebase,以便將 B 分支合入到 A 分支
git rebase B分支 A分支
變更歷史
當前分支各個 commit 用一行顯示
git log --oneline
顯示就近的 n 個 commit
git log -n
用圖示顯示所有分支的歷史
git log --oneline --graph --all
檢視涉及到某檔案變更的所有 commit
git log 檔案
某檔案各行最後修改對應的 commit 以及作者
git blame 檔案
標籤操作
檢視已有標籤
git tag
新建標籤
git tag v1.0
新建帶備註標籤
git tag -a v1.0 -m '前端食堂'
給指定的 commit 打標籤
git tag v1.0 commitid
推送一個本地標籤
git push origin v1.0
推送全部未推送過的本地標籤
git push origin --tags
刪除一個本地標籤
git tag -d v1.0
刪除一個遠端標籤
git push origin :refs/tags/v1.0
遠端互動
檢視所有遠端倉庫
git remote -v
新增遠端倉庫
git remote add url
刪除遠端倉庫
git remote remove remote的名稱
重新命名遠端倉庫
git remote rename 舊名稱 新名稱
將遠端所有分支和標籤的變更都拉到本地
git fetch remote
把遠端分支的變更拉到本地,且 merge 到本地分支
git pull origin 分支名
將本地分支 push 到遠端
git push origin 分支名
刪除遠端分支
git push remote --delete 遠端分支名
git push remote :遠端分支名