Linux搭建Git服务器 windwos下 Git Bash, TortoiseGit 的使用


按如下步骤一步一步来:

一、 Linux 服务端

	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


二、 windows 客户端

	1. 安装工具
		1> Git-1.9.4-preview20140929
		2> TortoiseGit-1.8.12.0-32bit
			安装的时候,选择 TortoiseGit 自带的 TortoisePlink.exe, 作为 SSH 客户端
		
	2. 进入 Git Bash 命令下, 生成 SSH 密钥
		ssh-keygen -t rsa 		# 一路回车, 此时根目录 .ssh 下将生成如下连个文件
		
		文件:
		id_rsa					# 私密钥(开发电脑上使用)
		id_rsa.pub				# 公共密钥(git服务器上使用)
		
	3. 打开 TortoiseGit 带的 PuTTYgen 工具
		1> 打开 PuTTYgen ,选择 Load 按钮,从 ~/.ssh 目录下,加载私有的密钥 id_rsa,
		   此时 puTTYgen 将生成 OpenSSH 公有密钥的字符串(复制所有字符串,保存到文件中,
		   网上一些开源的 git 服务器会用到,比如:https://github.com/)
		   
		2> 点击 Save private key,生成 TortoisePlink 需要的 ppk 文件
		

三、搭建用 gitosis 管理 git服务器的 key 流程
	1. 将 windows 下生成的 id_rsa.pub 上传到 Linux 服务器
	2. 到 Linux 命令行下:
		$ adduser git									# 添加 git 用户
		$ su git										# 切换到 git 用户下
		$ gitosis-init < /目录/id_rsa.pub				# 初始化 gitosis (id_rsa.pub 为刚才从 windows 上,上传过来的文件)
		
	3. 到 windows 下:
		1> 右键菜单 TortoiseGit 使用 Git clone... 
		2> 在弹出的窗口 
			URL: 					git@你的git服务器IP地址:gitosis-admin.git
			Load Putty key:		刚才生成的 ppk
		3> 点击 OK 按钮,开始从 git服务器 clone 
			出现的问题:
				如果此时显示一对话框提示说, git@你的git服务器IP地址:gitosis-admin.git,
				要求输入密码,说明 key 有问题,请按本教程流程,再看一片,是否有错的步骤
		4> clone 完后
			有个 gitosis-admin 文件夹, 里面:
			1) gitosis.conf 文件			# 保存项目名和 key 文件的
				# 初始状态如下
				
				[gitosis]

				[group gitosis-admin]
				
				# 此值,就是一开始把 id_rsa.pub 从 windows 上上传来,然后用 gitosis-init 生成的,
				# 必须和 keydir 目录下的文件同名
				members = 你的计算机名@localhost.localdomain 
				
				# 此值就是 gitosis-admin 项目的名称,也是用 gitosis-init 命令时生成的项目
				writable = gitosis-admin	
			
			2) keydir						
				#  初始状态一个文件如下
				
				你的计算机名@localhost.localdomain.pub
				
				
				

四、添加其他开发用户
	1. 生成密钥(参照步骤:<二、 windows 客户端>)
	
	2. 到 gitosis-admin 目录下(看一开始用哪台机器的 id_rsa.pub 初始化 gitosis-admin 的)
		1> 把生成的公共密钥 复制 到 gitosis-admin 的 keydir 目录下,名字可以随便取,以 .pub 为后缀,如 xxx.pub
		2> 修改 gitosis-admin 目录下 gitosis.conf,打开文件如下:
				
			[gitosis]

			[group gitosis-admin]
			members = 你的计算机名@localhost.localdomain xxx				#  此时 xxx 密钥对应开发机器也有了读写 gitosis-admin 的权限了
			writable = gitosis-admin
			
			[group yyy-proj]												# 这个组名称不知道可以随便命名不,我还没试过,一般就和项目名称同名了
			members = xxx													# 此时 xxx 密钥对应开发机器对 yyy-proj 项目有了读写权限
			writable = yyy-proj												# 这是 xxx 密钥对应开发机器的项目名称
			
	3. 项目 yyy-proj 的建立
		1> Git Bash 命令行下建立
			$ mkdir yyy-proj
			$ cd yyy-proj
			$ git init
			$ vim 1.txt														# 新建一个文件, 随便输入点内容
			$ git add 1.txt
			$ git commit -a -m "add 1.txt"
			$ git push git@你的git服务器地址:yyy-proj.git master				# 在 git服务器 上创建 master
			
			此时如果用 TortoiseGit 进入目录下,右键菜单执行 push,
			在弹出的对话框,选择 Manage 按钮,然后弹出 Remote 设置的
			对话框:
				Remote: 	填写	origin
				URL:		填写 	git@你的git服务器地址:yyy-proj.git
			
		
		2> 纯 TortoiseGit 建立
			1) 建立项目文件夹 yyy-proj
			2) 进入项目文件夹, 右键菜单 Git Create repository here...
			3) 建立 1.txt 文件
			4) 右键菜单 Git commit -> "master"
			5) 提交 1.txt 文件后,右键菜单 TortoiseGit -> push 
			
			在弹出的对话框,选择 Manage 按钮,然后弹出 Remote 设置的
			对话框:
				Remote: 	填写	origin
				URL:		填写 	git@你的git服务器地址:yyy-proj.git
				
			
			
			
					
	
	

	


你可能感兴趣的:(Linux搭建Git服务器 windwos下 Git Bash, TortoiseGit 的使用)