💭 写在前面:本章我们将介绍 Git 的基本使用方法,包括注册 GitHub 账号、设置 Git、创建本地存储库、复制本地存储库、导入远程存储库、追加、提交、合并等常用操作。我们还会教你如何在 GitHub 上创建项目,使用 git clone 命令克隆远程存储库,以及三板斧之 git add、git commit 和 git push 的使用方法。

💭 本章目录:

0x00 引入:git 是什么?

0x01 使用 git 的理由

0x02 注册 Github

0x03 设置 Git

0x04 储存库

0x05 创建本地存储

0x06 复制本地存储

0x07 导入远程存储库

0x08 追加(add)

0x08 commit

0x09 合并(merge)

0x0A 在 Github 创建项目

0x0B  git clone 克隆

0x0C 三板斧之第一板斧 —— git add 添加

0x0D 三板斧之第二板斧 —— git commit -m

0x0E  三板斧之第三板斧 —— git push 推入


0x00 引入:git 是什么?

Git 是一个分布式版本控制系统,它允许多个人在同一个项目中进行协作。

它允许用户在开发过程中跟踪文件的更改,并在需要时回滚到之前的版本。

这样可以在团队协作开发时避免冲突,并保证项目的完整性。

0x01 使用 git 的理由

如果不使用 Git 等代码管理程序,版本管理的情况很多,如下所示:

【维生素C语言】附录:Github 使用教学_github

如果像上面这样做,稍过一段时间就很难知道到底哪个文件是最终版本。

0x02 注册 Github

🔗 链接:GitHub: Let’s build from here · GitHub,点击 Sign Up 注册会员!

0x03 设置 Git

🔗 Git: Git - Downloads,下载并安装适合自己电脑的版本。

【维生素C语言】附录:Github 使用教学_本地存储_02

【维生素C语言】附录:Github 使用教学_原力计划_03

【维生素C语言】附录:Github 使用教学_git_04

【维生素C语言】附录:Github 使用教学_原力计划_05

【维生素C语言】附录:Github 使用教学_github_06

选择你希望的编辑器:

【维生素C语言】附录:Github 使用教学_原力计划_07

 

【维生素C语言】附录:Github 使用教学_github_08

 

【维生素C语言】附录:Github 使用教学_github_09

 

【维生素C语言】附录:Github 使用教学_git_10

 

【维生素C语言】附录:Github 使用教学_git_11

 

【维生素C语言】附录:Github 使用教学_git_12

 

【维生素C语言】附录:Github 使用教学_原力计划_13

 

【维生素C语言】附录:Github 使用教学_git_14

 

【维生素C语言】附录:Github 使用教学_原力计划_15

安装完毕后,鼠标右键即可启动 Git Bash: 

【维生素C语言】附录:Github 使用教学_原力计划_16

输入 git --version 可查看当前 git 版本:

【维生素C语言】附录:Github 使用教学_原力计划_17

打开想要使用 git 的文件夹,右键单击,能看到 Git Bash Here:

【维生素C语言】附录:Github 使用教学_github_18

 

【维生素C语言】附录:Github 使用教学_git_19

0x04 储存库

Git 的存储库存储文件并按版本进行管理。

存储有两种:本地存储和远程存储。

  • 本地存储:在我的PC上存储文件的个人存储库。
  • 远程存储:文件由远程存储服务器(github等)管理,多人共享的存储库。

0x05 创建本地存储

在要创建本地存储库的文件夹中运行 git bash

输入 git init 进行初始化:

【维生素C语言】附录:Github 使用教学_github_20

0x06 复制本地存储

在需要复制存储库的位置运行 git bash:

【维生素C语言】附录:Github 使用教学_本地存储_21

然后输入 git clone <路径>

【维生素C语言】附录:Github 使用教学_本地存储_22

0x07 导入远程存储库

git clone <远程存储地址>

比如:git clone "https://github.com/foxny/HelloGitHub.git"

在这之前,我们先生成远程存储库。

在 Github repository 中选择 New:

【维生素C语言】附录:Github 使用教学_本地存储_23

 

【维生素C语言】附录:Github 使用教学_原力计划_24

然后点击

【维生素C语言】附录:Github 使用教学_原力计划_25

设置 repository 名称后创建:

【维生素C语言】附录:Github 使用教学_github_26

然后,连接存储库,连接本地存储和远程存储。
git remote add origin <远程存储地址>

比如 git remote add origin "https://github.com/csdn/HelloGitHub.git"

然后输入:git remote --v 确认

【维生素C语言】附录:Github 使用教学_git_27

0x08 追加(add)

在本地存储创建的地方生成文件,可以是源代码(c, h等)、资源(txt, png等)等所有类型的文件。

确认尚未反映为 Git status 的文件(红字)。 

【维生素C语言】附录:Github 使用教学_原力计划_28

git add<文件名>

如果同时添加多个文件(全部),则git add *,使用 git status 确认全部反映。

【维生素C语言】附录:Github 使用教学_git_29

0x08 commit

将更改内容确定为存储库中的“新版本”。

