分布式版本库——Windows下Git的环境部署以及在GitHub上开源自己的项目


这几天着实忙的焦头烂额,可惜不是搞技术,今天周日,难得闲下来,写篇大家都想学习的Git教程,其实廖雪峰老师的网站已经非常详细了,但是。咳咳,太长了,我就稍微简单点的来概括,其实Git在MAC和Ubuntu上的体验是最好的,不过搞Android开发的我相信绝大多数人还是用windows吧,当然不排除个例

廖雪峰教程:http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/

我们为什么用Git?

用前辈的概括是这样的:http://blog.csdn.net/airk000/article/details/38965077

分布式版本控制系统。2005 - 至今,创造者:Linus Torvalds。特点:快速、非线性、分支。

  • 1.强大

    Git在开发伊始的目标就是管理Linux内核。目前为止,使用最久、最经典的Linux kernel v2.6版本的不完全统计代码量是592万行,如果这样的一个工程Git都可以信手拈来的话,除了强大我们还能说什么呢?

  • 2.本地

    Git作为版本控制系统,在其领域并非唯一,同样盛行的还有SVN、CVS等版本控制系统。但不同与Git的是,这两者都是集中式版本控制系统。所谓集中式,就是在协作开发过程中,对代码的修订保存操作必须经由代码托管服务器,也就是必须通过网络(即使是局域网)。也就是说,如果开发者对代码进行了很大量级的修改,也只能等到有网络后再做保存提交工作,这样就导致了代码提交历史混乱,不方便维护与调试。而Git作为分布式版本控制系统,拥有颠覆传统的特性,就是本地化。所谓本地化,即开发进度可以在没有网络的情况下进行保存、修改,使提交历史清晰而又有逻辑。

  • 3.分支

    Git在版本控制中引入了分支的概念。传统系统中,项目的开发线是单一、单调的,而项目的需求通常来讲很有可能出现平行情况,如多渠道发布、不同特性版本等,这样的需求在单一开发线中虽说仍然可以满足,但是总会带来一次又一次的重复工作,甚至无用功。而通过引入分支的概念,Git可以避免这些情况,如一个项目可以轻松的划分为开发分支(线)、发布分支(线),在开发分支中测试稳定的功能、成功修复的BUG可以合并至发布分支,而发布出去的版本又不会包含尚未稳定的开发中功能。多渠道发布,可以给每一个渠道配置一个分支,只是各自的某些配置文件不同,主要的功能、问题修复等进度可以轻松跟进。

  • 4.开源

    Github、Bitbucket等国际知名代码托管服务商均使用Git作为管控系统,在国内,如CSDN、OSChina等IT名站也纷纷推出类似服务。为什么?这就是开源的力量。Git作为较传统版本控制系统的又一不同点——分布式,即人人都是托管商,人人都是服务器,人人都是工作站。传统控制系统,代码归托管服务器集中管理,任何单位对代码的克隆、修改操作都上报至一处,可扩散性不强,并不能很好的迎合开源项目所需要的互动性。而Git,可以说是一次克隆,终生受益。每一个克隆过Git仓储的单位都可以视为一个托管服务器,即可以将完整仓储提供给其他单位,大大提升了项目的扩散性,同时也提升了项目的安全指数,即使最初的项目托管服务器发生故障,任意克隆过该仓储的单位都可以通过简单配置充当新的托管服务器。

  • 5.潮流

    如果你还没有在Github上建立过一个项目,那么你已经落伍了,赶紧利用下班回家看电视的时间恶补一下吧。Git以其灵活、快速、本地化以及独有的分支管控概念迅速征服了广大开发者,Android、Eclipse、Perl、PHP、GNOME等等知名项目都是使用Git进行管理,顺应潮流,拥抱新生,就一定能够获得全新的体验!

一.Git简介

Git是用于Linux内核开发的版本控制工具,和CVS,SVN一类的集中式版本控制工具不同,他采用的是分布式办本科的做法,Linux之父写的能不牛嘛..,Git不需要服务器端软件,就可以运行版本控制,使得源代码的发布和交流及其的方便,而且速度也快,杠杠滴!主要我还是觉得他因为是本地,所以可能速度快点

