git pull:一直告诉我在拉之前隐藏本地更改

git pull:一直告诉我在拉之前隐藏本地更改,git,git-merge,git-pull,Git,Git Merge,Git Pull,当我试图用“git-pull”来拉我的git存储库时,它一直告诉我我有本地更改,尽管我没有接触任何提到的文件。有人能解释这种行为并知道解决方案吗 git状态: # On branch master # Your branch is behind 'origin/master' by 1 commit, and can be fast-forwarded. # (use "git pull" to update your local branch) # # Changes not st

当我试图用“git-pull”来拉我的git存储库时,它一直告诉我我有本地更改,尽管我没有接触任何提到的文件。有人能解释这种行为并知道解决方案吗

git状态:

    # On branch master
# Your branch is behind 'origin/master' by 1 commit, and can be fast-forwarded.
#   (use "git pull" to update your local branch)
#
# 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:   src/component/Provider.java
#   modified:   src/data/Cascading.java
#
no changes added to commit (use "git add" and/or "git commit -a")
分支主机上的
#
#您的分支落后于“源/主”1次提交,可以快进。
#(使用“git pull”更新您的本地分支)
#
#未为提交而暂存的更改:
#(使用“git add…”更新将提交的内容)
#(使用“git签出--…”放弃工作目录中的更改)
#
#修改:src/component/Provider.java
#修改:src/data/Cascading.java
#
未向提交添加任何更改(使用“git add”和/或“git commit-a”)

解决了问题。实际上是我的错,没有注意到远程存储库已重置为以前的版本。然而,如果你经历了这一点,马克斯·伍尔夫解释的解决方案将会奏效

如果您在本地编辑的文件在远程更改,Git根本无法获取更改。基本上,您有两种选择:

  • 转移并提交您的更改,然后Git将在拉取过程中尝试合并它(或请求您的帮助)
  • 将更改隐藏起来,这样您就可以提取远程代码,然后重新应用修改

听起来您当地的分支机构并没有对
源站进行所有更改

首先,把你的零钱藏起来

git stash
然后,从
原点拉入更改

git fetch origin && git rebase origin/(branch name)
接下来,将隐藏内容添加回您的工作目录:

git stash pop

如果你做了一个
git-diff
或者只是做了一个
git-commit怎么办-m.“
git status
的输出是什么?在这些情况下,正确的心态是git是对的,而你是错的。您可能做了Git认为需要改变的事情;请发布“git status”的输出以供审阅。更新了问题。那么git认为您对文件(
git diff
)做了哪些更改?