阿里云CentOS 7.0 64位 系统下-搭建Git服务器
首先你得有一台阿里云服务器,一般这个是公司负责人会购买好,然后会把服务器公网地址、连接方式(比如ssh连接,ssh端口号)、账号/密码、如果需要root权限的话,会给你root密码。
安装Git服务器,需要你先了解一些常用的 linux 命令,如下:
ls –l 列出当前目录下的所有内容(文件\文件夹)
pwd 显示出当前目录的名称
cd 改变当前操作的目录
who 显示当前用户名
clear 清屏
mkdir 新建一个目录
touch 新建一个文件(文件不存在才会新建)
open 打开一个文件\文件夹
按一下tab键,可以自动补齐指令名称、文件名、文件夹名等
/ 根路径
./ 当前路径
../ 上一级路径
第一步:连接到阿里云服务器
小编使用 SecureCRT 通过 ssh 方式连接到的阿里云服务器,如下图:
SecureCRT软件截图第二步:切换到root权限
$ su root
需要你输入root密码(当你输入时,linux下是不显示密码的)
第三步:安装 Git 服务器
$ yum install git
第四步:建立 Git 用户
安装成功之后,就可以开始建立 git 用户了,命令如下:
创建一个用户名为 git 的用户
$ adduser git
此时在阿里云服务器的根目录:/home文件夹下新增一个文件夹git。出于安全考虑,创建的git用户不允许登录shell,这可以通过编辑/etc/passwd文件完成。
$ vi /etc/passwd
找到类似于
git:x:1001:1001::/home/git:/bin/bash
改为:
git:x:1001:1001::/home/git:/usr/bin/git-shell
第五步:创建公钥
本地终端中通过命令:
$ cd ~
$ ssh-keygen -t rsa
这时你自己电脑上就有一个公钥了。在.ssh目录下,“.”开头的文件夹都是隐藏的,但是可以cd进去(或者通过终端显示隐藏文件,然后通过文本查看)。
$ cd .ssh
$ vi id_rsa.pub
这样就能看到你的公钥了,把所有的内容复制下来。接下来,打开SecureCRT(长时间未使用SecureCRT,可能会和阿里云服务器连接断开,重新连接就好了)输入以下命令:
$ cd /home/git/
$ mkdir .ssh
$ cd .ssh
$ vi authorized_keys
把刚才复制下来的公钥
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCiDyKj62yXVnUuCYz8yOr0bgJISXLRoemaUvBK5DcWWSkCorJhJKkU7e6ybSblx7/cHktmvgcgcWI8dkKNFclxosFxzl+R5jbh5lIangqmI67e05gqeLbhfCdQLdNShgctm74gg7kesfkQwHLaXE8OT0tXu0aKjUVsCk5LpXoscsYZ/ifdpuGR1+yGfWultgzmpcxpsF26OL/Ik3Tl7GxOJJqxMeiLvDjzBG92nDvIF5aw+6EUrawcaSP0aA+ZP+ovricEXCheiH2kmTJ72s4E+Y3keIo3TcE9SDqFWBufqRSHCehxwpbhozOZT7RoldZOzEhlp9ebr4uAR1fgGvLNwangfang@wangfangdeMBP.lan
粘贴进去,保存退出。
第六步:建立Git仓库
小编是在/var下面创建一个 git 目录,用来存放代码的,命令如下:
$ cd /var
$ mkdir git
$ chown -R git:git git
$ chmod 777 git
$ cd git
接下来,我们用git命令初始化一个仓库:
$ git init --bare ios.git
初始化完成之后,这个空的仓库就OK了。
第七步:客户端连接Git仓库
7.1 Git命令连接
打开终端 cd 到你要存放代码的目录
克隆服务器上的 Git 仓库
git clone ssh://git@服务器公网IP地址/var/git/ios.git
Git 仓库已经建立好(如果遇到问题,请看最后面《可能遇到的问题》),将你的工程代码拖入仓库目录,将工程加入 Git :
git add .
然后提交,以及push到git服务器上:
git commit -m "add project" -a
git push
你也可以试试这个命令
git branch
查看本地所有分支
查看分支通常我们都是新建一个 develop 分支,在这上面开发我们的新功能。
7.2 SourceTree连接
大多数开发者还是习惯通过客户端去连接 Git 仓库
打开SourceTree -> 选择“新仓库” -> 选择“从URl克隆”
SourceTree点击“克隆”就 OK 了。
可能遇到的问题
Cloning into 'ios'...
ssh: connect to host 59.110.21.115 port 22: Connection refused
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
方法一:可能是你的服务器没有安装 ssh 服务,执行下面命令
$ yum install openssh
方法二:在地址的公网IP后面加上你连接服务器时的端口号
git clone ssh://git@服务器公网IP地址:端口号/var/iosgit/ios.git
希望对大家有所帮助,最后附上一张常用 git 命令图:
git常用命令