热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

git版本管理工具使用指南(一)

最近下班回家会学习伯克利的CS61b课程,其中就有用到git版本管理工具。本篇文章是在https:sp18.datastructur.esmaterialsguidesusing-git

最近下班回家会学习伯克利的CS61b课程,其中就有用到git版本管理工具。

本篇文章是在https://sp18.datastructur.es/materials/guides/using-git.html这篇英文指南基础上增加自己的理解写成的,可以理解为翻译加上自己的学习感想。

1.git版本控制基本操作

//创建好需要的文件 这里我们在建立了一个新文件夹菜单,其中包括两类菜:豆腐和肉
$ mkdir tofu
$ mkdir meat
$ cd meat
$ cd ~/desktop/learning/cs61b
$ mkdir recipe
$ mv meat recipe
$ mv tofu recipe
$ cd recipe
$ ls
meat/  tofu/

// 初始化git
62674@zhaodr-workonly MINGW64 ~/desktop/learning/cs61b/recipe
$ git init
Initialized empty Git repository in C:/Users/62674/Desktop/learning/cs61b/recipe/.git/

//将tofu.TXT加入仓库
$ git add ./tofu/tofu.txt

62674@zhaodr-workonly MINGW64 ~/desktop/learning/cs61b/recipe (master)
$ git status
On branch master

No commits yet

Changes to be committed:
  (use "git rm --cached ..." to unstage)

        new file:   tofu/tofu.txt

Untracked files:
  (use "git add ..." to include in what will be committed)

        meat/

在add 后面可以使用status命令查看,发现toufu.txt并没有被commit

//承认添加并给这次操作附加一个message“add tofu recipe”
$ git commit -m "add tofu recipe"
//查看status发现changes to be commited没有了
$ git status
On branch master
Untracked files:
  (use "git add ..." to include in what will be committed)

        meat/
//log打印日志,可以找打commit的代码
$ git log
commit a33651a8d81c92396c662556a39fc512ec66783b (HEAD -> master)
Author: zhao 
Date:   Sun Apr 8 23:50:15 2018 +0800

    add tofu recipe
//show显示详细内容
$ git show a33651a8d81c92396c662556a39fc512ec66783b
commit a33651a8d81c92396c662556a39fc512ec66783b (HEAD -> master)
Author: zhao <626742018@qq.com>
Date:   Sun Apr 8 23:50:15 2018 +0800

    add tofu recipe


diff --git a/tofu/tofu.txt b/tofu/tofu.txt
new file mode 100644
index 0000000..a5bda1a
--- /dev/null
+++ b/tofu/tofu.txt
@@ -0,0 +1,3 @@
+tofu
+rice
+pepper

当我们修改了tofu文件以后 查看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: tofu/tofu.txt

之后我们继续重复上述的add commit 操作即可让仓库将这一修改添加并保存了


最后 需要了解如何恢复之前的版本:

//返回上个版本
$ git checkout a33651a8d81c92396c662556a39fc512ec66783b ./tofu
//打开tofu.txt发现文件已经变化
//同样,这个变化也需要commit
$ git commit -m "take out bean"
//打印log发现checkout并没有改变之前的版本信息,只是将重建了一个和之前一样的文本
$ git log
commit 148e66a7ecdea10356cd98456ac9b6d9c091e64e (HEAD -> master)
Author: zhao 
Date:   Mon Apr 9 00:07:20 2018 +0800

    take out bean

commit 64e56f5aed7cdcaba467aa275a933ef0bdc84f1b
Author: zhao 
Date:   Mon Apr 9 00:00:32 2018 +0800

    add bean

commit a33651a8d81c92396c662556a39fc512ec66783b
Author: zhao 
Date:   Sun Apr 8 23:50:15 2018 +0800

 


