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开发的呢?
下一篇会作介绍:
http://blog.csdn.net/Dacc123/article/details/78112166
Git 使用篇二:搭建远程服务器的更多相关文章
- Android基础新手教程——1.5.2 Git之使用GitHub搭建远程仓库
Android基础新手教程--1.5.2 Git之使用GitHub搭建远程仓库 标签(空格分隔): Android基础新手教程 本节引言: 在上一节中.我们学习了怎样使用Git.构建我们的本地仓库.轻 ...
- Git 使用篇二:小组协作开发
上一片搭建了git远程服务器,那么小组成员在使用git开发的时候都有什么要注意的. 第一步: 首先每个小组成员,在自己本地建立一个目录,作为工作空间,再去git clone 这个远程仓库: git c ...
- git一键部署代码到远程服务器(linux)(采坑总结)
原来一直使用FileZilla来代码部署,去年使用git,代码版本管理,真TM好用,一起回顾下历程! 一. 代码部署方式及思路: 1. 使用FTP/SFTP工具,上传代码 2. git人工部署.1. ...
- .netcore持续集成测试篇之搭建内存服务器进行集成测试一
系列目录 在web项目里,我们把每一层的代码的单元测试都通过并不代表程序能正常运行,因为这个过程缺失了http管道,很多时候我们还还需要把项目布在iis环境中或者在vs里启动iis express服务 ...
- git学习教程二之远程仓库学习
首先你需要注册一个github用户名,我的github账户是:1654218052@qq.com 由于本地的git仓库和github的仓库是通过SSH加密的,所以我们还需要设置一点东西哦 第1步:创建 ...
- git 本地库提交至远程服务器
1. git init 2. git add . 3. git commit -am "###" -------以上3步只是本地提交 4.git remote add o ...
- Okra框架(二) 搭建Socket服务器
本文将介绍使用Okra框架帮助开发者快速搭建高性能应用程序Socket服务端. 博主接触的网络游戏(包含但不限于网页, 手机)的服务端通信使用的协议基本上就Socket,Http或是WebSocket ...
- svn git 导入本地文件到远程服务器 import
以前,想要把本地的一个文件上传到svn 或者git 服务器的时候,都要先把服务器上的文件夹down 下来,然后把要添加的文件添加进去,然后提交. 想想都麻烦. 现在我们用import 命令就可以做到, ...
- Linux学习之二--搭建FTP服务器
一.查看是否安装有FTP rpm -qa|grep vsftpd 二.如果没有安装,就安装FTP yum install -y vsftpd 三.加入开机启动 systemctl enable vsf ...
随机推荐
- [原]unity3d调用android webView
1.配置dialog xml文件: <resources> <style name="dialogStyleWindow" parent="@an ...
- ASP.NET用DataSet导出到Excel
//读取临时文件 GYYW.DA.Common.Base_SqlDataBase daBZDM = new GYYW.DA.Common.Base_SqlDataBase(); DataS ...
- Hibernate_day02讲义_使用Hibernate完成CRM客户管理中查询所有客户的操作
- Jquery easyui 重置按钮,easyui 清空表单,Jquery easyui 重置表单
Jquery easyui 重置按钮,easyui 清空表单,Jquery easyui 重置表单 >>>>>>>>>>>>&g ...
- 【Ceisum】Max转GLTF
参考资料:https://blog.csdn.net/u011394175/article/details/78919281 1.在3DsMax中加入COLLADA插件:COLLADA-MAX-PC_ ...
- 【数据分析】Superset 之三 Docker操作管理
一.进入容器 查看运行的容器:docker ps docker attach confident_thompson 或者 docker attach 34cd2299110f docker exec ...
- NFS 配置文件
NFS 配置文件是 /etc/exports,内容如下: [root@localhost ~]# cat /etc/exports /data 192.168.216.129/32(rw,sync,a ...
- c++ istream转换为std::string
std::istreambuf_iterator<char> eos; std::string s(std::istreambuf_iterator<char>(stream) ...
- linux下文件描述符的介绍
当某个程序打开文件时,操作系统返回相应的文件描述符,程序为了处理该文件必须引用此描述符.所谓的文件描述符是一个低级的正整数.最前面的三个文件描述符(0,1,2)分别与标准输入(stdin),标准输出( ...
- Android 音视频同步(A/V Sync)
1. 音视频同步原理 1)时间戳 音视频同步主要用于在音视频流的播放过程中,让同一时刻录制的声音和图像在播放的时候尽可能的在同一个时间输出. 解决音视频同步问题的最佳方案就是时间戳:首先选择一个参考 ...