Ubuntu与Window下git的配置(Ubuntu服务器 /Windows客户端)
来源:互联网 发布:android 颜色矩阵 编辑:程序博客网 时间:2024/04/30 03:09
1.首先搭建Ubuntu服务器
1.1 前提
1.1.1 Ubuntu服务器端(Ubuntu 10)的用户:
(1) root@server:服务器超级管理员用户
(2) a@server:服务器管理员用户
(3) git@server:git所有代码仓库和用户权限的管理者
创建方法:
添加用户:a@server:/home$sudo useradd -m git
设置密码:a@server:/homesudo passwd git
1.2 服务器端安转配置git(用户:a@server)
a@server:/home$sudo apt-get install git-core openssh-server openssh-client
1.3 服务器端安装gitosis(用户:a@server)
a@server:/home$sudo apt-get install python-setuptools
a@server:/home$git clone git://eagain.net/gitosis.git
a@server:/home$cd gitosis
a@server:/home$python setup.py install
1.4 将a@server设定为git服务器配置管理员(就是拥有对gitosis-admin.git的管理权限)(用户:a@server)
1.4.1 生成密钥
a@server:/home$ssh-keygen -t rsa
1.4.2 拷贝公钥到服务器上(此步是为配置管理员在其他机器上,对于此实例不需要)
(1) scp .ssh/id_rsa.pub git@<server>:/tmp
(2) 或者通过手动拷贝到服务器上
1.4.3 更改公钥权限
sudo chmod a+r /tmp/id_rsa.pub
1.5 运行gitosis(用户:a@server)
a@server:/home/git$sudo -H -u git gitosis-init < /tmp/id_rsa.pub
运行结果:
Initialized empty Git repository in /home/git/gitosis-admin.git/
Reinitialized existing Git repository in /home/git/gitosis-admin.git/
1.6 配置管理gitosis文件权限(用户:a@server)
gitosis本身也是通过一个git仓库来管理配置文件,仓库就放在了/home/git/gitosis- admin.git。
a@server:/home/git$ sudo passwd root
a@server:/home/git$ su
root@server:/home/git$chmod 755 /home/git/repositories/gitosis-admin.git/hooks/post-update
root@server:/home/git$exit
1.7 在服务器上创建测试项目仓库(用户:git@server)
a@server:/home/git$ su - git
$ cd /home/git
$ mkdir test.git
$ cd test.git
$ git init --bare
$ exit
1.8 管理gitosis的配置文件(用户:a@server)
a@server:/home$sudo git clone git@<server>/home/git/repositories/gitosis-admin.git
a@server:/home$cd gitosis-admin/
目录keydir目录是用来存放所有需要访问git服务器的用户的ssh公钥:
各个用户按照前面提到的办法生成各自的ssh公钥文件后,按名字命名一下,比如b.pub等,统统拷贝到keydir下:
a@server:/home/gitosis-admin$ su root
a@server:/home/gitosis-admin$ cp /tmp/b.pub ./keydir/b.pub
root@server:/home/gitosis-admin$ exit
1.9 修改gitosis.conf文件,配置如下:(用户:a@server)
[gitosis]
[group gitosis-admin]
writable = gitosis-admin
members = a@server
[group team1]
writable = test
members = a@server b
配置文件表达了如下含义:gitosis-admin组成员有a, usr,该组对gitosis-admin仓库有读写权限;
team1组有a@server,b两个成员,该组对test仓库有读写权限;
当然目前这些配置文件的修改只是在你的本地,你必须推送到远程的gitserver上才能真正生效。
加入新文件、提交并push到git服务器:
a@server:/home/gitosis-admin$ git add .
a@server:/home/gitosis-admin$ git commit -am “add test prj and users”
a@server:/home/gitosis-admin$ git push origin master
1.10 初始化测试项目(用户:a@server)
好了,现在服务器就搭建完了,并且有一个空的项目teamwork在服务器上。
空仓库是不能clone的,所以需要某一个有写权限的人初始 化一个版本。
a@server:/home$ mkdir test
a@server:/home$ cd test
a@server:/home/test$ git init
a@server:/home/test$ echo "/*add something*/" > hello
a@server:/home/test$ git add .
a@server:/home/test$ git commit -am “initial version”
a@server:/home/test$ git remote add origin git@<server>:/home/git/test.git
a@server:/home/test$ git push origin master
1.11 到其他机器上,测试使用,如:b
到此为止test已经有了一个版本了,team1的其他成员只要先clone一下 test仓库,就可以任意玩了。
b@server:/home$ git clone git@<server>:/home/git/test.git
b@server:/home$ cd test
b@server:/home$ vim hello
b@server:/home$ git add .
b@server:/home$ git commit -am "b add"
b@server:/home$ git push origin master
b@server:/home$ exit
2. Windows上使用git
2.1 安装msysGit
2.2 生成密钥,如1.4.1
2.3 添加gitosis的配置文件中,如1.8,1.9所示
2.4 测试如1.11
3.服务器端配置git Web
3.1. 安装gitweb
sudo apt-get install gitweb
3.2. 安装apache2
sudo apt-get install apache2
3.3. 配置gitweb
3.3.1 默认没有 css 加载,把 gitweb 要用的静态文件连接到 DocumentRoot 下:
cd /var/ www/
sudo ln -s / usr/ share/ gitweb/* . (注意:后面的点)
3.3.2 修改配置:
sudo vi /etc/ gitweb.conf
将 $projectroot 改为gitosis-admin.git所在目录: /home/git/repositories
3.3.3 修改 /home/git/repositories权限,默认情况下,gitosis将 repositories权限设置为不可读的
sudo chmod 777 -R /home/git/repositories
- Ubuntu与Window下git的配置(Ubuntu服务器 /Windows客户端)
- ubuntu服务器 Git server配置 windows客户端
- ubuntu(window)系统下的git客户端搭建
- Git初步配置 ubuntu服务器 windows客户端 虚拟机
- Ubuntu下GIT服务器的安装与配置
- ubuntu下git服务器的简单配置
- 配置ubuntu SVN服务器和window 端的svn 客户端
- ubuntu下git服务器配置
- 搭建Git服务器(Ubuntu虚拟机)和windows客户端
- ubuntu搭建GIT服务器与客户端
- Window下配置SVN服务器与客户端
- Ubuntu 下建立OPENVPN 服务器/WINDOWS 客户端
- Windows下配置Git服务器和客户端
- Windows下配置Git服务器和客户端
- Ubuntu下配置NFS服务器和客户端
- ubuntu服务器下git ssh 密钥 配置
- Linux ubuntu 下 git 服务器的配置 应用
- Ubuntu配置NFS服务器与客户端
- 嵌入式开发流程
- 日本地震对大陆半导体及手机的影响
- 超简单的一个解决JAVA Enumeration问题的方案
- NTL使用方法(VS2008环境下)
- Socket编程服务端和客户端代码
- Ubuntu与Window下git的配置(Ubuntu服务器 /Windows客户端)
- http://java.sun.com/developer/onlineTraining/GUI/AWTLayoutMgr/shortcourse.html
- 如何成为java高手
- 算法面试:精选微软经典的算法面试100题
- 死一样的通过….
- oracle登录时的身份验证
- 如何将Web应用打包成.war文件? 转自:http://blog.csdn.net/code_JAVA/archive/2008/05/19/2457749.aspx
- 关于VTK 显示中文字符问题
- POJ_2352线段树