专栏首页算法修养Git 使用篇二:搭建远程服务器

Git 使用篇二:搭建远程服务器

一般做一个私人的项目,不希望开源的,是不会放在GitHub上的,这个时候我们需要建里一个自己的Git远程服务器,方便小组成员开发。

这里以Centos云服务器为例:

第一步 如果自己的服务器没有git账号,可以先配置一个git账号(当然不用git账号也可以)

$ sudo useradd git
$ sudo passwd git 123456 //设置git账号的密码

第二步 创建一个git仓库

$ mkdir /git
$ cd /git
$ git init --bare test.git

这里要说一下git init 和git init –bare 的区别:

git init 创建的仓库下 test目录是这样子的

而使用 git init –bare 创建的仓库test2目录是这样子的

可以看到,git init 是多一个.git 文件夹,而git所有的文件都是.git文件夹下,而git init –bare 则是将git的文件直接放在仓库根目录下。 所以git init –bare 创建的仓库是裸仓库,没有项目的源文件,只有git的文件,这个仓库test 是不能执行git的命令,没有git add ,git commit 等等。你也无法修改编辑项目的文件。所以他只是一个共享的储存空间而已。

而git init 创建的普通仓库,里面是有项目源文件的

index.txt, hhh 等等都是你的项目文件。所以git init 创建的普通仓库是有工作空间的,就是work-tree ,而git init –bare是没有工作空间的。

这里还要注意,我们一般使用git init –bare 比较好,git init 有两点不好:

1.因为使用git init 创建的仓库是可以用git操作的嘛,如果当前master正在被用户操作,那么分支如果 git push master:master 那么就会爆炸,上传不上去。master不能同时被两个人操作,对吧。

2.分支push到远程仓库之后,我们在仓库里是没有办法看到最新的内容的,必须要

            git reset --hard 

执行这个命令,在仓库的目录下,也就是工作区,才会更新,看到最新修改的内容。 git reset –hard 是撤回到历史版本,本地源码会变成上一个版本的内容。每次更新都要 执行。

**在用git init 创建的仓库的时候,你git push 会遇到 ! [remote rejected] master -> master (branch is currently checked out)**

需要运行

 git config receive.denycurrentbranch ignore

这个是允许接受远程文件。

有时候push不上去,是因为文件夹没有权限,需要chomd 7777 文件夹

好了回到正题: 第三步 创建git用户

    $ sudo chown -R git:git test.git

这里说明一下,为什么要创建git用户,因为在远程分支,你是用git账号进行提交的,如果你的仓库文件的用户不是git的话,是root用户或者别的用户,那么你git push ,它是不允许的,因为你的git用户没有权限。你可以给这个文件创立git用户,或者修改文件夹的权限为所有用户都可以更改

第四步 我们就可以远程,直接git clone了。

    git clone git@139.196.126.76:/git/test.git

然后就可以上传文件,下载文件啦。

搭建完Git远程服务器,那小组成员一般是怎么用Git开发的呢?

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Windows 和 Mac 系统下安装git 并上传,修改项目

    首先在MAC上怎么操作。 在gitHub创立一个账户,在创立一个项目,这就不用我说了对吧。 创建完之后是这样的: ? 接下来,我们打开https://brew....

    ShenduCC
  • Git 使用篇一:初步使用GitHub,下载安装git,并上传项目

    首先在MAC上怎么操作。 在gitHub创立一个账户,在创立一个项目,这就不用我说了对吧。 创建完之后是这样的: ? 接下来,我们打开https://b...

    ShenduCC
  • Git 使用篇二:小组协作开发

    上一片搭建了git远程服务器,那么小组成员在使用git开发的时候都有什么要注意的。 第一步: 首先每个小组成员,在自己本地建立一个目录,作为工作空间,再去g...

    ShenduCC
  • Git 不同情况下的回滚操作

    在未进行git push前的所有操作,都是在“本地仓库”中执行的。我们暂且将“本地仓库”的代码还原操作叫做“撤销”

    JS菌
  • github学习(二)

    Git学习(一) 学习github一定要学会git,否则在后续的github运用中会出现很多问题。 1.安装Git: Mac自带Git,Windows需要自己安...

    希希里之海
  • 程序员必备基础:Git 命令全方位学习

    掌握Git命令是每位程序员必备的基础,之前一直是用smartGit工具,直到看到大佬们都是在用Git命令操作的,回想一下,发现有些Git命令我都忘记了,于是写了...

    捡田螺的小男孩
  • 使用码云新建、推拉第一个项目文件

    本地电脑安装git。可通过 git --version 查看版本,确保本机已有git。

    子乾建建-Jeff
  • 10分钟带你入门git到github

    开局先来一个故事吧,故事看完如果不想看枯燥无味的指令,没关系我已经把这篇文章的内容录制成了一个视频,点击文末阅读原文就可以观看。或者说你已经熟练掌握git的使用...

    java金融
  • Git详细操作

    1.参考帮助文档:https://gitee.com/help/ 仓库管理 =公钥管理 =生成/添加SSH公钥

    小小咸鱼YwY
  • Git常用命令总结

    ​ 在本地新建一个repo,进入一个项目目录,执行git init,会初始化一个repo,并在当前文件夹下创建一个.git文件夹.

    小小咸鱼YwY

扫码关注云+社区

领取腾讯云代金券