Review thay đổi trong Git



Sau khi kiểm tra lại các chi tiết ký thác, Jerry nhận thấy rằng độ dài chuỗi không thể âm, do đó anh ta quyết định thay đổi kiểu của chức năng my_strlen.

Jerry sử dụng lệnh git log để quan sát các chi tiết log.

[jerry@CentOS project]$ git log

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

commit cbe1249b140dad24b2c35b15cc7e26a6f02d2277
Author: Jerry Mouse <jerry@tutorialspoint.com>
Date: Wed Sep 11 08:05:26 2013 +0530

Implemented my_strlen function

Jerry sử dụng lệnh git show để kiểm tra các chi tiết ký thác. Git chỉ rõ lệnh được lấy từ ID ký thác SHA-1 như là một tham số.

[jerry@CentOS project]$ git show cbe1249b140dad24b2c35b15cc7e26a6f02d2277

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

commit cbe1249b140dad24b2c35b15cc7e26a6f02d2277
Author: Jerry Mouse <jerry@tutorialspoint.com>
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 của chức năng từ int đến size_t. Sau khi kiểm tra code, anh ta duyệt lại các thay đổi bằng cách chạy lệnh git diff.

[jerry@CentOS project]$ git diff

Lệnh trên sẽ tạo 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 diff chỉ ký hiệu '+' trước các dòng mà thêm mới và thêm '-' cho các dòng bị xóa.

Theo dõi chúng tôi miễn phí trên mạng xã hội facebook và youtube:

Follow fanpage của team https://www.facebook.com/vietjackteam/ hoặc facebook cá nhân Nguyễn Thanh Tuyền https://www.facebook.com/tuyen.vietjack để tiếp tục theo dõi các loạt bài mới nhất về Java,C,C++,Javascript,HTML,Python,Database,Mobile.... mới nhất của chúng tôi.