可以从git存储中删除单个文件吗?

可以从git存储中删除单个文件吗?,git,dvcs,git-stash,Git,Dvcs,Git Stash,是否可以在不弹出整个隐藏文件的情况下保存另一个,而不保存此特定文件?在弹出堆栈后,您可以尝试将不想隐藏的文件标记为“未更改”: ,然后尝试隐藏,检查是否包含所述文件 : 指定这些标志后,不会更新为路径记录的对象名称。 相反,这些选项设置并取消设置路径的“假定未更改”位 当“假定未更改”位处于启用状态时,git将停止检查工作树文件以进行可能的修改,因此您需要手动取消设置该位,以便在更改工作树文件时通知git。 当在具有非常慢的lstat(2)系统调用(例如cifs)的文件系统上处理大型项目时,这有

是否可以在不弹出整个隐藏文件的情况下保存另一个,而不保存此特定文件?

在弹出堆栈后,您可以尝试将不想隐藏的文件标记为“未更改”:

,然后尝试隐藏,检查是否包含所述文件

:

指定这些标志后,不会更新为路径记录的对象名称。
相反,这些选项设置并取消设置路径的“假定未更改”位

当“假定未更改”位处于启用状态时,git将停止检查工作树文件以进行可能的修改,因此您需要手动取消设置该位,以便在更改工作树文件时通知git。
当在具有非常慢的
lstat(2)
系统调用(例如
cifs
)的文件系统上处理大型项目时,这有时很有用

此选项还可用作粗略的文件级机制,以忽略跟踪文件中未提交的更改(类似于
.gitignore
对未跟踪文件所做的操作)


简短回答:不,堆栈不是这样工作的。不过,您可以执行以下操作以获得所需的结果

假设您已经隐藏了一些其他更改,然后对索引进行了一些修改(原始更改),并且您决定在修改隐藏的同时保留这些更改:

#verify the state you are in
git stash list
git status

git stash #push work in progress on the stash
git stash list #check which stash you need
git stash show stash@{1} #check the changes in the stash

git stash pop stash@{1} #you're now ready to change your 'other' changeset
# hack hack
git stash #modified 'other' change set pushed on the stash
git stash pop stash@{1} #your 'original changes'
我建议使用此工作流,而不是直接修改隐藏。如果你在隐藏号码中迷失了方向,你也可以使用git stash save“其他一些更改”

在某个时刻(可能比你想象的更近),跟踪真正的分支会更容易

--assume-unchanged
--no-assume-unchanged
#verify the state you are in
git stash list
git status

git stash #push work in progress on the stash
git stash list #check which stash you need
git stash show stash@{1} #check the changes in the stash

git stash pop stash@{1} #you're now ready to change your 'other' changeset
# hack hack
git stash #modified 'other' change set pushed on the stash
git stash pop stash@{1} #your 'original changes'