【问题标题】:What does "git checkout" do if no argument is provided?如果没有提供参数,“git checkout”会做什么?
【发布时间】:2018-03-09 11:33:57
【问题描述】:

我不小心在 GIT CMD 中输入了git checkout,而我的工作分支中没有任何参数。父分支名称是 development。 在我点击命令后,它显示以下内容:

M       analytics-engine/build.gradle
M       analytics-engine/src/main/groovy/com/oracle/emcsas/securityanalytics/stats/timebucket/ExternalizeTimeBucket.java
M       analytics-engine/src/main/groovy/com/oracle/emcsas/securityanalytics/stats/timebucket/TimeBucket.java

但我没有注意到我的本地分支有任何变化。所有的变化都在那里。那么它实际上做了什么。

git 版本 2.15.0.windows.1

【问题讨论】:

  • 一个不同但相关的问题是:您想要它做什么?你为什么执行它?只学git?还是您执行它是希望它做一些特定的事情?
  • 你读过documentation of git checkout吗?它在那里解释:“你可以省略 ,在这种情况下,命令退化为“检查当前分支”,这是一个美化的无操作,具有相当昂贵的副作用,只显示跟踪信息,如果存在,则用于当前分支。"

标签: git


【解决方案1】:

The documentation says

git checkout

...

您可以省略 ,在这种情况下,命令会退化为“检查当前分支”,这是一个美化的空操作,具有相当昂贵的副作用,仅显示跟踪信息(如果存在)当前分支

【讨论】:

  • 说“有相当昂贵的副作用”到底是什么意思?
【解决方案2】:

它会显示当前分支中当前已修改和未提交的文件

【讨论】:

  • 如果有跟踪分支它等于git checkout -b <branch> --track <remote>/<branch>
  • @evolutionxbox - 不,它没有,如果你试图解释 <branch> 在你所谓的等效命令中是什么,那么很明显,同时记住问题是当你不这样做时会发生什么' t 提供分支名称。
  • @MarkAdelsberger 我从 git 文档中获得了这些信息。 git-scm.com/docs/… - "如果 未找到,但在一个远程(称为 )中确实存在一个具有匹配名称的跟踪分支,则视为等效于 [...]"我>
  • @evolutionxbox - 好的。因此,在您的估计中,如果我说 git checkout 没有进一步的参数,那么在等效命令中设置的 <branch> 是什么?
  • 嗯。好点,我想我已经阅读了文档的那部分,并假设它在没有分支时使用。不是,只有当遥控器存在时。
猜你喜欢
  • 2020-12-23
  • 2018-11-05
  • 1970-01-01
  • 2013-11-27
  • 2018-11-23
  • 1970-01-01
  • 2021-06-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多