Git历险记(二)——Git的安装和配置
各位同学,上回Git历险记(一)讲了一个 “hello Git” 的小故事。有的同学可能是玩过了其它分布式版本控制系统(DVCS),看完之后就触类旁通对Git就了然于胸了;也有的同学可能还如我当初入手Git一样,对它还是摸不着头脑。
从这一篇开始,我就将比较“啰嗦”的和大家一起从零开始经历Git使用的每一步,当然对我而言这也是一个重新认识Git的过程。
使用Git的第一步肯定是安装Git,因为在多数平台上Git是没有预装的。我平时主要的工作环境是windows和Linux(ubuntu),我想看这篇文章的同学多半也是在这两个平台下工作;下面我讲一下如何在这两个平台下安装和配置Git。
BTW:如果是苹果平台的用户的安装可以参看一下这里(1,2),配置和命令行的使用与windows、Linux(*nix)平台差别不大。
Linux (*nix) 平台
Linus开发Git的最初目的就是为了开发Linux内核服务的,自然它对Linux的平台支持也是最棒的。在Linux下安装Git大约有几种方法:
从源代码开始(这种方法也适合于多数*nix平台)
从Git官网的下载页面下载它最新稳定版的源代码,就可以从源代码开始编译、安装:
$ wget http://kernel.org/pub/software/scm/git/git-1.7.3.5.tar.bz2
$ tar -xjvf git-1.7.3.5.tar.bz2
$ cd git-1.7.3.5
$ make prefix=/usr all ;# prefix设置你的Git安装目录
$ sudo make prefix=/usr install ;# 以root权限运行
为了编译Git的源代码,我们还需要一些库: expat、curl、 zlib 和 openssl; 除了expat 外,其它的库可能在你的机器上都安装了。
使用安装包管理器(apt 或 yum)
在 fedora 等系统下用yum :
$ yum install git-core
在debian, ubuntu等系统下用apt :
$ apt-get install git-core
有时候,你系统里的安装包管理器出现了问题,或是要安装Git的机器不能上网、没有编译器的话,你可以从下面的站点去下载 “.deb” 或 “.rpm”的安装包:
Windows平台
windows平台有两个模拟*nix like运行环境的工具:cygwin,msys;Git在cygwin,msys下都有相应的移植版本。我个人觉得msys平台下的msysGit最好用,现在我在windows下也是用的这个版本。
很多同学可能要问,现在windows下有那多Git用户,为什么Git不直接出一个windows native版。俺当年翻看了一下Git的源代码,它里面使用了大量的*nix平台的native api,而这些api在windows下是没有的,所以必须要用cygwin、msys这样的一个中间层来满足软件移植的要求。
下面我“啰嗦”一下如何在windows下安装msysGit。
下载
到它的下载页面去下载一个最新的完整安装包,笔者在撰写本文时下载的是这个。
安装
安装的过程没有什么好说的,一般是开始安装后,一路的点击“下一步”。由于windows平台的换行符(CRLF)和Linux(*nix)平台的换行符(LF)不同,那么在windows下开发其它平台软件的朋友有一个地方要注意(见下图):
在这里一最好选“Checkout as-is, commit as-is”这个选项,这样,Git就不会修改你代码的换行符风格。
以前有个朋友因为选错了这个选项,以致他在windows平台下的一签出(checkout)其它平台的代码,就会显示”已修改“(modified),不过后来可能msysGit也认识到这个问题了,就把默认选项改成了这个选项。
BTW: 其实前面两项也是有用的,如果对windows和Linux(*nix)平台如何处理换行符很熟悉的话,也可以尝试一下前面两个选项:)
配置Git
在Linux下和windows下配置Git的方法差不多,只是在Linux下,可以在命令行里直接使用git config进行配置, 而在windows下则要先打开“Git Bash”,进入msysGit命令行界面,再用git config命令进行相应的配置操作。
好了,前面安装好了Git,现在我们开始配置:
第一个需要配置的就是用户的用户名和email,因为这些内容会出现在你的每一个提交(commit)里面的,像下面这样:
$ git log #我们用git log查看当前仓库的提交(commit)日志
commit 71948005382ff8e02dd8d5e8d2b4834428eece24
Author: author <author@corpmail.com>
Date: Thu Jan 20 12:58:05 2011 +0800
Project init
下面的这两行命令就是设置用户名和email:
$ git config --global user.name author #将用户名设为author
$ git config --global user.email author@corpmail.com #将用户邮箱设为author@corpmail.com
Git的配置信息分为全局和项目两种,上面命令中带了“--global"参数,这就意味是在进行全局配置,它会影响本机上的每个一个Git项目。
大家看到,上面我们用的是@corpmail(公司邮箱);但是有时候我们可能也参与了一些开源项目,那么就需要新的用户名和自己的私人邮箱,Git 可以为每个项目设定不同的配置信息。
在命令行环境,进入Git项目所在目录,执行下面的命令:
$ git config user.name nickname#将用户名设为nickname
$ git config user.email nickname@gmail.com #将用户邮箱设为nickname@gmail.com
Git的设计哲学和Linux(*nix)一样,尽量的使用“文本化”(Textuality);它里面尽量用文本化的形式存储信息,对于配置信息也更是如此,用户的这些配置信息全部是存储在文本文件中。Git的全局配置文件是存放在"~/.gitconfig"(用户目录下的.gitconfig)文件中:
我们用cat、head命令查看全局配置信息文件,并假设相关配置信息存储在文件的前3行(当然也有可能不在前3行,这里只是为了方便表示)
$ cat ~/.gitconfig | head -3
[user]
name = author
email = author@corpmail.com
而项目配置文件是存放在Git项目所在目录的".git/config"文件中,这里也像上面一样用cat、head命令查看一下:
$ cat .git/config | head -3
[user]
name = nickname
email = nickname@gmail.com
如果大家对于Git熟悉后,可以直修改”~/.gitconfig”,”.git/config”这两个文件进行配置。
Git里还有很多可以配置的地方,大家可以参考一下git config 和 定制git。
这一篇写起来有点平淡无奇,但这是一个Git用户迈出的第一步。后面我还会有一系列的文章出来,都是我个人使用过程中的感悟。
有朋友问我:“为什么把文章叫作:‘Git历险记’”。这是因为在使用Git的历程中,我碰到过N多的问题;同时也觉得它有点小复杂。但是当这些问题解开后,就有时不得不赞叹它设计的巧妙之处。
如果大家对于我的文章有什么问题和建议,欢迎给我写邮件:
之前我建立了一个 git中文用户组 ,如果大家在使用Git的过程中碰到什么麻烦事,欢迎你在这个用户组里提问。
Git历险记(二)——Git的安装和配置的更多相关文章
- Git 笔记二-Git安装与初始配置
git 笔记二-Git安装与初始配置 Git的安装 由于我日常生活和工作基本上都是在Windows上,因此此处只说windows上的安装.Windows上的安装和其他程序一样,只需要到http://g ...
- 项目管理---git----快速使用git笔记(二)------git的本地安装
下载安装包 在使用Git前我们需要先安装 Git.Git 目前支持 Linux/Unix.Solaris.Mac和 Windows 平台上运行. Git 各平台安装包下载地址为:http://git- ...
- OpenStack云计算快速入门之二:OpenStack安装与配置
原文:http://blog.chinaunix.net/uid-22414998-id-3265685.html OpenStack云计算----快速入门(2) 该教程基于Ubuntu12.04版, ...
- Fiddler抓包工具简介:(二)下载安装及配置证书和代理
Fiddler下载安装及配置 一.安装过程: 下载官网:https://www.telerik.com/fiddler 安装过程:一路next即可 启动Fiddler:当你启动了Fiddler,程序将 ...
- ActiveMQ基础教程(二):安装与配置(单机与集群)
因为本文会用到集群介绍,因此准备了三台虚拟机(当然读者也可以使用一个虚拟机,然后使用不同的端口来模拟实现伪集群): 192.168.209.133 test1 192.168.209.134 test ...
- RabbitMQ学习系列(二): RabbitMQ安装与配置
上一篇,简单介绍了RabbitMQ的情况还有一些相关的概念,这一篇,会讲讲 RabbitMQ安装与配置. 1.安装 Rabbit MQ 是建立在强大的Erlang OTP平台上,因此安装RabbitM ...
- LXD 2.0 系列(二):安装与配置
导读 简单来说,LXD是一个守护进程,为LXC容器的管理提供一组REST API.主要目标是提供一种类虚拟机的用户体验,是一种第三方的容器管理工具.下面呢,我们来介绍LXD 2.0 的安装与配置 安装 ...
- git学习(二) git的文件状态
git的文件状态 用于查看git的状态 git status 用于git文件的删除操作 git rm 如果只是 git rm --cache 仅删除暂存区里的文件: 如果不加--cache 会删除工作 ...
- 版本管理工具Git(二)GitLab部署和配置
安装 # 安装依赖包 sudo yum install -y curl policycoreutils-python openssh-server # 启用并启动SSHD sudo systemctl ...
- git学习——<二>git配置文件
一.git所有配置文件 <一>./etc/gitconfig全局配置文件 修改该配置文件,会对所有用户有影响. 使用git config --system来配置该文件 <二>. ...
随机推荐
- ef unitofwork 主从表更新
readonly UnitOfWork _u = new UnitOfWork(); public M Get(int id) { return _u.T_MtnContractRepository( ...
- Sqlite 约束条件 Constraints
一.约束 Constraints 我们在数据库中存储数据的时候,有一些数据有明显的约束条件. 比如一所学校关于教师的数据表,其中的字段列可能有如下约束: 年龄 - 至少大于20岁.如果你想录入一个小于 ...
- zabbix 硬盘状态收集,制作表格
将zabbix首页复制到a文件里,这里主要是用到首页里 最近出现的问题 的信息 # -*- coding:utf-8 -*- import time import os from openpyxl i ...
- hdu 畅通工程系列题目
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1232 并查集水. #include <stdio.h> #include <iost ...
- 在ros下使用tf
tf真是一个好东西,把坐标变换都简化了 首先tf需要有一个broadcaster #include <ros/ros.h> #include <tf/transform_broadc ...
- Laravel 5.5 Blade::if 简介
Laravel 5.5 引入了一个新的黑科技,就是你可以使用 Blade::if 来进行一些简单的逻辑判断啦!想不出应用场景在哪?想象下面的场景: 判断一个用户是否是 admin 判断应用的开发环境不 ...
- 使用Vagrant打造Linux开发环境
1.安装Oracle VM VirtualBox.vagrant,安装完成需重启电脑 Oracle VM VirtualBox安装包下载:https://www.virtualbox.org/wiki ...
- Spring Cloud之分布式配置中心
用服务的方式来实现 ConfigAppApplication.java package com.packtpub.ConfigApp; import org.springframework.boot. ...
- FZU-2271 X(Floyd)
Problem 2271 X Accept: 303 Submit: 1209Time Limit: 1500 mSec Memory Limit : 32768 KB Problem ...
- #423 Div2 C
#423 Div2 C 题意 给出 n 个字符串以及他们在 S 串中出现的位置,求字典序最小的 S 串.保证给出的字符串不会冲突. 分析 模拟就好.用并查集思想优化,数组 nxt[i] 表示从 i 开 ...