1 Git简介

学习一门技术老师更加倾向于看官网的。

度娘看完了,官网看完了,大家还是很懵逼

学生成绩管理系统

登录模块   3.2

登录模块进一步完善    缺一个验证码的功能    3.3

登录模块还有一些小bug需要处理     3.4

学生的添加模块    3.5

这绝对不是一个优秀的程序员该干出来的事情!

多人开发的时候(甲乙丙)

合作去开发一个购物网站

甲:订单处理模块

乙:商品管理模块

丙:其他模块

每个人单独在自己的系统中进行开发,这时候最终需要把单个分散的系统整合成一个完成的,怎么办?

Copy到一个人的机器上,大家眼睛都盯着这个电脑,然后啪啦啪啦copy。如果说在整合的时候,你发现哪个哥们他写的模块有问题。数据库的整合,订单模块里面的内容需要调用到商品模块的内容。

当你中招了之后,这是好事,犯了错,才能解决嘛

纵观整个软件开发历史,也有几十年的历史了吧,当你现在的遇到的一些问题,我们前辈们肯定遇到的。

既然前辈们遇到了,他们肯定有义务(想要)去解决。

大纲并没有去罗列出来

之前老师的Maven视频有18小节

两者切换起来大家看的时候比较不专注

2 Git官网

对于官网(尤其是这种英文官网,比较害怕),看了比较痛苦,主要是看不懂

心里也知道看官网是最权威的,任何的其他途径的中文文档都是翻译过来,翻译就有一个麻烦的地方,有时候不准确,译者他翻译的结果达不到你自己内容的一个期望。

还是要尝试去看官网。

可以先有一个整体的认识,采用总-分-总的原则

开源-开放源代码     所有人都可以参与其中的开发,更加有利于一款软件或者技术的发展。

官网最权威的一个文档提供给大家学习

其实对于英文文档也不是那么难看懂嘛,实在遇不到不会的单词你查。

3 下载与安装

先从Windows入手,考虑到大家手上有的操作系统。

选择自己对应的操作系统,然后进行傻瓜式安装即可。

Windows

Linux中的安装

yum  install  git   啪啦啪啦进行安装嘛

接下来的课程中我们会进行windows和linux中的命令使用。

4 Git初体验

通过前面三个小节的学习,我们已经基本上知道了git是干什么的,以及git的下载和安装等。

我们还想知道,git到底怎么去进行版本控制。

需求是:比如有一份文本文件,想要操作这个文本文件。我去不断的修改这个文件的内容,每次修改之后,我需要记录修改的历史记录。

也就是说,在使用git进行版本管理之前,需要进行一个配置,这个配置是告诉git你的用户名以及你的邮件账号

小技巧:忘记命令的具体写法时,可以进行Tab键进行提示。

git add    git commit   就可以对当前的一个版本进行控制

两天进行了修改,并且把每一次修改提价到了版本库,然后我的需求是,想要回退到3.6写的内容

我利用这种思想,可以一个文件走天的。

时光穿梭,回退以前可以

那假如我想到“当下”,这时候怎么办呢?

5 Git学前知识

不妨先来画图,画图是老师的一个绝招,老师要用绝招给大家展示一些东西。

工作区就是你当前使用的一个目录,比如“gupaogit”文件夹

版本库就是add以及commit之后的乱七八糟的东西

使用git,步骤:

  1. 下载与安装
  2. git config --global user.email/name
  3. git init   对一个文件夹目录进行git初始化操作,这个初始化就是为了让git对这个文件夹中的文件进行版本管理。

    初始化完成之后,在当前目录下会有一个.git文件夹,这个文件夹就是我们所说的版本库。

    现在就可以用git对其下的文件进行一个版本的控制,就是可以对它进行一个版本的回退,回到当前等等。

  4. 接下来你的操作就是

    无非在这个工作区或者仓库中创建文件,然后对文件进行一系列修改操作之类的。

  Git的要求是,你要让git帮你进行的版本的管理,必须先有一个文件夹,这个文件夹要被git进行初始化操作,这样才能进行一个git的版本管理。

6 Git基础操作

git status   git add    git commit

需求:在git工作区中新建一个文件,名称为“gupao.txt”。

git status:表示查看git工作区(仓库)中的一个状态

(1)nothing to commit

(2)当你新建了一个文件之后

Untracked files:   未被追踪的文件

(3)当我们进行git add gupao.txt之后

(4)当我们进行git commit -m “gupao first”

只有进入到提交区之后,我们的文件才能被git真正意义上管理起来

(5) 对应我们创建一个新文件的时候的状态

git add:就是将工作区中的内容add到暂存区

git commit:将暂存区的内容commit到提交区

要想让git对你的文件内容进行版本管理,必须经过两个步骤,第一个是git add,第二个是git commit。

可以随时随地使用git status进行工作区中状态的查看。

7 Git log和版本切换

大家都知道git可以进行版本控制与管理。

如果你想要进行版本的切换的话,你需要知道的就是这个commitid,也就是说你要知道每一次提交的信息才可以。

就要去查看这个每次的commitid是什么

Git log   日志,也就是说查看git的日志信息

Commit

Author :作者    就是你当初配置   git global --- user.name

Date:提交的日期

根据每次的commitid进行一个版本的切换。

git reset --hard commitid(这个id可以根据git log查看日志信息去找到)

我觉得这样打印出日志信息太多了,能不能简化一下呢?

git log --pretty=oneline

补充的知识点:

我觉得我就是想要回退到上一个版本,今天修改了一些东西

直接回退到上一个版本   git reset --hard HEAD^   回退到上一个版本

Git reset --hard HEAD^^   回退到上上个版本

麻烦是,回退到之前的版本之后,最新的commitid没了,如果你的之前的操作窗口有,你复制过来进行

