【Git - 基础篇】如何快速有效的管理你的代码 - 安装和配置
【本文仅凭个人经验进行整理,如有错误,欢迎指正,互相学习^^】
------------------------------------------------------------------------------------------------------------------------------
-- 上一篇博文 “如何简单便捷的搭建一个网站 - 基于Django ”【链接:http://www.cnblogs.com/XMU-hcq/p/6009533.html】 详细介绍了基于Django搭建一个网页开发环境;
-- 这篇博文主要介绍了基于Git方便有效的管理你的代码(环境搭建、配置以及简单的使用),希望对初学者有所帮助!
------------------------------------------------------------------------------------------------------------------------------
一、Git简介
1. Git是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。
2. 分布式相比于集中式的最大区别在于开发者可以提交到本地,每个开发者通过克隆(git clone),在本地机器上拷贝一个完整的Git仓库。
3. 下图展示了经典的git开发过程(图来源于百度百科)

二、Git安装与配置(本人在64位的win7、win8.1和win10均尝试成功)
1. 准备安装包:
1)【Git】Git-2.10.1-64-bit.exe(https://git-scm.com/download/win)
2)【TortoiseGit】TortoiseGit-2.3.0.0-64bit.msi(https://tortoisegit.org/download/)
2. 安装【Git】(参考:http://jingyan.baidu.com/article/90895e0fb3495f64ed6b0b50.html)
1)运行“Git-2.10.1-64-bit.exe”,点击下一步,直到出现(2),即【select components】;
2)【select components】在Windows Explorer integration选项中将“Git Bash here”和“Git GUI here”打对勾;

3)【Adjusting your PATH environment】选项中,默认即可;

4)【Configuring the line ending conversions】选项中,解释如下:
-- 第一个选项:如果是跨平台项目,在windows系统安装,选择;(本文选择第一项)
-- 第二个选项:如果是跨平台项目,在Unix系统安装,选择;
-- 第三个选项:非跨平台项目,选择;

5)如果还有剩下的步骤,直接点击next即可。
3. 安装【TortoiseGit】(参考网页:http://jingyan.baidu.com/article/8cdccae97e2827315513cd55.html)
1)运行“TortoiseGit-2.3.0.0-64bit.msi”(TortoiseGit安装包);
2)默认安装(直接点击next进行安装):
-- 用户可根据需求选择要安装的项(本文默认全部安装);

-- 用户可根据自身习惯修改安装路径:

3)默认安装完成,右击鼠标查看新增功能项,至此【TortoiseGit】安装完毕。

(上图表示:刚装好的时候是这样的界面,表示当前目录不是【Git的根目录】,即该目录可以进行Clone)

(上图表示:当前目录是【Git】的根目录,即该目录已经是一个Git项目目录)
4. 配置【TortoiseGit】
1)在你的要建的git目录下,右键TortoiseGit->settings,设置git路径,此处为“ C:\My_softwares\GIT_20161013\bin ”;

2)设置用户信息,右键TortioseGit->Settings->Git->Global;(该步骤的目的是“避免每次使用git都要输入账号和密码”)

-- name:表示用户在【码云】上注册的用户名(昵称)。
-- 邮箱:表示用户在【码云】上注册时填写的邮箱;

3)生成ssh-rsa 密钥和公钥:
-- 【打开Puttygen】开始 -> 所有程序 -> TortoiseGit -> PuTTYgen
-- 设置密钥长度为1024,然后点击【generate】(此时所需较长的等待时间,可以先看往后的步骤) - 这次等了好几个小时- -!
-- 提醒:用户可以通过鼠标在窗口进行滑动,滑动得越快,密钥生成得愉快( 感谢博友的提醒!^^ )

-- 输入密码,保存公钥和密钥,先不要关闭界面(没有输入密码也可以)
-- 公钥:一组代码,用于配置【码云】账号;
-- 私钥:一个文件,eg:【privateKey3.ppk】,需要保存到本地PC,使用Git进行Clone的时候需要用到。用于配置【TortoiseGit】,不同的PC可使用同一个私钥(前提是公钥也一致,可以使用同一个码云账号即可保证公钥一致)
(分别保存 “public key” 和 “private key”)

