Fa-git-git-patch-operation

提供:Dev Guides
移動先:案内検索

Git-パッチعملیات

パッチیکفایلمتنیاستکهاطلاعاتیشبیهgit diffرادربردارد、اماعلاوهبرکدها、meta dataشاملcommit e.g. コミットIDتاریخ、پیغامcommitو…​ رادربردارد。 مامیتوانیمبرایcommitهاpatchایجادکنیمودیگرانهمآنهارارویانبارهایشاناعمالکنند。

JerryتابعstrcatرابهپروژهشاناضافهمیکندJerryیکpatchازکدشایجادکردهوآنرابرایTomمیفرستد。 بنابرایناومیتواندتغییراتراازpatchدریافتیرویکدشاعمالکند

Jerryدستور git format patch برایایجادpatchرویآخرینcommitاستفادهمیکند。 اگرمیخواهیمبراییکcommitخاصパッチایجادکنیماز COMMIT ID استفادهمیکنیم

[jerry@CentOS project]$ pwd
/home/jerry/jerry_repo/project/src

[jerry@CentOS src]$ git status -s
M string_operations.c
?? string_operations

[jerry@CentOS src]$ git add string_operations.c

[jerry@CentOS src]$ git commit -m "Added my_strcat function"

[master b4c7f09] Added my_strcat function
1 files changed, 13 insertions(+), 0 deletions(-)

[jerry@CentOS src]$ git format-patch -1
0001-Added-my_strcat-function.patch

دستوربالایک* patch。فایلدرداخل作業ディレクトリایجادمیکند。 Tomمیتواندازاینパッチاستفادهکندتافایلهایشرادستکاریکند。 Gitのازدودستوربرایاعمالتغییراتدرパッチهااستفادهمیکند、 Gitの午前*、適用GIT * * Gitはفایلهارادستکاریکردهوコミットهمایجادمیکند بدونایجادコミットتغییراترااعمالمیکندو Gitの午前適用されます

برایاعمالکردنpatchوایجادcommitازدستورزیراستفادهمیکنیم:

[tom@CentOS src]$ pwd
/home/tom/top_repo/project/src

[tom@CentOS src]$ git diff

[tom@CentOS src]$ git status –s

[tom@CentOS src]$ git apply 0001-Added-my_strcat-function.patch

[tom@CentOS src]$ git status -s
M string_operations.c
?? 0001-Added-my_strcat-function.patch

パッチباموفقیتتغییراترااعمالکرد、حالامابادستور git diff میتوانیمتغییراتراببینیم:

[tom@CentOS src]$ git diff

دستوراتبالانتایجزیررادربرخواهندداشت:

diff --git a/src/string_operations.c b/src/string_operations.c
index 8ab7f42..f282fcf 100644
--- a/src/string_operations.c
+++ b/src/string_operations.c
@@ -1,5 +1,16 @@
#include <stdio.h>
+char *my_strcat(char *t, char *s)
diff --git a/src/string_operations.c b/src/string_operations.c
index 8ab7f42..f282fcf 100644
--- a/src/string_operations.c
+++ b/src/string_operations.c
@@ -1,5 +1,16 @@
#include <stdio.h>
+char *my_strcat(char *t, char *s)

{

   char *p = t;



   while (*p)
   ++p;

   while (*p++ = *s++)
   + ;
   + return t;

}

size_t my_strlen(const char *s)
{
   const char *p = s;
   @@ -23,6 +34,7 @@ int main(void)
   {