代码之家  ›  专栏  ›  技术社区  ›  sligocki

禁用Git临时区域

  •  17
  • sligocki  · 技术社区  · 14 年前

    我真的不喜欢Git的舞台,它只是让我的生活变得不必要的混乱。

    是否可以禁用它,以便所有编辑的和新的文件都在一个上下文中?这样Git diff就可以显示存储库和我的工作目录之间的差异(我不必再键入gitdiff--cached),这样Git ci就可以检查我的整个工作副本(而不仅仅是分段的部分)。

    如果没有,其他的选择(比如设置cofigurations),使我看起来没有一个舞台,也是很好的。

    我没有选择换一个不同的DVC,我也不想学着喜欢舞台。请不要发布以下建议:(

    谢谢, -肖恩

    附言:我在superuser.com上问过这个问题, https://superuser.com/questions/192022/disable-git-staging-area ,但该论坛的帖子似乎少得多(这里只有118个标签的Git,而这里只有4448个)

    5 回复  |  直到 9 年前
        1
  •  7
  •   Roman Starkov    11 年前

    不,你学会了爱它。

    更严重的是, git add -A; git commit 可能是你的朋友。这样,您就可以避免大多数与临时区域的交互(和好处)。

    git add -A 比平时更强大 git commit -a . 它将找到新的文件,以及分段修改的内容,并删除不再在工作树中的文件。

        2
  •  4
  •   Eric O. Lebigot    14 年前

    化名是你的朋友。

    例如,您可以在 .gitconfig

    [alias]
            di = diff HEAD
            co = commit -a
    

    你可以简单地做 git di 你有自己的差异,或者 git co 并获得自己的提交命令。

        3
  •  2
  •   matpie    14 年前

    你可以只用 git commit -a 提交所有更改/删除的文件。您仍然需要手动添加未跟踪的文件。

    我来自颠覆,起初也被集结地搞糊涂了。但你会发现它非常有用。如果对已测试的更改进行阶段化处理,但进行了更多破坏生成的更改,则可以重新设置为阶段化更改。

        4
  •  1
  •   Josh K    14 年前

    舞台区域(IMO)是Git最大的优势之一,它真正展示了它与其他任何DVC的不同之处。

    你可以用

    git commit -a
    

    自动添加更改的文件。但对于未跟踪的文件,您是自己的。实践 git add . && git commit .

    如果你不喜欢它,就用另一台录像机。强制使用Git存储库?查看一些可用的兼容插件,例如 hg-git .


    就我个人而言,我会学会发挥吉特的优势,而不是与之抗争。想象一下,您正处在一个混乱的大分支的中间,但是您需要为生产提交一些有选择的更改。繁荣, git add [files] 然后承诺并推动。回去工作,别把其他事情搞砸了。还有无数其他的例子,但这也许是最容易理解的。

        5
  •  0
  •   slebetman    14 年前

    我不想学着喜欢舞台。请不要发布以下建议:(

    像其他人一样。我建议你学着喜欢舞台。尽管90%的时间你会忽视它,但它确实很有用。

    如果你现在不觉得它有用,那么我认为你在考虑错误的承诺。你仍然在考虑单个文件或者所有东西。考虑提交的正确方法是按功能/修复,并且功能/修复通常跨多个文件分布。您应该将相关的更改分组为单个提交。有时,这组变化并不包含所有当前的变化。这就是登台变得有用的时候。

    我知道这不是你想听到的,但事实上,当你停止与工具战斗并学会与之共存的那一刻,就是当你不再“痛苦”地使用工具的那一刻。