Git入门

Git简介

粘贴一段维基百科的话:

git是一个分布式版本控制软件,最初由林纳斯·托瓦兹(Linus Torvalds)创作,于2005年以GPL发布。最初目的是为更好地管理Linux内核开发而设计。应注意的是,这与GNU Interactive Tools[5](一个类似Norton Commander界面的文件管理器)有所不同 git最初的开发动力来自于BitKeeper和Monotone。git最初只是作为一个可以被其他前端(比如Cogito或Stgit)包装的后端而开发的,但后来git内核已经成熟到可以独立地用作版本控制。很多著名的软件都使用git进行版本控制,其中包括Linux内核、X.Org服务器和OLPC内核等项目的开发流程

Git是世界上最流行的最先进的分布式版本控制系统(没有之一) 不知道你是不是有这样的困惑: 软件代码修修改改,今天是版本1.0,下次是1.1,由于没有版本控制的概念,全部放在一个(或多个)文件夹里,最后发现了一个bug要调回去改,结果是根本不知道1.0有这个bug还是1.1有这个bug。如果自己的代码还有其他人一起修改的话,出了点问题就更加不知道去哪儿找了。类似于这样的问题,我们可以用git来解决

安装Git

我的是Ubuntu系统,直接使用:

$ sudo apt-get install git

Windows下,比较麻烦,使用msysgit:

Git For Windows点击下载,然后按默认选项安装即可

安装完成后,还需要最后一步设置,在命令行输入:

$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"

输入你的名字和Email地址即可

创建版本库

版本库里面的所有文件都可以被Git管理起来,每个文件的修改、删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可以“还原”

创建git使用的目录

$ mkdir learngit
$ cd learngit

将目录变成Git可以管理的仓库

$ git init

此时目录下会出现.git文件夹,是Git用来管理版本库的,尽量不要手动修改,以免引起版本库混乱

添加文件置版本库

所有的版本控制系统,只能跟踪文本文件的改动,比如TXT文件,所有的程序代码等等,Git也不例外。版本控制系统可以告诉你每次的改动,比如在第5行加了一个单词“Linux”,在第8行删了一个单词“Windows”。而图片、视频这些二进制文件,虽然也能由版本控制系统管理,但没法跟踪文件的变化,只能把二进制文件每次改动串起来,也就是只知道图片从100KB改成了120KB,但到底改了什么,版本控制系统不知道,也没法知道

$ touch README.txt Test1.txt  #假设这是你要添加的文件
$ git add README.txt Test1.txt

这次先这样,下次继续说

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Spark学习技巧

消息队列常见的几种使用场景介绍!

消息队列中间件是分布式系统中重要的组件,主要解决应用耦合,异步消息,流量削锋等问题。实现高性能、高可用、可伸缩和最终一致性架构。使用较多的消息队列有Active...

13210
来自专栏积累沉淀

kafka学习之路(二)——提高

消息发送流程 因为Kafka内在就是分布式的,一个Kafka集群通常包括多个代理。为了均衡负载,将话题分成多个分区,每个代理存储一或多个分区。多个生产者和消费...

25570
来自专栏MessageQueue

解读Raft(四 成员变更)

最近工作中讨论到了Raft协议相关的一些问题,正好之前读过多次Raft协议的那paper,所以趁着讨论做一次总结整理。

26730
来自专栏vue学习

git配置多个ssh-key

63220
来自专栏软件

GitHub快速入门图文全面详解

?tub程序员必须要会 作者:AWeiLoveAndroid 博客:https://www.jianshu.com/u/f408bdadacce 文章目录 入门...

22580
来自专栏后端技术探索

Nginx如何实现高性能和可扩展性

Owen Garrett是Nginx公司的产品总监,他在Nginx的官方博客上发表了一篇博文,说明了是哪些设计决策使得NGINX产品具备一流的性能和扩展能力。

8010
来自专栏phodal

编辑-发布-开发分离: 静态API设计

周末在计划着Growth的最外一层,即解决方案的时候,想着自己要做一个静态的API——即基于JSON与GitHub的API。 ? 在之前的那篇《编辑-发布-开发...

21980
来自专栏安恒信息

安恒预警:Weblogic CVE-2015-4852补丁无效,请及时安装新补丁

Oracle在2015年11月官方发布了一个Weblogic Java反序列化漏洞,CVE编号“CVE-2015-4852”,官方公告: https://www...

34150
来自专栏散尽浮华

linux系统root密码遗忘的情况下的解决办法

IDC机房有一台centos系统的服务器,由于这台服务器的系统装了好长时间,且root密码中间更新过几次,后面去机房现场维护时,登陆密码遗忘了,悲催啊~ 没办法...

22670
来自专栏微信公众号:Java团长

消息队列常见的几种使用场景介绍!

消息队列中间件是分布式系统中重要的组件,主要解决应用耦合,异步消息,流量削锋等问题。实现高性能、高可用、可伸缩和最终一致性架构。使用较多的消息队列有Active...

11010

扫码关注云+社区

领取腾讯云代金券