Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git认为我有未推送的更改_Git_Github - Fatal编程技术网

Git认为我有未推送的更改

Git认为我有未推送的更改,git,github,Git,Github,在过去的几个月里,我已经注意到好几次,在对我的远程回购(GitHub,虽然我不认为这很重要)进行更改之后,我的本地git会相信它没有进行的更改。在所有情况下,这些更改都是在远程计算机上进行的。最近一次是今天早上。我在工作时在我的机器上做了git拉取originmaster,以获取三个从家里提交的文件。然后,当我执行git status时,它显示了与本地更改相同的三个更改,这些更改没有被推送到远程 通常,我只是删除本地存储库并从GH中重新克隆它,但老实说,我已经厌倦了这样做。在4台共享此代码的机器

在过去的几个月里,我已经注意到好几次,在对我的远程回购(GitHub,虽然我不认为这很重要)进行更改之后,我的本地git会相信它没有进行的更改。在所有情况下,这些更改都是在远程计算机上进行的。最近一次是今天早上。我在工作时在我的机器上做了
git拉取originmaster
,以获取三个从家里提交的文件。然后,当我执行
git status
时,它显示了与本地更改相同的三个更改,这些更改没有被推送到远程

通常,我只是删除本地存储库并从GH中重新克隆它,但老实说,我已经厌倦了这样做。在4台共享此代码的机器之间,我不得不这么做的频率开始变得愚蠢


这听起来有人熟悉吗?有没有比吹走并重新克隆更好的解决方案?这在Mac OS和Linux系统上都发生过,因此我认为这不是任何操作系统特有的。

运行
git pull origin master
不会更新远程跟踪分支
origin/master
。这将使git认为您有本地未推送的更改。假设
origin/master
是默认的pull分支,您可以说
git pull
git pull origin
,它将更新该分支。或者您可以使用
git fetch origin
后跟
git merge origin/master

可能相关:有趣。我一直使用git pull origin master,但这只是偶尔发生的,不是一贯的吗?不管是哪种方式,使用
git-pull-origin
(不使用
master
)似乎已将其清理干净。@rjray:也许您(或您使用的某些脚本/应用程序)也会定期执行
git-fetch
git-remote-update
?如果您的远程跟踪分支已经是最新的,那么
git pull origin master
将不会导致出现本地未推送的提交。@rjray:当您在
origin
中将
master
推到
master
时,远程跟踪分支
origin/master
也将被更新,这可能就是为什么
origin/master
有时对您来说是最新的。