Git實際使用

K戰神發表於2019-02-22

 

初始化

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