使用 Git 和 GitHub 版本控制和代码同步

什么是版本控制?

版本控制系统是一种用于跟踪、执行和管理软件代码更改的工具。它也称为源代码控制。

版本控制系统可帮助开发人员存储他们在不同阶段对文件所做的每项更改,以便他们和团队成员可以在以后检索这些更改。


什么是 Git?

Git 是一个免费的开源分布式版本控制系统,你可以使用它来跟踪文件中的更改。你可以在 Git 中处理所有类型的项目。

使用 Git,你可以将更改添加到代码中,然后在准备好时提交(或保存)它们。这意味着你还可以返回之前所做的更改。


什么是 GitHub?

GitHub 是一个 Web 界面,你可以在其中存储 Git 仓库并有效地跟踪和管理你的更改。它使操作同一项目的各种开发人员可以访问代码。你可以在其他开发人员进行更改的同时对项目进行自己的更改。

如果你在进行更改时不小心弄乱了项目中的某些代码,你可以轻松地回到尚未发生混乱的上一个阶段。


使用 Git 和 GitHub 版本控制和代码同步

一、安装 Git

访问 Git 官网 下载适合你操作系统的最新版本,安装在你的计算机上。在控制台使用下面的命令检查是否已成功安装:

1
git --version

二、配置 Git

配置用户信息(在每台设备上都需要配置):

1
2
git config --global user.name "你的GitHub用户名"
git config --global user.email "你的GitHub绑定邮箱"

三、新建 GitHub Repositories

GitHub 登陆你的账户,点击首页的“+”,选择 New repositorie 创建。

设置你的 Repository name,选择可见性为“公开”或“私密”。

你可以添加 README(用来介绍存储库)、.gitignore(设置Git push时不上传的文件)、license(开源许可证)。

四、创建 GitHub PAT (Personal access tokens)

在 GitHub 点击你的头像 - Settings - Developer Settings - Personal access tokens - Tokens (classic).

点击 Generate new token - Generate new token (classic).

设置 Note(备注名)、过期时间和权限,最后点击 Generate token.

记住给出的 token,后面要用。

五、创建本地仓库并推送到 GitHub

  1. 首先进入代码目录(以 Windows 为例):
1
2
D:
cd D:/MyProjects/Example/
  1. 初始化 Git 仓库:
1
git init
  1. 添加所有文件到暂存区:
1
git add .
  1. 创建一次提交(引号内的字符串可以替换):
1
git commit -m "Initial commit"
  1. 将本地仓库与 GitHub 远程仓库关联:
1
git remote add origin https://github.com/你的用户名/你的Repo名.git
  1. 推送代码到 GitHub:

    在这一步中,可能会让你填写 GitHub 用户名和密码,注意这里的密码是填上一步中创建的 token.

1
git push -u origin main

六、在另一台设备上克隆仓库

在另一台设备上选择一个合适的目录,然后克隆仓库:

在这一步中,可能会让你填写 GitHub 用户名和密码,注意这里的密码是填上一步中创建的 token.

1
git clone https://github.com/你的用户名/你的Repo名.git

七、日常工作流程

  1. 在任一设备上开始工作前:

    这会拉取远程仓库的最新变更。

1
git pull origin main
  1. 在任一设备上完成工作后:
1
2
3
git add .
git commit -m "描述你的更改"
git push origin main

八、处理冲突的情况

  1. 如果你在两个设备上都修改了同一个文件,可能会遇到合并冲突。处理方法:
1
git pull origin main
  1. Git 会提示哪些文件有冲突。打开冲突文件,你会看到类似这样的标记:
1
2
3
4
5
<<<<<<< HEAD
你在当前设备上的修改
=======
你在另一设备上的修改
>>>>>>> branch-name
  1. 手动编辑文件,保留你需要的内容,删除冲突标记,然后:
1
2
3
git add 冲突文件名
git commit -m "解决合并冲突"
git push origin main

九、一些建议

  1. 建议创建 .gitignore 文件来忽略不需要同步的文件(如编译产物、临时文件等)。

  2. “origin” 是远程仓库的别名,它只是一个名字,你可以自由选择。”origin” 是 Git 的默认约定,当你使用 git clone 克隆仓库时,Git 会自动将远程仓库命名为 “origin”。这就像是给远程仓库起了个昵称,方便后续引用。
    你可以用这个命令查看当前配置的远程仓库:

    1
    git remote -v

    重命名现有的远程仓库别名:

    1
    git remote rename oldname newname

    如果你之前设置了上游分支(用过 git push -u github main),重命名后这个关联仍然有效,因为 Git 会自动更新这个关联。不过为了确保一切正常,建议重新设置一次上游分支:

    1
    git push -u newname main