阿凯不错
提供最棒的技术分享,关注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 非常令人惊讶的!
后期更多优选推文,各种资料、分享猛料放出,关注「阿凯不错」公众号,获取实时动态:
领取专属 10元无门槛券
私享最新 技术干货