ubuntu14.04下git服务器使用说明



ubuntu14.04使用git服务器说明:
1.简介:git属于分布式版本控制器,其实每个人的电脑都是一个完整的版本库;比如两个人在局域网写一个项目,那么这两个人的电脑里面都是一个完整的项目,当有新的代码出现的时候,直接push给对方即可。当然人多的时候,又不在局域网里面,不可能push给每一个人,git的解决方案是用一台电脑当做集中的版本库,大家把新代码都push到上面去,要得时候在pull到自己电脑上。
   你的文件一共可以放在三个地方,一:你的本地库,二:你的当前修改缓存,三:公共服务器的远程库。在使用git服务器时,需要先在自己电脑上建立一个本地库,用来存放和克隆远程库的内容,当然克隆前应该先初始化一下。然后当你对你当前本地库里的文件进行完更改之后,它只是停留在本地缓存,你需要提交命令来将更改保存到本地库,在这完成之后,你需要将你的修改完的新版本的库push到远程服务器的库中。这样当别人在他的电脑上更新远程库后,就可以看到你修改的内容,当然还可以看到修改之前的版本。
2.实验室服务器说明:
  实验室git服务器ip地址为IP
  实验室git服务器登陆用户选择bupt-server-1,一般修改在这个用户下进行。登陆密码为teamserver。
  实验室git服务器git用户密码为:*****
  实验室git服务器的本地仓库在/home/bupt-server-1/git_repo_local下,也就是在主文件夹下的git_repo_local,在线远程仓库在/home/git_repo下。
  实验室git服务器的账户管理,包括增加管理员,新建项目,和指定用户权限,这些需要修改gitosis的配置文件,然而gitosis的配置文件也是一个库,我已经将它克隆在/home/bupt-server-1/gitadmin文件夹下,文件夹下有连个文件,一个是keydir用来存放由权限访问git用户的公钥,另一个是gitosis.conf,用来配置具体的仓库用户和权限,和管理员配置。当然以上这些修改,都必须是管理员才有权限来修改的。
  具体的操作,参考http://blog.csdn.net/michaelhan3/article/details/51637271“管理gitosis的配置文件”部分。
3.快速使用git服务器(以下命令都是在终端)
  前提确保你的电脑和git服务器在同一个局域网内!
  安装git相关软件:
  sudo apt-get install git-coreopenssh-server openssh-client

  安装配置gitosis初始化一下服务器的git用户,这一步其实是为了安装gitosis做准备。在任何一 台机器上使用git,第一次必须要初始化一下:
  git config –global user.name “myname”
  git config –global user.email “myname@server“
  安装一下python的setup tool, 因为gitosis的安装用到了python的一工具,这个也是为了gitosis做准备:
  sudo apt-get install python-setuptools
  获得gitosis包:
  cd /tmp
  git clone https://github.com/res0nat0r/gitosis.git
  cd gitosis
  sudo python setup.py install

  获取本机的公钥
  ssh-keygen -t rsa
  该命令只需一直按回车键即可,知道命令直行结束,你的公钥存储在/home/你的ubuntu的机器名子/.ssh/id_rsa.pub,id_rsa.pub就是你的公钥,但是是不可见的,你需要在终端使用cp命令将它拷贝出来,
  例如:sudo cp -a /home/你的ubuntu的机器名子/.ssh/id_rsa.pub,id_rsa.pub  /你自己准备放公钥的文件夹
  然后将该公钥交给管理员,管理用将该用户的公钥重命名为该人的名字(为了在项目中方便),将其拷贝到/home/bupt-server-1/gitadmin/keydir下,然后再修改gitosis.conf文件。

  管理员需要将本地修改push到在线的仓库,这样才会生效。
  cd
  cd /gitadmin/gitosis
  git add .  注意有个点,点前有空格
  git commit -am "add a user permission"
  git push origin master
  新增的用户不能立即生效,这时候需要重新启动一下sshd服务
  sudo /etc/init.d/ssh restart  

  接下来那个添加好公钥,并且是某项目的成员的机器,就可以克隆该项目了
  建立一个自己的本地仓库,就是文件夹
  进入文件夹,使用命令git init初始化一下
  克隆项目
  git clonegit@IP:/home/repo/han_test_prj.git
  这里的han_test_prj.git是我建立的测试仓库,你需要克隆你自己需要的仓库,且你必须是有权限的。
   
  到此,你已经克隆了远程仓库的内容到你的本地仓库了,接下来你可以修改和使用了。
 
  当你修改了以后将其push到远程服务器
  git add .    你添加了修改命令
  git commit -am "this is b added"     你提交的修改命令引号内需要说明的是你这次提交的说明
  git push origin master   将修改push进远程服务器,如果这句有错误,在该句执行前加上git remote rm origin再试试

4.安装linux下git服务器可视图形客户端
参考下面网址安装,推荐使用Git-cola和gitg客户端。
http://blog.csdn.net/jfkidear/article/details/14209823
安装Git-cola客户端命令:sudo apt-get install git-cola
安装gitg客户端命令:sudo apt-get install gitg
如果安装失败,请更新一下软件,命令apt-get update


5.创建仓库,修改,以及提交推送到远程服务器
  创建仓库:假设创建slam.git的仓库
  目前需要在服务器本机上,进入git用户下,创建仓库
  su git
  cd /home/git_repo
  mkdir slam.git
  cd slam.git
  git init --bare
  exit
  现在,在远程服务器已经建立了一个空的仓库,但是空仓库是不能克隆的,所以需要在服务器本地仓库给它一个初始化的版本

  初始化远程服务器的slam.git仓库:
  mkdir slam-roi
  cd slam-ori
  git init
  echo "/*add something*/"> readme
  git add.
  git commit -am "initial version"
  git remote add origin git@IP:/home/git_repo/slam.git
  git push origin master
  到目前,在远程服务器上已经有一个已经初始化后的版本,可以在其他机器上克隆和提交了

  在另一台机器上
  建立一个文件夹作为你的本地仓库:
  mkdir myGitRepo
  cd myGitRepo
  git init
  git clone git@IP:/home/git_repo/slam.git
  密码是927git
  然后你就在你的本地仓库克隆了远程服务器上的slam.git仓库
  在仓库里加上main.cpp文件后
  git add . main.cpp
  git commit -am "说明"
  git push origin master
 
 
 
 
 
 







  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值