【Git 第6课】 文件状态

在第4课的最后,我们用以下两条命令:

git add readme.txt

git commit -m 'my first commit'

向我们新建的git仓库中添加了对readme.txt文件的版本控制。现在,我们要试图对仓库中的文件进行一些改动,同时观察它们的状态变化,以此实践上节课中说的git工作流。

首先,在命令行的本地仓库工作目录下执行命令:

git status

你会看到:

# On branch master

nothing to commit (working directory clean)

很好,你的目录是干净的,没什么可提交的。说明所有的文件都是未修改的状态,没有未跟踪的文件,也没有修改过未提交的文件。输出的提示还告诉你,目前在branch master上。关于branch的概念我们将在后面的课程中介绍。

接下来,随便用一个文本编辑器去修改一下readme.txt里的文字。另外,再向目录中新建一个test.py文件(也可以从别处copy一个过来)。

再次执行:

git status

得到输出:

# On branch master

# 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: readme.txt

#

# Untracked files:

# (use "git add <file>..." to include in what will be committed)

#

# test.py

no changes added to commit (use "git add" and/or "git commit -a")

提示是比较清楚的:readme.txt被修改过了,还有untracked的test.py。提示里也说了,用"git add <file>..."可以添加要提交文件。git add的意思就是,把文件添加到暂存区,也就是我们说的暂存。

那么我们就来用这条命令:

git add readme.txt

git add test.py

然后继续:

git status

再来看结果:

# On branch master

# Changes to be committed:

# (use "git reset HEAD <file>..." to unstage)

#

# modified: readme.txt

# new file: test.py

#

"Changes to be committed"里列出的就是已暂存的文件,它们将在commit时被提交。

执行:

git commit -m 'test file status'

将修改和增加的文件提交。-m后面的参数是提交时的注释。输出提示会告诉你这次提交做了哪些改动。

最后再来执行一遍:

git status

可以看到又回到了最初未修改的状态。刚刚做的所有改动都已经被git所记录。

通过命令:

git log

可以查看到之前提交的历史记录。

在前面的过程中,可能会因为你所用编辑器的备份机制,在目录中产生一些奇怪的文件,比如readme.txt~。这类文件也会被列在未跟踪的列表中。下节课我们来说下如何避免这些我们不想关注的文件,以及其他一些在提交过程中的常用到的命令。

#==== Crossin的编程教室 ====#

每天5分钟,轻松学编程

回复 p 查看Python课程

回复 g 查看Pygame课程

回复 i 查看Git课程

回复 t 查看习题

回复 w 查看其他文章

原文发布于微信公众号 - Crossin的编程教室(crossincode)

原文发表时间:2013-11-26

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏java思维导图

Git常用命令速查表(收藏大全)

Git的设置文件为.gitconfig,它可以在用户主目录下(全局配置),也可以在项目目录下(项目配置)。

13830
来自专栏人人都是极客

Git与Repo快速入门

版本控制 版本控制是什么已不用在说了,就是记录我们对文件、目录或工程等的修改历史,方便查看更改历史,备份以便恢复以前的版本,多人协作。 一、原始版本控制 最原始...

348100
来自专栏Petrichor的专栏

git: git操作遇到的坑 & 解决方法

17320
来自专栏影子

关于Springmvc中include与Sitemesh装饰器的基本使用

13120
来自专栏Java成神之路

Git_学习_01_ 常用 Git 命令清单

一般来说,日常使用只要记住下图6个命令,就可以了。但是熟练使用,恐怕要记住60~100个命令。

14020
来自专栏腾讯DevOps

Git-基本命令大全

Workspace:工作区 Index / Stage:暂存区 Repository:仓库区(或本地仓库) Remote:远程仓库

33160
来自专栏Android开发实战

Git常用命令总结

平常我们开发就是拷贝远程仓库中的一个分支,基于该分支进行开发。在开发过程中就是对工作区的操作。

3.8K70
来自专栏Crossin的编程教室

【Git 第8课】 移除文件

有进就有出,有借就得有还。有添加文件,自然也必须得有移除文件。当不想继续对某个文件进行版本控制的时候,就需要把它从 Git 中移除。 从 Git 中移除一个文...

35170
来自专栏HTML5学堂

Git版本回退、跳转与数据恢复

HTML5学堂-利利:上周,为大家介绍一款“分布式版本控制系统”——Git。除了介绍“分布式”的概念、对比SVN与Git之外,我们讲解了基本的Git初始化与提交...

50670
来自专栏TechBox

cocoapods从安装到使用什么是cocoapodscocoapods安装cocoapods使用CocoaPods常见问题参考文章

19620

扫码关注云+社区

领取腾讯云代金券