centos7.2下编译安装git

Git简介

Git是一个分布式版本控制系统

Git vs SVN

SVN是典型的集中式版本控制起,版本库集中存放在服务器,当我们用自己的电脑干活儿的时候,需要先从中央服务器取得最新的版本,然后开始干活儿,完成之后再把自己修改过的文件推送给中央服务器。中央服务器就好比是一个图书馆,我们要修改一本书,就必须先从图书馆借出来,然后回到家自己改,改完了再放回图书馆。

弊端:

A. 集中式版本控制系统最大的毛病就是必须联网才能工作
B. 中央服务器出问题了的话,所有人都没法儿工作

centos最新的7.2版本,git居然是1.8,而最新的git版本是2.9

差的太多了,何况git2.0后有大更新。于是,我决定编译安装。中间有一点小破折,记录一下,备忘。

1、下载最新的源码,网址:https://www.kernel.org/pub/software/scm/git/

  我下载的地址:https://www.kernel.org/pub/software/scm/git/git-2.9.2.tar.gz

2、解压:tar   xzvf   git-2.9.2.tar.gz

3、进入解压后的git目录后,执行:./configure很顺利。

4、make的时候出错了。提示如下:

In file included from credential-store.c:1:
cache.h:21:18: warning: zlib.h: No such file or directory
In file included from credential-store.c:1:
cache.h:23: error: expected specifier-qualifier-list before ‘z_stream’

make: *** [credential-store.o] Error 1

=============

缺少 zlib的头文件, 开发包没装,

yum install zlib (系统默认已经装上)

yum install zlib-devel

5、make install时,有出现一个错误。提示如下:

Can't locate ExtUtils/MakeMaker.pm in @INC (@INC contains: /usr/local/lib64/perl5
/usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl 
/usr/lib64/perl5 /usr/share/perl5 .) at Makefile.PL line 3.
BEGIN failed--compilation aborted at Makefile.PL line 3.
=========================

原来一个perl的模块需要安装:perl-ExtUtils-Embed

yum install perl-ExtUtils-Embed -y

6、经过以上的波折,终于make install成功。但是运行git的时,又提示:
/usr/bin/git 没有哪个文件或目录
=================================
原来git安装到/usr/local/bin/目录内了,而centos默认该目录没有在搜索目录内。
解决办法,建立一个软链接吧。

ln -s /usr/local/bin/git   /usr/bin/git

大功告成。

基本常用操作命令:

Linux系统可以通过apt-get(Ubuntu系统)/yum(centos系统)/pacman install git来安装 (我上面是编译安装的)

Mac系统可以通过homebrew install git来安装

windows下可以msysgit或者Babun

安装之后需要进行设置,在命令行中输入:可以先不配置

  git config --global user.name "你的名字"
  git config --global user.email "邮箱地址"

