Git 详细教程之四: Git 对 GitHub 的配置和基本操作

   本篇博客主要讲的是『Git 详细教程之四: Git 对 GitHub 的配置和基本操作』。如果您是第一次学习 Git ,请先阅读博主的前几篇文章:

  • Git 详细教程之一: Git 简介及其基本工作原理
  • Git 详细教程之二: Git 安装配置及其常用命令
  • Git 详细教程之三: Git 分支操作

一、团队协作模式

   团队协作模式一般分为两种:团队内协作以及跨团队协作

1.1 团队内协作

Git 详细教程之四: Git 对 GitHub 的配置和基本操作_第1张图片

   团队内协作指的是团队内的成员对代码托管中心,也就是远程库都具有 克隆(clone)、推送(push)以及拉取(pull) 的权限,共同维护开发。


1.2 跨团队协作

Git 详细教程之四: Git 对 GitHub 的配置和基本操作_第2张图片

   跨团队协作指的是,团队内的成员可以直接对远程库进行操作;而团队外的成员可以对远程库进行派生(fork),即复制出一个新的远程库,形成一个新的远程库分支,从而在这个新的分支远程库上进行一系列操作。若想要和原远程库进行合并(merge),此时必须先提出请求,获得团队内成员许可后,方可合并。


二、GitHub 简介

Git 详细教程之四: Git 对 GitHub 的配置和基本操作_第3张图片

   GitHub 是一个面向开源及私有软件项目的托管平台,因为只支持 Git 作为唯一的版本库格式进行托管,故名 GitHub。官方网址为:https://github.com/(需要外网进入)。

   在这里,你能找到你感兴趣的项目代码仓库,从而解决你学习和工作的需求,另一方面,它还可以让你与世界各地的开发人员协同开发和交流你们所感兴趣的项目!

2.1 GitHub 与 Git 的区别

  • Git 和 GitHub 是两个完全不同的概念;
  • Git 是一个分布式版本控制工具,开发者将源代码存入名叫 “Git 仓库” 的本地库中并加以使用;
  • GitHub 是在线的基于 Git 的代码托管服务;
  • GitHub 除提供 Git 仓库的托管服务外,还为开发者或团队提供了一系列功能,帮助其高效率、高品质地进行代码编写。

2.2 GitHub 常用术语解释

  • Repository :简称 Repo,可以理解为 “仓库”,我们的项目就存放在仓库之中。也就是说,如果我们想要建立项目,就得先建立仓库;有多个项目,就建立多个仓库。
  • Issues :可以理解为 “问题”。举一个简单的例子,如果我们开源一个项目,如果别人看了我们的项目,并且发现了bug,或者感觉那个地方有待改进,他就可以给我们提出 Issue ,等我们把 Issues 解决之后,就可以把这些 Issues 关闭;反之,我们也可以给他人提出 Issue
  • Star :可以理解为 “点赞”。当我们感觉某一个项目做的比较好之后,就可以为这个项目点赞,而且我们点赞过的项目,都会保存到我们的 Star 之中,方便我们随时查看。在 GitHub 之中,如果一个项目的点星数能够超百,那么说明这个项目已经很不错了。
  • fork :派生,可以理解为“拉分支”,把别人的代码,克隆到你自己的仓库,Github 的术语叫做 fork。如果我们对某一个项目比较感兴趣,并且想在此基础之上开发新的功能,这时我们就可以 Fork 这个项目,这表示复制一个完全相同的项目到我们的 GitHub 账号之中,而且独立于原项目。之后,我们就可以在自己复制的项目中进行开发了。
  • pull request :是一种通知机制。你修改了他人的代码,将你的修改通知原来的作者,希望他合并你的修改,这就是 Pull Request,简称 PR ,也可以理解为“提交请求”。在现实项目中,即使自己对某个 repo 的特定分支有写入权限,也可以提 PR 来修改,因为这是 code review 的一种方式,让团队的其他人看一看改的咋样。
  • Merge :可以理解为 “合并”。如果别人 Fork 了我们的项目,对其进行了修改,并且提出了 Pull 请求 ,这时我们就可以对这个 Pull 请求 进行审核。如果这个 Pull 请求 的内容满足我们的要求,并且跟我们原有的项目没有冲突的话,就可以将其合并到我们的项目之中。当然,是否进行合并,由我们决定。
  • Watch :可以理解为 “观察”。如果我们 Watch 了一个项目,之后,如果这个项目有了任何更新,我们都会在第一时候收到该项目的更新通知。
  • Gist :如果我们没有项目可以开源或者只是单纯的想分享一些代码片段的话,我们就可以选择 Gist。不过说实话,如果不 FQ 的话,Gist 并不好用。

