为了账号安全,请及时绑定邮箱和手机立即绑定

初探Git(一)

标签:
Git

Git简介

什么是Git?

Git是世界上最先进的分布式版本控制系统(大家都这么说,我也只能装作自己觉得他很牛逼了,但好像的确是有点牛逼)

为什么要用Git?

Git作为目前最流行的版本控制工具,学会使用Git这应该是程序员一项必不可少的技能。但即使作为非技术开发人员掌握使用Git后,相信可以大大提高自己的工作效率。

在工作学习中肯定会遇到过这种情况,比如你在写一篇文章或者一份报告论文,想要删除其中的某一部分内容,但是又怕将来需要用到,这个时候是不是会有这样一种操作。比如copy一下重命名保存,然后接着往下写,结果又遇到上面那种情况,无奈只能继续重复上面copy操作,最后你的文件夹可能像下面这样


webp

毕业论文文件夹.jpg

过了几天,你突然想找之前删掉的一个段落,看着这么多文件都不知道哪一个版本才是自己需要的,只能一个个去打开查看对比,费尽千辛万苦好不容易找到了之前的内容最终有了一个大概的定稿。这时候你想找个大牛帮你看看提点意见改动一下,于是乎你将文件copy了一份给他。他在帮你改动的同时你发现有些地方自己还在原来的基础上完善一下,两天后你得到了一个修改后的版本,这时大牛也把他修改后的文件发给了你。看到这两份文件你就傻眼了,你必须回想起你把文件发给他之后你做了那些改动,然后将自己的改动和大牛做的改动合并起来才行,真是一件忧伤的事情。

此时,你希望有一个软件能记录文件每一次的改动,能清晰明了的知道是谁做了改动,改动的地方是哪里,做了哪些具体改动。世界上总有这么一些天(guai)才(tai),能解决掉所有遇到的问题,这时候Git出现了。

分布式和集中式

在Git出现之前已经有很多种版本控制工具了,比如SVN。但相比较SVN这类的集中式控制系统而言,Git的优势在哪呢?
首先集中式版本控制系统版本库是放在中央服务器的。示意图:


webp

集中式.jpg


集中式控制系统的缺点在于:

  • 依赖于中央服务器

  • 必须联网才能工作

  • 分支管理不方便

而分布式管理系统是没有中央服务器的,每个人的电脑都是一个完整的版本库。示意图:


webp

分布式.jpg

相比于分布式分布式的优势在于:

  • 每台电脑都是完整的版本库,所以安全

  • 不用联网就能工作

  • 分支管理很便捷

Git使用

前面做了那么多铺垫终于到正文了,想要了解更多Git的信息可以自行百度,这里略过......

Git安装

附上Git官网下载链接,下载之后安装一路next就行。安装完成之后右键鼠标会看到菜单栏有Git bash 和Git Gui两个选项,Git bash就是打开命令操作界面,Git Gui就是图形界面。

创建版本库

选择一个合适的文件夹,然后在该文件夹下右键鼠标点击Git bash,弹出命令窗口后敲入Git init,你会发现多了一个.git的文件夹,这时候就证明版本库就创建好了,该文件夹下以后所有的文件都会处于git的管理之下,你可以知道什么时候文件做了改动,还可以将文件回退到之前的版本等等。

webp

GitInit.jpg


我首先是进入到F盘下gitRepository文件夹后,右键点击Git Bash,然后mkdir(创建文件夹的命令) helloGit命令创建了helloGIt文件夹,然后cd(进入的命令)helloGit进入到helloGit文件夹,再git init创建了版本库,这时候你会发现我的F:\gitRepository\helloGit 下多出来一个.git 文件夹。


添加文件

我们在helloGit文件夹下创建一个hello.txt文件,内容为:

hello word
hello git

首先用git add 命令告诉git我们要将文件添加到仓库
$ git add git.txt
执行上面的命令,你会发现没有任何提示,那么这就对了,没有消息就是最好的消息。
接下来用git commit 告诉git,我们要将文件提交到仓库

$ git commit -m"first commit"[master (root-commit) aec5e0c] wrote a readme file 1 file changed, 2 insertions(+)
 create mode 100644 readme.txt

-m后面的内容是解释这次的提交,你也可以写成 -m”这是我的第一次提交“”,反正里面的内容大家能看懂就行。git commit 命令成功执行后, 1 file changed就是告诉你又一个文件改动了,2 insertions(+)意思是说插入了两行内容。

现在我们在hello.txt上的基础上做了一些改动,内容变更为:

hello word
hello git
git is a free software

这时候我们输入 git status 命令查看一下

Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

        modified:   hello.txt

no changes added to commit (use "git add" and/or "git commit -a")

git status命令是告诉我们当前工作区的状态,以上的没命令告诉我们hello.txt文件被改动了。


总结
  • Git是分布式管理控制系统

  • 命令git init 用来初始化创建版本仓库

  • 命令git add <fileName>用来添加文件到仓库

  • 命令git commit -m"message"用来将文件提交到仓库,message是对这次提交做的解释。



作者:未远可追
链接:https://www.jianshu.com/p/c8d6bf54fd7a


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
JAVA开发工程师
手记
粉丝
205
获赞与收藏
1007

关注作者,订阅最新文章

阅读免费教程

  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消