有没有办法 git stash,同时排除一些特定文件?

问题描述 投票:0回答:1

在我现在的公司,不幸的是,我们像宗教一样使用

git rebase
,我经常发现自己使用交互式变基工具来修补主题和功能之间存在冲突的提交,并且有时我尝试遵循原子提交策略将更改分组到特定问题域(例如,特定类或类组)。

更重要的是,我经常遇到这样的用例:我想一次创建 2 个

stash
条目:

  1. 我想要附加到历史记录中特定提交的文件
    diff
    ,其中相关更改已提交
  2. 与 #1 中的目标提交无关的其余更改

如果我按照这个顺序存储(

git stash push path/to/related/change; git stash --include-untracked
),那么当我在交互式变基提交补丁过程中检索存储时,存储将是 git 存储中的索引 2,这意味着我不能只写
git stash pop
,我得写
git stash pop stash@{1}
,而且语法真的很容易出错,写起来很分散注意力,所以我不喜欢这样做。

据我所知,解决此问题的可行方法是能够

stash push
所有工作更改(且未跟踪),同时排除 fp 模式。目前这是否可行,对于日常使用是否实用/方便?

git workflow rebase
1个回答
0
投票

您可以

pathspec
中排除文件。

git stash --include-untracked -- ':!path/to/exclude' 
© www.soinside.com 2019 - 2024. All rights reserved.