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. OAF_开发系列21_实现OAF事物控制TransactionUnitHelper(案例)

    20150716 Created By BaoXinjian

  2. Hibernate4 获取SessionFactory

    import org.hibernate.HibernateException; import org.hibernate.SessionFactory; import org.hibernate.c ...

  3. printf 整数类型都用 uint8_t

    #include <iostream> #include <string> #include <tuple>   #include <utility> ...

  4. Codeforces 732e [贪心][stl乱搞]

    /* 不要低头,不要放弃,不要气馁,不要慌张 题意: 给n个插座,m个电脑.每个插座都有一个电压,每个电脑都有需求电压. 每个插座可以接若干变压器,每个变压器可以使得电压变为x/2上取整. 有无限个变 ...

  5. 高级搜索插件solis search在umbraco中的使用

    好久没有写关于umbraco的博客了,这段时间在研究solis search,感觉它太强大,好东西是需要分享的,所以写一篇简单的使用博客分享给个人umbraco爱好者. 简介 在了解solis sea ...

  6. CacheManager COUNTER

    CacheClient.AddOrUpdate("COUNTER", 0, v => Convert.ToInt32(v) + 1);

  7. 《JS高程》中的正则的复杂模式的总结

    复杂模式: *分组: var reDogDog=/dogdog/g;---------------var reDogDog=/(dog){2}/g; *引用:(注意带括号和不带括号) var sMat ...

  8. public static void Invoke (Action action)

    using System; using System.Security.Principal; using System.Security.Permissions; namespace Demo { c ...

  9. c++学习一:指针基础

    1.指针优势,当数据量比较大时,通过指针直接访问数据量所在内存.处理更 加复杂的数据结构.例如:链表.二叉树.图等.2.指针本质是一种表示内存地址的数据类型,它和整型int和浮点数float一样 只是 ...

  10. .NET跨AppDomain访问对象

    什么是AppDomain? 我们都知道windows进程,它起到应用程序隔离的作用,带来的好处是,当某个进程发生错误的时候,不会影响其他的进程,系统也不会受到影响.但是,创建windows进程的代价是 ...