代码管理之SVN服务器及Git的创建与使用

SVN和Git的都是用于项目配置项管理的工具,区别很大,各有千秋。但他们之间的区别并非今天我要谈论的重点,因为这些有很多成熟的文章博客介绍。所以今天我主要是介绍一些SVN和Git的创建以及使用方法。其实我也是自己在这个问题上吃了很大的亏之后,才研究整理出这篇文章的,希望能够帮到一些受困的猿友。

(一)首先介绍的是Mac平台上SVN服务器的搭建:

1、可以再你自定义的位置上创建一个文件,例如在桌面上新建一个SVNTest文件夹

2、打开终端,并输入 $ svnadmin create +文件路径(如红线所示)

此时如果出现这种问题:

那就需要你进行安装一下:Command Line Tools工具,使终端识别svn命令;早期Xcode可以直接安装:打开xcode偏好设置(comand+,)-->"Download" -->Components:下载Command Line Tools,直接然后搞定,但是新版本的Xcode已经没有这项设置了,所以你可以在终端输入:

xcode-select --install

出现如下提示,进行安装就可以了。然后重新在终端上输入

 $ svnadmin create +文件路径,成功之后,新建的文件夹里会多出一些文件,如下图

3、分别打开红框中的文件,进行位置权限

首先打开svnserve.conf文件,去除下图蓝框中命令前的 #(空格):

修改之后为:

anon-access = read代表匿名访问的时候是只读的,若改为anon-access = none代表禁止匿名访问,需要帐号密码才能访问;

auth-access = write 使授权用户有写权限;

password-db = passwd指明密码文件路径;

uthz-db = authz  访问控制文件。

然后在修改 passed 文件:添加 账号密码:(添加前)

添加后:

即在 [users]下面添加  用户名 = 密码,可以是一个,也可以是多个;

最后需要打开 authz 设置权限:

在 [groups]下添加之前配置的账号到组中

即 组名 = 用户名1,用户名2    // 表示可以添加一个或多个用户名

[/]    //表示svn服务器中的所有资源库

@Manager = rw  // Manager这个组中的所有用户对所有资源库都有读写(rw)权限,组名前面要用@ ;但如果是用户名,不用加@,比如 test 这个用户有读写权限

4、最后就可以启动SVN服务器了,在终端输入 svnserve -d -r  文件名,

如果没有任何提示,这证明启动成功了,

5、上传本工程代码:

/Users/Frank/Desktop/Demo/      表示你需要上传的工程文件路径

svn://localhost/SVNTest              表示SVN地址,其中localhost表示本地svn地址,如果是远程svn,则localhost需要替换成对应的svn服务器ip地址,SVNTest表示svn服务器的名字

--username=test --password=test -m"初始化"   表示你之前配置的账号密码,以及填写的操作信息,成功之后如图所示:

6、从服务器端下载代码到客户端本地

在终端中输入 $ svn checkout svn://localhost/SVNTest --username=test --password=test  /Users/Frank/Desktop/DownLoadDemo

表示从将svn上的工程下载到桌面上的DownLoadDemo文件夹中

7、当需要关闭svn的时候,可以通过终端命令:sudo  killall  svnserve 进行关闭,也可以在进程中关闭

只有svn其他的语法命令,可以通过终端命令 svn help 进行查看

(二)以上便是SVN服务器在Mac上的创建过程,下面要说一下Git的创建使用方式:

Git管理代码是比较方便的,只需要你在社区创建自己的代码仓库,然后关联到本地仓库,就可以进行使用了,那么下面就具体说一种Git的代码托管平台Coding.net https://coding.net/user

1、首先我们需要拥有自己的Coding.net的账号,然后在Coding.net上创建一个项目

点击创建项目之后,就可以在自己的 项目 页面中查看你说创建的新项目

那么为什么我们需要在Coding创库上先创建这个项目,因为当我们创建这个项目的时候,创库会自动为我们的这个项目分配一个访问地址,这个在我们关联到本地时是不可缺少的

2、开始进行本地关联,在本地创建一个文件夹,作为本地仓库,例如在桌面上创建一个LocalStore

