1. 安装Git远程服务器。服务器操作系统为 linux centos
使用yum在线安装git
yum install git
添加git用户组和用户名,后续客户端需要使用git用户连接远程服务器
groupadd git
useradd git -g git -s /bin/git-shall
创建用户存放git仓库的目录
mkdir /home/git/gitrepo
将目录拥有者改为git用户和用户组
chown git:git gitrepo/
初始化一个git仓库,仓库名为myproject
git init --bare myproject.git
2. 在客户端windows系统上安装git
创建一个存放项目的目录,如projects_workspace
在projects_workspace目录下,右键单击,在弹出菜单中选择Git Bash here
进入git 命令窗口,生成ssh证书
输入ssh-keygen -t rsa命令,默认回车3次,生成ssh证书
ssh-keygen命令会在用户目录下生成.ssh隐藏目录,会生成两个文件分别为id_rsa和id_rsa.pub分别存放ssh的私钥和公钥。
3. 将客户端公钥导入服务器,实现ssh免密登录
id_rsa.pub中存放的是证书的公钥,是一串密钥,可以用记事本打开。要实现免密登录,需要将公钥复制到服务器端git用户目录下的authorized_keys中。
登录远程服务器进入git家目录 /home/git,进入隐藏目录.ssh,如果没有,则创建,找到authorized_keys文件,如果没有则创建。
使用vi打开authorized_keys文件,将客户端公交复制到此文件中,一个客户端公钥占用一行,如果需要授权多台客户端,则分别在每个客户端生成密钥后导入此文件
4. 进入客户端项目存放的目录projects_workspace,创建项目myproject,myproject为项目目录,其中存放项目的文件,进入myproject目录
右击 选择Git bash here
git init 初始化git本地仓库
git add . 将目录下的所有文件提交到本地暂存区
git commit -m "提交"
本地项目关联到远程仓库,myproject_gitserver为远程服务器仓库的别名,可以随意取。 git为服务器上的git用户名,xxx.com为服务器地址,可以将域名改为IP地址,/home/git/gitrepo/为服务器git仓库存放的目录的绝对路径,myproject.git为git仓库目录
git remote add myproject_gitserver git@xxx.com:/home/git/gitrepo/myproject.git
将代码提交到远程仓库
git push -u myproject_gitserver master
5. 可以在其他客户端下载远程服务器代码,在客户端安装git后使用git clone命令将远程服务器代码克隆到本地
git clone git@xxx.com:/home/gitrepo/myproject.git