在本地搭建本地GIT服务器
- 如果要搭建本地的服务器,往往可以通过两类方式处理,要考虑windows环境,和linux环境.
- 如果在windows中搭建需要一个模拟的Linux环境
使用CopSSH搭建GIT服务器
-
git本身最好的搭建环境是在linux中,但是很多团队还在使用windows系统,所以这个时候就需要一些模拟环境—CopSSh完成
-
CoopSSH工具是一个收费工具,本次使用旧版本进行环境搭建.
https://pan.baidu.com/s/1LfrA4cMtz7T0rxMLlJ8dYg
- 在linux中所有的操作都是基于SSH链接是最方便的,所以请确保已经生成ssh key.
- 进行CopSSH软件安装,选择安装路径
- 如果要使用CopSSH需要建立一个账户,此时暂时为"copssh"密码为:123456
该用户作用于控制copssh的服务启动管理
如果要进行本地GIT服务搭建,如果要进行更加合理的管理,往往需要以下几种人员
- 版本控制人员:verman_*
- 程序开发人员:coder_*
- 程序测试人员:tester_*
- 为了表示现在是一个开发者进行git操作,在windows中创建一个coder_yootk用户,密码设置为123456
- 该用户最好有远程访问该计算机的权限,否则在客户端使用git克隆该服务器中的仓库时而能会出现错误
- 打开copssh控制面板(copssh安装路径中的bin目录下的copssh.exe执行文件)
- 首先会告诉用户Copssh服务已经打开了,需要在CopSSH的环境之中进行用户的配置,将coder_yootk账户信息配置到copSSH之中.
- 选择 users – > add
- 选项forward,选择刚才添加的windows用户 coder_yootk
- 本次使用SSH的方式完成处理,所以不采用密码验证.
- 随后点击 apply 所配置的使用的用户信息,就会自动出现在copSSH之中
- 实际上这个时候只是告诉了COPssh有这样一个用户连接信息,但是这个用户还不能够进行登录,因为还需要配置SSH授权
"copSSHHome" 为你安装copssh软件的目录
- 授权目录:copSSHHome\home\coder_yootk.ssh
- 我的生成的SSH KEY的目录在:C:\Users\Xiemaoshu.ssh
- 在coder_yootk.ssh目录下建立有一个authorized_keys文件,保存SSH账户的链接的信息.
- 将电脑中的 公钥信息拷贝到authorized_keys文件中
- 配置完成之后就可以在copssh的控制面板里面找到相应的配置信息.
-
为了检测当前的配置是否成功,需要进行一下链接测试
- 本机的ip地址:192.168.0.104
- 打开git Bash 通过这个工具进行链接测试:ssh coder_yootk@IP地址
-
输入 yes 进行连接,用户名会变为连接的用户名
-
对于"coder_yootk的所有操作实际上都保存在了CopSSH的相关用户的目录之中
-
CopSSH和GIT现在是彼此独立的,因为CopSSH只是提供一个模拟环境,没有提供git命令,所以要配置映射路径,主要修改两个配置文件
- copSSHHome\home\coder_yootk\.bashrc
- copSSHHome\etc\profile
-
在这两个配置文件里面需要加载相关的git的操作路径,有两个路径
- GITHome\mingw64\bin
- GITHome\mingw64\libexec\git-core
“GITHome”,是安装GIT的根路径
- 修改etc/profile文件
- 将第6行的 export Path 前面加上"#" 将这一行注释掉
- 在第七行插入新的export Path
- 每个路径要使用":"冒号分隔,所有路径需要用双引号包裹起来
- 因为模拟的是linux环境,在linux环境下,路径的分隔符使用的是"/"表示,并且盘符不需要加冒号.
export PATH="/bin:$winpath:$winpath:/cygdrive/GITHome/mingw64/bin:GITHome/mingw64/libexec/git-core"
- 修改coder_yootk.bashrc文件
- 在文件最后一行追加以下内容
export PATH="/bin:$winpath:$winpath:/cygdrive/GITHome/mingw64/bin:GITHome/mingw64/libexec/git-core"
- 当配置文件修改之后对于CopSSH的服务需要重新启动
- 其实已经配置好了CopSSH于GIT的联合环境,随后将通过GITBash进行远程登录
- 使用GIt Bash 登录 coder_yootk用户信息
- 打开git Bash 通过这个工具进行链接测试:ssh coder_yootk@IP地址
- 建立一个仓库的文件信息:名称maoshu.git(mkdir maoshu.git)
- 进入到"maoshu.git"目录之中:(cd maoshu.git)
- 初始化仓库:git init --bare:
-
实际上这个时候的仓库地址就为 coder_yootk@IP地址:maoshu.git
-
克隆此仓库
-
打开cmd,进入到一个目录中
git clone coder_yootk@IP地址:maoshu.git
- 由于此时的仓库中没有任何内容,所以它会提示你克隆了一个空的仓库
- 克隆结果
- 编写代码,随后进行代码推送
- 在克隆出的仓库中,添加一个文件,然后使用git推送到服务器上
- 使用cmd进入到以克隆好的仓库中,将新增的文件,推送到服务器端
e:
cd maoshu
git status #查看当前仓库状态
git add * #将所有工作区修改的文件添加到暂存区
git commit -m "注释内容" #提交到仓库
git push origin master #将内容推送到远程仓库
在linux中搭建GIT服务器
-
如果要在linux下搭建GIT操作实际上会非常的容易
-
首先需要取得linux下的GIT工具包
-
如果使用的是UBuntu系统,可以直接使用一下命令
apt-get install git
- 如果是CentOS系统可以使用yum安装git
yum install -y git
- 如果取得了开发包之后,输入git命令有所反应,就表示git可以操作了
- 在/usr/local/ 目录中建立一个"git-work"的子目录,所有的仓库都保存到该目录
cd /usr/local
mkdir git-work
- 需要进入到git-work的目录下进行操作
- 在git-work目录之中创建一个 maoshu.git文件夹,作为初始化远程git仓库
git init --bare --shared maoshu.git
-
在本次操作之中直接利用git的命令实现了仓库的创建,使用了如下两个参数
- –bare:创建一个基础仓库
- shared:所有的用户都具备此仓库的操作权限
-
随后使用克隆的操作,将此仓库的内容克隆到本地:
- 建立一个"/usr/local/myworks/"目录,
mkdir /usr/local/myworks/
- 进入该目录
- 进行远程仓库的克隆操作:在linux中使用ifconfig查看当前IP地址
git clone root@ip地址:/usr/local/git-work/maoshu.git
- 此时需要你输入"yes"确认链接,然后输入 linux的"root"用户密码
-
此时就可以将仓库克隆出来
-
但是每次都进行密码输入有点麻烦,所以可以在linux中配置ssh,来达到免登录的操作
- 为了保证操作安全,建议将之前的SSH删除掉:
rm -r ~/.ssh
- 使用RSA的认证模式生成新的SSH KEY,本次都是用默认即可,一直回车
ssh-keygen -t rsa
- 将公钥的信息拷贝到授权认证的文件之中:
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
- 再次测试克隆操作
- 很多的开发者实际上都会使用windows进行,如果要想进行windows免登录控制,则需要手工修改"authorized_keys"文件,增加当前系统中的SSH 公钥信息
- 使用VI编辑器打开"authorized_keys"文件
vim ~/.ssh/authorized_keys
- 输入 i 进入编辑模式
- 将windows本地的SSH KEY的信息拷贝到文件之中:
-
linux
-
这种免登录的配置必须保证你的IP地址不会发生改变,否则这个SSH KEY的信息就会失效
-
在windows中克隆linux服务器中的git仓库
git clone root@ip地址:/usr/local/git-work/maoshu.git