从本文你可以获得以下知识:

1.GIT服务器搭建(CentOS6.5)

2.TortoiseGIT,MsysGIT工具的使用

3.GitHub的使用

Git 服务搭建

GIT简介

Git 是一个开源的分布式版本控制系统,可以有效高速处理非常大的项目版本管理。Git 是Linux之父Linux Torvlds 为管理linux内核而开发的一个开发源码的版本控制软件,目前也是用的比较火。

GITLAB简介

GitLab 是利用 Ruby on Rails 一个开源的版本管理系统,实现一个自托管的Git 项目仓库,通过Web 界面进行访问公开或者私人项目。它和Github(全球最大的开源或私人代码托管平台)的功能很像,能浏览源码,管理缺陷和注释,可以浏览文件历史库,可以使用Wall程序聊天交流。提供代码片段收集功能和实现代码复用,便于日后查找。

工作原理

1.Git在本地磁盘保存着当前项目的历史更新,处理速度很快。

2.浏览项目历史更新摘要,Git直接从本地数据库读取显示。

3.查看版本差异时,Git进行差异运算,而不需要远程服务器。

4.Git可以脱机工作,可以频繁提交和更新代码,有网时再上传。

文件状态

文件在Git内有三种状态

已提交(committed)

已修改(modified)

已暂存(staged)

如果是通过git clone  那么其中 .git 就是GIT目录

如果是通过git clone –bare 那么新建的目录本身就是GIT目录

GIT目录用来保存元数据和对象数据库

每次克隆镜像仓库都会从这个目录里面拷贝数据

工作流程:

1.从仓库取出某版本的目录称为工作目录

2.在工作目录进行修改和编辑,然后进行快照保存到暂存区域

3.提交更新,将暂存区域的文件转到Git目录当中

Git 常用命令

git init here                  #创建本地仓库 .git文件里存储了版本信息和标记

git remote add origin git@github.com:demonxian3/hellowrold.git       #关联本地和远程仓库

git add                       #从本地仓库增加,结果会保存到本机缓存里

git commit –m “注释”              #提交本机缓存的内容到本机HEAD里面

git push origin master           #把本地仓库提交到远程仓库 origin代表关联的远程仓库

git pull origin master           #从远程把新变化拉下来

git status                       #查看git状态

git add –A                       #提交全部修改

git config –global user.name “xxx”    #配置用户名,上传到远程仓库的用户信息

git config –global user.email “xxx”   #配置用户邮箱

git config –list                  #查看配置列表

git rm xxx                            #从本地仓库中删除指定文件

git rm –r xxx                     #从本地仓库中删除指定目录
git pull --rebase                     #与远程同步(拉数据)

git log                  #查看历史提交版本

git reset --hard 8c3a7254747d262f547  #版本回退,hard值从log里看
使用.gitignore文件忽略指定的内容

下面开始搭建GIT服务器(实验采用CentOS6.5)

1在服务端上搭建git服务,IP地址:192.168.1.112

yum –y install git        #需要ssh支持,某些发行版需要安装git-core  默认版本是1.8.3,新版本可以参考后面的git源码安装
useradd –m git     #创建服务用户 echo git: | chpasswd #设置git 密码 mkdir /project        #本地仓库名 chmod –R /project chown git:git –R /project su git cd /project mkdir project.git #创建git测试目录及文件 cd project.git git --bare init     #初始化仓库

2.在客户端初始化测试,将服务端的project项目git clone下来

mkdir git && cd git                     #创建测试目录

git clone git@192.168.1.112:/project/project.git  #从远程仓库拷贝到测试目录

可以看到测试目录里把远程目录的project.git弄下来了

###############下面是个标准的代码提交过程###################

客户端模拟开发更新,提交

cd project && echo “This is test” > .html  #模拟测试内容

git add .             #添加到暂存缓区

git commit –m “first”        #提交到本地仓库,会输出提示信息

git remote add origin git@192.168.1.112:/project/project.git  #确认本地和远程是否关联

git push origin master     #把本地代码上传到远程代码

设置个人用户信息

git config –global user.name “demon.demon”

git config –global user.email demon@demon.cn

 

 Git 工具使用

windows系统使用git常用的两个用具如下

https://git-for-windows.github.io/      #msysgit下载地址

https://tortoisegit.org/download/      #TortoriseGIT下载地址

第一个msysgit可以单独使用,第二个工具tortoisegit需要结合第一个使用

msysgit工具

在git bash 可以在windows下像linux那样运行git 命令

右键 Git GUI Here

这里我填写的是自己搭建的git服务器,你们可以填写github或者其他远程地址

从这里可以看出git需要建立在openssh上的,所以确保有ssh服务在服务器上

然后就可以把远程仓库的代码git下来了

同时会弹出下面的GUI管理界面,Checkout一下

模拟一下开发更新修改

然后在GUI里头点RESCAN重新扫描,可以扫到新加的内容

存储到暂存区域,如下就会跑到绿色下面的框框去了

Git Bash设置一下个人信息,然后点击签名

提交到本地仓库

提交到远程仓库

小乌龟TortoiseGIT工具

创建一个目录test,在目录下面右键Git clone,同样这里就以本地git服务器为例子

选择是,保存秘钥输入一下GIT用户的密码123456既可下载代码下来

添加一个5.html后,右键选择ADD,添加到暂存区域

右键点击Git Commit -> “master”后,输入message既可提交到本地仓库

如果要提交到远程仓库点击上面界面的push按钮既可

更多的教程可以参考http://www.yiibai.com/git/  Git的使用帮助

GitHub的使用

事实上,GIT服务器并不需要我们搭建,因为使用github就可以满足我们的需求

1.首先在github上面注册一个账号,这个就不演示了吧。

2.生成本地秘钥 ssh-keygen

3.导入秘钥到官方

4.然后把本地公钥复制进去既可,如果不知道本地公钥是什么可以到下面的目录查看

cd   ~/.ssh/  &&  cat  id_rsa.pub   #就可以看到公钥了

添加后过一会发个邮件给你

5.添加成功后测试登录 ssh –T git@github.com

6.创建本地仓库

回到主页 https://github.com/ ,点击New repository

第一次创建需要邮箱验证的

7.验证好后,填写创建信息

8.然后点击创建,出现下面的界面点ssh,因为我们前面使用的是ssh秘钥认证

9.下面开始在本地创建一个新的仓库与gihub仓库连接,也就是照上图create a new repository 打就可以了

mkdir git && cd git

echo "# IPhelper" >> README.md

git init

git add README.md

git commit -m "first commit"

git remote add origin git@github.com:demonxian3/IPhelper.git

git push -u origin master

当你看到下面的界面表示本地仓库的创建和连接成功

到github页面上点击your profile

可以看见多出了一个仓库

10.配置一下用户信息

git config --global user.name "demon.x"

git config --global user.email demon@demonx.cn

11.下面模拟测试同步

echo hello man > .html           #新增内容

git add .html                    #缓存添加

git commit -m "add a html"        #本地提交

git push -u origin master         #远程提交(需要验证)

git log                            #查看提交版本号

git pull --rebase                                    #与远程同步(拉数据)

git reset --hard 8c3a7254747d262f547dcb3f4623fd12dc235e0c  #版本回退,hard值从log里看

Git源码安装

之前使用yum命令安装,版本比较低,下面是通过源码安装Git

git源码下载地址,可以手动下载下来在上传到服务器上面

https://github.com/git/git/releases

https://www.kernel.org/pub/software/scm/git/

1 移除旧版本git,将旧版本先卸载

git --version    ##查看自带的版本
yum remove git ##移除原来的版本

2 安装所需软件包

 yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc-c++ perl-ExtUtils-MakeMaker

3 将源码包下载下来

cd /usr/src && wget https://www.kernel.org/pub/software/scm/git/git-2.7.3.tar.gz

4 解压

 tar xf git-2.7..tar.gz  &&  cd git-2.7.

5 配置编译安装到/usr/git目录下面

make configure
./configure --prefix=/usr/git #指定安装目录
make profix=/usr/git -j 4 && make install #四线程编译及安装

6 添加环境变量

echo "export PATH=$PATH:/usr/git/bin" >> /etc/profile
source /etc/profile

7 检查版本

git --version 

8 其他git命令用法参考

https://www.cnblogs.com/demonxian3/p/7655266.html

转载请指明出处http://www.cnblogs.com/demonxian3/p/6922004.html

