分布式版本库——Windows下Git的环境部署以及在GitHub上开源自己的项目
分布式版本库——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,只提供命令行操作
安装
直接一直下一步就OK了
2.TortoiseGIT:开源客户端,GUI图形化界面,它基于msysgit
安装
这个也是一样的,下一步就可以
好的,现在我们在桌面上点击右键就可以看到
说明我们安装成功了
三.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上开源自己的项目的更多相关文章
- windows下go开发环境部署 (sublime+gosublime+geocode)
1.下载git.go和sublime免安装版 go下载地址:http://pan.baidu.com/s/1hq1mrDM#path=%252Fgo%252F1.5.2sublime下载地址:http ...
- IntelliJ IDEA Windows下Spark开发环境部署
0x01 环境说明 本地 OS: windows 10 jdk: jdk1.8.0_121 scala: scala-2.11.11 IDE: IntelliJ IDEA ULTIMATE 2017. ...
- Windows下Git的下载、安装、设置用户名和邮箱、创建版本库等
Git官网:https://git-scm.com/ 一.Git下载 官网首页下载,当前最新版本:2.24.1 本人下载的是Git for Windows版本:Git-2.24.1.2-64-bit. ...
- Git分布式版本控制系统(下)
Git分布式版本控制系统(下) 链接:https://pan.baidu.com/s/1CgaEv12cwfbs5RxcNpxdAg 提取码:fytm 复制这段内容后打开百度网盘手机App,操作更方便 ...
- 深入学习:Windows下Git入门教程(上)
一,安装Git: 1.1Linux上安装命令: sudo apt-get install git 1.2在Windows上安装Git: 使用Windows版的msysgit,官方下载地址:http:/ ...
- Git版本管理:Windows下Git配置与使用指南
简要介绍:Git是一个开源的分布式版本控制系统,用以有效.高速的处理从很小到非常大的项目版本管理. 一.安装 软件:msysGit-fullinstall-1.8.1.2 打开之后设置安装路径,默认为 ...
- Git版本管理:Windows下Git配置与使用指南 Gitlab
简要介绍:Git是一个开源的分布式版本控制系统,用以有效.高速的处理从很小到非常大的项目版本管理. 一.安装 软件:msysGit-fullinstall-1.8.1.2 打开之后设置安装路径,默认为 ...
- 设置 Quick-Cocos2d-x 在 Windows 下的编译环境
http://cn.cocos2d-x.org/tutorial/show?id=1304 设置 Quick-Cocos2d-x 在 Windows 下的编译环境 Liao Yulei2014-08- ...
- Windows下GIT的使用方法
文章引用自:Git使用教程 https://www.cnblogs.com/tugenhua0707/p/4050072.html 本文章只限用于Windows,敬请参考 注意:操作命令纯属手敲 ...
随机推荐
- NSDictionary writeToFile:atomically: 时失败
一.现象:如下图,当NSDictionary调用 writeToFile:atomically: 时,如果容器里面包含的对象(即通过 objectForKey: 拿到的对象),为非property l ...
- Java安全套接字扩展——JSSE
上节已经介绍了SSL/TLS协议的通信模式,而对于这些底层协议,如果要每个开发者都自己去实现显然会带来不必要的麻烦,正是为了解决这个问题Java为广大开发者提供了Java安全套接字扩展--JSSE,它 ...
- 2.QLabel,QPushButton,QLineEdit,QComboBox,QCheckBox,QRadioButton,QTextEdit,QTextBrowser,QGroupBox,QSl
1.新建一个空项目(其它项目->空QT项目): 2 添加新文件(选择C++Class) MyWidget.h #ifndef MYWIDGET_H #define MYWIDGET_H ...
- 那些年我们一起用过的Hybrid App
Hybrid App现状分析 Web App 毫无疑问Web App就是成本最低,最快速地解决方案了.尤其是近两年非常流行的响应式设计,Web App市场提供了非常好的实践场地.最近典型的Web Ap ...
- ROS(indigo)MoveIt!控制ABB RobotStudio 5.6x 6.0x中机器人运动
Gazebo以及相关参考文献,参考: ROS(indigo)ABB机器人MoveIt例子 这里需要配置RobotStudio,请参考ROS官网教程.下面列出要点: window端配置结束后,在Ub ...
- Android 四种常见的线程池
引入线程池的好处 1)提升性能.创建和消耗对象费时费CPU资源 2)防止内存过度消耗.控制活动线程的数量,防止并发线程过多. 我们来看一下线程池的简单的构造 public ThreadPoolExec ...
- scala学习笔记5 (隐式转化/参数/类)
隐式转化: 隐式参数: 隐式类:
- JQuery实战---初识JQuery+入门实例
JQuery在小编的世界中,也就是JavaScript和查询(Query),即是辅助JavaScript开发的库,百度百科对JQuery的介绍比较详细,小伙伴可以东东自己可耐的小爪子,上网进行搜索,说 ...
- Hessian探究(一)Hessian入门示例
一.hessian的maven信息: [html] view plain copy print? <dependency> <groupId>com.caucho</gr ...
- UNIX网络编程——I/O复用:select和poll函数
我们看到TCP客户同时处理两个输入:标准输入和TCP套接字.我们遇到的问题是就在客户阻塞于(标准输入上)fgets调用,服务器进程会被杀死.服务器TCP虽然正确的给客户TCP发送了一个FIN,但是既然 ...