检出其他分支时,请在git中删除未暂存,未提交的文件

时间:2019-03-22 20:28:58

标签: git git-commit unstage

我删除了特定分支的本地和远程分支

git branch -d branchName
git branch --delete --remotes origin/branchName

当我签出其他分支时,运行git status时仍然看到未跟踪/未提交的文件。

这些文件没有我要保留,暂存或提交的任何更改。当我在其他分支上运行git status时,我不想看到他们坐在该区域中

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:   ../../../../path/to/folder/file.html
    modified:   ../../../../path/to/folder/file.js

我想在结帐的任何分支上运行git status时看到此信息

On branch proj/branch/#
Your branch is up to date with 'origin/proj/branch/#'.

nothing to commit, working tree clean

有办法做到这一点吗?

1 个答案:

答案 0 :(得分:1)

通常,要撤消所有文件上的更改并将它们恢复到最后的提交状态,您可以这样做:

git reset --hard

(暗指HEAD)(doc

警告:但这是不可撤消的。

您也可以只git stash,这样也可以摆脱更改,但是如果您想稍后再找回它们或者只是检查它们,则可以使用简单的{{ 1}}或git stash show <stashRef>,其中git apply <stashRef><stashRef>一起找到。


要回答您对存储的评论,以防万一您藏了东西而不再需要它了,您有两种清除旧存储项的方法:

git stash list

(其中# global git stash clear # or specific git stash drop <entryRef> 是通过<entryRef>找到的)