搞砸到github,现在想恢复变化

时间:2018-05-21 01:08:29

标签: git jekyll

第一次使用git和github的命令行,我觉得我搞砸了很糟糕。我使用的是此存储库的旧版本:https://github.com/nielsenramon/chalk。我下载,玩过,做了我自己的事情。然后我决定上传到GitHub。发生的事情是我不知道我在做什么,所以在Git Bash,我输入了git init然后run/deploy。问题是,在I版本的自述文件中,它告诉我:

  

重要提示:Chalk不支持GitHub页面上Jekyll托管的标准方式。您需要使用bin / deploy脚本部署您的工作分支(可以是任何分支,对于xxx.github.io用户:使用除master之外的其他分支)。原因是因为Chalk使用GitHub页面不支持的Jekyll插件。 bin / deploy脚本将自动构建整个项目,然后将其推送到repo的gh-pages分支。该脚本为您创建了该分支,因此无需自己创建它。

     

您可以在此处找到有关如何使用gh-pages分支和自定义域的更多信息。

     

有关使用Circle CI自动部署的详细信息,请查看此内容。

以下是bin / deploy中的内容:

#!/usr/bin/env sh

# Run this script to deploy the app to Github Pages.

# Exit if any subcommand fails.
set -e

echo "Started deploying"

# Checkout gh-pages branch.
if [ `git branch | grep gh-pages` ]
then
  git branch -D gh-pages
fi
git checkout -b gh-pages

# Build site.
yarn install --modules-folder ./_assets/yarn
bundle exec jekyll build

# Delete and move files.
find . -maxdepth 1 ! -name '_site' ! -name '.git' ! -name '.gitignore' -exec rm -rf {} \;
mv _site/* .
rm -R _site/

# Push to gh-pages.
git add -fA
git commit --allow-empty -m "$(git log -1 --pretty=%B) [ci skip]"
git push -f -q origin gh-pages

# Move back to previous branch.
git checkout -
yarn install --modules-folder ./_assets/yarn

echo "Deployed Successfully!"

exit 0

因此,当我运行run/deploy时,我收到了此错误消息:https://pastebin.com/MZPGvstX 它还删除了一堆我的文件,我对发生的事情感到困惑。我真的希望我能至少恢复它。

1 个答案:

答案 0 :(得分:0)

看来我没有足够的观点对此发表评论,但我相信我的答案将填补这里缺失的空白。

我在另一种形式的社交媒体上与OP进行了交谈,以便对问题有所了解。

  1. 其中包含项目文件的目录
  2. 该目录不是git存储库
  3. OP在该目录上运行git init - 但工作文件未暂存或提交
  4. 然后在init
  5. 之后运行Chalk部署脚本
  6. 脚本创建分支
  7. 然后它有一个find命令,用于查找所有文件/目录 .git_sites.gitignore - 然后继续在发现的所有内容上运行rm -rf
  8. 然后脚本将提交到新的gh-pages分支
  9. OP向我展示了Git GUI中“所有分支历史”窗口的截图,并且只有一个提交。这些文件在被跟踪之前就被删除了,据我所知,这些文件很容易被删除。 如果要进行还原,那么在将这些文件rm'd

    后立即将目录带到一个点上