gpt4 book ai didi

git 如何在不提交更改的情况下切换分支

转载 作者:太空狗 更新时间:2023-10-29 13:46:36 27 4
gpt4 key购买 nike

我在 branchX 工作,它有十几个我不想提交的配置文件。所以我将所有配置文件标记为--skip-worktree。现在我想换成branchY。我该怎么做?

我试过了

git checkout branchY

它说

Please commit your changes or stash them before you switch branches.

所以我试着把它们藏起来,用

git stash save

但是它说

No local changes to save

非常烦人。显然唯一的解决办法是

  1. 使用 git ls-files -v 获取所有 skip-worktree 文件的列表
  2. 对于每个文件,删除 skip-worktree
  3. git 存储保存
  4. git checkout branchY
  5. git stash pop
  6. 手动解决与--他们的的任何冲突
  7. 对于每个文件,再次添加 skip-worktree 标志

有没有更简单的方法?

最佳答案

我正在使用 git 1.9.1 并且可以使用树中已有文件的更改来切换分支,然后使用 git update-index --skip- 跳过工作树文件名

文件在切换后没有改变(即没有改变到我切换到的分支中的版本)。

(我认为这是自 1.7.7 以来的行为,因为它的发行说明声明 *“git stash”学习了一个“--include-untracked option”。 但是 1.7 .7 是在你问这个问题之前发布的,所以我不知道。)

请注意,当尝试切换到没有文件的分支时,git 仍然会提示

error: Your local changes to the following files would be overwritten by checkout: f1.config

关于git 如何在不提交更改的情况下切换分支,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43770228/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com