【问题标题】:What does Smart Checkout in IDE Intellij IDEA's tool Version Control do?IDE Intellij IDEA 的工具版本控制中的 Smart Checkout 有什么作用?
【发布时间】:2020-06-30 06:38:28
【问题描述】:

我的项目使用 git 作为 vcs 工具。这个问题是关于集成版本控制工具的。 在开发中,我们的分支承诺是:

  • master 分支正在运行以提供稳定和正式的服务。
  • 分支staging 正在测试环境中运行。
  • 发展分支。如果有新的需求,从 master 签出新的分支。开发完成后,我们会将分支合并到 staging 中进行测试。如果新代码通过测试,我们最终会将其合并到 master 中。

昨天,我做了这样的程序: 我在我的项目中发现了一个错误。所以我修改了一些代码。但是我发现分支正在暂存。正如预期的那样,我 stash 暂存代码并从 master 签出一个新分支 B。然后我重新checkout branch staging 和stash pop 之后我点击IDEA 的面板↘️ 来checkout branch B,IDEA 要求我确认checkout。我选择了Smart Checkout,然后在新的 B 分支继续我的开发并提交。 当我将 B 合并到 staging 时,我无法从 B 中找到新功能。我必须从 B 中挑选提交。为什么?智能结账做了什么?它似乎将某些东西标记为未修改。

【问题讨论】:

标签: git intellij-idea version-control


【解决方案1】:

Intellij 的想法help 页面中提到了以下关于分支之间的切换:

多任务处理时,经常需要在分支之间跳转来提交 不相关的变化。

在分支弹出窗口或 Git 工具窗口的分支窗格中,在本地下选择要切换到的分支 分支并从可用操作列表中选择 Checkout。

接下来会发生什么取决于您尚未提交的本地更改与分支之间是否存在冲突 你要签出:

如果您的工作树是干净的(这意味着您没有未提交的更改),或者您的本地更改不与 指定的分支,该分支将被签出(通知将 IntelliJ IDEA 窗口右下角弹出)。

如果您的本地更改将被结帐覆盖,IntelliJ IDEA 会显示阻止您检查的文件列表 退出选定的分支,并建议在 Force Checkout 之间进行选择 和智能结帐。

如果您单击强制签出,您本地未提交的更改将被覆盖,并且您将丢失它们。

如果点击 Smart Checkout,IntelliJ IDEA 将搁置未提交的更改,签出选中的分支,然后取消搁置 变化。如果在取消搁置操作期间发生冲突,您 将提示合并更改。

【讨论】:

    猜你喜欢
    • 2019-05-25
    • 2011-05-30
    • 2010-12-11
    • 1970-01-01
    • 1970-01-01
    • 2014-08-13
    • 2014-12-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多