然后在网站跟目录使用 git init就可以了
在本地使用git clone 你的网址:网站根目录的绝对路径 就可以把网站克隆到你本地了
随着互联网的高速发展,进入互联网行业的人越来越多,而且随着开源共享的风气越来越好,因此很多人都会将自己的一些成果上传到网站上与其他人共享,在共享的同时,也可以得到其他人的反馈意见,因此开源可以促进我们一起进步。在互联网上有专门的网站可以帮助我们来管理共享这些信息,对于我们程序员来说,能够获取到源码对我们的收益很大,其中比较大型的的网站有GitHub,码云等,而且现在阿里,腾讯,百度,华为等都有自己的代码托管仓库。
GitHub代码托管服务平台,现在已经被微软收购,但是GitHub中一包含了全世界很多优秀的开源项目,我们可以从GitHub获取到很多很多优秀的开源项目来进行学习,当然我们也可以将自己的项目上传上去与他人分享。
GitHub中的代码几乎涵盖了互联网所有的行业,所以在GitHub上我们基本上都可以找到关于自己想要的内容。
GitHub最开始并没有免费的私有仓库,但被微软收购之后,个人用户可以创建私有仓库,并且不限制个数,只是私有仓库同时协作工作者只能有三个人,但这个也很大的方便了我们的使用。
Gitee(码云)是我们国内的一个代码托管平台,由于GitHub属于国外的网站,因此我们国内用户访问的时候,经常会很慢,很影响体验效果,但是Gitee属于我们国内自己的网站,因此不存在访问速度慢的问题。
Gitee中也包含了很多的优秀项目,由于是国内网站,下载速度也会很的块,Gitee中由于大多都是国人共享的项目,因此很多都是中文说明,对我们来说也超级友好。
Gitee中也可以创建免费不限个数的私有仓库,如果想要创建一些私有代码库,Gitee是一个不错的选择,主要原因也在于他的访问速度。
除了GitHub和Gitee之外,阿里,腾讯,百度,华为等企业也给我们提供了一些代码管理平台,但这些主要面向群体是企业,对于个人来说,Gitee和GitHub是一个相对比较好的选择。
除了使用互联网中的代码托管平台,我们也可以自己搭建一台私有的Git服务器,将代码保存在我们自己的服务器上面。
搭建私有代码托管服务器这里介绍几种:
1. 使用git搭建,因为不管GitHub还是Gitee等其他代码托管平台基本上都是基于Git进行开发的,因此我们可以直接自己使用Git来搭建一台自己的代码服务器
2. Gitlab是一款比较大型的管理平台,除了可以对代码进行管理之外,也可以有持续交付等高级功能,Gitlab提供社区版本来方便我们个人的搭建。
3. Gogs,一个开源的代码托管项目,使用go进行编写,相比Gitlab而言,Gogs很的轻量,整个项目也很的小,安装起来也很方便,因此很适合我们个人的使用。
我们很多人知道Git可能是从Github开始的。因为Github是如此流行,几乎所有写代码的人都知道它,以至于一提到Git就以为是Github,其实两者并没有多少关系,只是名字类似而已(这有点像Java和JavaScript)。152855_dxab_940492.png
实际上,Git是一个分布式版本控制软件,原来是Linux内核开发者Linus Torvalds为了更好地管理Linux内核开发而创立的。虽然Git比SVN优秀很多,但它们最初被设计出来的想法是一致的,那就是版本控制。而Github却是一个网站,充当Git公共服务器的作用,只要拥有Github账号的人都可以把自己的项目托管在那里,如果你舍不得花些钱,你的项目是强制公开的。所以,Github就是一个通过Git协议为众多开发者提供代码托管的地方,同时它提供了很多特性,第一次使得大家可以这么公开地讨论起各自的项目。
153043_4iw8_940492.png
上面之所以说这么多,是因为今天要讲的Gitosis有点类似Github的功能。什么意思呢?就是我们可以在自己的服务器上安装Gitosis,那么这台服务器就可以向Github一样对外提供代码托管服务了,这对于很多不愿意把自己的代码公诸于世的公司来说最好不过了。
这里以CentOS充当服务器为例给大家讲解一下Gitosis的安装和配置。
1.编译安装git
yum install git
2.安装gitosis
$ yum install python python-setuptools
$ git clone git://github.com/res0nat0r/gitosis.git
$ cd gitosis
$ python setup.py install
网址:https://github.com/res0nat0r/gitosis
3.在开发机器上生成公共密钥(用来初始化gitosis)
$ ssh-keygen -t rsa #不需要密码,一路回车就行(在本地操作)
$ scp ~/.ssh/id_rsa.pub root@xxx:/tmp/ # 上传你的ssh public key到服务器
4.初始化gitosis[服务器端]
$ adduser git # 新增一个git用户(先添加用户组 groupadd git)
$ su git # 切换倒git用户下
$ gitosis-init </tmp/id_rsa.pub # id_rsa.pub是刚刚传过来的,注意放在/tmp目录主要是因为此目录权限所有人都有定权限的
$ rm /tmp/id_rsa.pub # id_rsa.pub已经无用,可删除.
5.获取并配置gitosis-admin [客户端]
$ git clone git@xxx:gitosis-admin.git # 切换到root用户并在本地执行,获取gitosis管理项目,将会产生一个gitosis-admin的目录,里面有配置文件gitosis.conf和一个 keydir 的目录,keydir目录主要存放git用户名
$ vi gitosis-admin/gitosis.conf # 编辑gitosis-admin配置文件
如果无法git clone的话,可以使用git clone git@xxx:/home/git/repositories/gitosis-admin.git
# 在gitosis.conf底部增加
[group 组名]
writable = 项目名
members = 用户 # 这里的用户名字 要和 keydir下的文件名字相一致
# VI下按ZZ(大写)两次会执行自动保存并退出,完成后执行
$ cd gitosis-admin
$ git add .
$ git commit -a -m “xxx xx” # 要记住的是,如果每次添加新文件必须执行git add .,或者git add filename,如果没有新加文件,只是进行修改的话就可以执行此句。
# 修改了文件以后一定要PUSH到服务器,否则不会生效。
$ git push
如果在git push的时候,遇到错误“ddress 192.168.0.77 maps to bogon, but this does not map back to the address – POSSIBLE BREAK-IN ATTEMPT!”,解决为修改/etc/hosts文件,将ip地址与主机名对应关系写进去就可以了。
注意:这里我们并没有进行任何的修改的,现在只有一个管理git的项目。下面的为新添加项目的配置,大家经常用到的也就是下面的操作的。
新建项目
到此步就算完成gitosis的初始化了。接下来的是新建一个新项目到服务器的操作,如第5步中配置gitosis.conf文件添加的是
[group project1] # 组名称
writable = project1 # 项目名称
members = xxx # 用户名xxx一定要与客户端使用的用户名完全一样,否则无权限操作
提交修改并更新到git server服务端
$ git commit -a -m “添加新项目project1,新项目的目录是project1,该项目的成员是xxx“ # “”里的内容自定
$ git push
将新创建的项目提交到git server 上进行登记。以便客户可以操作新项目.
# 在客户端创建项目目录(客户端,当前用户为 XXX )
现在回到开发者客户端,上面创建了一个新项目project1并提交到了git server 。我们这里就创建此项目的信息.注意 项目名称 project1要与gitosis.conf文件配置一致,
$ mkdir /home/用户/project1
$ cd /home/用户/project1
$ git init
$ git add . # 新增文件 留意后面有一个点
$ git commit -a -m “初始化项目project1″
# 然后就到把这个项目放到git server服务器上去.
$ git remote add origin git@xxx:project1.git # xxx为服务器地址
$ git push origin master
# 也可以把上面的两步合成一步
$ git push git@xxx:project1.git master
说明:如果在执行 git push origin master 的时候,提示以下错误:
error: src refspec master does not match any.
error: failed to push some refs to ‘git@192.168.0.77:pro2.git’
这是由于项目为空的原因,我们在项目目录里新创建一个文件。经过->add ->commit ->push 就可以解决了
$ touch a.txt
$ git add a.txt
$ git commit -a -m ‘add a.txt’
$ git push
————————————————————————————————
如果在git clone的时候遇到“
error: cannot run ssh: No such file or directory – cygwin git
”错误,则表示本机没有安装ssh命令。安装方法请参考:http://blog.haohtml.com/archives/13313
有时候我们要更换电脑来重新开发项目。这个时候,只需要将id_rsa私钥放在home目录里的.ssh目录里就可以了。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)