因为想和同学一起做项目所以需要在自己买的云上面搭建一个Git远程仓库用于同步代码。搭建过程如下:
1.服务器安装Git
// 安装git
yum install -y git
// 查看git版本
git --version
2.创建并使用Git用户建立远程仓库
// 创建git用户
git adduser git
// 设置git用户密码
passwd git
/*输入自己设置的密码,之后链接的时候会使用*/
// 创建远程仓库目录
mkdir -p /home/git/Repo/test.git
// 初始化远程仓库
git init --bare /home/git/Repo/test.git
//将远程仓库分配给git用户
chwon -R git:git /home/git
//切换到git用户
su git
//创建.ssh目录,用于存放key
cd ~
/*实际上是git用户的根目录*/
mkdir .ssh
3.切换root用户打开RSA认证
//切换Root用户
su
// 编辑sshd配置文件
vi /etc/ssh/sshd_config
编辑如下条目:
1.RSAAuthentication yes
2.PubkeyAuthentication yes
3.AuthorizedKeysFile .ssh/authorized_keys
// 重启sshd服务
systemctl restart sshd.service
4.修改密匙访问权限
chmod 700 /home/git/.ssh
chmod 600 /home/git/.ssh/authorized_keys
chmod abc file
其中a,b,c各为一个数字,分别表示User、Group、及Other的权限。
r(可读取)=4,w(可写入)=2,x(可执行)=1
若要rwx属性则4+2+1=7;
若要rw-属性则4+2=6;
若要r-x属性则4+1=5。
也可使用 + - = rwx
+表示增加权限、- 表示取消权限、= 表示唯一设定权限。
5.客户端安装Git并生成导入公匙
// 生成公钥和私钥
ssh-keygen -t rsa -C ‘xxx@gmail.com'
// 导入公钥到服务器的/home/git/.ssh/authorized_keys文件
ssh git@127.0.0.1 'cat >> .ssh/authorized_keys' < ~/.ssh/id_rsa.pub
6.idea配置仓库url
打开idea,选取VCS->Git->Remotes,在其中添加名称随意,URL格式如下:
-
git@<ip_addr>:<git完整路径>
比如上文所示路径配置为git@<ip_addr>:/home/git/Repo/test.git
之后就可以正常的在idea中拉取推送项目了,顺便推荐一个比较好用的git可视化软件,windows平台的SmartGit