从本文你能够得到如下知识:html
1.GIT服务器搭建(CentOS6.5)linux
2.TortoiseGIT,MsysGIT工具的使用c++
3.GitHub的使用git
GIT简介github
Git 是一个开源的分布式版本控制系统,能够有效高速处理很是大的项目版本管理。Git 是Linux之父Linux Torvlds 为管理linux内核而开发的一个开发源码的版本控制软件,目前也是用的比较火。数据库
GITLAB简介windows
GitLab 是利用 Ruby on Rails 一个开源的版本管理系统,实现一个自托管的Git 项目仓库,经过Web 界面进行访问公开或者私人项目。它和Github(全球最大的开源或私人代码托管平台)的功能很像,能浏览源码,管理缺陷和注释,能够浏览文件历史库,可使用Wall程序聊天交流。提供代码片断收集功能和实现代码复用,便于往后查找。缓存
工做原理bash
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: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 #初始化仓库
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” > 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
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的使用帮助
事实上,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 > 1.html #新增内容 git add 1.html #缓存添加 git commit -m "add a html" #本地提交 git push -u origin master #远程提交(须要验证)
git log #查看提交版本号
git pull --rebase #与远程同步(拉数据) git reset --hard 8c3a7254747d262f547dcb3f4623fd12dc235e0c #版本回退,hard值从log里看
以前使用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
8 其余git命令用法参考
http://www.javashuo.com/article/p-hdsvqwtu-dt.html