Android Studio更新项目:Merge vs Rebase vs Branch Default

Kur*_*ner 59 git android git-merge android-studio

抱歉,如果这看起来多余,因为我知道有很多关于Merge和Rebase的问题,但似乎也没有任何关于'Branch Default'的问题.

您将获得一个案例,您可以同时处理多个人(即Android Studio中的Android应用程序).如果有人推送到主分支并且您想要引入新主服务器以便它不会覆盖您仍在处理并且尚未提交并推送到主服务器的工作,那么更新项目/拉动的最佳选项是什么?单击"更新项目"时,Android Studio会列出"合并""重新生成"和"分支默认".听起来,我想做'Rebase'(接着'合并'?),但我不完全确定.

Tan*_*.7x 41

积攒

这里的关键是你有未保存的工作要保存.在尝试合并任何内容之前,您应该存储更改以保存未提交的更改并清理工作目录.

运行git stash以存储您的更改.然后,您应该能够毫无问题地提取更改.

成功拔出后,您可以git stash apply重新应用拉动之前所做的更改.

合并和重新定位

仅当您只有未提交的更改时,才会保留您的更改.如果在某些时候你提交但没有推动你将需要rebase或merge.

这篇StackOverflow帖子提供了一些有关差异的重要信息.

一般来说,合并更容易,但有些人认为合并提交会"污染"git历史记录.

重新定位需要额外的工作,但由于您没有合并提交,它实际上将使合并不可见.

同样,在您的情况下,您不需要合并或变基.只需藏匿,拉动,然后应用藏匿处,它应该都很好.


Vol*_*myr 18

在此输入图像描述

根据IntelliJ IDEA documnetatition:

更新类型

  • 合并:选择此选项以应用合并策略.结果与运行git fetch ; git merge或结果相同git pull --no-rebase.
  • Rebase:选择此选项以应用rebase策略.结果与运行git fetch ; git rebase或结果相同git pull --rebase.
  • 分支默认值:选择此选项可以应用分支的默认命令.default命令branch.<name>.git/config配置文件的部分中指定.

更新前清理工作树

在此区域中,指定在更新前清理工作树时保存更改的方法.更新完成后,将恢复更改.可用选项包括:

  • 使用Stash:选择此选项可以将更改保存在Git存储中,这样即使在IntelliJ IDEA之外也可以应用隐藏更改的补丁,因为它们是由Git本身生成的.运用
  • 搁架:选择此选项可将更改保存在搁板上.搁置是一种IntelliJ IDEA内部操作,通常在搁置的更改中生成的补丁(IntelliK IDEA)中应用(未放置).在IntelliJ IDEA之外应用搁置的更改也是可能的,但需要额外的步骤.


Som*_*ere 6

我无法在Google的任何文档中找到这个问题(即工作流程)的答案......所以这是我在UI中完全使用Android Studio和Git的实践经验.

(我呕吐在命令行和IDE之间切换的想法 - 这意味着IDE缺乏!)

  1. 使用以下方法存储您的更改:右键单击项目 - > Git - >存储库 - >存储更改.给它起个名字.
  2. 拉取您的同事所做的更新:右键单击Project - > Git - > Repository - > Pull
  3. 将代码更改合并为:右键单击Project - > Git - > Repository - > UnStash Changes - > Apply Stash
  4. 然后,您将看到"与冲突合并的文件"UI.这是您选择文件并有选择地合并的地方.

警告

手动合并"合并修订"UI是可怕的.一旦你尝试了,你就会明白我的意思.祝你好好"同步滚动"实际工作.我衷心希望在2015年的前几周内解决这个用户界面问题.