web-dev-qa-db-ja.com

git am:パッチ形式の検出に失敗しました

これまでにGitでパッチを使用したことがなく、助けが必要です。 Wineパッチをテストするために、Gitリポジトリにパッチを適用しようとしています。具体的には このパッチはここ です。だから私は次のことをしました:

$ git clone git://source.winehq.org/git/wine.git
$ cd wine
$ nano patch.p1

次に、パッチの内容を貼り付けました Ctrl+Shift+Vそして使用された Ctrl+O 保存する。それから私はこれを試しました:

$ git am patch.p1
Patch format detection failed.

何が悪いのですか?これまでにパッチを適用したことがありません。

10
Aaron Franke

_Patch format detection failed._は、おそらく間違ったコマンドを使用していることを意味します。_git apply_またはその逆の代わりに_git am_を使用します。

2の違いの詳細については、 git amとgit applyの違いは何ですか? を参照してください。

12
user276648

以下のコマンドを使用します:patch -p1 <patch_file_name.patch

  • 「パッチするファイル」を指定するよう求められます。完全なパスを指定してください/
  • -R [n]を想定:n
  • とにかく申し込みますか? [n]:y

パッチに存在するすべてのファイルに対して行います。

  • マージの競合が発生した場合は、生成された「.rej」ファイルで競合を確認し、それらの変更を解決して適用します。
  • 変更を「git add」して「コミット」します。
1
Amit Kushwaha