一、在Ubuntu上安装git
登录到Ubuntu系统
ssh root@server_ip
先测试有没有安装git,运行git命令如果提示需要安装则运行安装命令
sudo apt-get install git
二、Ubuntu上为git服务创建单独用户git
创建一个新用户名叫git(名称自定义)
sudo adduser git
完成后在/home目录就会多一个git目录:/home/git
在/home/git目录下创建.ssh文件夹:/home/git/.ssh
进入.ssh文件夹创建文件authorized_keys用来保存客户端公钥:
vim authorized_keys
在客户端机器创建公私钥,将生成的公钥文件id_rsa.pub中内容全部复制到服务器authorized_keys文件中。一行一个。
即授权客户端通过ssh协议访问这台服务器。
三、Ubuntu上创建git仓库
在服务器上创建git仓库,比如在/home/git/路径下创建仓库:sample.git
sudo git init --bare sample.git
修改所有者权限(git用户拥有读写权限):
sudo chown -R git:git sample.git
完成这一步,就可以在客户端克隆和提交代码了:
git clone git@server_ip:/home/git/sample.git
四、禁用shell登录
出于安全考虑,第二步创建的git用户不允许登录shell,这可以通过编辑/etc/passwd文件完成。找到类似下面的一行:
git: x:1001:1001:,:/home/git:/bin/bash
改为:
git: x:1001:1001:,:/home/git:/usr/bin/git-shell
这样,git用户可以正常通过ssh使用git,但无法登录shell。
五、创建本地仓库
Command line instructions
Git global setup
git config --global user.name "nannan"
git config --global user.email "nannan@bilibili.com"
Create a new repository
git clone git@git.bilibili.co:game/mfe/sdk/foreign-android-universal-sdk.git
cd foreign-android-universal-sdk
touch README.md
git add README.md
git commit -m "add README"
Existing folder
cd existing_folder
git init
git remote add origin git@git.bilibili.co:game/mfe/sdk/foreign-android-universal-sdk.git
git add .
git commit -m "Initial commit"
Existing Git repository
cd existing_repo
git remote rename origin old-origin
git remote add origin git@git.bilibili.co:game/mfe/sdk/foreign-android-universal-sdk.git