博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
初探Git(一)
阅读量:4108 次
发布时间:2019-05-25

本文共 2387 字,大约阅读时间需要 7 分钟。

Git简介

什么是Git?

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

为什么要用Git?

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

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

毕业论文文件夹.jpg

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

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

分布式和集中式

在Git出现之前已经有很多种版本控制工具了,比如SVN。但相比较SVN这类的集中式控制系统而言,Git的优势在哪呢?

首先集中式版本控制系统版本库是放在中央服务器的。示意图:
集中式.jpg
集中式控制系统的缺点在于:
* 依赖于中央服务器
* 必须联网才能工作
* 分支管理不方便

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

分布式.jpg

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

- 每台电脑都是完整的版本库,所以安全
- 不用联网就能工作
- 分支管理很便捷

Git使用

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

Git安装

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

创建版本库

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

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

添加文件

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

hello wordhello 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 wordhello gitgit is a free software

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

Changes not staged for commit:  (use "git add 
..." to update what will be committed) (use "git checkout --
..." to discard changes in working directory) modified: hello.txtno 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是对这次提交做的解释。

转载地址:http://qwtsi.baihongyu.com/

你可能感兴趣的文章
早知道这些免费 API,我就可以不用到处爬数据了!
查看>>
Java各种集合类的合并(数组、List、Set、Map)
查看>>
Mysql复制表以及复制数据库
查看>>
进程管理(一)
查看>>
linux 内核—进程的地址空间(1)
查看>>
存储器管理(二)
查看>>
Android中的Binder(二)
查看>>
Framework之View的工作原理(一)
查看>>
深究Java中的RMI底层原理
查看>>
用idea创建一个maven web项目
查看>>
Kafka
查看>>
9.1 为我们的角色划分权限
查看>>
维吉尼亚之加解密及破解
查看>>
TCP/IP协议三次握手与四次握手流程解析
查看>>
PHP 扩展开发 : 编写一个hello world !
查看>>
inet_ntoa、 inet_aton、inet_addr
查看>>
用模板写单链表
查看>>
用模板写单链表
查看>>
链表各类操作详解
查看>>
C++实现 简单 单链表
查看>>