【问题标题】:Continuous file corruptions multiple GIT repositories containing Django Projects连续文件损坏了多个包含 Django 项目的 GIT 存储库
【发布时间】:2017-01-31 00:16:13
【问题描述】:

关于两个 Django 项目,我有一个非常令人沮丧和奇怪的问题,它们位于 2 个独立的 GIT 存储库中。

让我将项目 1 定义为 A,将项目 2 定义为 B

A 有一个主页,带有一个连接的 home.css 文件。我已经检查了 git 存储库中该文件的内容,覆盖了我的本地副本,并将该文件的原始内容复制粘贴到 home.css -> 主页显示正常。现在,每当我退出 Django 进程和与之关联的虚拟环境,并在 git 上提交所有内容,然后再次运行项目时,home.css 文件就会突然损坏。页面现在看起来像这样:

如果我从目录中删除 home.css 文件并运行以下命令:

git fetch origin master
git reset --hard FETCH_HEAD

项目再次运行良好(现在再次显示正确标记的屏幕截图):

真正有趣的是,这发生在 BA 项目中 同时。因此,每当 A 搞砸了,B 就搞砸了。更让我困惑的是:在另一台计算机上,具有相同的存储库,文件也被更改,导致样式表损坏。

罪魁祸首是什么?这是怎么回事?在线 git 存储库中的文件是正确的,因为如果我将原始内容粘贴到 home.html 中,它会再次正常工作。但是过了一段时间,就乱了。可能是因为我为这两个项目使用了两个虚拟环境吗?会不会是编码?这可能是一个git问题吗?我迷路了。每次都发生这种情况真的适得其反。两个项目中只有 4 个文件有这个错误,分别称为 home.css (2x) 和一个 base.css 和一个 about.css,所以也不应该是名称混淆。将存储库从 Bitbucket 移动到 Gitlab 也没有解决问题。对我来说真正奇怪的是它同时发生在两台机器上,所以这让我认为这个问题与机器无关。损坏总是发生在文件的同一行上。

我真的希望你们能帮助我。

编辑: 损坏总是发生在这一行周围(在 home.css 文件中),但是手动删除它并从 git 版本发布原始内容可以解决问题...

【问题讨论】:

  • 这一切都发生在./manage.py runserver 上吗?你如何管理你的静态文件?错误发生时git branch -avgit status 说什么?
  • 这发生在运行服务器上。默认的 Django 设置。在显示最后一次提交(修复提交)的正确分支上。 Git 状态没有什么可提交的,工作目录干净。
  • @coderjoe 是同一个仓库中的项目#1 和#2?您是否使用相同的样式表?您是否尝试进行更改(破坏 css),并在其他浏览器中打开以查看它是否与浏览器有关?
  • 它们不在同一个 repo 中,单独的 repo。样式表具有相同的名称但具有不同的内容。这不是浏览器的东西(在 safari、chrome 和 firefox 上检查),都显示相同的输出

标签: css django git web gitlab


【解决方案1】:

@coderjoe

以下是一些尝试排除故障的方法(并非作为解决方案,但无法在评论中添加):

损坏总是发生在文件的同一行。显示“损坏”,你怎么知道它出现在文件的同一行?

我建议这是第一步。

  • 仅在一台计算机上使用一个存储库
  • 如果您的远程版本是“正确的”,并且我认为您的 requirements.txt 包含您想要的 venv 中的所有内容,请从您的计算机上删除项目
  • git 克隆遥控器以获得全新安装,确保它正常工作。
  • 做一个 git diff。在这一点上,我什么都不应该改变
  • 更改 CSS。如果失败,请执行另一个 git diff 并检查哪些行已更改。有什么不寻常的地方吗?
  • (从 django 静态文件教程中阅读此内容)[https://docs.djangoproject.com/en/1.10/intro/tutorial06/] 检查您的路径,并按照更新 css 的说明进行操作。

【讨论】:

  • 这是一个团队项目,文件更改无论如何都不会在git中。删除项目并再次克隆它们并没有解决问题。行更改只是我编辑的。所以那里没有什么不寻常的。 django 静态文件正常工作,并且这些错误发生在选定数量的文件上。所以最后一个子弹不会是问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-12-05
  • 2012-01-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-12-01
  • 2012-10-31
相关资源
最近更新 更多