git repo表示它在拉动后是最新的,但文件没有更新

时间:2014-08-20 17:53:41

标签: git repository checkin

我有3个回购。我用作主仓库的裸仓库,我在其中制造和测试变更的开发仓库,以及在生产环境中执行脚本的生产仓库。

在我测试了dev repo中的更改之后,我将它们推送到裸仓库并使用基本脚本(执行git pull命令)将它们自动下拉到cronjob上的prod仓库中。

我按照上述步骤进行了更改,但更改的文件不会在prod仓库中更新。

  • 检查更改并将其推入dev repo
  • 已经对prod repo进行了拉动
  • 所有回购的git日志都是相同的,并且都显示了此更改的签入
  • git branch给了我" * master"所有回购
  • 所有回购的git状态给了我:  #On分支主人  无需提交,工作目录清理
  • git pull给了我"已经是最新的"对于开发者和prod repos

对图形视图使用git扩展,看起来每个仓库都是最新的并且是最新的。

我试过了:

git checkout HEAD  
git pull origin master  
git reset --hard HEAD  
git reset --hard origin/master  
git reset origin/master  

有人可以帮忙吗?

3 个答案:

答案 0 :(得分:97)

试试这个:

 git fetch --all
 git reset --hard origin/master

说明:

git fetch从远程下载最新版本而不尝试合并或重新组合任何东西。

如果您有任何疑问,请与我们联系!

答案 1 :(得分:1)

对我来说,我的分叉分支与master分支不同步。因此,我去了bitbucket,并同步并合并了我的分支分支,然后尝试执行此操作。然后效果很好。

答案 2 :(得分:0)

我们的上游存储库有错误的 master 标签,因此被迫在我们的 fork 存储库中将其删除:

git reset --hard upstream/master 
git tag -d master
git push origin master