1. Git常用命令

  A. 创建版本库(新建一个文件夹,做测试 )
  mkdir liudong
  cd liudong
  git init (不建议用)

  git clone "http://example.com/xxx.git" (建议使用,1、 注册开源中国(码云)2、新建项目 3、直接复制开源中国版本库项目链接就是http://example.com/xxx.git)

  cd 进入项目

  git pull (将项目拿到本地)

  B. 查看当前版本库状态

  git status

  C. 添加文件

  touch xx.txt

  git add xx.txt

  D. 提交文件

  git commit -m "add xx.txt" (提交到本地自己的版本库里)
  git push (推送到开源中国(码云)上去)。提示:输入用户:xxxx、密码 :xxxx

  E. 查看版本修改纪录

  git log

  --pretty参数

  git reflog

  F. 版本回退

  git reset --hard HEAD^

  git reset --hard "commit id"

2. 工作区和暂存区

3. 撤销修改

  git checkout -- xx.txt

4. 添加远程库

  git remote add origin https://git.oschina.net/jeepxiaoxiaozi/git_basic.git

参考网址:http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000

centos7.2下编译安装&&使用-git代码库的更多相关文章

  1. centos7.2下编译安装git

    centos最新的7.2版本,git居然是1.8,而最新的git版本是2.9 差的太多了,何况git2.0后有大更新.于是,我决定编译安装.中间有一点小破折,记录一下,备忘. 1,下载最新的源码,网址 ...

  2. centos7.6下编译安装zabbix4.0.10长期支持版

    一.安装数据库,这里使用的是percona-server5..24版本 配置如下 [root@zabbix4_clone:~]# cat /etc/my.cnf # Example MySQL con ...

  3. ubuntu12.04下编译安装x86平台qt库qt-everywhere-opensource-src-4.8.5

    本文记录PC(x86)下安装Linux/X11版Qt 开发环境.下载页面:http://qt-project.org/downloads ARM嵌入式版本qt库的编译安装详见<unbunt12. ...

  4. centos7.2下编译安装apache2.4

    1.安装编译工具 [root@carl httpd-2.4.25]# yum groupinstall 'Development Tools' 'Server Platform Development ...

  5. Centos7.2下编译安装python3.7

    1.安装python3.7所需要的依赖. yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel rea ...

  6. centos7.6环境下编译安装tengine-2.2.2的编译安装

    centos7.6环境下编译安装tengine-2.2.2的编译安装 .获取tengine2..2的源码包 http://tengine.taobao.org/download/tengine-2.2 ...

  7. CentOS7下编译安装redis-5.0.9

    CentOS7下编译安装redis-5.0.9 本文地址http://yangjianyong.cn/?p=171转载无需经过作者本人授权 下载redis #code start wget https ...

  8. centos7下编译安装php-7.0.15(PHP-FPM)

    centos7下编译安装php-7.0.15(PHP-FPM) 一.下载php7源码包 http://php.net/downloads.php 如:php-7.0.15.tar.gz 二.安装所需依 ...

  9. 不要着急改代码,先想想--centos 6.8下编译安装tmux

    诸位读者新年好,2017开年第一篇博客,请允许我先问候一下看到这篇博客的诸位.写博客是我2017年定下的目标之一,希望我会坚持下去. 最近打算尝试一下tmux这个神器,于是有了这一篇关于思维方式的Bl ...

随机推荐

  1. Ubuntu开启22端口

    [http://blog.csdn.net/baple/article/details/39288817] 安装OpenSSH Ubuntu缺省没有安装SSH Server,使用以下命令安装: sud ...

  2. Object.defineproperty实现数据和视图的联动

    Object.defineproperty语法 var o = {}; // 创建一个新对象 // Example of an object property added with definePro ...

  3. 样式hack

    1.CSS 重置 html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, ...

  4. MySQL5.7安装与配置(YUM)

    安装环境:CentOS7 64位,MySQL5.7 1.配置YUM源 在MySQL官网中下载YUM源rpm安装包:http://dev.mysql.com/downloads/repo/yum/  # ...

  5. Android屏幕适配全攻略 (转载)

    http://blog.csdn.net/jdsjlzx/article/details/45891551 https://github.com/hongyangAndroid/AndroidAuto ...

  6. C++11实现生产者消费者问题

    生产者消费者问题是多线程并发中一个非常经典的问题.我在这里实现了一个基于C++11的,单生产者单消费者的版本,供大家参考. #include <windows.h> #include &l ...

  7. [C#对sql操作]C#对sql server 2008数据库操作

    using System.Data; using System.Data.SqlClient SqlConnection conn = new SqlConnection(System.Configu ...

  8. Unity3D人物头顶名称与血条更新与绘制

    using UnityEngine; using System.Collections; public class NPC : MonoBehaviour { //主摄像机对象 private Cam ...

  9. Java面向对象㈡ -- 继承与多态

    Java的继承是通过extends和implement来实现的,Java不支持多继承,但是Java支持多层继承以及多实现(接口).Java继承有一个关键字super是用来指向父类.Java继承衍生出覆 ...

  10. 单片机中用c编程时头文件reg51.h及reg52.h解析

    单片机中用c编程时头文件reg51.h及reg52.h解析 我们在用c语言编程是往往第一行就是reg51.h或者其他的自定义头文件,我们怎么样来理解呢? 1)“文件包含”处理. 程序的第一行是一个“文 ...