初探Git(一)

作者: 未远可追 | 来源:发表于2018-07-05 00:10 被阅读35次

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 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是对这次提交做的解释。

相关文章

  • Git学习记录:Notes for Codecademy

    Codecademy学习记录 Basic Git Workflow(Git工作流初探) git三大部分 编辑一份文...

  • 初探Git(一)

    Git简介 什么是Git? Git是世界上最先进的分布式版本控制系统(大家都这么说,我也只能装作自己觉得他很牛逼了...

  • Git 初探

    首要配置 使用 Git 之前,需要先配置 user 信息,一个是用户名,一个是邮件地址。 那为什么要做这些配置呢?...

  • .git初探

    一、初识 .git cd .git cd objects cd fb fb和00b237e2d3c368fd26f...

  • git 初探

    本文要点:1. 版本管理的好处2. Git 的优点3. 配置 Git3.1. 配置开发者的信息3.2. 配置级别 ...

  • git系列教程(6)-常用命令

    这里有一份git常用命令,请收下 git初探 git clone 这是一种较为简单的初始化方式,当你已经有一个远程...

  • Git用法初探

    前提 之前一直在用svn和cvs,感觉跟不上时代的潮流了,加上git优点多多,所以就抽出时间进行了git基本的学习...

  • git的初探

    首先你要要确保你已经有了github账号、以及电脑上已经安装了cocoapods. 本文就是回顾之前练习git的步...

  • git用法初探

    github help 下载并安装最新版的Git download 打开终端 输入命令,设置git账户git co...

  • git 原理初探

    前言 最近一直在研究 git 命令的操作效果,但总是感觉一知半解。自从看了知某平台文章这才是真正的Git——Git...

网友评论

  • 吴七禁:每次看到有人写git文章我都会推荐给他pro git这本书,官方教程,从原理到实用,很nice的!
    未远可追:@吴七禁 好 :stuck_out_tongue_winking_eye:

本文标题:初探Git(一)

本文链接:https://www.haomeiwen.com/subject/lajyuftx.html