深入Git开发(Git更改操作之执行更改、查看更改和提交更改)

上一章Git教程请查看:Git生命周期和Git远程仓库操作
本节Git教程我们讨论Git更改操作,包括执行更改、查看更改以及提交更改。
1、Git执行更改userB克隆了仓库,并决定实施基本的字符串操作,这里他创建了string.c文件,添加内容后string.c将如下所示-

#include < stdio.h>int my_strlen(char *s) { char *p = s; while (*p) ++p; return (p - s); }int main(void) { int i; char *s[] = {"Git", "Github"}; for (i = 0; i < 2; ++i)printf("字符串长度 %s = %d\n", s[i], my_strlen(s[i])); return 0; }

他编译并测试了自己的代码而一切正常,现在他可以安全地将这些更改添加到仓库中。
使用git添加操作将文件添加到暂存区域。
$ git status -s ?? string ?? string.c$ git add string.c

Git在文件名之前显示一个问号,显然这些文件不是Git的一部分,因此Git不知道如何处理这些文件,这就是为什么Git在文件名之前显示一个问号。
UserB已将文件添加到存储区,git status命令将显示存储区中存在的文件。
要提交更改,可以使用了git commit命令,后跟–m选项,如果我们省略–m选项 Git将打开一个文本编辑器,我们可以在其中编写多行提交消息。
$ git commit -m "实现了my_strlen函数"

提交以查看日志详细信息后,我们运行git log命令显示所有提交的信息及其提交ID、提交作者、提交日期和提交的SHA-1哈希。
2、查看更改在查看提交细节之后,UserB意识到字符串长度不能为负数,这就是为什么他决定更改my_strlen函数的返回类型。
UserB使用git log命令查看日志详细信息。
UserB使用git show命令查看提交详细信息, git show命令将SHA-1提交ID作为参数。
$ git show SHA-ID

他将函数的返回类型从int更改为size_t,测试完代码后通过运行git diff命令来查看自己的更改。
Git diff在新添加的行之前显示“ +”号,在删除的行之前显示“-”。
3、提交更改UserB已经提交了更改,他想更正他的上一次提交,在这种情况下,git amend操作会有所帮助,修改操作更改最后的提交,包括你的提交消息,它创建一个新的提交ID。
【深入Git开发(Git更改操作之执行更改、查看更改和提交更改)】在修改操作之前,可以先检查提交日志。
$ git status -s$ git add string.c$ git status -s$ git commit --amend -m "更改返回类型"

    推荐阅读