1. Ruby, Jekyll安装

个人系统选择了ubuntu 20.04,以免安装ruby, jekyll中出现不必要的麻烦。相关安装指令见Jekyll官网:https://jekyllrb.com/docs/installation/ubuntu/

# 安装Ruby和相关依赖
sudo apt-get install ruby-full build-essential zlib1g-dev
# 设置环境变量
echo '# Install Ruby Gems to ~/gems' >> ~/.bashrc
echo 'export GEM_HOME="$HOME/gems"' >> ~/.bashrc
echo 'export PATH="$HOME/gems/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc
# 安装Jekyll和bundler
gem install jekyll bundler

完成上述安装之后,可以通过创建一个新的 Jekyll 网站检查jekyll是否安装成功:

  • 进入你想要存放你的网站的文件夹;
  • 通过 jekyll new myblog创建新的 Jekyll 网站;
  • 切换到新的网站文件夹:例如 cd myblog
  • 运行 Jekyll:输入 bundle exec jekyll serve,以在本地显式网页;
  • 在浏览器中访问 http://localhost:4000

2. 选择一个Jekyll主题

因为我个人的网站需求是兼顾个人相关信息和自己的博客,所以选择了一个比较偏学术性的主题,al-folio (https://alshedivat.github.io/al-folio/)。因为要转移博客,所以将之前的一些博客.md文件放在了_posts文件夹下。当然也可以按照上述主题网站的doc自行定义网站中的其他元素,我也还在摸索当中,后续继续更新本文章。

al-folio安装方法总结如下:

# 将al-folio下载到本地
git clone https://github.com/alshedivat/al-folio.git
# 安装该主题所需要的gem包
bundle install
# 等待安装完成之后,在本地编译运行网站
bundle exec jekyll serve

其他主题的安装过程也是类似的。供选择的jekyll主题网站包括以下:

  1. RubyGems: RubyGems.org 是 Jekyll 主题的官方存储库。
  2. Jekyll Themes: Jekyll Themes 收集了许多免费和付费的 Jekyll 主题。
  3. ThemeForest: 如果你寻找更专业和独特的主题,可以查看 ThemeForest 的 Jekyll 主题部分

3. 创建Github Repo并设置对应的Settings

创建一个与自己github_user.github.io的repo,并按照以下方法设置对应的settings.

al-folio的部署方法:随着每次git push origin master之后,部署会自动完成,但需要完成以下几个对repo settings的设置:

  1. 配置对应的_config.yml文件,将url 设置为 https://<your-github-username>.github.io(必须与github用户名匹配 ),并将baseurl 设置为空;
  2. 打开repo中的Actions 标签,并Enable GitHub Actions
  3. 打开Settings -> Actions -> General -> Workflow permissions, 选中Read and write permissions ;
  4. 打开Settings -> Pages, 在Branch一栏中设置Your GitHub Pages site is currently being built from the gh-pages branch (NOT to master).

4. Git工作流程记录

4.1 克隆仓库

如果你想在现有远程仓库的基础上工作,可以使用以下命令将其克隆到本地:

git clone https://github.com/username/repository.git

这将在当前目录下创建一个名为 repository 的新目录,并在其中初始化一个 .git 目录。

4.2 切换到仓库目录

进入你刚刚克隆的仓库目录:

cd repository

4.3 创建并切换到新分支(可选)

如果你想在新分支上工作,可以使用以下命令创建并切换到新分支:

git checkout -b new-branch-name

4.4 修改文件

在此阶段,你可以开始修改文件,添加新文件等。

4.5 检查更改

要查看你所做的更改,可以使用以下命令:

git status

4.6 暂存更改

将你想要提交的更改添加到暂存区:

git add .

或者只添加特定文件:

git add filename

4.7 提交更改

将暂存的更改提交到本地仓库,并添加一个描述更改的消息:

git commit -m "Description of changes"
# 或者使用以下指令在nano编辑器中加入更改信息的描述
git commit -a

4.8 拉取最新更改(可选)

在推送更改之前,确保你的本地仓库与远程仓库同步:

git pull origin branch-name

4.9 推送更改

将你的更改推送到远程仓库:

git push origin branch-name

现在你的更改已经推送到远程仓库,并可以通过其他人访问。

git pull与git push的区别

git pull

  • 操作git pull 是将远程仓库的更改拉取到本地的操作。它是两个命令的组合:git fetchgit merge。首先,它从远程仓库获取最新的更改,然后尝试将这些更改合并到你当前的本地分支。
  • 目的git pull 用于确保你的本地仓库与远程仓库同步。如果远程仓库有新的提交(例如,其他人推送的更改),你可以使用 git pull 将这些更改拉取到本地。
  • 方向:从远程仓库到本地仓库。

git push

  • 操作git push 将你的本地分支中的commit推送到远程仓库。这意味着你在本地所做的更改现在在远程仓库中也可用。
  • 目的git push 用于共享你的工作和更改。当你完成某些工作并想将其分享给团队或将其存储在远程仓库中时,你会使用 git push
  • 方向:从本地仓库到远程仓库。

总结

  • git pull 是获取远程更改并将它们合并到本地分支的操作。
  • git push 是将本地分支中的更改推送到远程仓库的操作