三、GitHub 的 Git 配置及基本操作

   在对 Git 和 GitHub 有了充分了解之后,我们选择 GitHub 作为 Git 的远程托管中心,讲一讲如何进行一系列的 Git 配置。首先,我们得有一个 GitHub 账号,这个直接去官网注册即可,注册流程在此就不赘述了。

3.1 创建远程库并起个别名

  • Step 1:打开 GitHub 官网,登陆账号后,点击右上角的『+』号,选择『new repository』:

Git 详细教程之四: Git 对 GitHub 的配置和基本操作_第4张图片

  • Step 2:进入远程仓库创建页面,按图中所示填写好信息,点击『Create repository』即可:

Git 详细教程之四: Git 对 GitHub 的配置和基本操作_第5张图片

Add a README file :如果勾选,则创建仓库的同时会创建 README 文件。
Add .gitignore :如果勾选,则创建仓库时会生成 .ignore 文件,.ignore 文件可以配置哪些文件应该被 Git 忽略掉,不管理。
Choose a license :如果勾选,则可以说明一个证书,比如写上该项目可以被使用但不能商业的声明信息。

  • Step 3:由此,我们就创建好了一个 GitHub 远程库:

Git 详细教程之四: Git 对 GitHub 的配置和基本操作_第6张图片

   另外,GitHub 还提示了我们如何用命令行的形式 新建远程库、推送已有本地库以及向远程库中添加代码。由于本地库文件已存在,因此我们直接推送即可。我们复制那三行命令如下,进行一一讲解:

git remote add origin https://github.com/***/git_test.git
git branch -M main
git push -u origin main

   首先,我们来理解第一行命令,它表示给远程库的 HTTPS 链接起一个别名为 origin ,方便后续使用命令行时,不用每次都输入一大长串字符。一般情况下,别名和本地库名一致,因此建议此处别名为 git_test 。执行一下命令:

git remote add git_test https://github.com/***/git_test.git

   并再次执行 git remote -v 查看所有别名:

Git 详细教程之四: Git 对 GitHub 的配置和基本操作_第7张图片

   注意: 此时出现两个别名都是一样的,但分别代表 fetchpush ,也就是说,这两个操作的别名通用。


3.2 推送(push)本地库到远程库

  此时我们再分析后两行代码:

git branch -M main
git push -u git_test main

  对于 git branch -M main 命令,它代表的是将现处分支修改成 main ,此处由于我们不想修改,因此无需执行这行代码,直接推送即可。推送本地库到远程库的基本语法为:

git push 远程库链接/别名 分支名

  因此,我们执行 git push git_test master ,由于要使用外网,因此这一步对网络要求比较高。如果链接成功,会弹出一个 Connect to GitHub 的小框,提示我们登陆 GitHub,登陆方式有两种:选择浏览器的账号登陆口令登陆

Git 详细教程之四: Git 对 GitHub 的配置和基本操作_第8张图片

  此时可自行选择,比如此时我浏览器已经登陆了,点击 选择浏览器的账号登陆 > 授权 即可。

Git 详细教程之四: Git 对 GitHub 的配置和基本操作_第9张图片

  此时,Git 也提示,上传远程库成功了,同时我们在 GitHub 远程库上也能看到 test.cpp 代码已上传成功。

Git 详细教程之四: Git 对 GitHub 的配置和基本操作_第10张图片
Git 详细教程之四: Git 对 GitHub 的配置和基本操作_第11张图片


3.3 拉取(pull)远程库到本地库

   当团队成员共同维护一个远程库时,有时别的成员对远程库进行了修改并提交了,这时我们会发现,我们本地库中的文件与远程库不一致,需要更新一下本地库内容,也称拉取远程库到本地库。基本语法为:

git pull 远程库链接/别名 分支名

   因此,我们执行 git pull git_test master命令:

在这里插入图片描述

   此时,Git 提示我们更新成功。由于我们并未对远程库里的文件进行修改,因此没有本地库文件修改的提示信息。


3.4 克隆(clone)远程库到本地库

   当我们在 GitHub 上发现感兴趣的远程库时,我们可以选择将其克隆(clone)到本地库中。基本语法为:

git clone 远程库链接

   我们试着在本地新建一个文件夹,打开 Git bash ,执行 git clone https://github.com/***/git_test 命令:

Git 详细教程之四: Git 对 GitHub 的配置和基本操作_第12张图片

   此时,远程库中的全部内容都克隆(也可以理解成下载)到本地库中了。

   注意: clone 操作会做三件事:1、拉取代码;2、初始化本地库;3、创建默认别名(origin)。

Git 详细教程之四: Git 对 GitHub 的配置和基本操作_第13张图片

你可能感兴趣的:(Git,详细教程,git,github,详细教程)