SVN和Git的都是用于項(xiàng)目配置項(xiàng)管理的工具捂龄,區(qū)別很大躏哩,各有千秋奏候。但他們之間的區(qū)別并非今天我要談?wù)摰闹攸c(diǎn),因?yàn)檫@些有很多成熟的文章博客介紹未巫。所以今天我主要是介紹一些SVN和Git的創(chuàng)建以及使用方法窿撬。其實(shí)我也是自己在這個(gè)問題上吃了很大的虧之后,才研究整理出這篇文章的叙凡,希望能夠幫到一些受困的猿友劈伴。
(一)首先介紹的是Mac平臺(tái)上SVN服務(wù)器的搭建:
1、可以再你自定義的位置上創(chuàng)建一個(gè)文件握爷,例如在桌面上新建一個(gè)SVNTest文件夾
2跛璧、打開終端,并輸入 $ svnadmin create +文件路徑(如紅線所示)
此時(shí)如果出現(xiàn)這種問題:
那就需要你進(jìn)行安裝一下:Command Line Tools工具新啼,使終端識(shí)別svn命令追城;早期Xcode可以直接安裝:打開xcode偏好設(shè)置(comand+,)-->"Download" -->Components:下載Command Line Tools燥撞,直接然后搞定座柱,但是新版本的Xcode已經(jīng)沒有這項(xiàng)設(shè)置了,所以你可以在終端輸入:
xcode-select --install
出現(xiàn)如下提示物舒,進(jìn)行安裝就可以了色洞。然后重新在終端上輸入
?$ svnadmin create +文件路徑,成功之后茶鉴,新建的文件夾里會(huì)多出一些文件锋玲,如下圖
3、分別打開紅框中的文件涵叮,進(jìn)行位置權(quán)限
首先打開svnserve.conf文件惭蹂,去除下圖藍(lán)框中命令前的 #(空格):
修改之后為:
anon-access = read代表匿名訪問的時(shí)候是只讀的,若改為anon-access = none代表禁止匿名訪問割粮,需要帳號(hào)密碼才能訪問盾碗;
auth-access = write 使授權(quán)用戶有寫權(quán)限;
password-db = passwd指明密碼文件路徑舀瓢;
uthz-db = authz? 訪問控制文件廷雅。
然后在修改 passed 文件:添加 賬號(hào)密碼:(添加前)
添加后:
即在 [users]下面添加 ?用戶名 = 密碼,可以是一個(gè)京髓,也可以是多個(gè)航缀;
最后需要打開 authz 設(shè)置權(quán)限:
在 [groups]下添加之前配置的賬號(hào)到組中
即 組名 = 用戶名1,用戶名2 ? ?// 表示可以添加一個(gè)或多個(gè)用戶名
[/]? ? //表示svn服務(wù)器中的所有資源庫(kù)
@Manager = rw? // Manager這個(gè)組中的所有用戶對(duì)所有資源庫(kù)都有讀寫(rw)權(quán)限堰怨,組名前面要用@ 芥玉;但如果是用戶名,不用加@备图,比如 test 這個(gè)用戶有讀寫權(quán)限
4灿巧、最后就可以啟動(dòng)SVN服務(wù)器了赶袄,在終端輸入 svnserve -d -r ?文件名,
如果沒有任何提示抠藕,這證明啟動(dòng)成功了饿肺,
5、上傳本工程代碼:
/Users/Frank/Desktop/Demo/ ? ? ?表示你需要上傳的工程文件路徑
svn://localhost/SVNTest? ? ? ? ? ? ? 表示SVN地址盾似,其中l(wèi)ocalhost表示本地svn地址敬辣,如果是遠(yuǎn)程svn,則localhost需要替換成對(duì)應(yīng)的svn服務(wù)器ip地址零院,SVNTest表示svn服務(wù)器的名字
--username=test --password=test -m"初始化" ? 表示你之前配置的賬號(hào)密碼购岗,以及填寫的操作信息,成功之后如圖所示:
6门粪、從服務(wù)器端下載代碼到客戶端本地
在終端中輸入 $ svn checkout svn://localhost/SVNTest --username=test --password=test? /Users/Frank/Desktop/DownLoadDemo
表示從將svn上的工程下載到桌面上的DownLoadDemo文件夾中
7、當(dāng)需要關(guān)閉svn的時(shí)候烹困,可以通過終端命令:sudo? killall? svnserve 進(jìn)行關(guān)閉玄妈,也可以在進(jìn)程中關(guān)閉
只有svn其他的語法命令,可以通過終端命令 svn help 進(jìn)行查看
(二)以上便是SVN服務(wù)器在Mac上的創(chuàng)建過程髓梅,下面要說一下Git的創(chuàng)建使用方式:
Git管理代碼是比較方便的拟蜻,只需要你在社區(qū)創(chuàng)建自己的代碼倉(cāng)庫(kù),然后關(guān)聯(lián)到本地倉(cāng)庫(kù)枯饿,就可以進(jìn)行使用了酝锅,那么下面就具體說一種Git的代碼托管平臺(tái)Coding.net?https://coding.net/user
1、首先我們需要擁有自己的Coding.net的賬號(hào)奢方,然后在Coding.net上創(chuàng)建一個(gè)項(xiàng)目
點(diǎn)擊創(chuàng)建項(xiàng)目之后搔扁,就可以在自己的 項(xiàng)目 頁(yè)面中查看你說創(chuàng)建的新項(xiàng)目
那么為什么我們需要在Coding創(chuàng)庫(kù)上先創(chuàng)建這個(gè)項(xiàng)目,因?yàn)楫?dāng)我們創(chuàng)建這個(gè)項(xiàng)目的時(shí)候蟋字,創(chuàng)庫(kù)會(huì)自動(dòng)為我們的這個(gè)項(xiàng)目分配一個(gè)訪問地址稿蹲,這個(gè)在我們關(guān)聯(lián)到本地時(shí)是不可缺少的
2、開始進(jìn)行本地關(guān)聯(lián)鹊奖,在本地創(chuàng)建一個(gè)文件夾苛聘,作為本地倉(cāng)庫(kù),例如在桌面上創(chuàng)建一個(gè)LocalStore
3忠聚、打開Mac終端设哗,鍵入 $ cd +本地倉(cāng)庫(kù)路徑 ?,對(duì)本地倉(cāng)庫(kù)進(jìn)行操作两蟀,如圖成功進(jìn)入本地倉(cāng)庫(kù)
4网梢、執(zhí)行終端命令:git init ? ?//對(duì)本地倉(cāng)庫(kù)進(jìn)行初始化
此時(shí)已經(jīng)初始化成功,系統(tǒng)化為本地倉(cāng)庫(kù)創(chuàng)建一個(gè)分支 master垫竞,但是打開本地倉(cāng)庫(kù)卻看不到這個(gè)分支澎粟,因?yàn)檫@個(gè)分支是隱藏文件蛀序,不需要你去手動(dòng)修改
5、執(zhí)行終端命令:git remote add origin ?+遠(yuǎn)程倉(cāng)庫(kù)的訪問地址
例如:用來將本地倉(cāng)庫(kù)和Coding.net上的遠(yuǎn)程倉(cāng)庫(kù)進(jìn)行關(guān)聯(lián)起來
6活烙、此時(shí)將你想要上傳到倉(cāng)庫(kù)的項(xiàng)目的工程文件直接拖入本地倉(cāng)庫(kù)
7徐裸、終端命令:git status ? ?// 進(jìn)行查看倉(cāng)庫(kù)狀態(tài),紅色的提示就是改動(dòng)過的文件
8啸盏、終端命令:git add -A ? ?// 將所有改動(dòng)過的文件添加到緩存中重贺,并非直接上傳(如果只提交某一個(gè)文件時(shí),可以執(zhí)行 git add +文件名)
9回懦、終端命令:git commit -a -m"添加備注信息" ? // 提交到倉(cāng)庫(kù)气笙,-a 表示提交緩存中的所有文件,-m" " 添加的一些備注信息 ? 成功之后如下圖所示:
10怯晕、終端命令:git pull origin master ? // 先從遠(yuǎn)程倉(cāng)庫(kù)上更新代碼文件
此時(shí)會(huì)進(jìn)入 vim 編輯潜圃,可以按 esc --> : --> wq 進(jìn)行保存并退出
注意:【下面這種錯(cuò)誤如果出現(xiàn)了,可以進(jìn)行如下操作舟茶,否則就可忽略這部分操作】
如果此時(shí)終端提示報(bào)錯(cuò)谭期,顯示沒有操作遠(yuǎn)程倉(cāng)庫(kù)的權(quán)限時(shí),如下所示:
[You have no permission to access this repo]
error:Therequested URL returned error:403Forbiddenwhileaccessing https://github.com/iopqrst/learn20140823.git/info/refs
此時(shí)吧凉,需要你在終端修改倉(cāng)庫(kù) url 的地址格式:
終端輸入:vim .git/config? // 這時(shí)終端進(jìn)入vim編譯模式隧出,
修改:
[remote?"origin"]
url?=?https://github.com/youname/example.git
為:
[remote?"origin"]
url?=?https://youname@github.com/youname/example.git
【其中的?youname 指的是你的遠(yuǎn)程倉(cāng)庫(kù)名字】
然后可以按 esc --> : --> wq 進(jìn)行保存并退出
再重新執(zhí)行步驟 10 進(jìn)行更新。
11阀捅、終端命令:git push -u origin master? // 將本地倉(cāng)庫(kù)的文件代碼同步到遠(yuǎn)程Coding倉(cāng)庫(kù)胀瞪,第一次同步時(shí),需要添加 -u ,實(shí)現(xiàn)遠(yuǎn)程倉(cāng)庫(kù)與本地倉(cāng)庫(kù)分支進(jìn)行關(guān)聯(lián) 饲鄙,以后再同步時(shí)可以直接執(zhí)行 git push origin master
12凄诞、提示輸入 Coding.net 的賬號(hào)密碼
注意:如果沒有執(zhí)行 10 ,不先更新代碼直接同步的話忍级,會(huì)出現(xiàn)報(bào)錯(cuò)
這是提示你需要先進(jìn)行更新幔摸,才能同步,然后你執(zhí)行 10 之后颤练,再鍵入 git push origin master 就可以了既忆,成功同步之后為
此時(shí)可以查看你的Coding倉(cāng)庫(kù)查看提交記錄
至于git的其他終端操作命令,可以通過 git help 進(jìn)行查看
以上就是Mac上創(chuàng)建SVN服務(wù)器和關(guān)聯(lián)Git管理倉(cāng)庫(kù)的方法嗦玖,代碼管理的平臺(tái)工具患雇、方法都有很多,無論哪種方法宇挫,只要自己用起來方便就是最好的方法