【问题标题】:Git stash/whatever on every git switch?Git stash/whatever 在每个 git 开关上?
【发布时间】:2022-01-08 18:55:14
【问题描述】:

我们能不能有这样的功能,我们称之为git switch-for-humans,它会让我忘记存储/切换/提交/修改/等。 (并且每次都选择正确的一个)一劳永逸:

  1. 当我在分支 A 并且我想切换到分支 B 时,我只是这样做: $ git switch-for-humans B 此时,我的工作树无论处于何种状态(与所有已跟踪/未跟踪/etc.files 一样)都被神奇地隐藏或保存在特定于分支 A 的某个存储中
  2. 我到了 B 分店。
  3. 我做任何类型的切换
  4. 在某个时候,通过调用“git switch-for-humans A”,我回到了 A,工作树神奇地恢复了。

此保存/恢复适用于每个分支,无需用户方面的任何其他操作。

是否有一些已知的方法可以从 git 中获取此类行为?..

【问题讨论】:

  • 好吧,我想拥有它会很酷!但是...包括未跟踪的文件?这是相当雄心勃勃的。如果他们被 git 忽略了怎么办?标记为假定不变的文件呢?我怀疑有太多的边缘情况是不可能的。
  • @joanis 好问题!我想我们会有选择,就像我们已经在 git 中拥有几乎所有东西一样)问题是 - 我真的认为有人必须已经根据一些钩子/命名的存储/东西(顺便说一句)想出了一些解决方案有那些我不知道的未跟踪选项等)。
  • 我不认为这仅仅是因为人类 A 想让它做 A 事,人类 B 想让它做 B 事,人类 C 想让它做 C 事,等等。如果你找到足够多的人,他们都想要同样的东西,你可能会找到做过这件事的人,但我绝对不会成为对人类想要什么做出假设的人。 :-)

标签: git user-experience git-stash


【解决方案1】:

git switch-for-humans 可以包含的一种更简单的方法是将multiple working treesgit worktree 结合使用。

每个工作树都是一个签出的分支,您可以在其中工作和修改/提交文件。

每个git switch-for-humans 只需cd(更改目录)到正确的工作树,或者如果它不存在则创建它。
它甚至可以更改符号链接,以便您的项目(可能在 IDE 中打开)自动引用正确的工作树/文件夹。

【讨论】:

  • 这就是我一直在寻找的答案。谢谢!
猜你喜欢
  • 2013-03-26
  • 1970-01-01
  • 2012-09-10
  • 1970-01-01
  • 2017-11-25
  • 2013-02-23
  • 2023-03-21
  • 2014-03-11
相关资源
最近更新 更多