Android Studio更新项目:合并与重建vs分支默认

道歉,如果这看起来是多余的,因为我知道关于合并vs Rebase有相当多的问题,但似乎也没有任何投入“分支默认”。

你会得到一个案例,你有多个人在同一时间处理某些事情(例如Android Studio中的Android应用)。 如果有人推送到主分支并且你想拉入新的主分区以便它不覆盖你仍在工作并且尚未提交并推送给主的工作,那么更新项目/拉的最佳选择是什么? 单击“更新项目”时,Android Studio会列出“合并”“重新绑定”和“分支默认值”。 从听起来像,我想要做'重建'(接着'合并'?),但我不完全确定。


积攒

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

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

成功拉出后,您可以执行git stash apply以重新应用您在拉出之前所做的更改。

合并和重新分配

隐藏您的更改仅适用于您只有未提交更改的情况。 如果在某个时候你承诺但没有推动,你将需要重组或合并。

这StackOverflow帖子有一些关于差异的很好的信息。

总的来说,合并更容易,但有些人认为它会通过合并提交来“污染”git历史。

重新分配需要额外的工作,但由于您没有合并提交,它本质上会使合并不可见。

再次,在你的情况下,你不应该需要合并或重组。 简单地说,拉,然后应用藏匿,它应该都是好的。


在这里输入图像描述

根据IntelliJ IDEA documnetatition:

更新类型

  • 合并 :选择此选项以应用合并策略。 结果与运行git fetch ; git merge的结果相同git fetch ; git merge git fetch ; git mergegit pull --no-rebase
  • Rebase :选择此选项以应用rebase策略。 结果与运行git fetch ; git rebase的结果相同git fetch ; git rebase git fetch ; git rebasegit pull --rebase
  • 分支默认值 :选择此选项以应用分支的默认命令。 默认命令是在.git/config配置文件的branch.<name>部分中指定的。
  • 更新前清理工作树

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

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

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

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

  • 保存更改:右键单击Project - > Git - > Repository - > Stash Changes。 给它一个名字。
  • 提取您的同事所做的更新:右键单击Project - > Git - > Repository - > Pull
  • 将代码更改合并回来:右键单击Project - > Git - > Repository - > UnStash更改 - >应用藏匿
  • 然后您将看到“文件合并冲突”UI。 这是您选择文件并选择合并的地方。
  • 警告

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

    链接地址: http://www.djcxy.com/p/48941.html

    上一篇: Android Studio Update Project: Merge vs Rebase vs Branch Default

    下一篇: Git branching strategy integated with testing/QA process