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. 阅读lodash源码之旅数组方法篇-compact和concat

    鲁迅说过:只有阅读过优秀库源码的人,才能配的上是真正的勇士. compact 创建一个新数组,包含原数组中所有的非假值元素.例如false, null,0, "", undefin ...

  2. hadoop及NameNode和SecondaryNameNode工作机制

    hadoop及NameNode和SecondaryNameNode工作机制 1.hadoop组成 Common MapReduce Yarn HDFS (1)HDFS namenode:存放目录,最重 ...

  3. kettle 连接oracle12c问题解决办法:

    在oracle的安装文件目录......\NETWORK\ADMIN\sqlnet.ora 文件中添加该语句:SQLNET.ALLOWED_LOGON_VERSION_SERVER = 8window ...

  4. P6584 重拳出击

    写在前面 来给 zrm 大佬的题写一篇题解. 这题代码实现难度不高,但是比较锻炼思维,而且应该有不少种解法.着实是一道质量很高的题目. 算法思路 首先呢,显然当小 Z 向当前节点的一棵子树走去时,这棵 ...

  5. 分布式缓存 — Docker

    Docker 是一个开源项目,它基于 Google 公司推出的 Go 语言实现. 项目后来加入了 Linux 基金会,遵从了 Apache 2.0 协议,项目代码在 GitHub 上进行维护. Doc ...

  6. Linux环境ZooKeeper安装配置及使用

    Linux环境ZooKeeper安装配置及使用 一.ZooKeeper 1.1 zookeeper作用 1.2 zookeeper角色 1.3 zookeeper功能 二.集群规划 三.安装流程 (1 ...

  7. 日志框架(Log4J、SLF4J、Logback)--日志规范与实践

    文章目录 一.Log4j 1.1新建一个Java工程,导入Log4j包,pom文件中对应的配置代码如下: 1.2resources目录下创建log4j.properties文件. 1.3输出日志 1. ...

  8. 织梦dedecms用户注册时笔名去掉的方法

    修改目的:用户注册时不用输入笔名,实现系统自动同步用户名和用户笔名. 负责织梦dedecms用户注册的php文件是member/reg_new.php ,不难发现,用户注册时的用户名$userid,和 ...

  9. UI的管理

    游戏的UI系统往往会比较复杂,工作量比较庞大,需要多人协作完成,为了开发和维护方便,有必要对UI系统进行管理. 一.制作预制件 将UI的各个不同的功能面板制作为预制件,放入Resources目录下,方 ...

  10. SDNUOJ1016矩形合并

    传送门 题意: 给出n个矩形,把重合的矩形归成一个图形,问合并以后剩下几个图形 思路: 我开始想用dfs,但是发现不太行. 后来知道才是并查集 Orz 用一个结构体数组存矩形的左下角和右上角的坐标,再 ...