初始化
git init
— cd到目錄,初始化倉庫
git init name
— 新建檔案,並初始化倉庫
.gitignore
— 忽略檔案(https://github.com/github/gitignore)
git config —global credential helper store
— 記錄提交的密碼進行快取
------------------------------------------------------------------------------------------------------------
遠端倉庫
git remote -v
-- 檢視所有遠端倉庫
git remote
--
------------------------------------------------------------------------------------------------------------
重新命名
git mv oldname newname
— 重新命名檔案
mv oldname newname
git add .
— 重新命名檔案 ,新增至暫存區
------------------------------------------------------------------------------------------------------------
日誌
git log --all
— 所有分支日誌
git log -p -2 dev
— dev 分支最新提交日誌 對比資訊
git log --stat
— 簡要資訊
git log --pretty=oneline
— 顯示成一行
git log -n4
— 當前分支就近的4個
git log --all -n4
— 所有分支的就近的4個
git log -n4 dev
— dev 分支下的就近4個
git log --oneline
— 簡潔日誌
git log --graph
— 圖形化入日誌
gitk
— 圖形化工具
------------------------------------------------------------------------------------------------------------
暫存區
git add 檔案
— 檔案新增至快取區
git add .
— 新建的檔案、修改的檔案、刪除的檔案,新增至快取區
git add -u
— 將已跟蹤的檔案(修改、刪除),新增至快取區
git add -A
git add -all
git add -a
— 新建的檔案、修改的檔案、刪除的檔案,新增至快取區
------------------------------------------------------------------------------------------------------------
分支
git branch -a
— 檢視本地分支情況,遠端分支情況
git branch -av
— 檢視本地分支 以及相互關係
git checkout branchName
— 切換分支
git checkout -b newBranch
— 從當前本地分支 建立分支,並切換到新分支
— 複製當前分支,命名為 newBranch
git checkout -b newBranch otigin/branch
— 從遠端分支檢出到新分支
git branch -d <branchname>
— 刪除分支
git branch -D <branchname>
— 強制刪除分支
git ls-remote
— 遠端分支資訊
------------------------------------------------------------------------------------------------------------
提交
git commit -m "備註"
— 提交到待推送區域
git commit -am "備註"
— 新增到暫存區,並提交到待推送區域
git commit --amend
— 修改當前分支,最近一次提交的備註
------------------------------------------------------------------------------------------------------------
比較
git diff --catch
— 暫存區 和 HEAD比較
gti diff
— 工作區 和 暫存區 比較
git diff HEAD
— 工作區 和 HEAD比較
------------------------------------------------------------------------------------------------------------
撤銷
git reset --hard
— 暫存區、工作區 恢復成 HEAD
git reset --hard 23ur9wi
— HEAD 指向這個commit,同時 快取區、工作區內容也恢復到這個commit
git reset HEAD
— 快取區與HEAD一樣
git checkout .
— 工作區 與 快取區一樣
git checkout HEAD .
— 工作區、快取區 和 HEAD一樣
git checkout HEAD <filename>
— 檢出當前分支提交的最新版本
— 覆蓋 暫存區,即撤銷暫存區
— 覆蓋 工作區,撤銷修改
------------------------------------------------------------------------------------------------------------
刪除
git rm 檔案 --hard HEAD
— 刪除檔案,工作區和快取區恢復到HEAD
git rm --cached <firename>
— 刪除 已提交的跟蹤檔案
------------------------------------------------------------------------------------------------------------
打標籤
------------------------------------------------------------------------------------------------------------
分離頭指標
根據某一個 commit 檢出
現在就處於分離頭指標的情況下,HEAD -> commit