Git实践☞搭建仓库

环境

以ubuntu为例

安装软件

sudo apt-get install git
sudo apt-get install openssh-server

ssh配置相关操作:

# 编辑ssh配置
sudo vim /etc/ssh/sshd_config
# 查看ssh server是否启动
# 如果只有ssh-agent那ssh-server还没有启动,如果看到sshd那说明ssh-server已经启动了
ps -e | grep ssh
# 启动ssh服务
sudo /etc/init.d/ssh start
# 重启ssh服务
sudo /etc/init.d/ssh resart
# 停止ssh服务
sudo /etc/init.d/ssh stop

创建git用户

专门创建git用户,便于控制权限和管理

# 添加git用户
sudo adduser git
# 设置git密码为jayfeng
sudo passwd jayfeng

初始化仓库

以android为例子,创建一个对应的仓库

# 以git用户身份登陆后,切换到主目录
cd
# 创建所有git仓库的总目录
mkdir git-repo
cd git-repo
# 为android创建ANDROID_CODE仓库
git init --bare ANDROID_CODE.git

配置ssh key

如果不做这一步,后面从局域网clone代码的时候每次都要输入git用户的密码,所以这一步的目的是通过配置ssh认证,实现免密码同步代码。
下图展示了如何生成ssh key的私钥和公钥:

私钥id_rsa自己用,把公钥id_rsa.pub配置到服务器端git用户的~/.ssh/authorized_keys(即,把id_rsa.pub的内容添加到authorized_keys新一行),同时配置权限:

chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

并把生成的私钥id_rsa共享给团队的开发人员。

局域网访问

如果服务器的IP是192.168.1.18,那么局域网的机器就可以通过下面的方式访问了:

# 拷贝私钥id_rsa到.ssh目录
mv id_rsa ~/.ssh
# 如果提示权限不对(bad permission 或者 permission too open),请按如下配置
cd ~/.ssh
chmod 700 id_rsa
# 团队成员访问git仓库
git clone [email protected]:~/git-repo/ANDROID_CODE.git

你可能感兴趣的:(Ubuntu)