3、打开Mac终端,键入 $ cd +本地仓库路径  ,对本地仓库进行操作,如图成功进入本地仓库

4、执行终端命令:git init    //对本地仓库进行初始化

此时已经初始化成功,系统化为本地仓库创建一个分支 master,但是打开本地仓库却看不到这个分支,因为这个分支是隐藏文件,不需要你去手动修改

5、执行终端命令:git remote add origin  +远程仓库的访问地址

例如:用来将本地仓库和Coding.net上的远程仓库进行关联起来

6、此时将你想要上传到仓库的项目的工程文件直接拖入本地仓库

7、终端命令:git status    // 进行查看仓库状态,红色的提示就是改动过的文件

8、终端命令:git add -A    // 将所有改动过的文件添加到缓存中,并非直接上传(如果只提交某一个文件时,可以执行 git add +文件名)

9、终端命令:git commit -a -m"添加备注信息"   // 提交到仓库,-a 表示提交缓存中的所有文件,-m" " 添加的一些备注信息   成功之后如下图所示:

10、终端命令:git pull origin master   // 先从远程仓库上更新代码文件

此时会进入 vim 编辑,可以按 esc --> : --> wq 进行保存并退出

注意:【下面这种错误如果出现了,可以进行如下操作,否则就可忽略这部分操作】

如果此时终端提示报错,显示没有操作远程仓库的权限时,如下所示:

[You have no permission to access this repo]

error:Therequested URL returned error:403Forbiddenwhileaccessing https://github.com/iopqrst/learn20140823.git/info/refs

此时,需要你在终端修改仓库 url 的地址格式:

终端输入:vim .git/config  // 这时终端进入vim编译模式,

修改:

[remote "origin"]

url = https://github.com/youname/example.git

为:

[remote "origin"]

url = https://youname@github.com/youname/example.git

【其中的 youname 指的是你的远程仓库名字】

然后可以按 esc --> : --> wq 进行保存并退出

再重新执行步骤 10 进行更新。

11、终端命令:git push -u origin master  // 将本地仓库的文件代码同步到远程Coding仓库,第一次同步时,需要添加 -u ,实现远程仓库与本地仓库分支进行关联 ,以后再同步时可以直接执行 git push origin master

12、提示输入 Coding.net 的账号密码

注意:如果没有执行 10 ,不先更新代码直接同步的话,会出现报错

这是提示你需要先进行更新,才能同步,然后你执行 10 之后,再键入 git push origin master 就可以了,成功同步之后为

此时可以查看你的Coding仓库查看提交记录

至于git的其他终端操作命令,可以通过 git help 进行查看


以上就是Mac上创建SVN服务器和关联Git管理仓库的方法,代码管理的平台工具、方法都有很多,无论哪种方法,只要自己用起来方便就是最好的方法

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,324评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,356评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,328评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,147评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,160评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,115评论 1 296
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,025评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,867评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,307评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,528评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,688评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,409评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,001评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,657评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,811评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,685评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,573评论 2 353

推荐阅读更多精彩内容

  • @(〓〓 iOS-实用技术)[代码管理 Git/SVN] 作者: Liwx 邮箱: 1032282633@qq....
    Liwx阅读 2,760评论 1 13
  • &开发过程中离不开源代码的管理, 目地:为了解决在软件开发过程中,由源代码引发的各种蛋疼、繁琐的问题。 目前开发使...
    早起的虫儿子被鸟吃阅读 2,428评论 0 16
  • 一、Git的简介 1.1.什么是git?git是一款开源的分布式版本控制工具,在世界上所有的分布式版本控制工具中,...
    IIronMan阅读 1,777评论 0 12
  • SVN & Git PS:本文所有$符号之后为在终端中执行的命令。 版本控制系统 版本控制 版本控制(Versi...
    羊驼先生丶阅读 545评论 1 7
  • PS:本文所有$符号之后为在终端中执行的命令。 版本控制系统 版本控制 版本控制(Version Control)...
    clarkx阅读 326评论 0 5