女朋友和代码同时掉进水里,你先救谁?

阿凯不错

提供最棒的技术分享,关注get新技能

阅读文本大概需要 8 分钟。

有这样一个问题,让无数恋爱中的男生操碎了心:

我和你妈同时掉水里,你救谁?男同胞们都知道,这是一道送命题啊!

作为程序猿的,我们却还要多面对一个问题『女朋友和你的「代码」同时进水,你先救谁?

今天,我带给大家一个方案,可以让你挽救危机,放心大胆的回答:“当然是先救你了”。

那就是 Git 版本管理工具。

Git 是什么?

Git 并不是 Github。

Git 的官方定义:

Git 是一款开源优秀的版本管理工具,是一个免费开源的分布式版本控制系统。

那什么是版本控制系统呢?

熟悉编程的知道,我们在软件开发中源代码其实是最重要的,那么对源代码的管理变得异常重要:

比如为了防止代码的丢失;同一个项目好几个人做,都要对一份代码做更改;随着版本迭代的,需要清楚的知道代码的更改记录,甚至知道每个人的历史提交代码的情况;开发的时候免不了有bug,需要对代码进行还原操作

... ...

等等类似以上的情况,这些都是版本控制系统能解决的问题。

所以说,版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统,对于软件开发领域来说版本控制是最重要的一环,而 Git 毫无疑问是当下最流行、最好用的版本控制系统。

今天的我已不能想象生活没有 Git 会变成什么样。

Git 不仅提供了我非常需要的版本控制功能,还让我变成一个更好的程序员。

Git 安装

在Windows上使用Git,可以从 Git官网 直接下载安装程序,然后按 默认选项 安装即可。

Windows:https://gitforwindows.org/

安装完成后,在开始菜单里找到“Git”->“Git Bash”,出现一个类似命令行窗口的东西,就说明Git安装成功!

安装好 Git 之后,怎么学习是个问题

学习 Git 的基本操作并不是要求你把整个 Git 文档从头到尾读完,那样太枯燥,也太痛苦了,最快速的学习就是去使用。

其实关于 Git 有很多图形化的软件可以操作,但是我强烈建议大家从命令行开始学习理解。只有从学习命令行开始,之后你对 Git 的每一步操作才能理解其意义,而等你熟练之后你想用任何的图形化的软件去操作完全没问题。

Git 基本操作

1.创建 Git 仓库目录

先自己在电脑上,创建一个 TestProject 的文件夹。(我是创建在D盘的,你可以随便创建在自己喜欢的位置)

然后打开终端,进入该文件夹。输入下面的代码按 Enter 即可:

这里提醒下:在进行任何 Git 操作之前,都要先切换到 Git 仓库目录,也就是先要先切换到 项目的文件夹 下。

这个时候我们先随便操作一个命令,比如git status,可以看到如下提示:

意思就是当前目录还不是一个Git 仓库

2.初始化仓库

现在,你已经进入指定文件夹,输入下面命令进行初始化工作:

运行这条命令会在你的项目文件夹中创建一个隐藏的文件夹,你不需要去管这个文件夹。这个文件夹包含了一些安全信息。它会追踪记录你对项目的所有更改,并允许你再将项目回滚到以前的版本。

默认就直接在master 分支,这时最主要的是提示nothing to commit,就是说没有未提交的文件在 git 仓库里,并且提示你可以使用创建 复制 git add去操作 提交文件。

3.添加一个文件:

用touch命令创建一个空文件。

恭喜,你已经成功修改了你的项目。Git 也已经知道到你新建了文件,如何证明呢?使用下面这条命令,查看状态:

你将会看到这样的信息:

Git 记录了你在项目中所做的改变,以红色字体显示出来了。

4.版本提交

提交过的项目,可以随时撤回到这个版本。告诉Git记住项目的版本,有两个步骤。

首先,你必须添加(add)改变的文件,然后提交(commit )添加的文件。

必须按照这两步的顺序去做哦。

上面提示 abc.txt 文件还没有提交到 git 仓库里,这个时候我们输入git addabc.txt,然后再输入git status查看一下状态:

此时提示文件 Changes to be committed ,意思就是 abc.txt 文件等待被提交

git commit

现在,下一步也是最后、重要的一步,去提交所添加的文件!

commit是提交的意思,-m代表是提交信息,执行了以上命令代表我们已经正式进行了第一次提交。命令语句中用引号括起来的是说明信息,帮你记住你当时做了什么。

恭喜!你已经进行了提交!

这个时候再输入 git status ,会提示 nothing to commit。

这意味着什么?

它意味着你基本上可以在时间中来回穿梭

注意:git add & git commit

当你添加文件后,文件被添加到临时区域(stating area)。临时区域的文件保存着直到你提交它们。如果你在添加文件后与提交文件之前修改了文件,那么你必须得重新添加这些文件来进行正确的提交。

git add是先把改动添加到一个「暂存区」,你可以理解成是一个缓存区域,临时保存你的改动,而git commit才是最后真正的提交。

这样做的好处就是防止误提交,当然也有办法把这两步合并成一步,不过后面再介绍,建议新手先按部就班的一步步来。

5.对项目做点改变

打开文件 abc.txt,然后添加一些文字进去并保存。

修改好 text 文件,我们回到终端输入git status

你将会看到:

Git 如此聪明!看到红色的字了吗?Git 知道你对文件 abc.txt做了修改

它不仅知道你添加或删除文件,它还知道你添加或删除文件里面的内容。

这也就是为什么你应该一直 add/commit,你随时可以撤回到项目以前的版本

OK,我们已经修改了文件 abc.txt,我们来提交( commit )它。但是别忘了先添加(add)文件!

点”.”意味着项目文件夹中的所有文件,当你对一个分支的不同文件做了修改,使用这个操作很方便。

6. 我们来回滚一下

在终端输入命令:

你将会看到:

这就是你所有提交的时间线(历史记录)!这时虽然只有两个版本,但是一段时间之后你应该能想象到每个版本是怎样子的。你的”提交版本号“是左边那个数字和字母的组合,即哈希码。为了回滚到项目的不同版本,在终端运行下面的命令即可:

在这个例子中,我的哈希码是 3ff4895。

现在打开你的文件abc.txt。

看到了什么神奇的事 ?

空文件!你的文件内容不见了 !!

因为你的项目回滚了,回到了第一次提交的版本,我们第一次提交的时候还没有在文件中添加任何内容。

想回到未来?

我的意思是回去的时候,在你的 abc.txt文件已经有文字。

很容易!使用同样的命令和 不同的哈希码 就可。在这个例子中如下:

现在重新打开文件abc.txt。很神奇地,文件内容又回来了!

好了,你已经了解 Git 是如何工作的了。开始在你的任何项目中使用它吧。Git 非常令人惊讶的!

后期更多优选推文,各种资料、分享猛料放出,关注「阿凯不错」公众号,获取实时动态:

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180524G1FPH600?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券