關(guān)于git的介紹和更詳細(xì)的使用,請前往 Git教程 - 廖雪峰的官方網(wǎng)站 進(jìn)行閱讀貌踏,本文只是將常用的命令做個總結(jié)捕捂,以備不時之需。
1. git配置
1.1 用戶名和郵箱
$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"
以上命令表示所有的倉庫都使用相同的用戶名和郵箱春霍,輸入如下命令可獲取全局配置的用戶名和郵箱:
$ git config --global user.name
$ git config --global user.email
如果想對某個倉庫使用專門的用戶名和郵箱砸西,去掉--global
即可,在相應(yīng)的倉庫下輸入如下命令:
$ git config user.name "Your Name"
$ git config user.email "email@example.com"
同理址儒,輸入如下命令可獲取單獨(dú)配置的用戶名和郵箱:
$ git config user.name
$ git config user.email
1.2 SSH Key
本地倉庫和遠(yuǎn)程倉庫的傳輸可以通過SSH協(xié)議籍胯,所以需要配置SSH Key。
$ cd ~/.ssh
$ ls
config id_rsa id_rsa.pub known_hosts
如果存在.ssh
目錄离福,且該目錄下存在id_rsa
和id_rsa.pub
兩個文件,說明已創(chuàng)建SSH Key炼蛤,否則需要輸入以下命令來創(chuàng)建:
$ cd ~
$ ssh-keygen -t rsa -C "youremail@example.com"
你需要把郵件地址換成你自己的郵件地址妖爷,然后一路回車,使用默認(rèn)值即可,由于這個Key也不是用于軍事目的絮识,所以也無需設(shè)置密碼绿聘。
如果一切順利的話,可以看到.ssh
目錄次舌,且該目錄下存在id_rsa
和id_rsa.pub
兩個文件熄攘,通過cat id_rsa.pub
命令打開id_rsa.pub
文件,并將里面所有的內(nèi)容復(fù)制粘貼到GitHub等倉庫托管網(wǎng)站上的SSH Key里的Key文本框中彼念,SSH協(xié)議已經(jīng)配置完成挪圾。
2. 倉庫管理
git init
:初始化本地倉庫
git status
:查看工作區(qū)的狀態(tài)
git diff <file>
:查看file文件的改動
git log
:查看提交歷史
git log --pretty=oneline
:以一行的內(nèi)容來顯示提交歷史
git reflog
:查看所有的命令歷史
git checkout -- <file>
:撤銷工作區(qū)內(nèi)file文件的改動
git checkout .
:撤銷工作區(qū)內(nèi)所有文件的改動
git add <file>
:添加工作區(qū)內(nèi)修改的file文件到暫存區(qū)
git add .
:添加工作區(qū)內(nèi)所有修改的文件到暫存區(qū)
git reset HEAD <file>
:將暫存區(qū)的file文件撤回至工作區(qū)
git reset HEAD .
:將暫存區(qū)的所有文件撤回至工作區(qū)
git rm <file>
:當(dāng)刪除文件,輸入git status
會提示有文件刪除逐沙,此時輸入該命令刪除倉庫文件
git commit -m 'commit message'
:將暫存區(qū)的內(nèi)容提交到本地倉庫哲思,提交信息為commit message
git commit --amend
:追加到最后一次提交
git pull
:從遠(yuǎn)程倉庫拉取所有分支的代碼
git pull origin master
:從遠(yuǎn)程倉庫拉取master分支的代碼,master可改為正在工作的公共分支吩案,如dev分支
git push origin master
:推送本地倉庫到遠(yuǎn)程倉庫的master分支棚赔,master可改為正在工作的公共分支,如dev分支
git remote add origin <遠(yuǎn)程倉庫ssh地址>
:本地倉庫關(guān)聯(lián)遠(yuǎn)程倉庫
git push -u origin master
:把本地庫的所有內(nèi)容推送到遠(yuǎn)程庫上(第一次推送需要添加-u
徘郭,目的是把本地的master
分支和遠(yuǎn)程的master
分支關(guān)聯(lián)起來)
git clone <遠(yuǎn)程倉庫ssh地址>
:克隆遠(yuǎn)程庫到本地
3. 分支管理
git branch
:查看本地所有分支(前面帶*
符號的分支為當(dāng)前分支)
git branch -a
:查看本地和遠(yuǎn)程的所有分支
git branch dev
:創(chuàng)建一個dev
分支
git checkout dev
:切換到dev
分支
git checkout -b dev
:創(chuàng)建并切換到dev
分支靠益,相當(dāng)于執(zhí)行了上面兩個命令
git branch -d dev
:刪除dev
分支
git branch -D dev
:強(qiáng)制刪除dev
分支
git merge dev
:合并dev
分支到當(dāng)前分支
git branch -d dev
:刪除dev
分支
git log --graph
:查看分支合并圖
git stash
:保存當(dāng)前分支的進(jìn)度
git stash list
:查看當(dāng)前分支的所有保存歷史
git stash apply
:恢復(fù)當(dāng)前分支最新保存的內(nèi)容
git stash apply stash@{0}
:恢復(fù)當(dāng)前分支指定保存的內(nèi)容,配合git stash list
使用残揉,{}
內(nèi)的數(shù)字表示保存列表中的數(shù)字
git stash drop
:刪除最新保存內(nèi)容
git stash pop
:恢復(fù)最新的同時刪除最新保存內(nèi)容胧后,推薦使用,替代git stash apply
和git stash drop
命令
4.標(biāo)簽管理
git tag v1.0
:打一個“v1.0”的標(biāo)簽
git tag -a v1.0 -m "message"
:打一個帶說明的“v1.0”標(biāo)簽
git tag
:查看標(biāo)簽
git tag v0.9 f52c633
:對f52c633
這次commit提交打一個“v0.9”的標(biāo)簽
git show v1.0
:查看“v1.0”標(biāo)簽的詳細(xì)信息
git tag -d v1.0
:刪除“v1.0”標(biāo)簽
git push origin v1.0
:推送“v1.0”標(biāo)簽到遠(yuǎn)程倉庫
git push origin --tags
:推送本地所有的標(biāo)簽到遠(yuǎn)程倉庫
git push origin :refs/tags/v1.0
:刪除遠(yuǎn)程倉庫中的“v1.0”標(biāo)簽