Git 快速操作

我的bug寫的太好了發表於2018-11-15

參考地址 : https://progit.bootcss.com/


設定使用者 ( 設定獨立專案使用者 應去掉 --global )

$ git config --global user.name "John Doe"
$ git config --global user.email johndoe@example.com

檢查配置資訊 ( 包括重複的配置資訊 )

$ git config --list
$ git config  user.name

初始化倉庫

$ git init 

克隆倉庫

$ git clone https://github.com/libgit2/libgit2 demo

檢查檔案當前狀態 ( 左M 修改檔案, A 新檔案, ?? 未跟蹤檔案, )

$ git status 
$ git status -s

跟蹤檔案 ( 提交到暫存區 )

$ git add -A
$ git add *.html    

忽略檔案 ( 在模板前加上 ! 號取反, 以#開頭會被Git忽略 )

$ cat  .gitignore
# no .a files ( 忽略 )
! lib.a
build/ 

檢視已暫存和未暫存的修改

$ git diff
$ git diff --staged   ( 檢視已暫存的將要新增到下次提交裡的內容 )

提交更新

$ git commit -m "Story 182: Fix benchmarks for speed"
$ git commit -a   ( 跳過暫存區域, 直接提交 )

移除檔案 ( 移除暫存區檔案 )

$ git rm -f PROJECTS.md    ( 並刪除檔案 )
$ git rm --cached README  ( 保留工作區檔案 )
$ git reset HEAD CONTRIBUTING.md

移動檔案 (重新命名)

$ mv README.md  README

檢視提交歷史 (%h:簡短雜湊 %an:作者名稱 %ar:提交日期 %s:提交說明)

$ git log
$ git log  -p  -2  ( 檢視提交差異 )
$ git log --stat   ( 簡略性檢視檔案 )
$ git log --pretty=format:"%h - %an, %ar : %s"    ( 按格式列印 )

撤消操作 ( 編輯後儲存會覆蓋原來的提交資訊 )

$ git commit -m 'initial commit'
$ git add forgotten_file
$ git commit --amend

暫存區回退到工作區

$ git reset .

撤銷對檔案的修改 ( 撤回到上一次版本檔案的樣子 )[ 未暫存的檔案]

$ git checkout CONTRIBUTING.md

生成sshkey

$ ssh-keygen

檢視遠端倉庫

$ git remote -v 
$ git remote show origin    ( 檢視遠端倉庫預設分支 ) 

新增遠端倉庫

$ git remote add origin https://gitee.com/ZHOUXINJING/demo.git

遠端倉庫重新命名 與 移除

$git remote rename origin db
$git remote rm origin

打標籤 ( 提交之後打標籤 )

$ git tag -a v1.4 -m 'my version 1.4'

後期打標籤

$ git tag -a v1.2 9fceb02 [ 雜湊值 ]

標籤推送到遠端伺服器上

$ git push origin v1.5
$ git push origin --tags    [ 全部標籤 ]

Git別名

$ git config --global alias.ci commit
$ git config --global alias.st status

建立分支

$ git branch testing

切換分支 ( 在切換分支時,一定要注意你工作目錄裡的檔案會被改變 )

$ git checkout testing

建立分支 並 切換分支 ( 最好切換分支之前,保持好一個乾淨的狀態 )

$ git checkout -b testing

合併分支

$ git merge testing

變基合併分支 ( 提交到某一分支上的所有修改都移至另一分支上 )

$ git rebase master [ 分支名 ]

變基合併過濾 ( 將 client 中的修改合併到主分支併發布,但暫時並不想合併 server 中的修改 )

$ git rebase --onto master server client

檢視分支

$ git branch -vv

刪除分支

$ git branch -D testing

推送到遠端分支

$ git push origin testing1:testing2   [本地分支名 :遠端分支名]

刪除遠端分支

$ git push origin --delete testing

匿藏

$ git stash

檢視匿藏列表

$ git stash list

匿藏移動到工作區

git stash pop
本作品採用《CC 協議》,轉載必須註明作者和本文連結