修改文件
现在我想改一下仓库里文件的内容,现提交到仓库中去
$ echo "Git is very good" >> a.txt #在文件的最后添加一行
$ 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: a.txt
no changes added to commit (use "git add" and/or "git commit -a")
(没有修改可以被提交,使用 “git add” 命令添加文件到暂存区,或是使用“git commit -a” 命令强制提交当前目录下的所有文件)
1. 查看修改内容(diff)
查看修改了哪些地方,再决定是否提交。
$ git diff #查看仓库里未暂存内容和仓库已提交内容的差异
diff --git a/a.txt b/a.txt
index 9f4d96d..938454e 100644
--- a/a.txt
+++ b/a.txt
@@ -1 +1,2 @@
Hello Git
+Git is very good
最后一行添加了“Git is very good”。
2. 修改后提交到缓冲区(add)
把 readme.txt放到暂存区里:
$ git add a.txt
无论修改文件还是新增文件,都需要执行git add通知git
我们现在看一下仓库的状态:
$ git status
On branch master
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)
modified: a.txt
3. 提交到本地仓库(commit)
$ git commit -m "Git is very good"
[master 42b4cbf] Git is very good
1 file changed, 1 insertion(+)
(一个文件被修改,一行插入,零行删除)
再看一下新的日志:
$ git log
commit 42b4cbf45bdd2568d189da95db42e8d127af8530
Author: breakerthb <breakerthb@126.com>
Date: Sat Oct 24 11:14:49 2015 +0800
Git is very good
commit 62dd2225d195630ed9b5e493333b84b40bae30c9
Author: Haibo Tang <Haibo Tang>
Date: Sat Oct 24 11:00:57 2015 +0800
Project init
“62dd2225d195630ed9b5e493333b84b40bae30c9” 这个就是我们刚才提交修改时创建的提交。
4. 小结
- 修改文件的一般流程
-
偷懒流程
$ git commit -a
这个命令可以直接提交所有修改,相当于下面三条命令的总和:
$ git add
$ git diff
$ git commit
但是,它无法把新增文件或文件夹加入进来,所以,如果你新增了文件或文件夹,那么就要老老实实的先git add .,再git commit -a
**BTW : ** Git默认的日志编辑软件为nano,如果需要换成自己习惯的编辑器如vim可以使用以下命令:
$ git config --global core.editor vim
或者修改.git/config文件,在[core]下添加editor = vim这句话。
上一篇:Git基本操作(二)
下一篇:Git基本操作(四)