اما بعد از دیدن جزئیات commit, Jerry فهمید، که طول رشته 2 نمیتواند منفی باشد، بنابراین او تصمیم گرفت که مقدار بازگشتی my_strlen را تغییر دهد
Jerry از git log استفاده کرد تا جزئیات log ها را ببیند:
[jerry@CentOS project]$ git log
دستورات بالا نتایج زیر را در برخواهند داشت
commit cbe1249b140dad24b2c35b15cc7e26a6f02d2277 Author: Jerry Mouse <jerry@howcodex.com> Date: Wed Sep 11 08:05:26 2013 +0530 Implemented my_strlen function
Jerry از دستور git show برای نمایش جزئیات commit استفاده کرد git show از SHA-1 ID برای نمایش commit استفاده میکند
[jerry@CentOS project]$ git show cbe1249b140dad24b2c35b15cc7e26a6f02d2277
دستورات بالا نتایج زیر را در برخواهند داشت:
commit cbe1249b140dad24b2c35b15cc7e26a6f02d2277 Author: Jerry Mouse <jerry@howcodex.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 ); + } +
او نوع مقدار بازگشتی تابع را از int به size_t تغییر داد، بعد از تست کردن کد، او تغییراتی که اعمال کرده را با دستور git diff مشاهده میکند
[jerry@CentOS project]$ git diff
دستورات بالا نتایج زیر را در برخواهند داشت:
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 از علامت + برای سطرهایی که اضافه شده اند و از علامت – برای سطرهایی که حذف شدهاند، در ابتدای سطرها استفاده میکند.