2021年9月14日 星期二

git 打 patch的方法

 假設我現在的Source code有git資訊,也就是可以用 "git status" 或是 "git diff" 等指令來查看目前狀態或是差異

 假設我目前修改了檔案,路徑與檔名為
  /home/danny/src/example/aaa.c
 當前所在目錄為 /home/danny/ 底下

打一個patch(讓別人Merge你的修改) 
於是我們可以很簡單的,使用下面的命令,先打一個patch檔案
 git diff src/example/aaa.c > aaa.c.patch
於是就會多出一個檔案,位於 /home/danny/aaa.c.patch

 aaa.c.patch大概內容會如下,可以看到差異:

--- a/src/example/aaa.c
+++ b/src/example/aaa.c
@@ -33,7 +33,11 @@
-      printf("Hello\n");
+     printf("Hello World\n");

如何把patch檔Merge入自己的code
假設我現在是在 /home/andy/ 目錄下,先把 aaa.c.patch 複製到此目錄底下
接著確定此檔案確實存在 src/example/aaa.c
使用以下指令把patch檔打入
  patch -p1 < aaa.c.patch

這樣就可以了!!

沒有留言:

張貼留言