首页 > 解决方案 > 如何存储工作树的完整状态,包括忽略、未跟踪、暂存和/或未暂存文件?

问题描述

我有一个客户做了一堆乱七八糟的事情,我想把它藏起来,这样我就有了一个原始状态,但可以在以后恢复到乱七八糟的状态。我想隐藏然后恢复的东西可能包括:

简而言之,我希望通过git clone创建一个新客户端并在那里完成工作获得相同的效果,但都在同一个客户端中。


编辑:一个特定的情况,比如git stash -a无法完成我想要的事情:

touch new_file
git add -N new_file
git stash -a

这会导致错误并且stash什么都不做。

标签: gitgit-stash

解决方案


可以使用git stash -a. 这是可用的最完整的选项git stash

如果您需要更复杂的东西或需要其他功能,例如保留可执行位以外的权限,那么您将不得不求助于将文件复制到另一个目录或使用tar.

您还可以使用git branch创建另一个具有相同历史记录的分支并使用git worktree在其他地方检查它,然后将文件复制过来。


推荐阅读