我想 checkout 以前的提交,但我已经做了更改,所以它提示我先提交或隐藏更改。在我想提交它们的时候,我还没有更改。这是git stash的工作吗?它会保存我的更改,这样如果我 checkout 以前的提交,然后返回HEAD,完成我的更改,然后提交,我在stashing之前和之后的所有更改都将包含在该提交中?
git stash
xxb16uws1#
是的,这正是git stash的作用。它将保存您的更改,您可以稍后使用git stash pop恢复它们。(这是简单的用法。git stash pop将获得您保存的最后一项内容。)假设您正在处理main。
git stash pop
main
git stash # Saves and removes your changes git checkout HEAD^ # Checkout previous commit # Play around here. git checkout main # Go back to the branch you were using. git stash pop # Restore your work.
snz8szmq2#
我还没有在我想要提交它们的地方进行更改。是的!你确实想创建一个commit,只是这个commit不会是最终的形式,所以它需要在以后修改,这很好-这基本上是使用git的核心功能!
虽然git stash存在,但你比never using it好得多,而是创建普通的temporary commits(使用命名约定使它们可见为such 1)。1并且它不仅必须是====前/后固定,如建议的,我有一个commit的ci别名,通常运行git ci -am ci来完成git stash所能完成的任务,但没有创建真实的提交的好处。很明显,在任何final分支上都不是有效的提交消息,它不会冒被留在最后一个分支上的风险。
====
commit
ci
git ci -am ci
2条答案
按热度按时间xxb16uws1#
是的,这正是
git stash
的作用。它将保存您的更改,您可以稍后使用git stash pop
恢复它们。(这是简单的用法。git stash pop
将获得您保存的最后一项内容。)假设您正在处理
main
。snz8szmq2#
我还没有在我想要提交它们的地方进行更改。
是的!你确实想创建一个commit,只是这个commit不会是最终的形式,所以它需要在以后修改,这很好-这基本上是使用git的核心功能!
虽然git stash存在,但你比never using it好得多,而是创建普通的temporary commits(使用命名约定使它们可见为such 1)。
1并且它不仅必须是
====
前/后固定,如建议的,我有一个commit
的ci
别名,通常运行git ci -am ci
来完成git stash
所能完成的任务,但没有创建真实的提交的好处。很明显,在任何final分支上都不是有效的提交消息,它不会冒被留在最后一个分支上的风险。