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


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

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

2. sublime安裝git插件

Ctrl+shift+P,調出 install package面板,然后搜索git,回車安裝

3. 配置git公鑰,此處以gitHub為例,你也可以參考 git 在linux下服務端搭建 自己搭建一個git服務端

然后通過將公鑰添加到服務端進行身份的認證

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

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的各種操作了

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM