starxzj 发表于 2018-1-12 21:48:00

Git服务搭建及github使用教程

GIT服务器搭建 GIT工具使用 Gihub的使用  从本文你可以获得以下知识:
  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)
https://images2015.cnblogs.com/blog/1006989/201705/1006989-20170531105210133-388685708.png
  如果是通过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:123456 | chpasswd   #设置git 密码  

  

mkdir /project         #本地仓库名  

  

chmod 755 –R /project  

  

chown git:git –R /project  

  

su git  

  
cd
/project  

  

mkdir project.git      #创建git测试目录及文件  

  
cd project.git
  

  
git --bare init    #初始化仓库
  

  

https://images2015.cnblogs.com/blog/1006989/201705/1006989-20170531110056227-257251723.png
  2.在客户端初始化测试,将服务端的project项目git clone下来
  

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

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

https://images2015.cnblogs.com/blog/1006989/201705/1006989-20170531110135336-1973394551.png
  可以看到测试目录里把远程目录的project.git弄下来了
https://images2015.cnblogs.com/blog/1006989/201705/1006989-20170531110147196-1545238615.png
  ###############下面是个标准的代码提交过程###################
  客户端模拟开发更新,提交
  

cd project && echo “This is test” > 1.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工具
https://images2015.cnblogs.com/blog/1006989/201705/1006989-20170531002400914-1276750250.png
  在git bash 可以在windows下像linux那样运行git 命令
https://images2015.cnblogs.com/blog/1006989/201705/1006989-20170531002441711-1432452927.png
  右键 Git GUI Here
https://images2015.cnblogs.com/blog/1006989/201705/1006989-20170531002455555-1325929892.png

这里我填写的是自己搭建的git服务器,你们可以填写github或者其他远程地址
https://images2015.cnblogs.com/blog/1006989/201705/1006989-20170531002508024-446427626.png
https://images2015.cnblogs.com/blog/1006989/201705/1006989-20170531002607180-1855156317.png
  从这里可以看出git需要建立在openssh上的,所以确保有ssh服务在服务器上
https://images2015.cnblogs.com/blog/1006989/201705/1006989-20170531002618258-2020581656.png
  然后就可以把远程仓库的代码git下来了
https://images2015.cnblogs.com/blog/1006989/201705/1006989-20170531002624274-625196610.png
  同时会弹出下面的GUI管理界面,Checkout一下
https://images2015.cnblogs.com/blog/1006989/201705/1006989-20170531002641305-1566500324.png
https://images2015.cnblogs.com/blog/1006989/201705/1006989-20170531002651196-46083879.png
  模拟一下开发更新修改
https://images2015.cnblogs.com/blog/1006989/201705/1006989-20170531002709071-956848915.png
  然后在GUI里头点RESCAN重新扫描,可以扫到新加的内容
https://images2015.cnblogs.com/blog/1006989/201705/1006989-20170531002817571-1644043767.png
  存储到暂存区域,如下就会跑到绿色下面的框框去了
https://images2015.cnblogs.com/blog/1006989/201705/1006989-20170531002824508-275909654.png
  Git Bash设置一下个人信息,然后点击签名
https://images2015.cnblogs.com/blog/1006989/201705/1006989-20170531002831336-1243920294.png
https://images2015.cnblogs.com/blog/1006989/201705/1006989-20170531002845586-679358405.png
提交到本地仓库
https://images2015.cnblogs.com/blog/1006989/201705/1006989-20170531002900430-1786076796.png
  提交到远程仓库
https://images2015.cnblogs.com/blog/1006989/201705/1006989-20170531002907524-1779897767.png
https://images2015.cnblogs.com/blog/1006989/201705/1006989-20170531002919805-366898726.png
  小乌龟TortoiseGIT工具
  创建一个目录test,在目录下面右键Git clone,同样这里就以本地git服务器为例子
https://images2015.cnblogs.com/blog/1006989/201705/1006989-20170531003047961-1187502294.png
https://images2015.cnblogs.com/blog/1006989/201705/1006989-20170531003059774-2089418499.png
  选择是,保存秘钥输入一下GIT用户的密码123456既可下载代码下来
https://images2015.cnblogs.com/blog/1006989/201705/1006989-20170531003155946-247293132.png
  添加一个5.html后,右键选择ADD,添加到暂存区域
https://images2015.cnblogs.com/blog/1006989/201705/1006989-20170531110452321-1440201300.png
https://images2015.cnblogs.com/blog/1006989/201705/1006989-20170531110459493-1955062522.png
https://images2015.cnblogs.com/blog/1006989/201705/1006989-20170531110507430-438691030.png
右键点击Git Commit -> “master”后,输入message既可提交到本地仓库
https://images2015.cnblogs.com/blog/1006989/201705/1006989-20170531110518274-1113171686.png
https://images2015.cnblogs.com/blog/1006989/201705/1006989-20170531110543883-1207406521.png
  如果要提交到远程仓库点击上面界面的push按钮既可
  更多的教程可以参考http://www.yiibai.com/git/Git的使用帮助



GitHub的使用


事实上,GIT服务器并不需要我们搭建,因为使用github就可以满足我们的需求
1.首先在github上面注册一个账号,这个就不演示了吧。
2.生成本地秘钥 ssh-keygen
https://images2015.cnblogs.com/blog/1006989/201705/1006989-20170531111120680-484801834.png
https://images2015.cnblogs.com/blog/1006989/201705/1006989-20170531111207039-64917238.png
3.导入秘钥到官方
https://images2015.cnblogs.com/blog/1006989/201705/1006989-20170531111221258-968109123.png
https://images2015.cnblogs.com/blog/1006989/201705/1006989-20170531111232821-1714442308.png
https://images2015.cnblogs.com/blog/1006989/201705/1006989-20170531111310743-1058664852.png
4.然后把本地公钥复制进去既可,如果不知道本地公钥是什么可以到下面的目录查看
  

cd   ~/.ssh/&&cat >  


https://images2015.cnblogs.com/blog/1006989/201705/1006989-20170531111350118-657696681.png
  添加后过一会发个邮件给你
https://images2015.cnblogs.com/blog/1006989/201705/1006989-20170531111426618-1477268272.png
  5.添加成功后测试登录 ssh –T git@github.com
https://images2015.cnblogs.com/blog/1006989/201705/1006989-20170531111435555-343970005.png
  6.创建本地仓库
  回到主页 https://github.com/ ,点击New repository
https://images2015.cnblogs.com/blog/1006989/201705/1006989-20170531111505743-1640193979.png
  第一次创建需要邮箱验证的
https://images2015.cnblogs.com/blog/1006989/201705/1006989-20170531111514899-862527150.png
  7.验证好后,填写创建信息
https://images2015.cnblogs.com/blog/1006989/201705/1006989-20170531111522196-411728515.png
  8.然后点击创建,出现下面的界面点ssh,因为我们前面使用的是ssh秘钥认证
https://images2015.cnblogs.com/blog/1006989/201705/1006989-20170531111539758-1830326028.png
  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  

  当你看到下面的界面表示本地仓库的创建和连接成功
https://images2015.cnblogs.com/blog/1006989/201705/1006989-20170531111607914-2020851496.png
  到github页面上点击your profile
https://images2015.cnblogs.com/blog/1006989/201705/1006989-20170531111617149-2109203973.png
  可以看见多出了一个仓库
https://images2015.cnblogs.com/blog/1006989/201705/1006989-20170531111629789-1797704201.png
  10.配置一下用户信息
  

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

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

  11.下面模拟测试同步
  

echo hello man > 1.html         #新增内容  

  
git add
1.html                  #缓存添加  

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

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

https://images2015.cnblogs.com/blog/1006989/201705/1006989-20170531111705961-356036721.png
  

git log                            #查看提交版本号  

https://images2015.cnblogs.com/blog/1006989/201705/1006989-20170531111715930-2110562892.png
  

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

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

https://images2015.cnblogs.com/blog/1006989/201705/1006989-20170531111731633-801259411.png

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.3.tar.gz&&cd git-2.7.3  

  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   

  转载请指明出处http://www.cnblogs.com/demonxian3/p/6922004.html
页: [1]
查看完整版本: Git服务搭建及github使用教程