📜  git stash 应用特定文件 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:30:56.624000             🧑  作者: Mango

使用 Git Stash 应用特定文件

Git Stash 是一个强大的 Git 命令,可以将当前工作目录中的修改保存在一个“储藏”中,以便稍后可以重现当前状态。但是,有时我们不需要保存全部的修改,而只需要保存特定的文件。本文将介绍如何使用 Git Stash 应用特定文件。

1. 将特定文件保存在储藏中

首先,我们需要将特定文件保存在一个储藏中。可以使用以下命令:

git stash save --keep-index "message"

这个命令会将当前工作目录中所有已修改但未提交的文件保存在一个储藏中,并且保留索引。--keep-index 选项是必需的,它确保不会将索引中未添加的修改保存在储藏中。

save 命令后面的 "message" 中,可以为储藏添加一条简短的说明。

现在,我们可以删除不需要保存的文件,并在需要时将储藏应用到工作目录中。

2. 应用储藏并丢弃不需要的文件

使用以下命令应用储藏:

git stash apply stash@{0}

这个命令将储藏 stash@{0} 应用到当前工作目录中。如果储藏中只有一个文件,那么它会自动应用。如果储藏中有多个文件,那么它们会被应用到工作目录中,但是索引不会更新,因此修改仍然未添加。

现在,我们可以使用以下命令来清除不需要的修改:

git checkout -- path/to/file

这个命令将文件恢复到上一次提交时的状态,即丢弃了所有未提交的修改。

3. 应用储藏并保留不需要的文件

如果你想应用储藏并且仍然保留不需要的文件,那么可以使用以下命令:

git stash apply stash@{0} --index

--index 选项可用于将索引更新以反映储藏中的修改。这将导致所有文件上的未提交的修改都被取消,但是你可以使用以下命令为单个文件添加它们:

git add path/to/file

这个命令将单个文件添加到索引中,然后可以提交这个索引。

结论

使用 Git Stash 应用特定文件可以让你轻松地保存和恢复修改,同时也可以保留不需要保存的文件。将本文中的命令用于实践中,希望对您有所帮助!