我最近刚刚学习了 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 的旧站点?
我花了很多时间处理新文件,并且希望将它们显示为(为我自己和其他人)作为可通过链接访问的网页,而不是通过我自己的浏览器将它们作为文件加载和刷新。任何有助于我排除故障的见解或想法将不胜感激。
感谢您一直阅读到底部!-吉姆