这两天搭建Git服务器,折腾了好久,把自己纠结的几个点记录分享下。

『Git Server搭建』

1.Git安装,安装之前先查看下是否已经安装好了:

git version

如果没有安装:

yum install git

2.选择一个文件夹,初始化Git仓库:

sudo git init --bare test.git

此处的--bare的意思就是建立一个裸仓库,不能在此仓库里进行add和commit操作。服务器里面的初始代码,也是需要client端推送(push)进来的,不可以自己去commit。这个问题我真心是纠结了好久啊,我一开始切换到test.git这个目录里面,再git init,然后后面的操作都不对了。其实这样初始化就OK了。

3.创建一个新用户,用来运行git服务(此处随便啥用户都可以,只要找好该用户处于的组就可以了,用户名在后面SSH登陆的时候要用到)

1 sudoadduser zita #新增用户2 passwdzita #修改用户密码3 groupszita #查看该用户所处的组

此时test.git是属于root:root:

我们将其修改为zita:zita:

sudo chown -R zita:zita test.git

此时git server就搭建好了,就是辣么简单,没有其他操作了。。。

『Git Client』

此处的client建立在windows上,别问我为什么要用windows,因为这个上面的要求。

在windows上装好Git Gui后,就可以开始操作了。

1.新建一个文件夹,作为Git仓库,在此文件夹中初始化git。

初始化好了之后,会自动生成一个.git的隐藏目录,务必不要手动修改此文件夹。

2.基本配置:

再右击打开”Git Gui“,进行基本配置:

1)配置用户名和邮箱号,这一步只是为了标识出不同的用户。

填写完了保存。

2)生成SSH KEY,供远程登陆使用。

然后,登录到git服务器上,将SSH KEY加入到/home/git/.ssh/authorized_keys文件中。如果没有此文件,请按照这个路径新建文件。

3.基本操作:

1)添加并提交文件,我在版本库里添加了一个文件:

换用”Git Bash“:

git status #查看当前版本库的变动

此时可以看到”1.txt“发生了变动

git add 1.txt #将1.txt添加到缓冲区

git commit-m "first commit"    #添加备注并且提交

再次查看版本库状态,无更新了:

2)版本回退:

我先多修改几次文件,然后多提交几次:

git log #显示操作记录

此时我想回退到first commit:

git reset --hard 5282c6 #此处的数字为版本号的sha1前几位

3)重回未来:

此时我想再返回到second commit,该怎么办?

此时的git log只剩一条记录了:

我们可以使用git reflog,找到版本号:

git reflog

git reset --hard 6903158

4.远程操作:

1)clone远程库:

git clone zita@192.168.1.140:/home/githome/test.git

此时的版本库里什么都没有,因此是空的。

2)push代码上去:

git push

查看远程主机名:

git remote -v

如果没有,则可以添加。此处的”origin“为自定义的远程服务器的名字,zita为刚才添加的用户名,192.168.1.140为git服务器的IP地址,/home/githome/test.git为刚才设置的git仓库文件夹:

git add origin zita@192.168.1.140:/home/githome/test.git

查看本地分支,默认为master:

git branch

push 代码到远程服务器:

git push origin master

push成功了,此时在服务器上是看不到我push上去的代码的,但是别人在他的client端是可以看到的。

3)此时我新建另外一个文件夹,初始化一个新的仓库,并且添加远程服务器:

git fetch origin #获取远程服务器的变动

此时文件还在一个缓冲区里,我们需要将其merge到自己的分支上来:

首先查看远程分支名字:

git branch -a

我将远程的origin/master分支合并到我的master分支上:

git merge origin/master

本地就获取到了文件:

『小结』

Git还有好多操作和一些原理性的东西,等用到了再去学习吧。

参考资料:

