との両方git amをgit apply使用して、パッチを適用できます。違いがわかりません。私は今違いを見ています:ファイルに触れるだけでコミットを作成しないのgit amに対し、自動的にコミットします。git applyそれが唯一の違いですか?
93444 次
3 に答える
192
入力と出力の両方が異なります。
git applyパッチ (例: の出力) を取得し、それを作業ディレクトリ (またはまたはが使用されgit diffている場合はインデックス) に適用します。--index--cachedgit am電子メール メッセージとしてフォーマットされたコミットのメールボックス (例: の出力git format-patch) を受け取り、それらを現在のブランチに適用します。
git amgit applyバックグラウンドでを使用しますMaildirが、前 (またはの読み取り、mbox電子メール メッセージの解析) と後 (コミットの作成) でより多くの作業を行います。
于 2012-09-02T22:23:10.293 に答える
25
git applyは直接差分 (例: からgit diff)git amを適用するためのものであり、 は mbox または Maildir 形式のいずれかの電子メールからパッチおよび一連のパッチを適用するためのものであり、git format-patch. git am電子メール メッセージからコミット メッセージと作成者の詳細を抽出しようとするため、コミットを行うことができます。
于 2012-09-02T22:21:01.753 に答える
15
パッチを適用するとgit am、実行時にgit statusローカルの変更は表示されませんがgit log、パッチがソース コードにコミットされたことが示されます。
しかし、git applyあたかも自分でコードを書いているかのようにソースファイルに変更を加えると、git status適用git diffしたパッチに現れた変更が出力されます。したがって、git applyより多くの変更を修正/追加し、git addそれらを単一の新しいパッチとしてまとめることができます。
于 2012-09-02T22:20:31.413 に答える