【发布时间】:2015-08-06 16:31:35
【问题描述】:
每次我想提交我所做的更改时,我都必须选中“未暂存的文件”框,即使我之前已经提交了它们,并且只修改了它们的内容。
我在任何地方都找不到此设置。有吗?如果没有,有什么原因吗?和/或是否有解决方法?
谢谢
【问题讨论】:
标签: git atlassian-sourcetree staging
每次我想提交我所做的更改时,我都必须选中“未暂存的文件”框,即使我之前已经提交了它们,并且只修改了它们的内容。
我在任何地方都找不到此设置。有吗?如果没有,有什么原因吗?和/或是否有解决方法?
谢谢
【问题讨论】:
标签: git atlassian-sourcetree staging
您的问题的答案是“不。您不能那样做。”
原因是设计者认为两阶段提交会很有用。虽然这是真的,但他们仍然没有理由不能进行两阶段提交,除非你取消它,否则一切都开始分阶段。从外部看,这看起来像是设计师认为他们比用户更了解什么对用户来说是正确的。
【讨论】:
您所面对的称为two stage commit。这实际上非常有用:
- 将工作拆分为单独的提交。
您可能已经打开过很多次 文件来写一个单行修复,但同时你发现了 格式错误,一些文档可以改进,或者 其他一些不相关的修复。对于其他 RCS,您必须这样写 记下或提交到记忆中,完成你来的修复,提交, 然后返回修复其他东西(或创建一个泥球提交 与无关的东西)。使用 Git,您只需一次修复所有问题,然后 stage+commit 单独一行,使用 git add -i 或 git-gui。
- 不要破坏构建。
您正在进行一项复杂的修改。 所以你尝试不同的东西,其中一些比其他的效果更好, 一些破坏事物的东西。使用 Git,您可以在 修改使事情变得更好,并结帐(或进行更多调整) 当修改不起作用时。您不必依赖 编辑器的撤消功能,您可以改为签出整个仓库 只是逐个文件,以及任何文件级错误(例如删除 错误后尚未提交或保存+关闭的文件 修改)不会导致大量工作丢失。
另见:
【讨论】: