跳转至

Git克隆仓库

本章节将指导你如何使用Git克隆仓库,特别是一个包含简历的Pelican仓库,以及如何创建自己的GitHub仓库并修改remote地址。

Git基础概念

Git是一个分布式版本控制系统,用于跟踪文件的变化,特别是用于软件开发中的源代码管理。Git具有以下特点:

  • 分布式:每个开发者都拥有完整的代码库副本
  • 版本控制:记录文件的历史变更
  • 分支管理:支持多分支开发
  • 协作工具:方便多人协作开发

Git的简单理解

想象一下,你正在写毕业论文,经历了以下场景:

  1. 初稿:你熬夜写完第一章,保存为"论文_v1.docx"
  2. 修改:导师建议修改,你另存为"论文_v2.docx"
  3. 大改:导师又说要重写,你保存为"论文_v3_final.docx"
  4. 最终版:导师说还是用第一版,你发现"论文_v1.docx"已经被覆盖了...

这就是没有Git的悲惨世界!

有了Git,你可以:

  • 保存历史:每次修改都记录,随时回滚到任意版本
  • 分支管理:在"实验分支"上大胆尝试,不影响"主分支"
  • 协作方便:导师可以直接在代码上批注,不用发来发去
  • 版本对比:轻松查看每次修改的具体内容

就像有了时光机,再也不用担心"论文_v100_final_final_really_final.docx"了!

Git就是程序员的后悔药,让你在代码的海洋中自由遨游,再也不用担心"手滑"删除了重要文件!

配置Git

使用Git前,需要进行基本配置:

配置Git

注意仍然是在服务器上运行,本页面所有命令都是在服务器上运行,而不是本地运行

# 配置用户名和邮箱(全局配置)
git config --global user.name "你的名字"
git config --global user.email "你的邮箱"

# 查看配置信息
git config --list

这些配置会记录在你的每一次提交中,标识提交者的身份。

在GitHub上创建个人仓库

在克隆仓库前,我们需要先在GitHub上创建自己的仓库:

  1. 登录你的GitHub账户(在第一章中已创建)
  2. 点击右上角的"+"图标,选择"New repository"
  3. 填写仓库名称,如"mini_resume"
  4. 可以添加描述(Description):如"我的个人简历网站"
  5. 选择仓库类型为"Public"(公开)
  6. 不要勾选"Initialize this repository with a README"(因为我们将克隆现有仓库)
  7. 点击"Create repository"按钮创建仓库

为GitHub配置SSH密钥

使用SSH密钥可以让你无需每次输入用户名和密码就能操作GitHub仓库,大大提高工作效率。

步骤1:查看现有SSH密钥

首先,查看是否已经有可用的SSH密钥:

ls -la ~/.ssh

如果目录中有id_rsa.pubid_ed25519.pub或类似的文件,则已经有SSH密钥。

如果没有,可以生成新的SSH密钥:

生成SSH密钥

注意仍然是在服务器上运行,这是第二次生成密钥,之前生成的密钥是本地电脑连接服务器,这次生成密钥的目的是服务器连接github

ssh-keygen -t rsa -b 4096 -C "你的邮箱地址"

按提示操作,建议使用默认的密钥位置,可以设置密码短语也可以直接回车不设置密码。

步骤2:复制SSH公钥

查看并复制你的公钥内容:

cat ~/.ssh/id_rsa.pub

复制输出的内容(以ssh-rsa开头,以你的邮箱地址结尾)。

步骤3:添加SSH密钥到GitHub

  1. 登录GitHub
  2. 点击右上角头像,选择"Settings"
  3. 在左侧边栏中,点击"SSH and GPG keys"
  4. 点击"New SSH key"按钮
  5. 在"Title"字段中,输入一个描述性名称(如"我的开发服务器")
  6. 在"Key"字段中,粘贴你复制的SSH公钥
  7. 点击"Add SSH key"按钮

步骤4:测试SSH连接

测试SSH连接是否成功:

ssh -T git@github.com

如果看到类似以下的消息,则表示配置成功:

Hi 用户名! You've successfully authenticated, but GitHub does not provide shell access.

配置完SSH密钥后,你可以使用SSH URL来克隆和操作仓库,避免重复输入GitHub用户名和密码。

克隆Pelican仓库

Pelican是一个用Python编写的静态网站生成器,特别适合创建博客和个人网站。下面我们将克隆一个包含简历的Pelican仓库。

git clone git@github.com:liuhetian/mini_resume.git
# HTTPS克隆适用于所有情况,可能需要输入GitHub用户名和密码
git clone https://github.com/liuhetian/mini_resume.git
# 如果只需要克隆仓库的特定分支,可以使用`-b`参数
git clone -b 分支名 仓库URL

# 例如,只克隆`master`分支
git clone -b master git@github.com:liuhetian/mini_resume.git

了解克隆后的仓库结构

克隆完成后,会在当前目录下创建一个与仓库同名的文件夹。进入该文件夹:

cd mini_resume

我们的Pelican仓库结构如下:

mini_resume/
├── content/              # 存放Markdown或reStructuredText内容文件
│   ├── pages/            # 存放页面内容,如简历页面
│   └── projects/         # 存放项目内容
├── output/               # 生成的静态网站文件
├── themes/               # 存放Pelican主题
│   └── resume/           # 简历主题
├── pelicanconf.py        # Pelican主配置文件
├── publishconf.py        # 发布配置文件
├── Makefile              # 自动化构建脚本
└── tasks.py              # 定义Pelican任务

将远程仓库地址修改为自己的GitHub仓库

克隆仓库后,我们需要将远程仓库地址修改为自己创建的GitHub仓库,这样就可以将修改推送到自己的仓库中。

查看当前远程仓库

首先查看当前的远程仓库信息:

git remote -v

输出可能类似于:

origin  git@github.com:liuhetian/mini_resume.git (fetch)
origin  git@github.com:liuhetian/mini_resume.git (push)

修改远程仓库地址

使用以下命令将远程仓库地址修改为你自己的GitHub仓库:

git remote set-url origin git@github.com:你的用户名/mini_resume.git
git remote set-url origin https://github.com/你的用户名/mini_resume.git

确认修改是否成功:

git remote -v

应该显示你自己的GitHub仓库地址。

将代码推送到自己的仓库

修改完远程仓库地址后,可以将代码推送到自己的仓库:

git push -u origin master

这样,代码就会被推送到你自己的GitHub仓库中。-u参数会将本地的master分支与远程的master分支关联起来,以后再执行git push时就不需要指定分支了。

修改简历内容

如果你已经按照之前章节设置了远程开发环境,可以使用VSCode直接打开并编辑文件:

  1. 在VSCode中打开远程连接的工作区
  2. 在左侧文件浏览器中导航到以下文件:
  3. content/pages/resume.md(编辑简历页面)
  4. content/projects/tap4fun.md(编辑项目展示页面)
  5. 直接点击文件打开并编辑
  6. 编辑完成后保存文件(Ctrl+S 或 Command+S)

使用VSCode的优势在于有语法高亮、预览功能和更友好的编辑界面,特别适合不熟悉命令行编辑器的用户。

如果你正在服务器命令行中工作,可以使用Nano编辑器:

# 编辑简历页面
nano content/pages/resume.md

# 编辑项目展示页面
nano content/projects/tap4fun.md

在nano编辑器中完成编辑后,可以按照以下步骤保存并退出:

  1. Ctrl + O(字母O,不是数字0)保存文件
  2. 按Enter确认文件名
  3. Ctrl + X退出编辑器

提示: - 如果文件有修改但未保存就退出,nano会提示是否保存 - 按Ctrl + G可以查看nano的帮助文档 - 按Ctrl + C可以显示当前光标位置

如何编辑Markdown文件

如果大家之前没有用过markdown,可以参考Markdown编辑

Git的工作流程

了解基本的Git工作流程对于后续操作很有帮助:

  1. 工作区(Working Directory):你当前编辑的文件
  2. 暂存区(Staging Area):通过git add命令添加到的文件
  3. 本地仓库(Local Repository):通过git commit提交的文件
  4. 远程仓库(Remote Repository):通过git push推送到的远程服务器

基本工作流程如下:

# 修改文件后,将变更添加到暂存区
git add 文件名

# 或添加所有变更
git add .

# 提交变更到本地仓库
git commit -m "提交说明"

# 推送到远程仓库
git push

至此,你已经学会了如何克隆仓库、创建自己的GitHub仓库、修改远程仓库地址并推送代码。在下一章中,我们将学习如何使用Conda创建虚拟环境并运行Pelican。

验证上传是否成功

推送代码后,你可能想验证代码是否成功上传到了GitHub仓库。以下是验证方法:

在GitHub网站上验证

  1. 打开浏览器,访问你的GitHub仓库页面(例如:https://github.com/你的用户名/mini_resume
  2. 查看仓库的文件列表和最新提交记录
  3. 你应该能看到刚才推送的文件和提交消息

使用Git命令验证

也可以使用Git命令行工具验证:

# 查看本地与远程仓库的差异
git status

# 如果输出显示"Your branch is up to date with 'origin/master'",说明本地和远程仓库已同步

# 查看最近的提交记录
git log --oneline