根据 Commit 管理版本。可以回到过去 commit 的时间点。

git commit–m “commit内容说明”

比如   git commit –m “initial commit”

【维生素C语言】附录:Github 使用教学_原力计划_30

反映到远程存储库(push)

将提交的内容上传到远程存储库(github)。

git push origin ‘branch’

Ex) git push origin master. 关于Branch,稍后进行说明,首次使用时会出现登录窗口。

【维生素C语言】附录:Github 使用教学_git_31

登录完成后,push将与日志一起完成:

【维生素C语言】附录:Github 使用教学_本地存储_32

Branch 之间的转换是 git checkout <branchname>
Ex) git checkout testbranch
git checkout – 通过b<branchname>  创建+可切换

【维生素C语言】附录:Github 使用教学_原力计划_33

 如果不再使用或不需要 branch,可以删除。git branch –d <branchname>

 Ex) git branch -d testbranch

可以用新生成的branch名称push。   Ex) git push origin testbranch

【维生素C语言】附录:Github 使用教学_git_34

0x09 合并(merge)

可以将其他分支的更改合并到当前分支中。

git merge <branchname>

但此时发生无法同时适用的变更时,

可能会发生冲突(conflict)。 

冲突(conflict):

Master branch将第5行修改为master。

【维生素C语言】附录:Github 使用教学_本地存储_35

Testbranch也修改了5号行。

发生冲突时显示如下。要打开发生冲突的文件,修改以避免冲突

 

【维生素C语言】附录:Github 使用教学_github_36

 发生冲突的文件显示如下冲突内容

【维生素C语言】附录:Github 使用教学_原力计划_37

 留下想要的内容,整理文件

【维生素C语言】附录:Github 使用教学_原力计划_38

添加并提交修改后的文件即可完成合并。
确认Branch 的名字。

 

【维生素C语言】附录:Github 使用教学_github_39

0x0A 在 Github 创建项目

【维生素C语言】附录:Github 使用教学_原力计划_40

 点击 Repositories 进入如下页面,然后点击 New:

【维生素C语言】附录:Github 使用教学_git_41

创建 repository:

【维生素C语言】附录:Github 使用教学_原力计划_42

在创建好的项目页面中复制项目的链接,以备接下来进行下载:

【维生素C语言】附录:Github 使用教学_github_43

【维生素C语言】附录:Github 使用教学_本地存储_44

 创建好仓库后,如果我想把代码提交到 git,我们可以把 HTTPS 的内容复制下来。

0x0B  git clone 克隆

复制好 url 后,如果想把远端的仓库克隆到本地,我们可以用 git clone 指令。

【维生素C语言】附录:Github 使用教学_本地存储_45

 创建一个放置代码的目录:

git clone [url]        # 此处的 url 是刚刚建立好的项目的链接

第一次的时候会让你输入账号和密码:

【维生素C语言】附录:Github 使用教学_github_46

此时我们就能看到仓库的名字,赫然纸上:

【维生素C语言】附录:Github 使用教学_原力计划_47

这,就是我们从远端拉去下来的我们所建立的项目。

【维生素C语言】附录:Github 使用教学_原力计划_48

你可以进 .git 仓库里看看,看看就行,不要对里面的东西做任何的修改!

如果我们想把我们的代码提交上去,比如我们创建一个 test.c 文件:

【维生素C语言】附录:Github 使用教学_github_49

如果你想在提交之前看看 本地仓库 远端仓库 之间的关系,你可以输入 git status 查验:

git status

 

【维生素C语言】附录:Github 使用教学_本地存储_50

0x0C 三板斧之第一板斧 —— git add 添加

【维生素C语言】附录:Github 使用教学_git_51

 如果想上传到远端,我们就要使用 git add 指令来操作了。

git add [file name]

我们试着把刚才创建的 test.c 文件添加到我们本地的仓库:

【维生素C语言】附录:Github 使用教学_git_52

(第一次使用 git 的时候,可能会让你配置一下你的用户名和邮箱)

添加到本地仓库之后,我们再介绍一个 git commit 指令,提交日志。

0x0D 三板斧之第二板斧 —— git commit -m

git commit -m     # -m选项代表的是本次的提交日志
# 提交时应该表明提交日志、描述改动的详细内容,务必培养这个好习惯。

提交日志要好好写,不要瞎写,因为这是要给人看的,你写的一切殊不知……

【维生素C语言】附录:Github 使用教学_git_53

 日志存在的目的是为了给人看的,也是给自己看的。

写些什么呢?写一写你做了什么东西,比如:

【维生素C语言】附录:Github 使用教学_本地存储_54

0x0E  三板斧之第三板斧 —— git push 推入

刚才已经将 test.c 存入本地仓库了,现在我们想要把它传送到远端仓库,即远端服务器上:

git push

需要填入用户名与密码,同步成功后刷新 Github 页面就能看到代码改动啦。

【维生素C语言】附录:Github 使用教学_git_55

🔺 总结: 建立仓库 → git clone → git add → git commit -m "日志内容" → git push