二.安装

1.msysgit:模拟Linux,只提供命令行操作

下载地址:https://git-for-windows.github.io/

安装

直接一直下一步就OK了

2.TortoiseGIT:开源客户端,GUI图形化界面,它基于msysgit

下载地址:https://download.tortoisegit.org/

安装

这个也是一样的,下一步就可以

好的,现在我们在桌面上点击右键就可以看到

说明我们安装成功了

三.Git Create repository

D:\MyGit 我们在D盘下创建一个文件夹MyGit

然后我们右键,有一个Git Create repository here(在这里创建一个Git的仓库)

我们点击创建,会弹出提示,我们点确定就可以了

然后你就会发现,目录下多了个文件夹(默认是隐藏的,需要你打开可见性)

我们现在来新建一个Test.txt,里面随便写点什么东西,然后上传上去,你会发现,其实和SVN很像

你右键提交会有一个Git Commit ->”master”(主开发库)

但是正当你点击的时候报了一个错误

意思是你必须在提交的时候有用户名和email,你想现在填写吗?肯定点击yes

这里又说什么我们不管,直接点击确定,然后就会出现一些个提示,你填上资料就可以了,然后点确定就可以提交了

这里和SVN的不同之处在于他必须要你写Message,这是个好习惯,更新日志可不能少

好了,提交成功

四.Create GitHub repository

官网:https://github.com/

这才是重头戏,我们要成为大牛之前,还是尽量写一些牛X一点的开源项目,不管是找工作也好,自我提升也罢,都是非常有必要的,拿我们就开始吧!

我们先进去官网,然后我们点击 +New repository(新建一个仓库)

然后就开始填写相关的信息了

创建完成之后是这个样子的

其实我们要用到的还不是只有一个链接:https://github.com/LiuGuiLinAndroid/Android-Developer-Book.git

我们在本地创建一个文件夹,然后右击Git Clone

点击

这个地址就是我们GitHub上的地址

我们把项目给Clone下来了

好了,我们现在可以放东西了,然后提交,一切跟刚才一样,但是这个时候提交的依然是在本地,你的github上并没有刷新,我们实如何把他上传到github上呢?

其实也很简单,我们上传到本地之后再次点击右键TortoiseGit->Push(推送)

我们可以把他推送到github上

但是这里上传的是主仓库,所以需要填写你的账号密码

好的,推动完成,我们现在来看看GitHub上是什么样的吧!!!

现在你的GitHub上就有东西了,我们的教程也OK了,当然,你会说,还有补丁,分支什么的没讲,其实当你入门之后在,这些都是自然而然的事情了,大把的教程,本篇只是作为一个入门,让你多Get一项技能罢了,谢啦!

