在ubuntu1804创建git服务器
1.安装git
sudo apt-get update
sudo apt-get install git
- 创建一个git用户,有的话就不用了
sudo adduser git
3.在git用户目录中创建一个新的git仓库
sudo mkdir /home/git/myproject.git
sudo chown git:git /home/git/myproject.git
cd /home/git/myproject.git
sudo git init --bare
这是创建一个新的git仓库,仓库位于home/git/myproject.git
下
4.允许其他用户访问该仓库,需要在自己电脑上终端运行命令:
ssh-copy-id git@your-server
将your-server替换为您的Ubuntu服务器的IP地址或主机名。这将添加Git用户的公钥到该用户的authorized_keys文件中,从而允许该用户访问该服务器。
5.在本地电脑上即可clone仓库
git clone git@your-server:/home/git/myproject.git
上传已有代码到这个空的仓库中
上边已经创建一个仓库,但是是空的,现在需要上传代码到这仓库中
运行以下代码
git init
git add .
git commit -m "first test commit"
git remote add origin git@192.168.11.25:/home/git/myproject.git
git push -u origin master
第四步为将本地仓库与远程git仓库关联
问题
在push时,报错
error: 远程解包失败:unable to create temporary object directory
error: 无法推送一些引用到 'git@192.168.15.22:/home/git/standardization/standardization.git'
怀疑是git仓库权限问题,上服务器一看
drwxr-xr-x 3 root root 4096 4月 3 17:30 ./
drwx------ 11 git git 4096 4月 3 17:30 ../
drwxr-xr-x 7 root git 4096 4月 3 17:31 standardization.git/
发现git权限是root的,运行命令修改权限为git
chown -R git standardization.git
再次push,还是不行,报同样的错误,再上服务器,发现是上一级文件夹权限问题,运行以下命令再次push即可。
root@yfzx:/home/git# ll
total 68
drwxr-xr-x 3 root root 4096 4月 3 17:30 standardization/
显示文件夹权限为root,修改权限即可
cd ..
chown -R git standardization