搭建完该服务器后,版本服务器和自动化运行PC、开发人员的PC之间互为备份,且在网络断开的情况下,也不会影响各自的工作。
(1) 绿色表示成功启动,如果是红色,请重新安装。
如果之前安装过又卸载,则删除系统用户SvcCOPSSH即可,步骤:
1)开始->计算机->右击->点击管理->进入计算机管理界面
2)展开[本地用户和组]->展开用户列表->选中系统用户SvcCOPSSH->右键删除即可
(2)启动成功,之后接着如下:
=>选择Users,点击Add
=>点击Forward,选择用户,然后点击Forward
=>默认就行,然后点击Apply完成
=>然后回到User那个界面,此时会看到添加了git用户,点击Apply按钮
到这里copssh的配置暂告一段落。
gitpath='/cygdrive/c/Program Files/Git/mingw64/bin'
gitcorepath='cygdrive/c/Program Files/Git/mingw64/libexec/git-core'
PATH=${gitpath}:${gitcorepath}:${PATH}
=>修改
$ICW/etc/profile,在文件末尾增加如下行(注意:红色为git安装目录),#这是加到bash profile后面的,同样的我们需要按照上面的方法修改路径:
gitpath='/c/Program Files/Git/mingw64/bin'
gitcorepath='cygdrive/c/Program Files/Git/mingw64/libexec/git-core'
export PATH="/bin:$syspath:$gitpath:$gitcorepath:$winpath"
git init --bare myrepo.git
用来创建自己的远端仓库,这里的myrepo可以取自己想要的名称。选择--bare选项是为了建立一个
纯git仓库,在此位置创建的版本库应该是裸版本库,即没有工作区,不能在服务器进行修改的版本库。
创建后的目录结构如下:
以上7个步骤是为了在服务器端搭建git环境和仓库,下面的操作均在客户端(本机)进行。
(2)生成全局公钥和私钥,命令:
ssh-keygen -t rsa -C
一路按回车(如果需要设置密码可以自己设置)。 生成了两个文件id_rsa.pub,id_rsa,待会全局git配置的时候使用。
(3)如果是配置单个git账号,命令:ssh-keygen -t rsa -C
其中会提示输入公钥名字,可以任意取,本例中取的名字为id_rsa_name。产生了两个文件id_rsa_name.pub、id_rsa_name,id_rsa.pub为公钥,id_rsa为私钥。
(4)如果需要设置多个git账户,比如github和win7服务器上分别有仓库需要管理,那么上述命令ssh-keygen -t rsa -C
ssh-add ~/.ssh/id_rsa
然后设置邮箱和姓名
git config --global user.name
git config --global user.email
例子:
git config --global user.name alexliu
git config --global user.email [email protected]
注意这里是--global
首先在C:\Users\
# 配置github.com
Host github.com
HostName github.com
IdentityFile C:\\Users\\alexliu\\.ssh\\id_rsa_github
PreferredAuthentications publickey
User [email protected]
# 配置win7服务器
Host 192.168.1.1
HostName 192.168.1.1
IdentityFile C:\\Users\\alexliu\\.ssh\\id_rsa_win7
PreferredAuthentications publickey,password,keyboard-interactive
User git
Port 22
其中,HostName是服务器的地址,User是服务器注册的用户名,IdentityFile是刚刚生成的私钥位置,PreferredAuthentications为认证方式。
ssh-add ~/.ssh/id_rsa_win7
ssh-add ~/.ssh/id_rsa_github
最后,添加本地姓名和邮箱:
git config --local user.name
git config --local user.email
ssh-copy-id –i ~/.ssh/id_rsa_win7.pub [email protected]
这条命令中id_rsa.pub为公钥,[email protected]中的git为服务器刚刚创建的git用户(如果用户名为alex,则为[email protected]),192.168.1.1为服务器ip地址。
该条命令执行成功后,会在服务端的copssh软件的user->Keys按钮下查看到你所添加的公钥。
(2)添加到github的公钥
找到github的设置选项,将公钥拷贝进去即可。
命令执行后,会在客户端PC的.ssh目录下生成一个新的文件known_hosts。
1、保证服务器端的ssh服务已经打开,如果出现打开copssh软件然后闪退的情况,则在win7的服务中将Openssh SSHD服务设置为启动,即可。
2、假设你需要拷贝win7服务器下的myrepo.git这个仓库,在客户端打开gitbash,运行命令:
git clone [email protected]:myrepo.git
该命令下的[email protected]:myrepo.git的git为服务端用户名,myrepo.git为服务器的仓库。
运行成功,则说明windows下的git服务器搭建完毕。
3、如果运行不成功,则尝试以下命令:
ssh –vT
查看打印信息,一般考虑以下几个方面的问题:
(1)公钥没有正确上传,可以将known_hosts中对应服务器的内容删除后,再重新向服务器添加公钥
(2)ssh服务没有开启
(3)git和ssh没有正确关联
(4)如果是多个git账号,则关注下config文件是否配置正确