道歉,如果这看起来多余,因为我知道有很多关于Merge和Rebase的问题,但似乎并没有任何可以引入' Branch Default'同样。
您将获得一个案例,您可以同时处理多个人(即Android Studio中的Android应用)。如果有人推送到主分支并且您想要引入新主服务器以便它不会覆盖您仍在处理但尚未提交并推送到的工作,那么更新项目/拉动的最佳选项是什么?主? Android Studio列出了' Merge' '衍合'和'分支默认'点击'更新项目'。听起来,我想做的是Rebase' (其次是' Merge'?),但我并不完全确定。
答案 0 :(得分:37)
<强>积攒强>
这里的关键是你有未保存的工作要保存。在尝试合并任何内容之前,您应stash your changes保存未提交的更改并清理工作目录。
运行git stash
以存储您的更改。然后,您应该能够毫无问题地提取更改。
成功拔出后,您可以执行git stash apply
重新应用之前所做的更改。
合并和重新定位
仅当您只有未提交的更改时,才会隐藏您的更改。如果在某些时候你提交但没有推动,你将需要改变或合并。
This StackOverflow post提供了一些有关差异的重要信息。
一般来说,合并更容易,但有些人认为合并提交会“污染”git历史记录。
重新定位需要额外的工作,但由于你没有合并提交,它实际上会使合并不可见。
同样,在您的情况下,您不需要合并或变基。只需藏匿,拉动,然后应用藏匿处,它应该都很好。
答案 1 :(得分:13)
根据IntelliJ IDEA documnetatition:
更新类型
git fetch ; git merge
或git pull --no-rebase
。git fetch ; git rebase
或git pull --rebase
。branch.<name>
配置文件的.git/config
部分中指定。更新前清理工作树
在此区域中,指定在更新前清理工作树时保存更改的方法。更新完成后,将恢复更改。可用选项包括:
答案 2 :(得分:5)
我无法在Google的任何文档中找到这个问题的答案(即工作流程)......所以这是我在UI中完全使用Android Studio和Git的实践经验。
(我呕吐在命令行和IDE之间切换 - 这意味着IDE缺乏!)
警告强>
手动合并“合并修订”用户界面可怕。一旦你尝试了,你就会明白我的意思。祝你好好“同步滚动”实际工作。我真诚地希望在2015年的前几周内解决这个用户界面。
答案 3 :(得分:1)
合并:选择此选项可在更新过程中执行merge。这等效于先运行git fetch然后进行git merge或git pull --no-rebase。
变基:选择此选项可在更新过程中执行rebase。这等效于运行git fetch然后运行git rebase或git pull --rebase(所有本地提交都将放在更新后的上游头的顶部)。
分支默认:如果您想对不同的分支应用不同的更新策略,请选择此选项。您可以为分支中的每个分支指定默认更新类型。 .git / config配置文件部分。
在此处了解更多-https://www.jetbrains.com/help/idea/apply-changes-from-one-branch-to-another.html
答案 4 :(得分:0)
对于那些正在Android Studio中寻找rebase
的人。
VCS> Git>重新设置。
然后单击“重新设置”,“开始重新设置”,“合并”。为了简化过程,请单击“全部”以解决不冲突的更改。
可能存在冲突的更改,请解决它们,直到收到消息为止
如果遇到这些冲突,请单击向左或向右箭头以接受最合适的方法:
单击不必要的交叉标记以忽略,或单击箭头以接受:
如果您接受两个更改,则还可以编辑结果代码,例如,在方法中添加缺少的}
。
执行此操作,直到解决所有冲突:
点击“应用”。当一次提交中的所有文件都是最新的时,请单击“继续变基”以移至下一次提交。
答案 5 :(得分:-1)
使用android studio终端更新Git项目
这就是我想要从您的帖子中找到答案的原因。所以这就是为什么我写这个答案。