主持人注意:鉴于此问题已经发布了67个答案(其中一些已删除),请考虑在发布另一个问题之前是否提供任何新内容.
git pull和之间有什么区别git fetch?
我在某个时候开始使用git,并没有完全理解错综复杂.我在这里的基本问题是找出a git pull和之间的区别git pull --rebase,因为添加--rebase选项似乎没有做一些非常不同的事情:只需要拉动.
请帮助我理解差异.
我是Git中的菜鸟,并试图了解git pullvs 之间的区别git rebase.有人可以提供一个示例何时使用哪个选项,因为我觉得两者都有相同的用途.
在阅读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)
而其他人说他们略有不同.
真相是什么?
我做了一些更改并在本地提交我的项目,但没有推送它们,然后我通过添加新文件和提交来更改GitHub中的文件.
当我试图推动我的本地提交android工作室建议合并,但当我尝试合并它给我的错误和我做的任何一直拒绝合并,并告诉我该消息.
当我点击合并显示我.
错误信息:
我的日志:
我该怎么办?
在处理一些未提交的文件时,我需要提取新代码.有冲突,所以git拒绝拉:
error: Your local changes to the following files would be overwritten by merge:
...
Please, commit your changes or stash them before you can merge.
Run Code Online (Sandbox Code Playgroud)
问题1:如何提取和合并我的未经修改的更改?我需要继续工作,我还没准备好提交,但我想要外部代码?
问题2:我最后做了一个stash跟随a pull.我现在如何将我的更改合并到新拉?如何在不破坏拉动的新变化的情况下应用我的藏品?
我看到一些git项目建议你通过更新项目
git fetch; git rebase origin master
Run Code Online (Sandbox Code Playgroud)
与此相比,这样做有什么好处
git pull
Run Code Online (Sandbox Code Playgroud)
从开源项目的角度来看github,因为你总是相信遥控器.