git - 执行 git stash 不会删除 git local 中的更改

标签 git git-stash

<分区>

当我执行 git status 时,我看到一些文件有本地更改(似乎是缩进更改)。

当我执行 git stash 时,它不会从队列中删除这些文件。它阻止我的自动 pull 脚本从远程 git 获取。

$ git stash
Saved working directory and index state WIP on develop: 05c60a5 Merge remote-tracking branch 'origin/develop' into develop
HEAD is now at 05c60a5 Merge remote-tracking branch 'origin/develop' into develop

$ git stash
On branch develop 
Your branch and 'origin/develop' have diverged and have 23 and 127 different commit(s) each, respectively.

Changed but not updated:
(use "git add <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory) 

    modified:   config/buznames/businessname_map.
    modified:   public/css/_lib/dropdown.less
    modified:   public/css/_lib/secureBadge.less

最佳答案

git stash 将删除任何未提交 更改,但不会删除您的本地(未推送)提交。

我相信您的本地分支已经出现分歧,并且您在尝试 pull 时遇到了 merge 冲突。在能够继续 pull 请求之前,您必须解决这些冲突。

如果您尝试删除开发分支中相对于远程分支的所有本地提交,您可以执行以下操作:

$ git checkout develop
$ git fetch origin develop
# Reset develop branch back to origin/develop
$ git reset --hard origin/develop

注意:这将删除/丢弃您所有的本地提交。您将无法恢复它们

关于git - 执行 git stash 不会删除 git local 中的更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31334204/

相关文章:

git - 在 GitHub Actions 中压缩 Git-LFS 二进制文件并将其作为 Assets 添加到版本中?

带有两个命令的 Git 别名(stash pop + merge)只执行第一个命令。为什么?如何执行 merge ?

Git 回退了 5 次 commit 忘记创建新分支了,怎么回来?

windows - 什么是遗留存储?

git - 获取存储的创建日期

git - stash 后出现的 'WIP' 和 'index' 提交是什么?

git - `git stash show` 的输出为空

git - 更改 .gitignore 时,所有开发人员都需要运行 `git rm --cached <path>` 吗?

git - 如何在开源项目中 stash 私有(private)信息?

git - 我可以使用 git 删除其他人放在我从未使用过的存储库中的文件吗?