签出不同的分支时删除 git 中未暂存的、未提交的文件
Remove unstaged, uncommitted files in git when checking out a different branch
我删除了特定分支的本地和远程分支
git branch -d branchName
git branch --delete --remotes origin/branchName
当我签出另一个分支时,我在 运行 git status
时仍然看到 untracked/uncommitted 文件。
这些文件没有任何我想保留或暂存或提交的更改。当我 运行 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
有没有办法做到这一点,如果有,是怎么做到的?
通常,要撤消对所有文件的更改并将它们恢复到上次提交的状态,您会这样做:
git reset --hard
(此处隐含HEAD
)(doc)
警告但是:这是不可撤销的。
您也可以只 git stash
,这样也可以删除更改,但如果您想稍后取回它们或只是检查它们,您可以使用简单的git stash show <stashRef>
,或 git apply <stashRef>
,其中 <stashRef>
可通过 git stash list
.
找到
为了回答您关于存储的评论,如果您存储了一些东西并且不再需要它,您有两种清理旧存储条目的方法:
# global
git stash clear
# or specific
git stash drop <entryRef>
(其中 <entryRef>
是通过 git stash list
找到的)
我删除了特定分支的本地和远程分支
git branch -d branchName
git branch --delete --remotes origin/branchName
当我签出另一个分支时,我在 运行 git status
时仍然看到 untracked/uncommitted 文件。
这些文件没有任何我想保留或暂存或提交的更改。当我 运行 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
有没有办法做到这一点,如果有,是怎么做到的?
通常,要撤消对所有文件的更改并将它们恢复到上次提交的状态,您会这样做:
git reset --hard
(此处隐含HEAD
)(doc)
警告但是:这是不可撤销的。
您也可以只 git stash
,这样也可以删除更改,但如果您想稍后取回它们或只是检查它们,您可以使用简单的git stash show <stashRef>
,或 git apply <stashRef>
,其中 <stashRef>
可通过 git stash list
.
为了回答您关于存储的评论,如果您存储了一些东西并且不再需要它,您有两种清理旧存储条目的方法:
# global
git stash clear
# or specific
git stash drop <entryRef>
(其中 <entryRef>
是通过 git stash list
找到的)