我如何保存一个特定的文件,而不保存当前修改的其他文件?

例如,如果git状态告诉我:

younker % gst      
# On branch master
# Your branch is ahead of 'origin/master' by 1 commit.
#
# Changes not staged for commit:
#   (use "git add <file>..." to update what will be committed)
#   (use "git checkout -- <file>..." to discard changes in working directory)
#
#   modified:   app/controllers/cart_controller.php
#   modified:   app/views/cart/welcome.thtml
#
no changes added to commit (use "git add" and/or "git commit -a")

我只想存储app/views/cart/welcome.thtml,我该怎么做?类似于(但当然这不起作用):

git stash save welcome_cart app/views/cart/welcome.thtml

当前回答

在vs代码的源代码控制选项卡中,按住shift键,然后选择要隐藏的文件,然后右键单击并选择隐藏更改选项。

其他回答

在vs代码的源代码控制选项卡中,按住shift键,然后选择要隐藏的文件,然后右键单击并选择隐藏更改选项。

简单快捷的解决方案:

git stash -- finename.ext

在您的情况下,git stash--app/views/cart/welcome.thtml

git状态(确保您的更改可以隐藏)

src/config/bl.go

src/config/dl.go

如果你只想隐藏dl.go

git stash push-m“<enter your msg eg:dl files reted>”src/config/dl.go

显示隐藏列表

git隐藏列表

然后签出你的分行并申请存款

git存储应用存储{0}

为了补充svick的答案,-m选项只需将消息添加到您的存储库中,并且是完全可选的。因此,命令

git stash push [paths you wish to stash]

完全有效。例如,如果我只想将更改保存在src/目录中,我可以运行

git stash push src/

如果您可以使用GIT GUI客户端,那么截至2020年5月,Fork可以非常无缝地做到这一点。部分隐藏功能的GIF将比任何文字更好地显示这一点:

请注意,Fork(这对谷歌来说是一个很难的名字!)不是免费软件,在评估期后需要50美元,但你可以像WinRAR或WinZip那样忽略弹出窗口。