sublime 集成git插件,及git經常使用命令

之前用了好久的totoiseSVN,顯然不夠高大上,開發界的版本裝x利器還得是git。然而git的命令行對沒怎麼用過linux的人可能以爲還不如用gitGUI,但是當你知道sublime能夠集成git插件的時候,你就會改變本身的想法了,真心方便。html

1. 安裝git客戶端,最經常使用的msysgit,具體步驟就略過了,你們自行搜索吧。linux

2. sublime安裝git插件git

Ctrl+shift+P,調出 install package面板,而後搜索git,回車安裝github

3. 配置git公鑰,此處以gitHub爲例,你也能夠參考 git 在linux下服務端搭建 本身搭建一個git服務端緩存

而後經過將公鑰添加到服務端進行身份的認證svn

4. 初始化本地的git配置信息spa

git config --global user.name "username"
git config --global user.email "username@email.com"

再設置一下push的參數,由於sublime的插件中push動做並不能接收參數插件

git config --global push.default matching #表明提交全部匹配的分支

5. 而後就能夠經過sublime的Ctrl+Shift+P調用git:init命令建立一個git倉庫命令行

執行命令後會要求你選擇一個目錄,選擇後便可在該目錄下新建文件進行git的各類操做了code

6. git經常使用命令解析

其實大多數狀況下,咱們的開發無非就是修改、提交、獲取、推送到遠程

git與svn的一點區別就是commit並不會提交到遠程服務端,push纔是真正的提交到服務端

所以,咱們能夠理解爲

git:add  #把文件添加進去,實際上就是把文件修改添加到暫存區
git:commit #提交更改,實際上就是把暫存區的全部內容提交到當前分支
git:push #講緩存中的修改推送到遠程服務端

固然git:add 和 git:commit 也可使用 git:commit -am "comment content" 兩步合併爲一步執行

重要提醒:修改文件後若是不執行add直接commit是無效的

版本的回退

git reflog #查看歷史版本,而後根據現實的版本號回退
git reset --hard HEAD^ #回退到上一個版本
git reset --hard HEAD^^ #回退到上上一個版本
git reset --hard HEAD~100 #回退到100個之前的版本
git reset --hard 3628164 #回退到3628164這個版本

場景1:當你改亂了工做區某個文件的內容,想直接丟棄工做區的修改時,用命令git checkout -- file。

場景2:當你不但改亂了工做區某個文件的內容,還添加到了暫存區時,想丟棄修改,分兩步,第一步用命令git reset HEAD file,就回到了場景1,第二步按場景1操做。

場景3:已經提交了不合適的修改到版本庫時,想要撤銷本次提交,參考版本回退一節,不過前提是沒有推送到遠程庫。

刪除文件

git rm filename #從git刪除文件,執行後還須要commit和push才能最終在遠程生效
git checkout --filename #檢出最新的已經commit的版本,能夠用於恢復版本或者恢復刪除的文件

從遠程主機獲取

git remote add origin git@github.com:yourname/learngit.git #從遠程主機獲取
git push -u origin master #推送到遠程主機,首次運行在命令行模式下,運行一次以後再到sublime中直接使用git push便可默認以master分支進行上傳

分支

Git鼓勵大量使用分支:

查看分支:git branch

建立分支:git branch <name>

切換分支:git checkout <name>

建立+切換分支:git checkout -b <name>

合併某分支到當前分支:git merge <name>

刪除分支:git branch -d <name>
強制刪除分支:git branch -D <name> #沒合併的狀況下是禁止刪除的,須要強制刪除

多人協做開發,遠程push和pull

查看遠程庫信息,使用git remote -v;
本地新建的分支若是不推送到遠程,對其餘人就是不可見的;
從本地推送分支,使用git push origin branch-name,若是推送失敗,先用git pull抓取遠程的新提交;
在本地建立和遠程分支對應的分支,使用git checkout -b branch-name origin/branch-name,本地和遠程分支的名稱最好一致;
創建本地分支和遠程分支的關聯,使用git branch --set-upstream branch-name origin/branch-name;
從遠程抓取分支,使用git pull,若是有衝突,要先處理衝突。

文件忽略

忽略某些文件時,須要編寫.gitignore;
.gitignore文件自己要放到版本庫裏,而且能夠對.gitignore作版本管理!

國外某大神作的git經常使用命令圖

詳細教程,參考廖老師的git教程:http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000

相關文章
相關標籤/搜索