重点是要找到最新的一个版本的commitid即可。   git reflog

如果进行版本回退之后,发现commitid最新的没了,你可以使用git reflog进行所有的commitid的查询。

8 工作区暂存区和提交区

在工作区进行了修改,然后git status会有一个提示,告诉你下一步需要干嘛

正常的思维,你会进行git add

后悔当前的操作,git checkout -- gupao.txt   会撤销工作区中的一个修改,也就是说你不需要进行git add操作了。

对于已经在暂存区的内容,使用git checkout -- gupao.txt  不可行了

git reset HEAD gupao.txt       回到提交区中的最新版本

接下来需要做的就是再次使用git checkout -- gupao.txt,将修改拉回到工作区,把工作区的修改内容清空

Git使用指南(上)的更多相关文章

  1. 【转】git - 简明指南

    git - 简明指南 助你入门 git 的简明指南,木有高深内容 ;) 作者:罗杰·杜德勒 感谢:@tfnico, @fhd 和 Namics其他语言 english, deutsch, españo ...

  2. 发布系统Git使用指南 - the Git Way to Use Git

    发布系统Git使用指南 --the Git Way to Use Git 背景 ​ 有文章曾归纳,Git是一套内容寻址文件系统,意思是,Git的核心是存储键值对^[1]^.显然,这样的形式不利于普通人 ...

  3. 如何加入别人的Git项目——Git Fork指南

    如何加入别人的Git项目--Git Fork指南 首先,在网页打开别人Git上的项目,点击右上角的.下图因为Fork过了,所以灰了. 随即弹出如下窗口,当然选择确定. 于是,我们在在自己的项目列表可以 ...

  4. git——简易指南

    Git对于我来说,只知道是一个版本控制器,类似于乌龟的svn.其中也仅仅会几个常的命令,比如说“更新git pull”.“提交git push”等等,因为记得当初使用的时候,师傅告诉我,对于你不懂这个 ...

  5. GIT在Linux上的安装和使用简介

    GIT最初是由Linus Benedict Torvalds为了更有效地管理Linux内核开发而创立的分布式版本控制软件,与常用的版本控制工具如CVS.Subversion不同,它不必服务器端软件支持 ...

  6. Git工作流指南:集中式工作流

    转载:http://blog.jobbole.com/76847/ 本文由 伯乐在线 - 李鼎 翻译.未经许可,禁止转载!英文出处:atlassian.欢迎加入翻译组. 转到分布式版本控制系统看起来像 ...

  7. git - 简易指南

    http://www.bootcss.com/p/git-guide/ git - 简易指南

  8. 使用Git将本地代码上传到GitHub

    #1注册GitHub账号 *1)到https://github.com/注册GitHub账号 #2在GitHub上建立GitHub仓库 *1)登录后点击右下方的"new repository ...

  9. 本地代码git到github上

    本地代码git到github上 对于个程序员来说,不写自己的博客,没有自己的作品集没有Github就不算好的程序员!咳咳~ 开个玩笑.对于我个人来说,要做个程序员,就要有自己的作品集和技术博客(我说是 ...

随机推荐

  1. gRPC-go源码(1):连接管理

    1 写在前面 在这个系列的文章中,我们将会从源码的层面学习和理解gRPC. 整个系列的文章的计划大概是这样的:我们会先从客户端开始,沿着调用路径逐步分析到服务端,以模块为粒度进行学习,考虑这个模块是为 ...

  2. Linux中让终端输入变为非阻塞的三种方法

    介绍 在linux下每打开一个终端,系统自动的就打开了三个文件,它们的文件描述符分别为0,1,2,功能分别是"标准输入"."标准输出"和"标准错误输出 ...

  3. Connection Manager简称connman

    ConnMan    Connection Manager简称connman,connman是使用d-bus做为进程间通信机制来管理Linux网络链接的一种软件.在connman的d-bus接口中,有 ...

  4. LOJ10098

    USACO 2006 Jan. Gold 为了从F个草场中的一个走到另一个,贝茜和她的同伴们不得不路过一些她们讨厌的可怕的树.奶牛们已经厌倦了被迫走某一条路,所以她们想建一些新路,使每一对草场之间都会 ...

  5. java架构《并发线程中级篇》

    java多线程的三大设计模式 本章主要记录java常见的三大设计模式,Future.Master-Worker和生产者-消费者模式. 一.Future模式 使用场景:数据可以不及时返回,到下一次实际要 ...

  6. Spring Cloud与Docker——微服务架构概述

    Spring Cloud与Docker--微服务架构概述 单体应用架构概述 微服务概述 微服务的特性 微服务架构的优点 微服务面临的挑战 微服务的设计原则 单体应用架构概述 传统的服务发布都是采用单体 ...

  7. /etc/fstab和/etc/mtab的区别

    etc/fstab文件的作用         记录了计算机上硬盘分区的相关信息,启动 Linux 的时候,检查分区的 fsck 命令,和挂载分区的 mount 命令,都需要 fstab 中的信息,来正 ...

  8. CentOS 安装TFTP

    1.当然是使用yum安装最直接,一共会安装3个东东tftp.i386tftp-server.i386xinetd.i386[root@localhost CentOS]# yum -y install ...

  9. Neo4j 导入 Nebula Graph 的实践总结

    摘要: 主要介绍如何通过官方 ETL 工具 Exchange 将业务线上数据从 Neo4j 直接导入到 Nebula Graph 以及在导入过程中遇到的问题和优化方法. 本文首发于 Nebula 论坛 ...

  10. Python 字符串指定位置替换字符

    指定位置替换字符 def replace_char(old_string, char, index): ''' 字符串按索引位置替换字符 ''' old_string = str(old_string ...