配置用戶名及郵箱
在使用Git提交前,必須配置用戶名和郵箱,這些信息會永久保存到歷史記錄中。
git config --global user.name "xxxxxx"
git config --global user.email xxxxxx@qq.com
或者
git config user.name "xxxxxx"
git config user.email xxxxxx@qq.com
創建Git倉庫
可以直接調用git init初始化當前目錄,即創建Git倉庫。
獲得Git倉庫
如果需要克隆遠程倉庫,可以使用git clone,比如:
git clone https://git.oschina.net/Tocy/SampleCode.git
查看狀態: git status
可以添加文件或者目錄,也可以使用通配符。比如:
git add Readme.md # add file only
git add *.cpp # add all cpp files
git add /home/code/ # add all files in /home/code
查看當前目錄的所有修改: git diff --staged或git diff --cached查看staged與上次提交快照之間的區別。
提交: git commit
提交前需慎重。直接調用git commit會彈出編輯器,輸入提交日志(如果是多行日志,建議使用)。
針對單行日志提交的情況,可以使用如下命令:git commit -m "add readme"。
還有一種快捷的提交方式,直接跳過stage緩存區,直接提交當前目錄下的所有修改git commit -a(使用這個命令前建議確認下當前目錄的修改是否正確、必須)。
刪除: git rm
git rm會把文件從當前目錄刪除(不會保存刪除的文件)。如果需要從Git倉庫中刪除,但保留在當前工作目錄中,
亦即從跟蹤清單中刪除,可以使用git rm --cached readme.md
提交歷史查看: git log
可以使用git log查看當前工程的所有提交的日志。
git log --stat # 僅顯示摘要選項
git log --pretty=oneline # 定制記錄格式
git log --graph # 圖像化分支和版本更新
PS:來一個比較狠的角色, reset --hard
如果,你想清楚所有提交的歷史記錄,只保留第一次初始的提交,可以用下面命令:
git log 查看所有提交歷史記錄,找到最底下一條hash值,比如: 24b3404764050617de9496c8db49bf4a6d95707f
git reset --hard 24b3404764050617de9496c8db49bf4a6d95707f
最后,提交遠程庫:git push --force
遠程倉庫:
可以使用git remote查看當前的遠程庫。
git remote -v可以顯示對應的克隆地址。(對於多個遠程倉庫很有用)
添加遠程倉庫: git remote add [short_name] [url]可以添加新的遠程倉庫。
從遠程倉庫抓取數據: git fetch [remote-name]可以從遠程倉庫抓取數據到本地。也可以使用 git pull
推送數據到遠程倉庫: git push [remote_name] [branch_name]
默認使用origin和master。
查看遠程倉庫信息: git remote show origin
遠程倉庫的刪除和重命名(本地):
git remote rename [old_name] [new_name]
git remote rm [remote_name]
刪除遠程分之:
git branch -a 查看
git branch -r -d origin/branch-name 刪除本地分之
git push origin :branch-name 推送到遠程分之刪除
刪除本地分之:
git branch -d branch-name 刪除本地倉庫
打Tags:
可使用git tag顯示當前庫中的標簽。
添加標簽(含附注)
git tag -a v0.1 -m "my version 0.1"
使用如下命令查看Tag日志信息(指定對應標簽的名字)
git show v0.1
也可使用SHA-1的提交表示創建tag:
git tag -a v0.2 [SHA-1] -m "my version 0.2"
分享標簽
默認的,git push不會推送標簽信息到遠程倉庫,需要通過命令顯式推送。
git push origin v0.1
如果需要推送所有標簽,使用
git push origin --tags
Git分支:
git分支是輕量級的,速度很快,僅記錄索引信息。
顯示所有分支
使用git branch可顯示當前所有分支。
可以使用--merged和--no-merged查看已經合並、未合並的分支。
創建及切換分支
可以使用下面命令直接切換並創建分支
git checkout -b testing
等價於
$ git branch testing # 創建testing 分支
$ git checkout testing # 切換到testing分支
注意切換分支時請保持工作目錄沒有未提交的修改。Git鼓勵使用分支,處理完問題之后合並分支即可。
分支合並
將hotfix分支合並到master(主分支)上,需要通過下面命令:
$ git checkout master
$ git merge hotfix
合並之后可以使用git branch -d hotfix刪除分支。
如果合並時存在沖突,需要手工修改。
