版本管理

背景

在上一节中我们已经成功创建版本库并且已经添加test.txt等文件,这一节我们继续讲解如何进行版本控制.

首先我们先查看test.txt 文件有什么内容吧!

# 查看文件内容
$ cat test.txt
git test
git init
git diff
$

接下来模拟正常工作,接着输入一下内容:

# 追加新内容到 test.txt 文件
echo "understand how git control version" >> test.txt # 查看当前文件内容
$ cat test.txt
git test
git init
git diff
understand how git control version
$

紧接着运行 git status 看一下输出结果:

# 查看文件状态
$ git status
On branch master
Changes to be committed:
(use "git reset HEAD <file>..." to unstage) modified: test.txt 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: test.txt $

从上述 git status 命令输出的结果可以看出,test.txt 已经被修改但还没提交,但是具体发生了什么变化却没能告诉我们,如果能够告诉我们具体修改细节那就好了!

运行git diff命令可以实现上述需求

$ git diff
diff --git a/test.txt b/test.txt
index 729112f..989ce33 100644
--- a/test.txt
+++ b/test.txt
@@ -1,3 +1,4 @@
git test
git init
git diff
+understand how git control version
$

git diff 命令即查看差异(difference),从输出结果可以看出我们在最后一行新增了understand how git control version 文字.

通过git status 知道文件发生了改动,git diff 让我们看到了改动的细节,现在我们提交到版本库就放心多了,还记得上节课如何添加版本库的命令吗?

分两步操作: git add <file>git commit -m <remark>

第一步: git add <file>

$ git add test.txt
$

等一下,在执行 git commit 命令之前,我们再运行 git status 命令查看一下当前仓库状态:

$ git status
On branch master
Changes to be committed:
(use "git reset HEAD <file>..." to unstage) modified: test.txt $

此时 git status 命令告诉我们 test.txt 文件已被修改等待提交,好了,那么接着第二步的commit吧!

第二步: git commit -m <remark>

# 提交到版本库并添加备注
$ git commit -m "add understand how git control version"
[master 36f234a] add understand how git control version
1 file changed, 2 insertions(+)
$

提交后,我们此时再次运行git status 命令查看当前仓库状态:

$ git status
On branch master
nothing to commit, working tree clean
$

输出结果显示没有需要提价的改动,工作目录是干净的.

小结

  • 查看工作区状态 git status
  • 比较修改差异 git diff

原文请访问 https://snowdreams1006.github.io/git/usage/version-manage.html

git 入门教程之版本管理的更多相关文章

  1. git 入门教程

    git 入门教程之协同开发 前面我们已经介绍过远程仓库的相关概念,不过那时并没有深入探讨,只是讲解了如何创建远程仓库以及推送最新工作成果到远程仓库,实际上远程仓库对于团队协同开发很重要,不仅仅是团队协 ...

  2. 廖雪峰Git入门教程

    廖雪峰Git入门教程  2018-05-24 23:05:11     0     0     0 https://www.liaoxuefeng.com/wiki/00137395163059296 ...

  3. Git入门教程

    参考文献: 1. Pro Git 2. Git教程 3. Git教程 4. 图解Git

  4. git 入门教程之远程仓库

    远程仓库 如果说本地仓库已经足够个人进行版本控制了,那么远程仓库则使多人合作开发成为可能. 如果你只是打算自己使用git,你的工作内容不需要发布给其他人看,那就用不到远程仓库的概念. git 是分布式 ...

  5. git 入门教程之版本控制

    版本控制 我们知道 git 是分布式版本控制系统,所以称被控制对象是版本本身没错,但是从git 命令中发现,并没有版本这个名词,有的只是commit,所以前几节我一直称其为提交. 为了避免后续教程引发 ...

  6. git 入门教程之实战 git

    实战 git git 是一款分布式版本控制系统,可以简单概括: 不要把鸡蛋放在一个篮子里,你的一举一动都在监视中. 实战场景 你作为某项目的其中一员或者负责人,和小伙伴们一起开发,大家既有着各自分工互 ...

  7. Git入门教程,详解Git文件的四大状态

    大家好,欢迎来到周一git专题. git clone 在上一篇文章当中我们聊了怎么在github当中创建一个属于自己的项目(repository),简称repo.除了建立自己的repo之外,我们更多的 ...

  8. 解决冲突-git入门教程

    人生不如意之事十之八九,合并分支往往也不是一帆风顺的. 准备新的feature1分支,继续我们的新分支开发: $ git checkout -b feature1 Switched to a new ...

  9. 创建与合并分支-git入门教程

    在版本回退里,你已经知道,每次提交,Git都把它们串成一条时间线,这条时间线就是一个分支.截止到目前,只有一条时间线,在Git里,这个分支叫主分支,即master分支.HEAD严格来说不是指向提交,而 ...

随机推荐

  1. IntelliJ IDEA中用Git插件操作

  2. jsp fmt页面显示value does not support runtime expressions

    最近使用Struts2+Spring3+Mybatis3做一个项目,在用户修改页面显示生日, <fmt:formatDate value="${user.birthday}" ...

  3. 动车上的书摘-java网络 连接服务器

    摘要: 摘要: 原创出处: http://www.cnblogs.com/Alandre/ 泥沙砖瓦浆木匠 希望转载,保留摘要,谢谢! 应该有些延迟,你会看到黑幕中弹出 来自USA的X原子的计量时间: ...

  4. 浅入浅出Typescript Decorators

    临时起的兴趣,想写一篇关于ts decorator的文章,就花小半天整理了一下...  这东西,在ES2017里好像也有... 文档的话看这里. 因为临时,就没想写太多文字介绍,带少许文字说明直接开撸 ...

  5. Git 撤销所有未提交(Commit)的内容

    撸了好多代码,但是突然设计改了(~~o(>_<)o ~~):或者引入个第三方库,后来又发现用不着,想删掉,但文件太多了(比如几百个):那,怎么办呢,都不想了...Git 比人聪明,所以能很 ...

  6. Nacos系列:Nacos的三种部署模式

    三种部署模式 Nacos支持三种部署模式 1.单机模式:可用于测试和单机使用,生产环境切忌使用单机模式(满足不了高可用) 2.集群模式:可用于生产环境,确保高可用 3.多集群模式:可用于多数据中心场景 ...

  7. rsync+inotify实现全网自动化数据备份-技术流ken

    rsync简介 “rsync是linux系统下的数据镜像备份工具.使用快速增量备份工具Remote Sync可以远程同步,支持本地复制,或者与其他SSH.rsync主机同步” rsync的功能和特点 ...

  8. .net里的ref、out、params参数。

    1.ref參數 class Program    {        static void Main(string[] args)        {            int a = 10;    ...

  9. “笨方法”学习Python笔记(1)-Windows下的准备

    Python入门书籍 来自于开源中国微信公众号推荐的一篇文章 全民Python时代,豆瓣高级工程师告诉你 Python 怎么学 问:请问你目前最好的入门书是那本?有没有和PHP或者其他语言对比讲Pyt ...

  10. iframe关闭操作

    关闭自定义 Div+Iframe弹窗 :window.parent.$("div的id/class/name").remove();//移除div 关闭Iframe弹窗:windo ...