首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >仅在Git中存储未暂存的更改

仅在Git中存储未暂存的更改
EN

Stack Overflow用户
提问于 2011-10-05 00:05:04
回答 10查看 67.3K关注 0票数 302

我想做以下工作流程:

  1. 将更改添加到舞台。
  2. 隐藏所有其他未暂存的更改。
  3. 在stage中做一些事情(例如构建、运行测试等),
  4. 应用stash。

有没有办法完成第二步?

示例

代码语言:javascript
复制
 echo "123" > foo
 git add foo # Assumes this is a git directory
 echo "456" >> foo
 git stash
 cat foo # Should yield 123
EN

回答 10

Stack Overflow用户

回答已采纳

发布于 2011-10-05 00:10:51

git stash push有一个选项--keep-index,它可以完全满足您的需求。

因此,运行git stash push --keep-index

票数 371
EN

Stack Overflow用户

发布于 2015-04-25 18:13:13

这可以通过3个步骤来完成:保存暂存的更改,存储其他所有内容,使用暂存的更改恢复索引。这基本上就是:

代码语言:javascript
复制
git commit -m 'Save index'
git stash push -u -m 'Unstaged changes and untracked files'
git reset --soft HEAD^

这将完全符合您的要求。

票数 63
EN

Stack Overflow用户

发布于 2017-06-29 19:48:49

使用git version 2.7.4,您可以这样做:

代码语言:javascript
复制
git stash save --patch

git将询问您是否将更改添加到stash中。

然后你只需回答yn

您可以像往常一样恢复工作目录:

代码语言:javascript
复制
git stash pop

或者,如果您想将保存的更改保存在stash中:

代码语言:javascript
复制
git stash apply
票数 20
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7650797

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档