參考地址 : 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 協議》,轉載必須註明作者和本文連結