没有提交的Git结账

时间:2015-10-19 20:36:29

标签: git

是否有必要在结帐前提交git存储库?我听说过,因为我可以失去这些变化。但是,在修改文件并签出后,我可以很容易地回到我以前的分支机构而且我没有失去任何工作。该文件具有M状态。

他们声明M $ git checkout master M README Switched to branch 'master' $ cat README This is the README file. This line was added in the working directory while in the test branch. 表示合并(这很奇怪,我认为它会通知我有关修改的内容)。

M README

来自' Git Checkout而不提交:没有冲突'部分。 % Loc : LAT = -19.6423 LON = -70.817 DEP = 21.5451196625 是什么意思?

感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

如果可以删除任何当前修改,则git checkout不会进行处理。

https://git-scm.com/book/en/v2/book/01-introduction/images/areas.png

(图片来自" Getting Started - Git Basics")

example mentioned实际上使用git checkout -m(并且没有提交),这意味着合并了修改:

-m
--merge
  

切换分支时,如果对当前分支和要切换的分支之间的一个或多个文件进行本地修改,则命令拒绝切换分支以保留你在上下文中的修改。

     

但是,使用此选项,当前分支,工作树内容和新分支之间的三向合并已完成,您将进入新分支。

最好在结帐前提交(或隐藏)当前更改,但checkout -m至少可以合并这些更改而不是失败(或者在checkout -f的情况下删除它们(另请参阅& #34; What's the difference between “git reset” and “git checkout”?"。)

  

M README是什么意思

这是未分级(和未提交)的修改,正在进行的工作 git checkout -m允许将修改合并到目标分支中,而不是简单地git checkout失败。
另请参阅" What’s In The Index? What’s Changed?"。

https://git-scm.com/figures/18333fig0201-tn.png