2


2

私の以前の質問 https://stackoverflow.com/questions/949266/git-work-flow-with-an-inexpirenced-memberをフォローアップするには[未承認のメンバーと一緒にワークフローを開始します。私です。 問題は、私が以前にパッチを使ったことがなく、ワークフローについて説明するチュートリアルが見つからないことです。

私が欲しいのは彼がリポジトリから最新のコードを取得することです。 それに対するブランチワークを作成する彼が終わったときに彼の変更をコミットする私はそれをマスターに統合できるように彼にそれのためのパッチを作成してもらいたいです。

このような状況でパッチを作成してマスターに適用する方法を教えてください。

3 Answer


4


http://www.kernel.org/pub/software/scm/git-core/docs/git-format-patch.html[git-format-patch(1)]でパッチを作成するか、送信したい場合は電子メールはhttp://www.kernel.org/pub/software/scm/git-core/docs/git-send-email.html[git-send-email(1)]だけです。

それからそれを git-apply(1)または電子メールのために、http://www.kernelでそれを適用してください。 org / pub / software / scm / git / docs / git-am.html [git-am(1)]。


2


それは比較的簡単です。 ブランチがfooで、masterからのパッチだとしましょう。

#マスターからfooへの改訂のためのすべてのパッチをtmpに入れてください:0001、0002など。 gitフォーマットパッチマスター... foo --stdout> yo

#あなたはgit am cat yoでパッチを適用します。午前

コミッタの違いにより、元のバージョンと同じリビジョンにはならないことに注意してください。 その場合はもう少し複雑です(http://home.regit.org/?page_id=32)。


1


コミットせずに:

git pull

git diff -p> myfirstpatch.txt

それから彼はあなたにパッチを電子メールで送ることができます。

コミットした場合は、diffにいくつかの引数を渡します。

git diff blah ... blah2 -p> mysecondpatch.txt

それからあなただけです:

git apply mysecondpatch.txt