4

Android カーネル v3.0.36 の git リポジトリがあります。しかし今、Linux 3.0.38 が出ました。Android とメインラインの Linux は互換性がないので、3.0.37 と 3.0.38 から変更を取りたいだけです (変更のほんの一部)。そして、他の変更をプルしたくありません。

私はGithubを使用しています。多くの人のログが次のようになっているのを見ました。

net: wireless:bcm4329: Fix Unknown escape '%' 90fcf01d79 ブラウズ コード Choi, Jong-Hwan 作成 8 か月前 xxx コミット 3 か月前

彼らはどのようにそれを行うことができますか? そして、どうすればそれを行うことができますか?

4

2 に答える 2

3

リポジトリ内の他のブランチをフェッチして、必要なコミットを選択できます。git cherry-pick、または代わりgit show --pretty=email <commit-id> |git am -3に、またはさらにgit format-patch -o /tmp v3.0.37..v3.0.38は、git am -3 /tmp/<file>興味深い、おそらく編集されたパッチについては、を参照してください

于 2012-07-23T15:10:40.460 に答える
1

2つのタグ間に複数のコミットを含む単一のパッチを作成する」のように、v3.0.36間に単一のパスを作成できます。3.0.38、1つのリポジトリ内で関心のあるサブディレクトリを指定します。

git diff tag1 tag2 -- /path/to/subdir > the-patch.diff

アイデアは、別のリポジトリに差分を適用できるということです。

GitHubに関しては、同じメカニズムがプルリクエストにも適用されます。ローカルでパッチを適用したら、フォークであるはずのGitHubリポジトリにプッシュして、プルリクエストを行うことができます。


fork0コメントとしてgit diff、コミットに関連付けられたコメントを失います。
git format-patchより良い解決策です(そして私はフォークの答えに賛成しました)。私はあなたがその制限を知っている場合にのみ
検討します。cherry-pick


このようなコミットは、edokoによって受け入れられたgregkhによって行われたプルリクエストの結果です。

于 2012-07-23T11:52:52.423 に答える