-- 登录注册【码云】账号(https://git.oschina.net/)

-- 登录git@osc(码云),个人资料 -> SSH公钥 -> 添加公钥

-- 将【PuttyGen】产生的public key 复制key输入框(标题根据用户习惯自行拟定),最后点击确定;
5. 使用Git克隆工程到本地
1)登录【码云】(https://git.oschina.net/login),到工程目录下【复制ssh链接】,也可以由工程的管理员给你ssh链接。

2)在需要建git仓库的目录下,右键->Git Clone...
-- 把ssh链接粘贴到URL;
-- 打勾√【Load Putty key】,导入之前创建的密钥文件;

3)【Git Clone】输入设置的密码,然后点击确定(注:如果之前的【TortoiseGit】配置好了,此处就不用输入账号密码了);

4)【更新代码】用户可随时更新其他开发者上传的代码或者文件
-- 在工程目录下(eg:TuringClass_OnLine)【右键鼠标】-->【Git sync...】-->【pull】,如果提示“success”则更新成功,否则出现冲突!
-- 冲突:可能是本地的代码与远程服务器的代码出现冲突 --> 相同文件,相同位置的代码,本地的代码与远程的代码不一致(此处不具体展开冲突的分析,后续遇到问题可以提出来)
5)【上传代码】用户可上传自己的代码或者文件到远程仓库,本文的工程目录为【D:\16_Grade_XMU\Code_XMU\TuringClass_OnLine】
-- 在工程目录下【右键鼠标】-->【Git Commit -> "master"...】-->【填写message(总结此次更新的要点),选中你所需要更新的文件】-->【Commit】-->【push】-->【ok】

