git pull
大致可以拆分为两个阶段。git fetch
和 git merge
。选择更新方式,是让你选择是否使用merge
的方式来进行合并。merge
的合并方式需要你自己处理矛盾,但是以本地提交为主。而rebase
操作是将本地提交附加到远程分支上,并切换到远程分支,这种做法其实并不多见。至于branch
在官方文档中并没有推荐过这种操作,猜测是以远程分支为主进行覆盖或者合并。
右边的选项是保证你工作区的干净,如果你刚提交完,其实是不需要的。stash
是将当前进展贮藏到一个堆栈结构的地方。shelfve
意思差不多,但估计地方和弹出方式不同而已。
8 回答6.4k 阅读
5 回答2.9k 阅读
1 回答4.1k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
3 回答2.7k 阅读
2 回答3.2k 阅读
2 回答3.9k 阅读
左侧的就是 merge 和 rebase,关于这两最直观的区别就是提交记录,rebase 更干净,其他还有一些区别,另一个就是默认了。
右侧是 Stash 是合并更新之前把代码放到 Git 的暂存区。
Shelve 是 IDEA 提供的暂存区。