怎么git 自己建的服务器_Git服务器搭建,以及Git基本操作相关推荐

  1. git 怎么导入本地仓库_Git使用本地仓库之基本操作

    1.Git是什么? 一个分布式版本控制系统,和SVN类似,但远比SVN强大的一个版本控制系统 ①Git可以方便的在本地进行版本管理,如同你本地有一个版本管理服务器一样我们可以选择在合适的时间将本地版本 ...

  2. 怎么用git将本地代码上传到远程服务器_git命令 将本地代码上传到远程服务器...

    git命令将本地代码上传到远程服务器,首先你需要在远程服务器创建仓库. 1.添加README.md文件,初始化git,这样在本地文件夹下会生成README.md和.git(隐藏文件)两个文件.就是将这 ...

  3. 怎么用git将本地代码上传到远程服务器_git之如何把本地文件上传到远程仓库的指定位置...

    2018.11.26添加内容: 对于自己的仓库,我们建议将远程仓库通过clone命令把整个仓库克隆到本地的某一路径下.这样的话我们从本地向远程仓库提交代码时,就可以直接把需要提交的文件拖到我们之前克隆 ...

  4. git钩子放服务器_linux服务器布置git 并带钩子

    最近在做自己的一个小项目的时候因为是三个人联合写代码而且代码还不想放在github上 所以我在自己的服务器上布置git 并带钩子 第一步安装git yum install git 安装完之后 执行  ...

  5. 基于CentOS7.6系统搭建远程GIT服务器

    基于CentOS7.6系统搭建远程GIT服务器 0 背景 0.0 GIT是什么 0.1 为什么搭建远程GIT服务器 1. 功课 2. 过程 3. 总结 4. 参考资料 0 背景 0.0 GIT是什么 ...

  6. linux搭建git服务器,windows客户端配置git

    Linux服务器配置之Git服务器搭建步骤: 一.配置环境 1.服务器:CentOS 8.2(64位) + Git (version 2.27.0) 2.客户端:Windows 10 (64位) + ...

  7. 构建git+gerrit+repo的Android代码服务器

    谷歌的Android源码是基于Git+Repo管理的,官方推荐的代码管理也是git+gerrit+repo.谷歌自己都在用的东西,各种优点,各种强大就不用说了,你懂的.关于它们的介绍可查阅极客学院的W ...

  8. svn的代码提交到git服务器_svn服务器代码仓库,数据迁移到git仓库

    svn服务器代码仓库,数据迁移到git仓库 1.安装svn [root@tomcat01 ~]# yum install subversion -y 2.初始化仓库 [root@tomcat02 ~] ...

  9. 云服务器+开发板搭建直播系统,自建流媒体服务器开直播

    使用背景 你工作中有没有碰到过这种情况: 1,实验室里跑着实验要一直盯着,周围还有很多事情要做. 2,晚上跑着实验下班了,回到家还想时不时的看一下实验情况. 现在很流行的直播可以帮上忙,把实验台当作直 ...

最新文章

  1. [原创]SparkR针对mysql的数据读写操作实现
  2. Python 解一道江苏 小升初 数学题,如此变态,看不起来谁?
  3. oracle缺少key xe.reg,【Oracle XE系列之一】Windows 7 64位安裝Oracle XE(32位)數據庫(REG_XE報錯、字符集、修改8080端口等)...
  4. php如何在添加div的背景颜色_css3颜色渐变:css3如何实现背景颜色渐变?
  5. 8.继续分析一破解加密码获取-最最最简单的注册机
  6. C++ Primer 5th笔记(chap 16 模板和泛型编程)重载模板和类型转换
  7. 使用swagger实现在线api文档自动生成 在线测试api接口
  8. C# 总结const、 readonly、 static三者区别:
  9. linux安装python3.6以后报错处理
  10. USACO 06JAN 牛的舞会 洛谷2863
  11. MVC HtmlHelperTModel 类
  12. 和尚感谢你,要避开,这样才能求到福
  13. 如何从godaddy转出域名
  14. eclipse Strut2环境搭建
  15. 3DES加密(iOS,Android,Java)
  16. dpkg: 依赖关系问题使得 sdkmanager 的配置工作不能继续: sdkmanager 依赖于 libgconf-2-4;然而: 未安装软件包 libgconf-2-4。 [已解决]
  17. easyUI分页中,如何实现页面跳转,再返回时,仍然到跳转前页数。(含页面显示条数)
  18. Linux加密解密 及使用openssl工具实现CA
  19. 二级路由dhcp关闭连不上wifi_无线宽带路由器除了WiFi上网还能有什么用,如何正确设置DHCP服务...
  20. 如何生成android的BKS证书

热门文章

  1. 职场5年经验的工程师论述linux真没那么难
  2. 古代password
  3. 《Oracle SQL疑难解析》——1.6 批量地从一个表中复制数据到另一个表
  4. 比尔盖茨2016好书推荐
  5. Java项目打包部署war文件
  6. 从SAE又回到BAE,感觉好轻松
  7. easyui combogrid分页加载默认值时无法自动跳转到相应页的解决方案
  8. JS~对img标签进行优化,使用onerror进行默认图像显示
  9. jquery对象PHP转换,jQuery对象与DOM对象转换方法详解_jquery
  10. 瑞丽噪声与信噪比的关系_演出扩声系统的噪声与接地