6. 经验之谈
1)由【PuTTY】生成的秘钥包含公钥和私钥,一个【码云】账号需要配置一组秘钥(公钥和私钥);
2)【不同电脑使用同一组 “TortoiseGit” 账号】不同的电脑配置的Git可以使用同一个【码云】账号(保证了公钥一样),【TortoiseGit】配置一样的账号,如
-- 笔记本的【TortoiseGit】配置的账号为:
[user]
name = houchaoqun
email = 836999690@qq.com
-- 笔记本使用私钥A(保证了私钥一样);
-- 实验室的台式机的【TortoiseGit】配置的和笔记本的相同;此时笔记本和台式机都可以使用Git进行同步(台式机也是用私钥A)。
-- 因为PuTTY生成公钥和私钥所需的时间较长,因此用户可以使用一组秘钥配置不用PC的Git!
------------------------------------------------------------------------------------------------------------------------------
本文根据本人开发经验进行总结和整理,如有发现不妥的地方,还望指正,互相学习!
------------------------------------------------------------------------------------------------------------------------------
【Git - 基础篇】如何快速有效的管理你的代码 - 安装和配置的更多相关文章
- Git——基础篇
Git--基础篇 Git简而言之就是个版本控制工具,用于跟踪和管理代码的工具. 版本控制 本地版本控制 就是我们自己本地对文档进行保存文件的每一个修改版本的记录. 集中式版本控制--SVN 有一个远程 ...
- Git基础篇
对于Git的一些基础了解,安装,里面的一些名词,这里就不做介绍了.主要记录怎么使用GIt. 本篇介绍: 配置个人信息 生成本地仓库并与远程库相连 添加SSH秘钥 ...
- Qt入门之基础篇(1):Qt4及Qt5的下载与安装
转载请注明出处:CN_Simo. 导语: Qt是一个跨平台的C++图形界面应用程序框架.它提供给开发者建立图形用户界面所需的功能,广泛用于开发GUI程序,也可用于开发非GUI程序.Qt很容易扩展,并且 ...
- Qt入门之基础篇 ( 一 ) :Qt4及Qt5的下载与安装
转载请注明出处:CN_Simo. 导语: Qt是一个跨平台的C++图形界面应用程序框架.它提供给开发者建立图形用户界面所需的功能,广泛用于开发GUI程序,也可用于开发非GUI程序.Qt很容易扩展,并且 ...
- 数据库之mysql篇(1)—— 数据库管理系统简介/mysql的安装、配置
说mysql之前,还是先说说数据库. 什么是数据库: 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库,它产生于距今六十多年前,随着信息技术和市场的发展,特别是二十世纪九十年代以后 ...
- SpringBoot基础篇-SpringBoot快速入门
SpringBoot基础 学习目标: 能够理解Spring的优缺点 能够理解SpringBoot的特点 能够理解SpringBoot的核心功能 能够搭建SpringBoot的环境 能够完成applic ...
- 关于Eclipse使用Git基础篇
一:Git的下载与安装与基本使用 1.打开eclipse->help->Eclipse Markplace->search->fiind输入Egit 你会看到如下截图(我的为已 ...
- Git基础篇【转】
转自:https://i.cnblogs.com/EditPosts.aspx?opt=1 1.设置名字与邮箱 $ Git config –global user.name “YourName” $ ...
- GIT基础篇,配置账号及命令查看以及帮助命令
提交用户名和邮件地址 1 安装完Git首先要设置你的用户名称与邮件地址.每一个Git的提交都会使用这些信息,并且它会写入到你的每一次提交中. 2 git config --global user. ...
随机推荐
- python中yield用法
在介绍yield前有必要先说明下Python中的迭代器(iterator)和生成器(constructor). 一.迭代器(iterator) 在Python中,for循环可以用于Python中的任何 ...
- 执行原始的 SQL 查询
The Entity Framework Code First API includes methods that enable you to pass SQL commands directly t ...
- AutoCAD.NET二次开发:创建自定义菜单(COM)
当我们要在CAD中创建自定菜单时,可以引用COM组件来实现. 下面是实现方式: 1.新建类库项目,并引用CAD目录(我这里用的是CAD2008)下的acdbmgd.dll.acmgd.dll,并将引用 ...
- 分析nginx access log日志的命令
统计访问最多的ip 1. tail -n 10000 xxaccess_log | cut -d " " -f 1 |sort|uniq -c|sort -rn|head -10 ...
- POJ 3667 Hotel (线段树区间合并)
题目链接:http://poj.org/problem?id=3667 最初给你n间空房,m个操作: 操作1 a 表示检查是否有连续的a间空房,输出最左边的空房编号,并入住a间房间. 操作2 a b ...
- C#学习笔记(六):可空类型、匿名方法和迭代器
可空类型 为啥要引入可空类型? 在数据库中,字段是可以为null值的,那么在C#中为了方便的操作数据库的值,微软引入了可空类型. 声明可空类型 我们可以使用两种方法声明一个可空类型: Nullable ...
- C#学习笔记(四):委托和事件
刚开始学习C#的时候就写过了,直接给地址了: 委托.匿名函数.Lambda表达式和事件的学习 委托学习续:Action.Func和Predicate
- (转)HTML5实战与剖析之触摸事件(touchstart、touchmove和touchend)
HTML5中新添加了很多事件,但是由于他们的兼容问题不是很理想,应用实战性不是太强,所以在这里基本省略,咱们只分享应用广泛兼容不错的事件,日后随着兼容情况提升以后再陆续添加分享.今天为大家介绍的事件主 ...
- java web,生成验证码图片的技术
偶然知道原来有些网站的验证码图片都是随机生成的,后来听人讲了一下,就做了这个小例子 生成图片,绘制背景,数字,干扰线用到了java.awt包,主要使用BufferedImage来生成图片,然后使用Gr ...
- HTTP请求头详解【转】
http://blog.csdn.net/kfanning/article/details/6062118 HTTP由两部分组成:请求和响应.当你在Web浏览器中输入一个URL时,浏览器将根据你的要求 ...