推荐阅读
  • 李逍遥寻找仙药的迷阵之旅
    本文讲述了少年李逍遥为了救治婶婶的病情,前往仙灵岛寻找仙药的故事。他需要穿越一个由M×N个方格组成的迷阵,有些方格内有怪物,有些方格是安全的。李逍遥需要避开有怪物的方格,并经过最少的方格,找到仙药。在寻找的过程中,他还会遇到神秘人物。本文提供了一个迷阵样例及李逍遥找到仙药的路线。 ... [详细]
  • 本文介绍了九度OnlineJudge中的1002题目“Grading”的解决方法。该题目要求设计一个公平的评分过程,将每个考题分配给3个独立的专家,如果他们的评分不一致,则需要请一位裁判做出最终决定。文章详细描述了评分规则,并给出了解决该问题的程序。 ... [详细]
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • 阿里Treebased Deep Match(TDM) 学习笔记及技术发展回顾
    本文介绍了阿里Treebased Deep Match(TDM)的学习笔记,同时回顾了工业界技术发展的几代演进。从基于统计的启发式规则方法到基于内积模型的向量检索方法,再到引入复杂深度学习模型的下一代匹配技术。文章详细解释了基于统计的启发式规则方法和基于内积模型的向量检索方法的原理和应用,并介绍了TDM的背景和优势。最后,文章提到了向量距离和基于向量聚类的索引结构对于加速匹配效率的作用。本文对于理解TDM的学习过程和了解匹配技术的发展具有重要意义。 ... [详细]
  • VScode格式化文档换行或不换行的设置方法
    本文介绍了在VScode中设置格式化文档换行或不换行的方法,包括使用插件和修改settings.json文件的内容。详细步骤为:找到settings.json文件,将其中的代码替换为指定的代码。 ... [详细]
  • 向QTextEdit拖放文件的方法及实现步骤
    本文介绍了在使用QTextEdit时如何实现拖放文件的功能,包括相关的方法和实现步骤。通过重写dragEnterEvent和dropEvent函数,并结合QMimeData和QUrl等类,可以轻松实现向QTextEdit拖放文件的功能。详细的代码实现和说明可以参考本文提供的示例代码。 ... [详细]
  • IhaveconfiguredanactionforaremotenotificationwhenitarrivestomyiOsapp.Iwanttwodiff ... [详细]
  • Linux重启网络命令实例及关机和重启示例教程
    本文介绍了Linux系统中重启网络命令的实例,以及使用不同方式关机和重启系统的示例教程。包括使用图形界面和控制台访问系统的方法,以及使用shutdown命令进行系统关机和重启的句法和用法。 ... [详细]
  • 本文主要解析了Open judge C16H问题中涉及到的Magical Balls的快速幂和逆元算法,并给出了问题的解析和解决方法。详细介绍了问题的背景和规则,并给出了相应的算法解析和实现步骤。通过本文的解析,读者可以更好地理解和解决Open judge C16H问题中的Magical Balls部分。 ... [详细]
  • 本文讨论了使用差分约束系统求解House Man跳跃问题的思路与方法。给定一组不同高度,要求从最低点跳跃到最高点,每次跳跃的距离不超过D,并且不能改变给定的顺序。通过建立差分约束系统,将问题转化为图的建立和查询距离的问题。文章详细介绍了建立约束条件的方法,并使用SPFA算法判环并输出结果。同时还讨论了建边方向和跳跃顺序的关系。 ... [详细]
  • 本文介绍了P1651题目的描述和要求,以及计算能搭建的塔的最大高度的方法。通过动态规划和状压技术,将问题转化为求解差值的问题,并定义了相应的状态。最终得出了计算最大高度的解法。 ... [详细]
  • 推荐系统遇上深度学习(十七)详解推荐系统中的常用评测指标
    原创:石晓文小小挖掘机2018-06-18笔者是一个痴迷于挖掘数据中的价值的学习人,希望在平日的工作学习中,挖掘数据的价值, ... [详细]
  • CF:3D City Model(小思维)问题解析和代码实现
    本文通过解析CF:3D City Model问题,介绍了问题的背景和要求,并给出了相应的代码实现。该问题涉及到在一个矩形的网格上建造城市的情景,每个网格单元可以作为建筑的基础,建筑由多个立方体叠加而成。文章详细讲解了问题的解决思路,并给出了相应的代码实现供读者参考。 ... [详细]
  • 成功安装Sabayon Linux在thinkpad X60上的经验分享
    本文分享了作者在国庆期间在thinkpad X60上成功安装Sabayon Linux的经验。通过修改CHOST和执行emerge命令,作者顺利完成了安装过程。Sabayon Linux是一个基于Gentoo Linux的发行版,可以将电脑快速转变为一个功能强大的系统。除了作为一个live DVD使用外,Sabayon Linux还可以被安装在硬盘上,方便用户使用。 ... [详细]
  • C++字符字符串处理及字符集编码方案
    本文介绍了C++中字符字符串处理的问题,并详细解释了字符集编码方案,包括UNICODE、Windows apps采用的UTF-16编码、ASCII、SBCS和DBCS编码方案。同时说明了ANSI C标准和Windows中的字符/字符串数据类型实现。文章还提到了在编译时需要定义UNICODE宏以支持unicode编码,否则将使用windows code page编译。最后,给出了相关的头文件和数据类型定义。 ... [详细]
author-avatar
蕊蕊宝宝妈妈_534
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有