分布式版本库——Windows下Git的环境部署以及在GitHub上开源自己的项目的更多相关文章

  1. windows下go开发环境部署 (sublime+gosublime+geocode)

    1.下载git.go和sublime免安装版 go下载地址:http://pan.baidu.com/s/1hq1mrDM#path=%252Fgo%252F1.5.2sublime下载地址:http ...

  2. IntelliJ IDEA Windows下Spark开发环境部署

    0x01 环境说明 本地 OS: windows 10 jdk: jdk1.8.0_121 scala: scala-2.11.11 IDE: IntelliJ IDEA ULTIMATE 2017. ...

  3. Windows下Git的下载、安装、设置用户名和邮箱、创建版本库等

    Git官网:https://git-scm.com/ 一.Git下载 官网首页下载,当前最新版本:2.24.1 本人下载的是Git for Windows版本:Git-2.24.1.2-64-bit. ...

  4. Git分布式版本控制系统(下)

    Git分布式版本控制系统(下) 链接:https://pan.baidu.com/s/1CgaEv12cwfbs5RxcNpxdAg 提取码:fytm 复制这段内容后打开百度网盘手机App,操作更方便 ...

  5. 深入学习:Windows下Git入门教程(上)

    一,安装Git: 1.1Linux上安装命令: sudo apt-get install git 1.2在Windows上安装Git: 使用Windows版的msysgit,官方下载地址:http:/ ...

  6. Git版本管理:Windows下Git配置与使用指南

    简要介绍:Git是一个开源的分布式版本控制系统,用以有效.高速的处理从很小到非常大的项目版本管理. 一.安装 软件:msysGit-fullinstall-1.8.1.2 打开之后设置安装路径,默认为 ...

  7. Git版本管理:Windows下Git配置与使用指南 Gitlab

    简要介绍:Git是一个开源的分布式版本控制系统,用以有效.高速的处理从很小到非常大的项目版本管理. 一.安装 软件:msysGit-fullinstall-1.8.1.2 打开之后设置安装路径,默认为 ...

  8. 设置 Quick-Cocos2d-x 在 Windows 下的编译环境

    http://cn.cocos2d-x.org/tutorial/show?id=1304 设置 Quick-Cocos2d-x 在 Windows 下的编译环境 Liao Yulei2014-08- ...

  9. Windows下GIT的使用方法

    文章引用自:Git使用教程    https://www.cnblogs.com/tugenhua0707/p/4050072.html 本文章只限用于Windows,敬请参考 注意:操作命令纯属手敲 ...

随机推荐

  1. The packages can be overrided by Java Endorsed Standards

     Endorsed Standards APIs The Endorsed Standards for Java SE constitute all classes and interfaces ...

  2. iOS下JS与OC互相调用(八)--Cordova详解+实战

    扯两句,可以跳过 由于项目中Cordova相关功能一直是同事在负责,所以也没有仔细的去探究Cordova到底是怎么使用的,又是如何实现JS 与 OC 的交互.所以我基本上是从零开始研究和学习Cordo ...

  3. pandas小记:pandas时间序列分析和处理Timeseries

    http://blog.csdn.net/pipisorry/article/details/52209377 其它时间序列处理相关的包 [P4J 0.6: Periodic light curve ...

  4. Android传感器

    Android传感器 开发传感器应用 1. 获取传感器管理者对象 // 获取传感器管理者对象 SensorManager mSensorManager = (SensorManager) getSys ...

  5. 【一天一道Leetcode】#190.Reverse Bits

    一天一道LeetCode 本系列文章已全部上传至我的github,地址:ZeeCoder's Github 欢迎大家关注我的新浪微博,我的新浪微博 我的个人博客已创建,欢迎大家持续关注! 一天一道le ...

  6. 【Netty源码分析】Reactor线程模型

    1. 背景 1.1. Java线程模型的演进 1.1.1. 单线程 时间回到十几年前,那时主流的CPU都还是单核(除了商用高性能的小机),CPU的核心频率是机器最重要的指标之一. 在Java领域当时比 ...

  7. android之.9.png详解

    .9.PNG是安卓开发里面的一种特殊的图片,这种格式的图片通过ADT自带的编辑工具生成,使用九宫格切分的方法,使图片支持在android 环境下的自适应展示. PNG,是一种非失真性压缩位图图形文件格 ...

  8. SSH深度历险(十) AOP原理及相关概念学习+AspectJ注解方式配置spring AOP

    AOP(Aspect Oriented Programming),是面向切面编程的技术.AOP基于IoC基础,是对OOP的有益补充. AOP之所以能得到广泛应用,主要是因为它将应用系统拆分分了2个部分 ...

  9. UNIX环境高级编程——互斥量属性

    互斥量具有一些属性,通过修改这些属性可以控制锁的一些行为.缺省的互斥锁属性及其值如下: pshared:         PTHREAD_PROCESS_PRIVATE type:           ...

  10. LAPACK的C/C++接口及代码实例

    今天介绍一个矩阵处理工具LAPACK,她有C\C++接口,可在windows下移植.本人最近正在学习,发现还是还不错滴~ 本博文分为三部分,第一部分介绍LAPACK的安装,这里只介绍最简单的部署:第二 ...