GIT:在签出另一个分支之前,我是否需要提交我的分支,那么隐藏呢?

GIT:在签出另一个分支之前,我是否需要提交我的分支,那么隐藏呢?,git,git-commit,git-stash,Git,Git Commit,Git Stash,我是Git新手,有点困惑。我有一个主分支,并创建了第二个要素分支 如果我在功能分支中进行更改,然后切换到主功能,如果我不提交,我的更改会丢失吗 隐藏在哪里起作用,是在切换分支之前做的事情(但不想提交),还是简单地恢复一些更改以便可以临时返回到以前的代码?除非清除树,否则无法更改到另一个分支。这是通过提交更改、恢复更改或将更改保存到存储库来完成的。您可能不想为此使用存储库 如果您真的想同时在master和功能分支上开发,我建议您克隆存储库,在clone和master中工作,然后使用push和pul

我是Git新手,有点困惑。我有一个主分支,并创建了第二个要素分支

如果我在功能分支中进行更改,然后切换到主功能,如果我不提交,我的更改会丢失吗


隐藏在哪里起作用,是在切换分支之前做的事情(但不想提交),还是简单地恢复一些更改以便可以临时返回到以前的代码?

除非清除树,否则无法更改到另一个分支。这是通过提交更改、恢复更改或将更改保存到存储库来完成的。

您可能不想为此使用存储库

如果您真的想同时在master和功能分支上开发,我建议您克隆存储库,在clone和master中工作,然后使用push和pull在它们之间移动更改


如果你经常在它们之间切换,我建议在切换之前先登记;登记垃圾没有什么错;git使得以后很容易解决这个问题

这是我的情况。我有一些网站的解决方案。我想在同一时间在不同版本的项目上工作,我不想为每个项目使用不同的工作目录。因此,我正在寻找一种在不同版本的项目之间切换的方法,但让git为我管理更改周围的所有文件,这样我就可以使用指向每个网站的一个IIS设置,而不必更改指向特定路径的所有设置等。请注意,
隐藏
的工作方式是按照您的建议签入。它在存储库中是一个有效的提交,就像其他提交一样。它恰好不是从分支ref引用的,但是它被
隐藏
ref固定。请参见此处的讨论部分:啊,但是如果您的注意力转移到其他事情上,很容易忘记您隐藏的事实。在我看来,向你的分公司负责人交代比较安全。我认为这是一个非常糟糕的建议。当你可以做另一个克隆时,分支有什么用?!我不明白你的评论;你能扩展吗?在我的回答中,我建议使用克隆,但如果用户喜欢使用单个存储库,我建议不要使用隐藏。
git checkout
将在切换分支时“结转”阶段性和非阶段性更改,只要更改仅限于当前分支和新分支中相同的文件(即,如果将更改应用于任一分支,则不存在冲突的可能性)。此外,可以使用
git checkout--merge
强制进行合并尝试,但这可能会导致合并冲突,并且这些冲突可能难以解决(这可能会导致难以返回到预签出状态).哇,我不知道是谁,但感谢-2的否决票…我前一阵子也想到了这一点,但在撰写本文时,我记得这是不可能的。这是Git 1.7的新版本吗?