首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Git stash推送,无需修改

Git stash推送,无需修改
EN

Stack Overflow用户
提问于 2019-01-24 02:18:56
回答 2查看 338关注 0票数 1

通常在我运行的时候:

代码语言:javascript
运行
复制
git stash push --all

如果我没有任何修改,则不会将任何内容推送到stash上。在这种情况下,是否有可能强制推送,以便git stash push --all && git stash pop始终提供身份?

我之所以这样问,是因为在一些脚本中,我想要stash push,做一些事情,和stash pop,如果stash推送没有创建新的stash,stash pop可能会弹出旧的和无关的stash。另一种解决方案是从GitPython检测到没有发生存储(我会说通过比较两个连续repo.git.stash("list")的输出),但这也会使代码变得有点复杂。

谢谢!

EN

回答 2

Stack Overflow用户

发布于 2019-01-24 02:28:10

git stash的一般用途是存储您不想提交的更改的数据,或者稍后当您交换到另一个分支时返回到此更改。那么,如果您没有任何未提交的更改,您希望如何隐藏某些内容?我认为这是你的行为与变化的问题。获得相同结果的更简单方法是将存储库/分支状态重置为实际提交,然后隐藏pop。我的意思是我会向你推荐这样的东西。git stash -> do some stuff -> git reset --hard (这将丢弃所有本地更改,但不会清除stash),然后在"do some stuff“之前使用git pop获取状态。

票数 0
EN

Stack Overflow用户

发布于 2019-01-24 06:14:18

除了torek的评论之外,即使这不能解决我最初的问题,但这对我的问题来说已经足够了:我想指出GitPython repo.is_dirty(untracked_files=True)的功能,它很有用,可以检查您是否有任何东西到stash push --all。这样我就可以保存这个值以备以后使用,并且如果我之前没有使用stash push --all,就不会使用stash pop

注意:到目前为止,它似乎是有效的,但可能我错过了一些在某些情况下可能很重要的重要选项,所以如果是这样的话,请让我知道!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54333374

复制
相关文章

相似问题

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