這篇文章是繼上次Git和GitHub學(xué)習(xí)的擴(kuò)展與補(bǔ)充,使用的是廖雪峰老師的Git教程逸贾。
1. git log
使用以下命令可以更簡潔的顯示commit信息
git log --pretty=oneline
2. 回退到以前版本
- 使用以下命令即可回退到上一版本
git reset --hard HEAD^
注:HEAD指向的是當(dāng)前版本。
- 使用以下命令即可回退到以前的版本
git reset -- hard commit_id
- 如果回退到以前的版本后想反悔奏司,可以使用以下命令來查看你前幾次的命令以及對(duì)應(yīng)的Commit ID
git relog
3. 查看工作區(qū)與版本庫文件的不同
使用以下命令就可以查看工作區(qū)和版本庫里面該文件最新版本的區(qū)別
git diff HEAD -- 文件名
4. 撤銷更改
當(dāng)你還未將更改添加到暫存區(qū)時(shí)可以使用以下命令撤銷更改
git checkout -- 文件名
當(dāng)你不小心git add
到暫存區(qū)時(shí)可以使用以下命令放回工作區(qū)
git reset HEAD 文件名
5. 刪除
在工作區(qū)你可以使用以下命令刪除沒用的文件
rm 文件名
當(dāng)你在工作區(qū)刪除了該文件后可以選擇使用以下命令刪除版本庫中該文件
git rm 文件名
然后
或者刪錯(cuò)了菲语,想要恢復(fù)該文件
git checkout -- 文件名
6. 遠(yuǎn)程倉庫
在GitHub網(wǎng)站上注冊(cè)帳號(hào)
設(shè)置SSH加密
1.創(chuàng)建SSH Keyssh-keygen -t rsa -b 4096 -C "youremail@example.com"
2.在主目錄中找到.ssh
目錄,在里面找到id_rsa.pub
文件春瞬,用編輯器打開,并復(fù)制密鑰套啤。
3.登錄GitHub宽气,在“Account Settings”中找到“SSH Keys”,然后點(diǎn)擊“Add SSH Key”潜沦,填上任意Title萄涯,最后在Key文本中粘貼id_rsa.pub
的密鑰。
7. 添加遠(yuǎn)程庫
- 要關(guān)聯(lián)一個(gè)遠(yuǎn)程庫使用命令
git remote add origin git@server-name:path/repo-name.git
- 然后使用命令
git push -u origin master
第一次推送master分支的所有內(nèi)容
8. 創(chuàng)建與合并分支
可以使用以下命令創(chuàng)建并切換到新的分支
git checkout -b dev
刪除分支
git branch -d dev
禁用Fast forward
模式
git merge --no-ff -m "merge with no-ff" dev
9. 解決沖突
使用帶參數(shù)的git log
更清晰的查看分支合并圖
git log --graph --pretty=oneline --abbrev-commit
10. Bug分支
當(dāng)你工作到一半時(shí)唆鸡,被某些事情打斷涝影,比如突然要去修復(fù)一個(gè)Bug,你可以使用下面的命令將當(dāng)前工作暫停一下喇闸,等Bug修復(fù)完了袄琳,回來繼續(xù)工作
git stash
修復(fù)完Bug以后,切換回dev
分支燃乍,用git stash list
命令查看暫停的工作
然后用git stash apply
恢復(fù)唆樊,并用git stash drop
來刪除stash內(nèi)容;當(dāng)然也可以使用git stash pop
一步到位,恢復(fù)并刪除stash內(nèi)容刻蟹。
10.強(qiáng)制刪除分支
在開發(fā)工程中逗旁,分支合并以后,可以使用下面的命令刪除
git branch -d feature-vulcan
但是對(duì)于沒有合并的分支舆瘪,如果要?jiǎng)h除片效,需要使用強(qiáng)制刪除命令
git branch -D feature-vulcan
11.多人協(xié)作
在本地創(chuàng)建和遠(yuǎn)程對(duì)應(yīng)的分支
git checkout -b branch-name origin/branch-name
建立本地分支和遠(yuǎn)程分支的關(guān)聯(lián)
git branch --set-upstream branch-name origin/branch-name
12.標(biāo)簽管理
- 使用以下命令為所在分支打標(biāo)簽
git tag v1.0
- 可以使用命令
git tag
查看標(biāo)簽 - 也可以用下面的命令對(duì)以前的提交打標(biāo)簽
git tag v0.9 commit_id
- 可以用
git show v1.0
查看標(biāo)簽的信息 - 還可以創(chuàng)建帶有說明的標(biāo)簽,用
-a
指定標(biāo)簽英古,-m
指定說明文字
git tag -a v0.1 -m "version 0.1 released" commit_id
- 如果標(biāo)簽打錯(cuò)了淀衣,也可以刪除
git tag -d v0.1
- 推送某個(gè)標(biāo)簽到遠(yuǎn)程
git push origin v1.0
- 或者一次性推送所有的本地標(biāo)簽
git push origin --tags
- 如果想要?jiǎng)h除遠(yuǎn)程標(biāo)簽要先從本地刪除
git tag -d v0.9
然后再從遠(yuǎn)程刪除
git push origin :refs/tags/v0.9
13.忽略特殊文件
你可以在Git工作區(qū)的根目錄下創(chuàng)建一個(gè)特殊的.gitignore
文件,把堯忽略的文件名填進(jìn)去召调,然后提交到Git膨桥,Git就會(huì)自動(dòng)忽略這些文件蛮浑。
更多規(guī)則請(qǐng)點(diǎn)擊此處了解
當(dāng)你的文件被.gitignore
忽略時(shí),可以使用-f
強(qiáng)制添加到Git
git add -f App.class
也可以查看.gitignore
當(dāng)中的規(guī)則
git check-ignore -v App.class
14.配置別名
使用下面的命令只嚣,以后就可以用git st
來表示git status
git config --global alias.st status
每個(gè)倉庫的Git配置文件都放在.git/config
文件中沮稚;而當(dāng)前用戶的Git配置文件放在用戶目錄下的一個(gè)隱藏文件.gitconfig
中
15.搭建Git服務(wù)器
由于我不是很需要,所以就直接附上鏈接了册舞。