共计 849 个字符,预计需要花费 3 分钟才能阅读完成。
一开始 git 在 ip 为 127.0.0.1 的服务器上,clone 地址为 [email protected]:/data/git/project.git
现在转移到 ip 为 127.0.0.2 的服务器上,git 项目路径保持不变(为了理解简单性)
采取的是克隆裸库,更改 git 地址
1:克隆裸库, 在目标服务器(127.0.0.2)执行下列命令
[root 127.0.0.2]# cd /data/git
[root 127.0.0.2]# git clone --bare [email protected]:/home/git/project.git
现在仓库已经有了,下一步增加 git 用户,以及免密码克隆。
[root 127.0.0.2]# useradd git
安全设置 git 用户不能登录等
[root 127.0.0.2]# vi /etc/passwd #将 git 用户最后面的 /bin/bash 删除,改为 /usr/bin/git-shell 在 fetch 的时候会提示输入密码,改为 nobody, 会在 clone 的时候会出现“fatal: protocol error: bad line length character: This”
移动 authorized_keys 文件
[root 127.0.0.1]# scp /home/git/.ssh/authorized_keys [email protected]:/home/git/.ssh/authorized_keys
更改 git 服务器地址
[user 使用 git 的用户机器]# git remote set-url origin [email protected]:/data/git/project.git
[user 使用 git 的用户机器]# git remote -v #查看地址是否已经修改
[user 使用 git 的用户机器]# git fetch #是否可以同步文件
如果 fetch 需要登录,请查看 /home/git 下.ssh 权限
[root 127.0.0.2]#ls -al #如果所有者及组不是 git 请执行:
[root 127.0.0.2]chown -R git:git .ssh
正文完