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 条评论
登录 后参与评论

相关文章

来自专栏小古哥的博客园

Git 常用命令合集

$ git init          建立git仓库(一般都是在github上新建好,直接克隆到本地) $ git clone **.git       克隆...

3618
来自专栏魏艾斯博客www.vpsss.net

如何在 wordpress 文章页和单页面隐藏作者/发布者

2773
来自专栏别先生

EasyUI之Hello world(EasyUI的入门学习)

1:创建一个动态web工程:     去官网http://www.jeasyui.net/download/下载官网文档     我去官网下载的最新版本,个人根...

23210
来自专栏性能与架构

Redis3 集群中删除节点

image.png 删除节点有两种情况: (1)删除master节点,需要先把目标节点中的slot移动到其他节点中,然后执行删除节点操作 (2)删除slave节...

2746
来自专栏Java技术栈

Maven精选系列--eclipse各种操作

在eclipse中配置maven的安装目录,使用最新的maven插件,从安装列表中可以看到eclipse自带绑定的是3.3.9,不是最新的,我们勾选自己的最新的...

35510
来自专栏L宝宝聊IT

ESXI网络中虚拟机的克隆和快照

2335
来自专栏编程软文

服务器版本更新与客户端不同步的问题

1223
来自专栏Script Boy (CN-SIMO)

PowerShell:因为在此系统上禁止运行脚本

在安装chocolatey(官网)的时候,不能运行chocolateyInstall.pal脚本文件。 ? 查阅资料后,得出如下解决办法: 首次在计算机上启动 ...

2830
来自专栏Linux运维学习之路

day6、Linux下如何找出7天以前的文件删除

有些时候,由于系统产生的日志文件,使服务器的磁盘空间紧张,所以怎么删除7天以前的日志文件及让系统只保留7天以内的日志文件 方法一 使用命令:find + |xa...

2119
来自专栏电光石火

solr安装配置

环境介绍 solr 6.5.1 tomcat8 jdk1.8

2509

扫码关注云+社区

领取腾讯云代金券