1

我最近刚刚学习了 GitHub 的一些基础知识,并且一直在使用 gh-pages 来托管一个网站。通过命令行添加/提交更改,然后通过我的 GH 应用程序同步分支,我已经能够成功更改/更新站点很多次。

但后来我去做了一些愚蠢的事情。Git 正在跟踪我的“网站”文件夹中的所有文件和文件夹,其中包含 index.html、样式文件夹和图像。由于最初的网站只是一个实验,我从“网站”文件夹中删除了所有与它相关的文件并放到桌面上,并用我在“网站”文件夹中的新的、更好的文件和文件夹替换它们。

所以,在 git 上:

old site --> 'website folder'/index.html
             'webiste foler'/styles/main.css

new site --> 'website folder'/'root folder'/index.html
             'website folder'/'root folder'/styles/main.html
             'website folder'/'root folder'/about/about.html
             'website folder'/'root folder'/images/worker.jpg

我的假设是,由于 GH 将跟踪“网站文件夹”内的任何更改,因此替换其中的内容没什么大不了的。但是,由于我从命令行添加/提交/推送了所有更改(根据提交/推送后输入的“git status”和“git log”命令有效),我无法同步分支中的git 应用程序。

应用程序中的“同步”页面显示旧的网站项目(索引、main.css 和照片),并带有一条红色的大 DELETED 消息和旁边的复选框。在此下方,它显示“没有未同步的提交”。

这是我从分支页面单击“同步分支”时收到的消息:“同步失败:请在同步前提交所有更改。”

当我访问网站 url 时,它仍然显示旧的、蹩脚的网站。

很长的解释,我知道,但我想准确地说。

这是我想知道的:a)导致同步失败的原因是什么?

b) 用根文件夹中存储的新文件替换所有旧文件是否会导致混淆?意思是,将新的 index.html 存储在根文件夹中是否意味着 git 不知道如何使用对旧文件正常工作的路径?仅仅从根文件夹中删除文件会改变git知道正确的html路径吗?

c) 有没有办法推送新的根文件夹来替换托管在 username.github.io/sitename 的旧站点?

我花了很多时间处理新文件,并且希望将它们显示为(为我自己和其他人)作为可通过链接访问的网页,而不是通过我自己的浏览器将它们作为文件加载和刷新。任何有助于我排除故障的见解或想法将不胜感激。

感谢您一直阅读到底部!-吉姆

4

1 回答 1

0

老问题,但是当人们在寻找“您的页面在构建时遇到问题:无法同步页面目录”的含义时,他们可能会通过谷歌找到它。

要回答这个问题:您不能将文件移动到其他地方并且仍然可以工作,gh-pages 网站总是检查相对于根目录的 index.html。您不能将其移动到其他目录并且仍然可以使用 gh-pages,除非您随后以username.github.io/projectname/newdir. 用户无法访问任何没有 index.html 的目录。

于 2014-12-11T01:52:04.380 回答