Android Studio更新项目:合并与重build与分支默认
道歉,如果这似乎是多余的,因为我知道关于合并与Rebase有相当多的问题,但似乎没有任何投入“分支默认”以及。
你会得到一个案例,你有多个人同时在一些东西上工作(例如Android Studio中的一个Android应用程序)。 如果有人推到主分支上,并且你想把新的主人拉进来,这样它就不会覆盖你还在工作的工作,还没有提交并推送给主人,那么更新项目/拉的最佳select是什么? 单击“更新项目”时,Android Studio会列出“合并”“重做”和“分支默认”。 从听起来像,我想要做'重build'(其次是“合并”?),但我不完全确定。
积攒
这里的关键是你有没有意愿的工作,你想保存。 在尝试合并任何内容之前,您应该隐藏您的更改以保存未提交的更改并清除您的工作目录。
运行git stash
以存储您的更改。 然后,您应该能够在没有任何问题的情况下进行更改。
在你成功拉动之后,你可以做一个git stash apply
重新应用你之前所做的改变。
合并和重新分配
隐藏您的更改只适用于您只有未提交的更改。 如果在某个时候你承诺,但没有推动,你将需要重组或合并。
这个StackOverflow文章有一些很好的信息差异。
一般来说,合并比较容易,但有些人认为合并提交会“污染”git历史。
重新分配需要额外的工作,但由于您没有合并提交,所以基本上会使合并不可见。
再次,在你的情况下,你不应该需要合并或rebase。 简单地说,拉,然后应用藏匿,它应该都是好的。
根据IntelliJ IDEA documnetatition :
更新types
- 合并 :select此选项以应用合并策略。 结果与运行
git fetch ; git merge
的结果是一样的git fetch ; git merge
git fetch ; git merge
或git pull --no-rebase
。 - Rebase :select这个选项来应用rebase策略。 结果与运行
git fetch ; git rebase
的结果是一样的git fetch ; git rebase
git fetch ; git rebase
或者git pull --rebase
。 - 分支默认值 :select此选项以应用分支的默认命令。 默认命令是在
.git/config
configuration文件的branch.<name>
部分中指定的。
在更新之前清理工作树
在此区域中,指定在更新前清理工作树时保存更改的方法。 更新完成后,更改将被恢复。 可用的选项是:
- 使用隐藏 :select这个选项可以将更改保存在Git存储中,所以你可以使用隐藏在IntelliJ IDEA之外的隐藏的补丁,因为它们是由Git本身生成的。 运用
- 搁置 :select此选项可将更改保存在书架上。 Shelving是一个IntelliJ IDEA内部操作,通常在IntelliJ IDEA中应用(未保存)从搁置更改生成的补丁。 在IntelliJ IDEA之外应用搁置的更改也是可能的,但需要额外的步骤。
我找不到任何Google文档中这个问题的答案(即工作stream程)……所以这里是我完全从UI中使用Android Studio和Git的实际经验。
(我呕吐在命令行和IDE之间切换的想法 – 这意味着IDE是缺乏的!)
- 保存更改:右键单击Project – > Git – > Repository – > Stash Changes。 给它一个名字。
- 拉你的同事做的更新:右键单击项目 – > Git – >存储库 – >拉
- 右键点击Project – > Git – > Repository – > UnStash Changes – > Apply Stash
- 您将看到一个“文件合并冲突”用户界面。 这是您select文件并select合并的地方。
警告
手动合并“合并修订”UI是可怕的 。 一旦你尝试了,你会明白我的意思。 祝你好运,让“同步滚动”实际工作。 我真心希望这个用户界面能够在2015年的前几个星期内解决。