Git-文件状态
在第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 ..."可以添加要提交文件。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~。这类文件也会被列在未跟踪的列表中。
共有 0 条评论