名詞
一、新建倉庫
#當前目錄新建乙個git倉庫
git init
#新建乙個目錄,將其初始化為git倉庫
git init [project-name]
#轉殖遠端倉庫到本地
git clone [url]
二、配置
git的設定檔案為.gitconfig,它可以在使用者主目錄下,可以在在專案目錄下。
#顯示當前git配置
git config --list
編輯git的配置檔案
git config -e [--global]
#設定提交**時的使用者資訊
git config [--global] user.name "admin"
git config [--global] user.email "admin@***.com"
三、增加/刪除/修改檔案
#檢視狀態
git status
#檢視變更內容
git diff
#新增制定檔案到暫存區
git add [file1] [file2]
#新增制定目錄到暫存區,包括子目錄
git add [dir]
#新增當前目錄所有檔案到暫存區
git add .
#新增每個變化前,都會要求確認,對於懂乙個檔案到多處變化,可以實現分次提交
git add -p
#刪除工作區檔案,並且將這次刪除放入暫存區
git rm [file1] [file2]
#停止追蹤指定檔案,並且將這次刪除放入暫存區
git rm --cached [file]
#改名檔案,並且將這個改名放入暫存區
git mv [file-original] [file-renamed]
四、提交**
#提交暫存區到本地倉庫中
git commit -m [message]
#提交暫群區到一些檔案到本地倉庫中
git commit [file1] [file2] [file3] ... -m [message]
#提交工作區自上次commit之後到變化,直接到本地倉庫
git commit -a
#提交時候顯示所有diff
git commit -v
#使用一次新的commit,代替上一次提交,如果**沒有任何新變化,則用來寫上一次commit的提交資訊
git commit --amend -m [message]
#重做上一次commit,幷包括指定檔案的新變化
git commit --amend [file1] [file2] ...
五、分支
#顯示本地所有分支
git branch
#列出所有遠端分支
git branch -r
#列出所有本地分支和遠端分支
git branch -a
#新建乙個分支,但是依然停留在當前分支
git branch [branch-name]
#新建乙個分支,與指定的遠端分支建立追蹤關係
git branch --track [branch] [remote-branch]
#刪除分支
git branch -d [branch-name]
#刪除遠端分支
git push origin --delete [branch-name]
git branch -dr [remote/branch]
#新建乙個分支,並且切換到該分支
git checkout -b [branch]
#切換到指定分支,並更新工作區
git checkout [branch-name]
#切換到上乙個分支
git checkout -
#建立追蹤關係,在現有分支與指定到遠端分支之間
git branch --set-upstream [branch] [remote-branch]
#合併指定分支到當前分支
git merge [branch]
#選擇乙個commit,合併到當前分支
git cherry-pick [commit]
六、標籤
#列出所有本地標籤
git tag
#基於最新提交建立標籤
git tag
#刪除標籤
git tag -d
#刪除遠端tag
git push origin :refs/tags/[tag-name]
#檢視tag資訊
git show [tag]
#提交指定tag
git push [remote] [tag]
#提交所有tag
git push [remote] --tags
#新建乙個分支,指向某個tag
git checkout -b [branch] [tag]
七、檢視資訊
#顯示有變更到檔案
git status
#顯示當前分支到版本歷史
git log
#顯示commit提交的歷史,以及每次commit發生變更的檔案
git log --stat
git log -s [keyword]
#顯示某個commit之後的所有變動,每個commit佔據一行
git log [tag] head --pretty=format:%s
#顯示指定檔案相關的每一次diff
git log -p [file]
# 顯示過去5次提交
git log -5 --pretty --oneline
#顯示所有提交過的使用者,按提交次數排序
git shortlog -sn
#顯示指定檔案是什麼人在什麼時間修改過
git blame [file]
#顯示暫存區和工作區的差異
git diff
#顯示暫存區和上乙個commit的差異
git diff --cached [file]
#顯示工作區與當前分支最新提交commit之間的差異
git diff head
#顯示兩次提交之間的差異
git diff [first-branch] [secod-branch]
#顯示你今天寫了多少**
git diff --shortstat "@"
#顯示某次提交的元資料和內容變化
git show [commit]
#顯示某次提交發生的變化的檔案
git show --name-only [commit]
#顯示當前分支的最近幾次提交
git reflog
八、遠端操作
#現在遠端倉庫的所有變動
git fetch
#取回遠端倉庫的變化,並與本地分支合併
git pull [remote] [branch]
#顯示所有遠端倉庫
git remote -v
#顯示某個遠端倉庫的資訊
git remote show [remote]
#增加乙個遠端倉庫,並命名
git remote add [shortname] [url]
#上傳本地指定分支到遠端倉庫
git push [remote] [branch]
# 強行推送當前分支到遠端倉庫,即使有衝突
git push [remote] --force
#推送所有分支到遠端倉庫
git push [remote] --all
#刪除遠端分支或者標籤
git push :
#上傳所有標籤
git push --tags
九、撤銷
#撤銷工作目錄中所有未提交檔案的修改內容
git reset --hard head
#撤銷指定的未提交檔案的修改內容
git checkout head
#撤銷指定的提交
git revert
#退回到之前1天到版本
git log --before="1 days"
#恢復暫存區到指定檔案到工作區
git checkout [files]
#恢復某個commit到指定檔案到暫存區和工作去
git checkout [commit] [file]
#恢復暫存區到所有檔案到工作區
git checkout .
#重置暫存區到指定檔案,與上一次commit保持一致,但工作區不變
git reset [file]
#重置暫存區與工作區,與上一次commit保持一致
git reset --hard
#重置當前分支為指定但commit,同時重置暫存區,但工作區不變
git reset [commit]
#重置當前分支為指定但commit,同時重置暫存區和工作區,與指定commit一致
git reset --hard [commit]
#重置當前head為指定commit,但保持暫存區和工作區不變
git reset --keep [commit]
#新建乙個commit,用來撤銷指定commit,後者但所有變化都將被前者抵消,並且應用到當前分支
git resvert [commit]
#暫時將未提交到變化移除,稍後在移入
git stash
git stash pop
git常用命令速查表
記錄一下常用的 git 命令 遠端已有 remote branch 分支並且已經關聯本地分支 local branch 且本地已經切換到 local branchgit push 遠端已有 remote branch 分支但未關聯本地分支 local branch 且本地已經切換到 local br...
Git常用命令速查表
master 預設開發分支 head 預設開發分支 origin 預設遠端版本庫 head head的父提交 git clone 轉殖遠端版本庫 git init 初始化本地版本庫 git status 檢視狀態 git diff 檢視變更內容 git add 跟蹤所有改動過的檔案 git add ...
Git 常用命令速查表
名稱 屬性master 預設開發分支 origin 預設遠端版本庫 命令屬性 git clone url 轉殖遠端版本庫 git init 初始化本地版本庫 命令屬性 git status 檢視狀態 git diff 檢視變更內容 git add 跟蹤所有改動過的檔案 git add file 跟蹤...