git教程(二)--安装和配置git
2016-01-27 15:53
274 查看
主页http://git-scm.com/
项目https://github.com/git/git
同样,这种分布式的操作模式对于开源软件社区的开发来说也是个巨大的恩赐,你不必再像以前那样做出补丁包,通过email方式发送出去,你只需要创建一个分支,向项目团队发送一个推请求。这能让你的代码保持最新,而且不会在传输过程中丢失。GitHub.com就是一个这样的优秀案例。
好了说了这么多,我们知道了Git是分布式版本控制系统
同一个Git仓库,可以分布到不同的机器上。那么这些git仓库是怎么分布呢?
最早,肯定只有一台机器有一个原始版本库,此后,别的机器可以“克隆”
那这么说来难道至少需要两台机器才能玩远程库么?
显然不是,其实一台电脑上也是可以克隆多个版本库的,只要不在同一个目录下。不过,现实生活中是不会有人这么傻的在一台电脑上搞几个远程库玩,因为一台电脑上搞几个远程库完全没有意义,而且硬盘挂了会导致所有库都挂掉,所以我也不告诉你在一台电脑上怎么克隆多个仓库。
实际情况往往是这样,找一台电脑充当服务器的角色,每天24小时开机,其他每个人都从这个“服务器”仓库克隆一份到自己的电脑上,并且各自把各自的提交推送到服务器仓库里,也从服务器仓库中拉取别人的提交。
当然这台服务器可是我们自己搭建的,当然也可以是别人为我们搭好的。就比如说之前提到的GitHub,或者开源社区的git服务器
我们这里使用的就是github的服务器,只要注册一个GitHub账号,就可以免费获得Git远程仓库。
注册GitHub账号的过程就不说了。
windows下下载mysysgit的安装包,当然也可以去我们开头提到的首页上下载
安装的过程我们不详细说了,因为我们的重点如何配置和使用,不同的版本的安装包安装过程中出现的提示各有千秋,我们不能详尽,
安装可以参照如下两篇
Win7上Git安装及配置过程
如何在windows下安装GIT
注意:有的博文提示大家安装TortoiseGit,这个是一个加强的git图像化工具,但是我并不推荐大家安装,因为图形界面使用起来繁琐而且复杂,永远没有终端使用起来方便
另外其实之前github也推出了一款github for windows,但是因为运行库的问题,只能在win7以上的系统中运行,后来被官方下架了,相反我们的mygigsys到改成了github for windows,而原来真正的github for windows演变成了GitHub Desktop,当然换汤不换药,还是只支持win7以上的系统中
参照Generating an SSH key
你需要把邮件地址换成你自己的邮件地址,期间会提示你输入密钥,这个密钥是用来提交时候认证用的,当然也可以不使用,如果不希望每次提交时候,都需要输入密钥,然后一路回车,使用默认值(空)即可
如果一切顺利的话,可以在用户主目录里找到.ssh目录,里面有id_rsa和id_rsa.pub两个文件,这两个就是SSH Key的秘钥对,id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人。
然后,点“Add SSH Key”,填上任意Title,在Key文本框里粘贴id_rsa.pub文件的内容:
Git作为分布式版本控制系统,所以,每个机器都必须自报家门:你的名字和Email地址。
git设置设置user.name和user.email,命令如下
1)设置局部的user.name和user.email
如果你使用的是公司或者租用的服务器,那么在配置git的时候,就应该配置自己局部的用户信息
2) 设置全局的user.name和user.email
项目https://github.com/git/git
前言
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"
你需要把邮件地址换成你自己的邮件地址,期间会提示你输入密钥,这个密钥是用来提交时候认证用的,当然也可以不使用,如果不希望每次提交时候,都需要输入密钥,然后一路回车,使用默认值(空)即可
如果一切顺利的话,可以在用户主目录里找到.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”
2) 设置全局的user.name和user.email
git config --global user.name “xxxxxx” git config --global user.email “xxx@xxx.com”
相关文章推荐
- RPC failed; result=22, HTTP code = 411
- Linux Generating SSH Keys
- git更新已經刪除的文件
- 提取Git每次提交后Commit的文件
- GIT迁移服务器
- 分布式版本管理git入门指南使用资料汇总及文章推荐
- git终极指南:在实际开发中的应用
- 破解电信检测,突破多用户共享上网补丁包下载
- IIS里FTP多用户设置方法,终于不用Serv-U了
- perl脚本实现限制ssh最大登录次数(支持白名单)
- rsync ssh 数据同步分析
- 搭建SSH时的思考和遇到的几个问题的解决方法
- SSH 使用原理 与解释
- SSH整合中 hibernate托管给Spring得到SessionFactory
- PHP多用户博客系统分析[想做多用户博客的朋友,需要了解]第1/3页
- Linux VPS利用SSH重置ROOT密码的方法
- 让 FCKeditor 支持多用户Web环境(以PHP为例)
- ssh,scp自动登陆的实现方法
- Git远程操作详解