转载:http://blog.csdn.net/gatieme/article/details/50586476

前言


GIT跟SVN一样有自己的集中式版本库或服务器。但,GIT更倾向于被使用于分布式模式,也就是每个开发人员从中心版本库/服务器上chect out代码后会在自己的机器上克隆一个自己的版本库。可以这样说,如果你被困在一个不能连接网络的地方时,就像在飞机上,地下室,电梯里等,你仍然能够提交文件,查看历史版本记录,创建项目分支等。对一些人来说,这好像没多大用处,但当你突然遇到没有网络的环境时,这个将解决你的大麻烦。

同样,这种分布式的操作模式对于开源软件社区的开发来说也是个巨大的恩赐,你不必再像以前那样做出补丁包,通过email方式发送出去,你只需要创建一个分支,向项目团队发送一个推请求。这能让你的代码保持最新,而且不会在传输过程中丢失。GitHub.com就是一个这样的优秀案例。

好了说了这么多,我们知道了Git是分布式版本控制系统

同一个Git仓库,可以分布到不同的机器上。那么这些git仓库是怎么分布呢?

最早,肯定只有一台机器有一个原始版本库,此后,别的机器可以“克隆”clone这个原始版本库,而且每台机器的版本库其实都是一样的,并没有主次之分。

那这么说来难道至少需要两台机器才能玩远程库么?

显然不是,其实一台电脑上也是可以克隆多个版本库的,只要不在同一个目录下。不过,现实生活中是不会有人这么傻的在一台电脑上搞几个远程库玩,因为一台电脑上搞几个远程库完全没有意义,而且硬盘挂了会导致所有库都挂掉,所以我也不告诉你在一台电脑上怎么克隆多个仓库。

实际情况往往是这样,找一台电脑充当服务器的角色,每天24小时开机,其他每个人都从这个“服务器”仓库克隆一份到自己的电脑上,并且各自把各自的提交推送到服务器仓库里,也从服务器仓库中拉取别人的提交。
当然这台服务器可是我们自己搭建的,当然也可以是别人为我们搭好的。就比如说之前提到的GitHub,或者开源社区的git服务器

我们这里使用的就是github的服务器,只要注册一个GitHub账号,就可以免费获得Git远程仓库。
注册GitHub账号的过程就不说了。

安装git


我们这里不会详细讲安装的过程
windows下下载mysysgit的安装包,当然也可以去我们开头提到的首页上下载

安装的过程我们不详细说了,因为我们的重点如何配置和使用,不同的版本的安装包安装过程中出现的提示各有千秋,我们不能详尽,

安装可以参照如下两篇

Win7上Git安装及配置过程

如何在windows下安装GIT

注意:有的博文提示大家安装TortoiseGit,这个是一个加强的git图像化工具,但是我并不推荐大家安装,因为图形界面使用起来繁琐而且复杂,永远没有终端使用起来方便

另外其实之前github也推出了一款github for windows,但是因为运行库的问题,只能在win7以上的系统中运行,后来被官方下架了,相反我们的mygigsys到改成了github for windows,而原来真正的github for windows演变成了GitHub Desktop,当然换汤不换药,还是只支持win7以上的系统中

配置git


生成并添加ssh-key


由于你的本地Git仓库和GitHub仓库之间的传输是通过SSH加密的,所以,当我们向远程git仓库提交更新时,需要服务器上能够通过ssh-key识别我们的身份,辨别我们是否有提交的权限。否则的话,你自己的项目,随便一个人clone一份,就能提交能修改,那你岂不是很崩溃。

参照Generating an SSH key

生成SSH Key


在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件,如果已经有了,可直接跳到下一步。如果没有,打开Shell(Windows下打开Git Bash),创建SSH Key:

 ssh-keygen -t rsa -C "youremail@example.com"
  • 1
  • 1

你需要把邮件地址换成你自己的邮件地址,期间会提示你输入密钥,这个密钥是用来提交时候认证用的,当然也可以不使用,如果不希望每次提交时候,都需要输入密钥,然后一路回车,使用默认值(空)即可

如果一切顺利的话,可以在用户主目录里找到.ssh目录,里面有id_rsa和id_rsa.pub两个文件,这两个就是SSH Key的秘钥对,id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人。

添加SSH Key


登陆您的GitHub,右上角头像处,打开,点击’settings”,进入设置页面,然后点击”SSH Keys”,进入密钥配置页面

然后,点“Add SSH Key”,填上任意Title,在Key文本框里粘贴id_rsa.pub文件的内容:

配置git的用户信息


我们的ssh-key已经添加了,这样远程仓库,在我们推送消息时,就会根据密钥对我们的身份进行认证
Git作为分布式版本控制系统,所以,每个机器都必须自报家门:你的名字和Email地址。

git设置设置user.name和user.email,命令如下

1)设置局部的user.name和user.email

如果你使用的是公司或者租用的服务器,那么在配置git的时候,就应该配置自己局部的用户信息

git config user.name “xxxxxx”
git config user.email “xxx@xxx.com”
  • 1
  • 2
  • 1
  • 2

2) 设置全局的user.name和user.email

git config --global user.name “xxxxxx”
git config --global user.email “xxx@xxx.com”

git教程(二)--安装和配置git相关推荐

  1. Xamarin.Forms教程下载安装JDK配置环境变量

    Xamarin.Forms教程下载安装JDK配置环境变量 Xamarin.Form环境配置下载安装JDK JDK是编程Java程序必须的软件.也许有人会问我们用的C#为什么还有Java呢?这是因为我们 ...

  2. ubuntu下安装及配置git的方法(最全超详细教程github)

    安装Git 一个全新的ubunt系统,需要安装Git(系统是不具有该工具的),方法如下: 在terminel中输入如下命令: sudo apt-get install git 接下来需要检查SSH 因 ...

  3. git bash的安装和配置教程

    分布式 : Git版本控制系统是一个分布式的系统, 是用来保存工程源代码历史状态的命令行工具; 保存点 : git的保存点可以追踪源码中的文件, 并能得到某一个时间点上的整个工程项目额状态; 可以在该 ...

  4. Git教程--如何安装Git 如何高效地使用Git 合理使用Git分支

    原作者:杰森科茨  翻译&转载:https://www.digitalocean.com/community/tutorials/how-to-use-git-effectively 介绍 现 ...

  5. Windows下Git客户端的安装及配置

    一.Git客户端的安装 下载并安装两个文件: http://code.google.com/p/msysgit/ http://code.google.com/p/tortoisegit/ 一直NEX ...

  6. Mac安装并配置Git+SourceTree使用

    目录 一 Git 1. 下载安装Git 2. 配置git 3. 配置gitee公钥 4. 配置文件 二. SourceTree 1. 下载 2. 使用 a mac创建一个要存放的文件夹 b 创建一个本 ...

  7. ubuntu中git安装与配置 / git clone git@github.com失败

    通常情况下我们 git clone + url,偶尔我们也会遇到git clone git@github.com 的情况,此时就会出现如下的错误(git@github.com: Permission ...

  8. Windows下git客户端的安装和配置

    一.基础环境 Windows操作系统 git客户端安装程序(下载地址:https://git-scm.com/downloads) 二.操作步骤 1.安装git客户端,勾选与鼠标右键的关联(该项默认都 ...

  9. Git教程---Windows安装及命令使用(详细例子)

    目录 一 Git的工作原理 二 Git下载及安装 三 Git配置 四 Git命令(示例) 参考链接: 一 Git的工作原理 Git有四个工作区域,其中三个工作区域工作在本地,一个工作区域工作在远程仓库 ...

最新文章

  1. R,Git和Github(上)
  2. [转]为什么Java中的HashMap默认加载因子是0.75
  3. matlab驱动器有什么用,mongo-matlab-driver如何使用
  4. 开始的一些知识和概念
  5. python 正则表达式语法大全_Python 之父撰文回忆:为什么要创造 pgen 解析器?
  6. C++调用matlab编程
  7. ASP.Net ListBox DropdownList 不同条目 设置 背景色 和 字体颜色
  8. c中session的用法
  9. vb.net html标签,VB.Net - 获取元素html的字符串/值?
  10. IDC、刘润:企业如何通过数字化转型,驱动业务发展?附98页PPT
  11. 如何开发python sdk调用数据_Python SDK调用示例
  12. python虚拟机 基于寄存器_虚拟机随谈(一):解释器,树遍历解释器,基于栈与基于寄存器,大杂烩...
  13. structs2下的第一个helloworld!
  14. ECMA-262 6th Edition
  15. textarea光标处插入文字
  16. python大列表_Python列表操作大全(非常全)
  17. 计算机硬件产品增值税率,软件产品增值税即征即退税额如何计算?申报增值税时应该如何填报呢?...
  18. 导出oracle数据库日志文件,Oracle数据库导出还原的两种基本方法imp/impdp
  19. 多渔:苦干执行,胜者为王!
  20. 三方平台管理公众号----创建第三方平台

热门文章

  1. 杨元:CSS浮动(float,clear)通俗讲解
  2. 如何使用移动硬盘加密
  3. 一个特殊的事件绑定程序(通用于各种浏览器)
  4. docker安装zookeeper
  5. JMETER分布式原理
  6. 各层作用_OSI模型中各层在通信中的作用
  7. c语言程序怎么打分数,用C语言编程平均分数
  8. vue 深度拷贝数组_前端深拷贝和浅拷贝
  9. 安装oracle的口令是,Oracle中口令设置、用户解锁、卸载等问题
  10. extjs 前后端分离_为什么我不喜欢「前后端分离」(个人观点,欢迎来喷)