兩個git am
和git apply
可用於應用補丁。我看不出有什麼不同。我現在看到一個區別:git am
自動提交,而git apply
只觸及文件但不創建提交。這是唯一的區別嗎?git am和git apply有什麼區別?
回答
兩者的輸入和輸出是不同的:
git apply
需要補丁(例如的git diff
的輸出),並將其應用到工作目錄(或索引,如果--index
或--cached
被使用)。git am
需要格式化爲電子郵件消息提交的郵箱(例如的git format-patch
的輸出),並將它們應用到當前分支。
git am
uses git apply
behind the scenes,但確實(讀Maildir
或mbox
,和解析電子郵件)前(創建提交)後,更多的工作。
注意的縮寫被認爲是:'混帳apply'似乎也接受'git的格式patch'輸出。 –
'GIT中apply'將用於從'git的格式patch'輸出工作,以及,但這些變化將是不分階段和將需要被提交(從而產生不同的在它們被應用於索引提交點)。使用'git am',您可以將提交信息(以及作者等)帶入應用到的索引中。然後 '混帳apply'是修補您的回購協議(壞),'混帳am'可以採取合法的特徵變化,包括到您的回購協議(首選方法)。 –
隨着git am
應用修補程序,所以如果你使用git status
你不會看到任何地方的變化。
git apply
使您可以更改源文件,如果你自己你已經應用,那麼你就可以修復/添加更多的改變編寫代碼,因此git status
和git diff
將輸出在補丁所做的更改,將它們作爲一個新補丁提交。
git apply
是用於施加直diff文件(例如,從git diff
),而git am
是用於從電子郵件應用補丁和補丁的序列,這可MBOX或Maildir的格式,它是的git format-patch
「相反」。 git am
嘗試從電子郵件中提取提交消息和作者詳細信息,這就是爲什麼它可以進行提交。
- 1. git commit -am和git之間有什麼區別-m
- 2. 「git checkout」和「git checkout - 」有什麼區別?
- 3. `git diff`和`git difftool`有什麼區別?
- 4. git add *和git add。有什麼區別?
- 5. 「git reset」和「git rebase」有什麼區別?
- 6. git-stash和git-checkout有什麼區別?
- 7. git push和git pull有什麼區別?
- 8. file .git和directory .git有什麼區別?
- 9. msys/git和git-for-windows/mingw-w64-x86_64-git有什麼區別?
- 10. git pull,git fetch和git rebase有什麼區別?
- 11. 'git remote update','git fetch'和'git pull'有什麼區別?
- 12. GIT的Branch和Remote有什麼區別?
- 13. git和bitbucket有什麼區別?
- 14. git reflog和log有什麼區別?
- 15. git clone和checkout有什麼區別?
- 16. git add之間的區別。和git commit -am「message」
- 17. git reset --hard HEAD和git clean --force -d有什麼區別?
- 18. git cherry-pick和git show之間有什麼區別? patch -p1?
- 19. git clone和git clone --mirror有什麼區別?
- 20. 「git push origin <branch>」和「git flow feature publish」有什麼區別?
- 21. git clone:url [email protected]/...和url有什麼區別git://github.com/
- 22. 'git fetch'和'git fetch --all'有什麼區別
- 23. git reset文件和git checkout文件有什麼區別?
- 24. Git/Git Extension中的「squash」和「fixup」有什麼區別?
- 25. 「git show test.rb」和「git show HEAD:test.rb」有什麼區別?
- 26. 「git checkout -f」和「git reset --hard HEAD」有什麼區別?
- 27. 「git reset --hard」和「git checkout。」有什麼區別?
- 28. 「git clone」和「git remote add」有什麼區別?
- 29. 「git rm * .log」和「git rm \ *。log」有什麼區別?
- 30. 「git add」和「git update-index」有什麼區別
'am'可以作爲'應用Mail' ...... –