Git - Xem lại các thay đổi

Sau khi xem chi tiết cam kết, Jerry nhận ra rằng độ dài chuỗi không thể là số âm, đó là lý do tại sao anh ta quyết định thay đổi kiểu trả về của hàm my_strlen.

Jerry sử dụng git log lệnh để xem chi tiết nhật ký.

[jerry@CentOS project]$ git log

Lệnh trên sẽ cho kết quả như sau.

commit cbe1249b140dad24b2c35b15cc7e26a6f02d2277
Author: Jerry Mouse <[email protected]>
Date: Wed Sep 11 08:05:26 2013 +0530

Implemented my_strlen function

Jerry sử dụng git showlệnh để xem chi tiết cam kết. Lệnh git show mấtSHA-1 cam kết ID như một tham số.

[jerry@CentOS project]$ git show cbe1249b140dad24b2c35b15cc7e26a6f02d2277

Lệnh trên sẽ cho kết quả sau:

commit cbe1249b140dad24b2c35b15cc7e26a6f02d2277
Author: Jerry Mouse <[email protected]>
Date: Wed Sep 11 08:05:26 2013 +0530

Implemented my_strlen function


diff --git a/string.c b/string.c
new file mode 100644
index 0000000..187afb9
--- /dev/null
+++ b/string.c
@@ -0,0 +1,24 @@
+#include <stdio.h>
+
+int my_strlen(char *s)
+{
   +
   char *p = s;
   +
   +
   while (*p)
   + ++p;
   + return (p -s );
   +
}
+

Anh ta thay đổi kiểu trả về của hàm từ int thành size_t. Sau khi kiểm tra mã, anh ấy xem xét các thay đổi của mình bằng cách chạygit diff chỉ huy.

[jerry@CentOS project]$ git diff

Lệnh trên sẽ cho kết quả sau:

diff --git a/string.c b/string.c
index 187afb9..7da2992 100644
--- a/string.c
+++ b/string.c
@@ -1,6 +1,6 @@
#include <stdio.h>

-int my_strlen(char *s)
+size_t my_strlen(char *s)
{
   char *p = s;
   @@ -18,7 +18,7 @@ int main(void)
};
for (i = 0; i < 2; ++i)
{
   - printf("string lenght of %s = %d\n", s[i], my_strlen(s[i]));
   + printf("string lenght of %s = %lu\n", s[i], my_strlen(s[i]));
   return 0;
}

Git khác biệt cho thấy '+' ký tên trước các dòng mới được thêm vào và '−' cho các dòng đã xóa.