git:patchは何ですか/どのように使いますか

2515 ワード

git patchは何ですか/どのように使いますか
ref 1 GitのPatch機能
http://www.cnblogs.com/y041039/articles/2411600.html
note
gitは2つの簡単なpatchスキームを提供した.一つはgit diffで生成された標準patch、二つ目はgit format-patchで生成されたGit専用Patchである.
≪インスタンス|Instance|emdw≫
a.txtにpatchを生成する
在这里插入图片描述
patch git: patch 是什么/ 如何用_第1张图片の表示
patchの適用(PATCHブランチへの適用)
git: patch 是什么/ 如何用_第2张图片
git format-patch -M master

sweetdum@sweetdum-ASUS:~/GitEx$ git checkout Fix
Switched to branch 'Fix'
sweetdum@sweetdum-ASUS:~/GitEx$ echo 'Fix!!!'>>a
sweetdum@sweetdum-ASUS:~/GitEx$ git commit -a -m "Fix1"
[Fix 6991743] Fix1
1 files changed, 1 insertions(+), 0 deletions(-)
sweetdum@sweetdum-ASUS:~/GitEx$ git format-patch -M master
0001-Fix1.patch



sweetdum@sweetdum-ASUS:~/GitEx$ git checkout master
Switched to branch 'master'
sweetdum@sweetdum-ASUS:~/GitEx$ git branch PATCH
sweetdum@sweetdum-ASUS:~/GitEx$ git checkout PATCH
sweetdum@sweetdum-ASUS:~/GitEx$ git am 0001-Fix1.patch
Applying: Fix1
sweetdum@sweetdum-ASUS:~/GitEx$ git commit -a -m "PATCH apply"

3.2種類のpatchの比較:互換性:明らかに**git diffが生成したPatch互換性が強い.**修正したコードの公式バージョンライブラリがGit管理のバージョンライブラリではない場合は、git diffで生成されたpatchを使用して、プロジェクトのメンテナンス担当者にコードを受け入れなければなりません.
エラー除去機能:git diffが生成したpatchに対してgit apply--checkでパッチが現在のブランチにきれいに適用できるかどうかを確認できます.git format-patchで生成されたパッチが現在のブランチに適用されない場合、git amはヒントを与え、パッチ適用作業を完了するのに役立ちます.git am-3を使用して3つのマージを行うこともできます.詳細はgitマニュアルまたはProgitを参照してください.この点では,両者とも誤り除去機能が強い.
バージョンライブラリ情報:git format-patchで生成されたパッチには、このパッチ開発者の名前が含まれているため、パッチを適用すると、この名前がバージョンライブラリに記録されるのは明らかです.これは適切です.そのため、現在Gitを使用しているオープンソースコミュニティでは、format-patchを使用してパッチを生成することをお勧めします.