原創(chuàng)聲明:本文為作者原創(chuàng),未經(jīng)允許不得轉(zhuǎn)載,經(jīng)授權(quán)轉(zhuǎn)載需注明作者和出處
版本控制:一個(gè)專(zhuān)門(mén)管理代碼的“百度云”(360炸了才不說(shuō)它),因?yàn)楦鼘?zhuān)注,所以更專(zhuān)業(yè),每一次提交的代碼都是一個(gè)版本,可以通過(guò)版本控制管理這些版本,恢復(fù) 合并 克隆都不在話(huà)下,最大的用途莫過(guò)于兩種:分享代碼,線(xiàn)上多人協(xié)作
現(xiàn)在最熱門(mén)的就屬git 和 svn了
SVN:是集中式版本控制,之所以叫集中,是因?yàn)樗枰粋€(gè)中央服務(wù)器,每次進(jìn)行操作的時(shí)候都需要在同一個(gè)局域網(wǎng)中。比如,在公司里,設(shè)置了一個(gè)中央服務(wù)器,客戶(hù)端需要連接公司的無(wú)線(xiàn)、寬帶,以保證跟服務(wù)器在同一個(gè)局域網(wǎng)中。SVN的坑就在于未更新就提交的操作,友情提示,每次提交自己的代碼的時(shí)候,務(wù)必保證自己的代碼是服務(wù)器上最新的,以降低潛在的風(fēng)險(xiǎn)
推薦的服務(wù)器svn:VisualSVN
推薦的客戶(hù)端svn:TortoiseSVN(如果使用eclipse開(kāi)發(fā),可直接下載插件即可)
GIT:git是分布式版本控制,與svn相反,沒(méi)有中央服務(wù)器,每個(gè)客戶(hù)端就是一個(gè)版本庫(kù),對(duì)于git,反倒沒(méi)有什么多說(shuō)的,因?yàn)榫W(wǎng)上詳細(xì)的教程已經(jīng)細(xì)到了極致,更推薦大家從入門(mén)到放棄的去掌握這門(mén)技術(shù):http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/
在這里就用一幅圖總結(jié)一下基本操作,后續(xù)社區(qū)會(huì)有高人對(duì)git進(jìn)行解讀
遠(yuǎn)程倉(cāng)庫(kù)即項(xiàng)目托管平臺(tái),git和平臺(tái)的關(guān)系就猶如 劍靈、lol和TGP的關(guān)系,TGP管理著你電腦里的游戲
現(xiàn)在已經(jīng)有很多用git做版本控制的項(xiàng)目托管平臺(tái):
國(guó)外最著名的github,一個(gè)又愛(ài)又恨的平臺(tái),無(wú)數(shù)的大牛在github上分享著自己的項(xiàng)目等待這大家的fork
愛(ài),因?yàn)槟隳芟氲降牟荒芟氲降捻?xiàng)目案例基本都能找到
恨,網(wǎng)速。。。以及限制
https://github.com/
國(guó)內(nèi)著名的有開(kāi)源中國(guó)代碼托管的碼云
http://git.oschina.net/
CSDN代碼托管
https://code.csdn.net/
目前正在用的是coding.net(前身gitcafe)
https://coding.net/home.html
現(xiàn)在進(jìn)行第一次git提交項(xiàng)目到coding、
第一步:下載git https://git-scm.com/
詳細(xì)配置見(jiàn)上方入門(mén)到放棄
第二步:注冊(cè)coding(不會(huì)注冊(cè)的面壁。。。)
第三步:在coding中創(chuàng)建項(xiàng)目
注意一下命名
建議勾選“啟用README.md文件初始化項(xiàng)目”
這個(gè)文件會(huì)顯示在頁(yè)面上,采用的是markdown語(yǔ)法編寫(xiě),可以用來(lái)寫(xiě)項(xiàng)目介紹,更新情況等等
記住這個(gè)地址,clone push都會(huì)用到
第四步:(前提第一步正確)在需要提交的項(xiàng)目中鼠標(biāo)右鍵git bash here
init初始化
add將文件添加到緩存區(qū)中
添加單個(gè)文件格式:git add helloMINA.txt
添加多個(gè)文件格式:git add helloMINA.txt thisIsDemo
(空格隔開(kāi))
添加所有改動(dòng)的文件:git add *
添加所有文件:git add .
commit將文件添加到本地倉(cāng)庫(kù)
remote添加遠(yuǎn)程倉(cāng)庫(kù)
push提交到遠(yuǎn)程倉(cāng)庫(kù)
但是報(bào)錯(cuò)了!
因?yàn)閯偛艅?chuàng)建遠(yuǎn)程倉(cāng)庫(kù)的時(shí)候設(shè)置了readme.md文件,導(dǎo)致本地倉(cāng)庫(kù)和遠(yuǎn)程倉(cāng)庫(kù)有沖突
知道問(wèn)題接下來(lái)就解決沖突git pull --rebase origin master
最后在安心的提交一次
第一次提交完畢!!!