Stan Blog

學習過程中的一些記錄

[GIT] git patch

git patch可以將 commit 匯出為更新檔


將要匯出的 commit,存成 patch 檔

$ git format-patch <base_commit>
  OR
$ git format-patch -n3 <top_commit>
  OR
# 使用 現在所在位置跟 master 所在位置,最近共同根部
$ git format-patch master

將 patch 檔放在要匯入的 branch 後,下指令匯入

# 只有匯入,須自行 commit
$ git apply <patch>

# 檢查是否會衝突
$ git apply --check <patch>

# apply + commit
$ git am <patch>
  OR
# 匯入所有 patch,並使用原本 commit
$ git am *.patch

若有 conflict,先下

$ git apply --reject <patch>

剩下的 conflict 需手動解 (conflict 差異檔會存在 .rej 檔)

解完衝突後

$ git add <file_name>
$ git am --continue


Ref:

Comments

comments powered by Disqus