git 入门教程之版本管理
版本管理
背景
在上一节中我们已经成功创建版本库并且已经添加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 入门教程之版本管理的更多相关文章
- git 入门教程
git 入门教程之协同开发 前面我们已经介绍过远程仓库的相关概念,不过那时并没有深入探讨,只是讲解了如何创建远程仓库以及推送最新工作成果到远程仓库,实际上远程仓库对于团队协同开发很重要,不仅仅是团队协 ...
- 廖雪峰Git入门教程
廖雪峰Git入门教程 2018-05-24 23:05:11 0 0 0 https://www.liaoxuefeng.com/wiki/00137395163059296 ...
- Git入门教程
参考文献: 1. Pro Git 2. Git教程 3. Git教程 4. 图解Git
- git 入门教程之远程仓库
远程仓库 如果说本地仓库已经足够个人进行版本控制了,那么远程仓库则使多人合作开发成为可能. 如果你只是打算自己使用git,你的工作内容不需要发布给其他人看,那就用不到远程仓库的概念. git 是分布式 ...
- git 入门教程之版本控制
版本控制 我们知道 git 是分布式版本控制系统,所以称被控制对象是版本本身没错,但是从git 命令中发现,并没有版本这个名词,有的只是commit,所以前几节我一直称其为提交. 为了避免后续教程引发 ...
- git 入门教程之实战 git
实战 git git 是一款分布式版本控制系统,可以简单概括: 不要把鸡蛋放在一个篮子里,你的一举一动都在监视中. 实战场景 你作为某项目的其中一员或者负责人,和小伙伴们一起开发,大家既有着各自分工互 ...
- Git入门教程,详解Git文件的四大状态
大家好,欢迎来到周一git专题. git clone 在上一篇文章当中我们聊了怎么在github当中创建一个属于自己的项目(repository),简称repo.除了建立自己的repo之外,我们更多的 ...
- 解决冲突-git入门教程
人生不如意之事十之八九,合并分支往往也不是一帆风顺的. 准备新的feature1分支,继续我们的新分支开发: $ git checkout -b feature1 Switched to a new ...
- 创建与合并分支-git入门教程
在版本回退里,你已经知道,每次提交,Git都把它们串成一条时间线,这条时间线就是一个分支.截止到目前,只有一条时间线,在Git里,这个分支叫主分支,即master分支.HEAD严格来说不是指向提交,而 ...
随机推荐
- Effective Java 第三版——60. 需要精确的结果时避免使用float和double类型
Tips 书中的源代码地址:https://github.com/jbloch/effective-java-3e-source-code 注意,书中的有些代码里方法是基于Java 9 API中的,所 ...
- react-create-app 构建react项目的流程以及需要注意的地方
Hello 小伙伴们,如果觉得本文还不错,记得给个 star , 小伙伴们的 star 是我持续更新的动力!GitHub 地址 React 系列文章代码地址 一 目录 不折腾的前端,和咸鱼有什么区别 ...
- mongo 字段重命名
执行语句 db.getCollection("A表").updateMany( {}, { $rename: { "A": "A1"} } ...
- git push 时发生 error: failed to push some refs to 错误 (解决办法)
出现问题的原因:在github上更新了README.md,没有更新到本地仓库.而在本地git仓库又修改了文件,这时使用 git push origin master 推送到远程仓库后就出现了下面的问题 ...
- 异步请求中jetty处理ServletRequestListener的坑
标题起得比较诡异,其实并不是坑,而是jetty似乎压根就没做对异步request的ServletRequestListener的特殊处理,如果文中有错误欢迎提出,可能自己有所疏漏了. 之前遇到了一个b ...
- ⑤早起的鸟儿有虫吃-JSTL核心标签库[收藏]
介绍 JSTL 全名为Java Server Pages Standard Tag Library(JSP Standard Tag Library),它的中文名称为JSP 标准标签函数库. Web ...
- Go内建函数copy
Go内建函数copy: func copy(dst, src []Type) int 用于将源slice的数据(第二个参数),复制到目标slice(第一个参数). 返回值为拷贝了的数据个数,是len( ...
- Go pprof性能监控
Go net/http/pprof包提供了一个在WEB项目中使用的性能监控的工具, 使用时只需要引用包: _"net/http/pprof" 然后就可以在浏览器中访问地址: htt ...
- 用主题模型可视化分析911新闻(Python版)
本文由 伯乐在线 - 东狗 翻译,toolate 校稿.未经许可,禁止转载!英文出处:blog.dominodatalab.com.欢迎加入翻译小组. 本文介绍一个将911袭击及后续影响相关新闻文章的 ...
- 伪指令 ENTRY 与 END
ENTRY ENTRY 是程序入口伪指令.在一个完整的汇编程序中至少有一个 ENTRY,编译程序在编译连接时依据程序入口进行连接.在只有一个入口时,编译程序会把这个入口的地址定义为系统复位后的程序起始 ...