ubuntu1804创建git服务器并上传代码到服务器

在ubuntu1804创建git服务器

1.安装git

sudo apt-get update
sudo apt-get install git
  1. 创建一个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: 无法推送一些引用到 '[email protected]:/home/git/standardization/standardization.git'

怀疑是git仓库权限问题,上服务器一看

drwxr-xr-x  3 root root 4096 43 17:30 ./
drwx------ 11 git  git  4096 43 17:30 ../
drwxr-xr-x  7 root git  4096 43 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 43 17:30 standardization/

显示文件夹权限为root,修改权限即可

cd ..
chown -R git standardization

你可能感兴趣的:(ubuntu,git,服务器,github)