【问题标题】:Why git modification on a branch also modify another为什么一个分支上的 git 修改也会修改另一个
【发布时间】:2014-10-07 22:50:59
【问题描述】:

我已经阅读了这个问题:Modified files in a git branch are spilling over into another branch 并且我了解(我希望) git 是如何工作的。

你能解释一下为什么它会这样工作吗,我不明白这种心态。我只发现了缺点,没有发现优点......

【问题讨论】:

    标签: git


    【解决方案1】:

    这个想法是不要在没有明确用户授权的情况下更改正在修改的文件:这就是“心态”:没有不需要的“惊喜”。

    更改分支不会更改默认情况下已修改的文件。
    如果在所述结帐期间这些修改的文件将被覆盖,它实际上会阻止结帐:由用户决定这些更改是保留还是保留。

    “实际”:您不希望工具“为您”做任何事情。您想按照您的意图使用该工具。

    如果您打算清理未跟踪的文件:

    工具本身无法决定在切换分支时应该如何处理那些未跟踪/修改的文件。

    【讨论】:

    • 好主意,它看起来很棒,但实际上:我正在做master,当我想进行重构时,我已经修改了一些文件。因此,我创建了一个新的分支重构并着手处理它。我删除了一些我之前在 master 上创建但尚未提交的文件。重构最终不是一个好主意,我决定“恢复”到 master 并删除 refato 分支。但在主分支未提交的文件中,从“重构”分支中删除。我该怎么做才能避免这个问题?即使我很理解这个想法,我也不明白为什么 git 会这样工作,有什么好处?
    • @Calfater “实际中”:您不希望工具“为您”做任何事情。您想按照您的意图使用该工具。如果您打算清理未跟踪的文件,请清理工作树:stackoverflow.com/a/64966/6309,或使用 (stackoverflow.com/a/19032417/6309) git checkout -- . 重置它(如果您想稍后重用正在进行的工作,则将其隐藏stackoverflow.com/a/20609889/6309
    猜你喜欢
    • 2022-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多