主持人注意:鉴于此问题已经发布了67个答案(其中一些已删除),请考虑在发布另一个问题之前是否提供任何新内容.
git pull和之间有什么区别git fetch?
在阅读git pull页面时,它给出了以下严厉的警告git pull --rebase:
这是一种潜在危险的操作模式.它重写了历史,当你已经发布了这段历史时,它并不是一个好兆头.除非您仔细阅读git-rebase(1),否则请勿使用此选项.
在git rebase页面中,它提供了大量描述,但没有这种警告.
另外,我见过有人这么说
git fetch
git rebase
Run Code Online (Sandbox Code Playgroud)
是相同的
git pull --rebase
Run Code Online (Sandbox Code Playgroud)
而其他人说他们略有不同.
真相是什么?
这些是我执行的一系列步骤:
dc9afg2k)git fetch origin master && git merge origin mastergit checkout master git pull (这拉动了所有最近的变化)git fetch origin master && git merge origin mastergit reset --hard origin/mastergit checkout branch git blog
git reset --hard dc9afg2k (提交成功) git checkout mastergit log (这回到了2天前).git pull(master不是用当前更新origin/master).有人从 fork 向我的 GitHub 项目提交了拉取请求。与其直接合并到 master 中,我更愿意将更改合并到一个 feature 分支中,这样我就可以在将最终产品合并到 master 之前进行一些小的编辑。如果可能的话,我希望 GitHub 向提交者表明请求已被接受(我想鼓励和表彰贡献!)。这可能吗?我该怎么做?