全新Python高级软件实践专栏:一起玩蛇啊《一起玩蛇》

写在前面:本章我们将介绍 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 等代码管理程序,版本管理的情况很多,如下所示:

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

0x02 注册 Github

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

0x03设置 Git

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

选择你希望的编辑器:

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

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

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

0x04 储存库

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

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

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

0x05 创建本地存储

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

输入 git init 进行初始化:

0x06 复制本地存储

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

然后输入 git clone

0x07 导入远程存储库

git clone 

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

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

在 Github repository 中选择 New:

然后点击

设置 repository 名称后创建:

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

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

然后输入:git remote –v 确认

0x08 追加(add)

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

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

git add

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

0x08 commit

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

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

git commit–m “commit内容说明”

比如 git commit –m “initial commit”

反映到远程存储库(push)

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

git push origin ‘branch’

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

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

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

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

 Ex) git branch -d testbranch

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

0x09 合并(merge)

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

git merge

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

可能会发生冲突(conflict)。

冲突(conflict):

Master branch将第5行修改为master。

Testbranch也修改了5号行。

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

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

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

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

0x0A在 Github 创建项目

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

创建 repository:

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

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

0x0B git clone克隆

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

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

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

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

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

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

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

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

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

git status

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

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

git add [file name]

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

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

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

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

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

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

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

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

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

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

git push

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

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