Git服务搭建及github使用教程的更多相关文章

  1. git服务搭建以及本地连接

    服务器系统:centos6.5 本地系统:Mac 10.11 注意事项:本地git和服务器版本最好一样,centos上面的yum install git版本是1.7的,需要手动在下载,并手动编译 下载 ...

  2. 如何把项目通过git上传之github完整教程

    作为一个有追求的程序员,需要撸点自己的开源项目,虽然我现在只是在学着造轮子,但这并不影响我成为大神的心.Github是基于git实现的代码托管,很多程序员在上面托管自己的开源项目,我使用Github也 ...

  3. winodws系统搭建git服务--Tomcat--jdk配置

    一.http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html  下载jdk程序: 1.下载 ...

  4. gogs搭建git服务教程

    使用gogs搭建自己的git服务!!! 一.GIT服务器搭建方式 上一节课我们讲过GIT是一个分布式版本管理系统,既然是分布那么必定会涉及远程通信,那么GIT是采用什么协议进行远程通信的呢? git支 ...

  5. Windows平台搭建Git服务教程详解

    引言 软件企业的核心就是代码,如何确保代码的安全?如何在团队开发中协同工作?为解决这些问题,我们需要采用相应的管理工具来满足管理的需求.探长从最初的VSS.SVN.TFS到现在的Git存储一路走来,感 ...

  6. git 入门教程之 git 私服搭建教程

    git 私服搭建教程 前几节我们的远程仓库使用的是 github 网站,托管项目大多是公开的,如果不想让任何人都能看到就需要收费,而且 github 网站毕竟在国外,访问速度太慢,基于上述两点原因,我 ...

  7. GitHub+Hexo 搭建个人网站详细教程

    原文链接 GitHub+Hexo 搭建个人网站详细教程 前言: 随着互联网浪潮的翻腾,国内外涌现出越来越多优秀的社交网站让用户分享信息更加便捷.然后,如果你是一个不甘寂寞的程序猿(媛),是否也想要搭建 ...

  8. git github 使用教程

    参考文章:文章地址: http://wuyuans.com/2012/05/github-simple-tutorial/ github是一个基于git的代码托管平台,付费用户可以建私人仓库,我们一般 ...

  9. Docker+Gogs搭建个人Git服务

    欢迎 经常使用Github的我,Github它功能强大,操作简单,不用FQ,所以大家会使用Github进行代码托管,但是,Github的私仓收费的,而且对于普通个人用户来说,价格也不便宜.很多人搭建自 ...

随机推荐

  1. 回顾2017系列篇(一):最佳的11篇UI/UX设计文章

    2017已经接近尾声,在这一年中,设计领域发生了诸多变化.也是时候对2017年做一个总结,本文主要是从2017设计文章入手,列出了个人认为2017设计行业里最重要的UI/UX文章的前11名,供大家参考 ...

  2. Eclipse Pydev添加MySQLdb模块,Windows下安装MySQL-python

    1.首先确保Windows下已经安装Python.Eclipse并且Eclipse已经集成Pydev能成功运行Python 2.下载MySQL-python 地址:http://www.codegoo ...

  3. JAVA NIO学习二:通道(Channel)与缓冲区(Buffer)

    今天是2018年的第三天,真是时光飞逝,2017年的学习计划还没有学习完成,因此继续开始研究学习,那么上一节我们了解了NIO,那么这一节我们进一步来学习NIO相关的知识.那就是通道和缓冲区.Java ...

  4. lesson - 11 课程笔记

    一.sed  作用: sed 是一种流编辑器,它是文本处理中非常重要的工具, 能够完美的配合正则表达式使用.处理时,把当前处理的行存储在临时缓冲区中, 称为“模式空间(pattern space)”, ...

  5. C#-判断Shift,Alt,Ctrl是否被按下,确定所按下的组合键

    在创建接受用户击键的应用程序时,您还可能希望监视 SHIFT.ALT 和 CTRL 键等组合键.当一个组合键与其他键同时按下,或在单击鼠标的同时按下时,您的应用程序能够做出适当响应:字母 S 可能仅导 ...

  6. win10 音频服务未响应的解决方法

    最近在调试usb audio设备,由于使用的是自己的audio 设备,所以要频繁的更换采样率,可是 在win10中经常出现一些莫名其妙的问题,今天这个问题就是折腾了我好久才搞定的. 当把usb aud ...

  7. java内存溢出问题

    相信有一定java开发经验的人或多或少都会遇到OutOfMemoryError的问题,这个问题曾困扰了我很长时间,随着解决各类问题经验的积累以及对问题根源的探索,终于有了一个比较深入的认识. 在解决j ...

  8. JavaScript、ES5和ES6的介绍和区别

    JavaScript由三部分组成: ECMAScript(核心) DOM(文档对象模型) BOM (浏览器对象模型) ES5(ECMAScript第五个版本) strict模式 严格模式,限制一些用法 ...

  9. Java学习笔记10(面向对象三:接口)

    接口: 暂时可以理解为是一种特殊的抽象类 接口是功能的集合,可以看作是一种数据类型,是比抽象类更抽象的"类" 接口只描述所应该具备的方法,并没有具体实现,具体实现由接口的实现类(相 ...

  10. Centos7下配置Python3和Python2共存,以及对应版本Ipython安装配置

    1.查看是否已经安装Python Centos7默认安装了python2.7.5 因为一些命令要用它比如yum 它使用的是python2.7.5. 使用python -V命令查看一下是否安装Pytho ...