阿里云搭建git仓库服务器

最近有个项目需要在服务器上的git仓库维护,git操作都要在服务器上的git上执行,这样安全性能得到保障。之前写的开源项目都放在github。手头刚好有个跑网站的阿里云服务器,说干就干:

1. 服务器上安装git:

sudo apt-get install git

2. 新建git仓库:在根目录下创建一个git_repo目录,cd进入git_repo目录,再创建一个Django目录,用来存放我们的Django项目。

3. cd Django进入Django目录,执行git init创建.git文件夹,由于.git是隐藏目录,需要用ls -a来查看。

4. 离开服务器回到我的电脑,在目标项目Django下已经有了.git文件,是之前通过github操作得到的记录,怎么办呢?很简单,直接删除掉整个文件夹,然后在Django目录下执行git init创建新的.git目录

git init

5. 接下来把项目代码添加到git,项目文件比较多的情况下耗时略长,静静等待即可。

git add *

6. 提交到master分支

git commit -m 'first commit'

7. 将本地的代码文件添加到阿里云git自己创建的project下面,星号是我的主机ip

git remote add origin root@***.**.**.**:/root/git_repo/Django/.git

8. 如果提示remote已存在,执行以下命令删除,再重写执行步骤7的代码

git remote rm origin

9. 把初次提交的结果push到阿里云服务器

git push -u origin master

10. 可能会报错:fatal: '/repo/Blog/.git' does not appear to be a git repository fatal: Could not read from remote repository。这是因为git remote add origin的时候路径错误。阿里云轻量级服务器显示的是/root/开头的绝对路径,但是腾讯云显示的是~开头的相对路径,星号是我的主机名:

ubuntu@***:~/git_repo/Django/

坑在这里,如果对linux不熟的话,add remote的时候可能会漏掉~符号,也可能加上~但这样就是相对路径了,git还是会报错。用pwd命令查看当前绝对路径是 /home/ubuntu/repo/Blog,这样,我们在步骤7的时候命令就是:

git remote add origin root@***.**.**.**:/home/ubuntu/git_repo/Django/.git

重新push发现还报错:[remote rejected] master -> master (branch is currently checked out),这是因为服务器上的git目录配置没有调整好,git默认拒绝了push操作。解决办法是打开.git目录下的config文件,添加如下代码:

 [receive]
    denyCurrentBranch = ignore

11. 还没有结束,提交成功后,怎么查看文件呢?默认情况下/root/git_repo/Django/.git下是看不到Django项目的结构的,需要在clone下来,才可以看的到项目结构。这个项目需要在此台阿里云服务器上跑起来,我们切换到另一个目录执行clone操作

git clone root@***.**.**.**:/root/git_repo/Django/.git

成功后就可以看到Django项目的文件结构啦。

你可能感兴趣的:(阿里云搭建git仓库服务器)