最近在學習git的使用,有一些我的的理解,寫出來和你們一塊兒分享。git
分一下幾點緩存
- Git介紹/認識Git
- 經常使用命令
- SourceTree工具的使用
用最多見的描述來講,Git是一個分佈式版本控制系統,我的以爲這個說法雖然徹底正確,可是有點難理解,與其說是分佈式不如換一個字,叫分散式版本控制系統。這也是Git和SVN最大的區別了,SVN你們都很熟悉,它是中心式的,代碼是統一維護在服務器端的倉庫中的,而Git雖然也有中心式版本庫或者服務器,可是還多出來了一個本地倉庫(local repository)的概念。服務器
我理解爲在本地搭建了一個相似SVN的服務器,我本身的代碼能夠往這個本地倉庫提交而不會對其餘人形成影響,而當我須要將代碼提交到遠程版本庫或者和其餘人的代碼進行合併時,則能夠從本地的倉庫進行提交。分佈式
本地倉庫相似於一個本地SVN服務器,它是由三個部分組成的:工具
正是由於本地倉庫的工做空間由三個部分組成,因此咱們在提交工做代碼到本地倉庫時纔有先add再commit的作法:學習
git add <filename>
指定文件 git add .
提交當前目錄全部文件git commit -m "代碼提交信息"
git push origin <branch>
提交到指定的遠端分支
1 2 步驟實際操做的是本地倉庫, 3步驟真的提交遠端倉庫fetch
git pull [remote] [branch]
遠端地址 指定分支名稱.net
這個命令會在你的工做目錄中 獲取(fetch) 並 合併(merge) 遠端的改動。
注意
: 若是要合併的不是默認的master分支,也可選擇合併到指定的分支。例: 本地分支是master 遠端倉庫是dev,也能夠把dev合併到master分支,版本控制
git merge <branch>
code
git會嘗試自動合併改動,可是並不會每次都成功,若是出現衝突則須要自行手動修改來合併,而且在改動後執行:提交本地倉庫的操做
git clone [remote] [branch]
下圖是所示就是上面所說起的模型和幾個經常使用命令,通常來講平常使用只要記住這6個命令也就夠了,但要想你寫過做的話,仍是不夠的
待續
更多git的功能和用法我還沒探究出來,先寫這些和你們分享,但願能解決一些困惑,一塊兒交流共同進步。