一.為啥選擇git
? ? ? ? 從cvs到svn到現(xiàn)在的git,就像是一束浪花占卧,后浪推前浪遗菠。新事物的出現(xiàn)必然有它可取之處,今天就小談git华蜒。cvs就不扯蛋了辙纬;我們將注意力集中在svn和git的比較吧。
1.分布式VS集中式
? ?svn是集中式版本管理,效果圖如下:
git屬于分布式版本管理,效果圖如下:
git 的直接版本控制在于自己的主機叭喜,它擁有自己的本地倉庫贺拣,因此他可以在不聯(lián)網(wǎng)的情況下進行版本控制;對于git來說中央主機的存在只不過是提供一個眾所周知的更新地址捂蕴,但是svn的中央主機就是其工作命脈譬涡,在svn中假如中央主機癱瘓了,那么恭喜你今天你可以放假了啥辨。涡匀。。
2.git強大的分支管理
當你使用svn進行版本控制想進行“后悔”(版本回退)操作的時候是一件很痛苦的事情溉知,你只能通過自己的印象去把代碼修改回來陨瘩;或許這并不能說服你,但是如果你的產(chǎn)品經(jīng)理叫你修改之后又叫你修改回來呢着倾。拾酝。。如果你使用的是git的話你可以很簡單的使用它的分支來進行控制卡者,當然有的人還是會說svn也是有分支的蒿囤,博學的你當然不會有錯,只不過svn是通過建立文件夾然后復制來實現(xiàn)的崇决,在大項目的時候這點就有點日狗了材诽。
3.使用命令行來進行控制
使用命令行來進行控制是裝逼底挫,撩妹必備神器,不解釋脸侥。
二.git下載安裝(windows)
下載地址:git-for-windows.github.io/
安裝挺無腦的建邓,聰明的你肯定懂的,在此就不bb睁枕。
安裝完成會在你的你的鼠標的右鍵中出現(xiàn)Git GUI Here 和 Git Bash Here官边,點擊Git Bash Here出現(xiàn)如下窗口:
三.Git的思想和基本工作原理
Git 和其他版本控制系統(tǒng)的主要差別在于,Git 只關心文件數(shù)據(jù)的整體是否發(fā)生變化外遇,而大多數(shù)其他系統(tǒng)則只關心文件內(nèi)容的具體差異:
Git 并不保存這些前后變化的差異數(shù)據(jù)注簿。實際上,Git 更像是把變化的文件作快照后跳仿,記錄在一個微型的文件系統(tǒng)中诡渴。每次提交更新時,它會縱覽一遍所有文件的指紋信息并對文件作一快照菲语,然后保存一個指向這次快照的索引妄辩。為提高性能,若文件沒有變化山上,Git 不會再次保存眼耀,而只對上次保存的快照作一鏈接。Git 的工作方式就如下圖所示胶哲。
git文件經(jīng)過了Git工作目錄畔塔,暫存區(qū)域,Git本地倉庫三個工作區(qū)域鸯屿,在腦海里一定要有這個概念澈吨。
四.Git的簡單使用
1.初始化操作
建立文件夾 —> 使用 git config --global user.name "Name" ? ? ? ? 例如:git config ?--global user.name "zhangsan"
—>使用 git config --global user.email "Email" ? ?例如:git config -- global user.email "11112222@qq.com" 來配置自己的信息
回車 ,在使用 git init 初始化寄摆,出現(xiàn)如下效果表示初始化成功:
此時在該文件內(nèi)會出現(xiàn)一個.git文件谅辣。
2.Git本地提交
通過? git add .? 將該工作目錄下的所有文件添加到暫存區(qū),或者使用 git add +文件名添加單個文件到暫存區(qū)婶恼;在此過程中你可以使用git status
命令來查看當前文件的狀態(tài)桑阶。效果圖如下:
通過 git status 在最后一行看到 新建了一個文件 叫test.txt 并且此時文件是綠色的。
通過git commit -m"firstcommit"來將暫存區(qū)的文件提交到本地倉庫勾邦,-m表示注釋蚣录,后面的內(nèi)容是注釋內(nèi)容;同樣可以使用git commit +文件名來提交單個文件眷篇;在此過程中你可以使用git status命令來查看當前文件的狀態(tài)萎河。效果圖如下:
通過 git status?看到 1 file changed,1 insertion(+),此時文件為白色。
3.遠程提交(這里演示提交到github)
第一步:先注冊github 賬號,添加一個新倉庫
第二步:使用 ssh-keygen -t rsa -C"Email" 例如 ssh-keygen -t rsa -C"111222333@qq.com",一路回車虐杯,效果如下
然后去它提示的路徑編輯id_rsa.pub文件玛歌,將文件內(nèi)容復制下來,在進入github的setting 下的SSH and GPG Key目錄下將復制的內(nèi)容添加中擎椰,如圖:
第三步:使用 git remote add origin +ssh地址 支子,將本地和github進行關聯(lián) 例如:git remote add origin git@github.com:Venus-Software/android_recyclerview.git (ssh地址從github的clone or download中獲取),使用 git push -u origin master 來進行上傳:
同樣有可能出現(xiàn)如上的問題原因是因為你的github的該目錄下和本地的倉庫存在沖突达舒,你需要處理值朋,這個使用你應該使用 git pull --rebase origin master? 來進行處理,然后重新使用 git push -u origin master休弃。
在 github上查看效果如下:
4.創(chuàng)建分支
可以使用git branch +name 來創(chuàng)建分支 吞歼,使用 git checkout +name 來切換分支,當然可以使用git checkout -b +name來創(chuàng)建新分支并且切換到該分支塔猾。
使用 git branch 來查看分支,使用git merge “注釋” 合并的目標分支稽坤。
五.后悔操作
六.結語
小編也是菜鳥一枚丈甸,以上純屬個人理解,有什么寫的不好的希望廣大朋友能夠一起幫我改正尿褪。
qq郵箱:2325182399@qq.com睦擂。