【Git/GitHub】学习笔记一 GitHub和Git的初步使用
发布日期:2021-07-01 02:51:10 浏览次数:2 分类:技术文章

本文共 6832 字,大约阅读时间需要 22 分钟。

文章目录


1. 什么是GitHub

GitHub是为开发者提供Git仓库的托管服务让开发者与他人共享代码的完美场所。此外,它还为开发者或团队提供了一系列功能,帮助其高效率、高品质地进行代码编写。

(1) Git仓库

一般情况下,我们可以免费建立任意个GitHub提供的Git仓库。而且微软收购GitHub后,Github用户也可以无限免费使用私有仓库。

(2) Organization

个人使用只需要个人账户就够了。如果是公司或者交流群、IT小团体,进行软件开发,建议使用Organization账户。它的优点在于:能够统一管理账户和权限,统一支付一些费用。

(3) Issue

Issue功能,是将一个任务或问题分配给一个Issue、进行追踪和管理。在GitHub上,每当我们进行Pull Request的时候,都会创建一个Issue。

每个功能的更改或者修正,都对应一个Issue,讨论都以这个Issue为中心进行。只要查看Issue,就能知道和这个更改相关的一切信息,并对此进行管理。

(4) Wiki

通过Wiki功能,任何人都能随时对一篇文章进行更改并保存,因此可以多人共同完成一篇文章。该功能常用在开发文档和手册的编写中。

Wiki页也是作为Git仓库进行管理的,改版的历史记录会被切实保存下来,使用者可以放心改写。

(5) Pull Request

开发者向GitHub的仓库推送更改或者功能添加后,可以通过Pull Request功能向别人的仓库提出申请,请求对方合并。Pull Request发出后,目标仓库的管理者等人能够查看Pull Request的内容及其中包含的代码更改。

同时,开发者们还可以在Pull Request上进行评论交流,以行为单位对源代码添加评论。通过这个功能,开发者可以轻松更改源代码,并公开更改的细节。


2. Git的导入

Git是由Linus开发的一款功能强大、性能卓越的分散型版本管理系统。Git的仓库管理功能是GitHub的核心。 因此,使用GitHub之前需要掌握Git的相关知识,在本地安装Git的环境。

版本管理:管理更新的历史记录,例如记录一款软件添加或更改源代码的过程,回滚到特定阶段,恢复误删除的文件等。

(1) 安装Git

下面在本地环境中实际安装Git,进行各种设置。在Windows环境中,最简单的方法是使用 ,按照 Downloads 的向导下载安装包。

在这里插入图片描述

安装包下载完毕后,双击运行,按照向导一步步进行安装即可。下面对安装的设定进行讲解。

  • 组件的选择:由于所有必要组件都已经默认勾选,可以直接进入下一步;
  • 设置环境变量:设置调用Git的环境变量,由于这里只用到 msysGit 中附属的Git Bash,因此选择最上面的 Use Git Bash Only ,然后进入下一步;
  • 换行符的处理:由于GitHub中公开的代码大部分都以Mac或者Linux中的 LF(Line Feed) 换行,而Windows中是以 CRLF(Carriage Return + Line Feed) 换行的,因此在非对应的编辑器中将无法正常显示。Git可以通过设置自动转换这些换行符,使用Windows的用户需要选择推荐的 Checkout Windows-style, commit Unix-style line endings" ——换行符在签出时自动转换为 CRLF ,在提交时自动转换为 LF
  • Git Bash :顺利安装好 msysGit 后,Git Bash 作为一个应用程序添加进系统,双击启动,会弹出一个名为 Git Bash 的命令提示符。如果按照上述流程,git 命令就只能够在 Git Bash 中使用,而不能在Windows的命令行中使用。

(2) 初始设置

下面对本机中安装的Git进行设置。首先设置使用Git时的姓名和邮箱地址,用英文输入。由于在GitHub上公开仓库时,这里的姓名和邮箱地址也会随着Git的提交日志一起被公开,所以需要使用便于公开的信息:

$ git config --global user.name "your name"$ git config --global user.email "your email"

如果将 color.ui 设置为 auto ,就可以让命令的输出拥有更高的可读性:

$ git config --global color.ui auto

注意,上述 git config 命令会在 ~/.gitconfig 这一文件中以如下的形式输出设置文件:

[user]  name = your name  email = your_email@example.com[color]  ui = auto

想要更改这些信息时,可以用命令进行设置,或者直接编辑这个设置文件。另外,如果想要查看全局变量有哪些,可以输入:

$ git config --global -lfilter.lfs.clean=git-lfs clean -- %ffilter.lfs.smudge=git-lfs smudge -- %ffilter.lfs.process=git-lfs filter-processfilter.lfs.required=trueuser.name=memcpy0user.email=xxxxxxxxcolor.ui=autopack.windowmemory=100mpack.sizelimit=100mpack.threads=1pack.window=0

3. 使用GitHub的准备工作

下面将讲述使用GitHub前的一些准备工作。

(1) 创建账户

打开,会看到如下的画面:

在这里插入图片描述

username 中用英文和数字输入ID,需要注意的是,个人公开页面的URL (https://github.com/xxx) 会使用到这个ID。其他项目按照要求输入即可。

填写完这些项目后,点击 Create account ,就完成了账户的创建。之后直接进入登录状态,用户可以立即开始使用GitHub,设置头像和具体信息。

(2) 设置SSH Key

GitHub上连接已有仓库时,需要通过使用了SSH的公共密钥进行认证。现在来创建公共密钥认证所需的SSH Key,并将其添加至GitHub。如果已经创建过,就使用现有的密钥进行设置。

运行下面的命令创建SSH Key:

$ ssh-keygen -t rsa -C "创建GitHub账户时用的邮箱地址"Enter file in which to save the key (/c/Users/dell/.ssh/id_rsa): (按回车键)Enter passphrase (empty for no passphrase): (输入密码)Enter same passphrase again: (输入密码)

输入密码后出现如下的结果:

Your identification has been saved in /c/Users/your_user_directory/.ssh/id_rsa.Your public key has been saved in /c/Users/your_user_directory/.ssh/id_rsa.pub.The key fingerprint is:fingerprint值 your_email@example.comThe key's randomart image is:略

密钥都被保存在文件中:id_rsa 是私有密钥,id_rsa.pub 是公开密钥。

(3) 添加公开密钥

在GitHub中添加公开密钥,之后就可以用私有密钥进行认证。我们点击右上角的 Account Settings ,点击 new SSH Key 。在 Title 中输入适当的密钥名称,Key 部分复制粘贴 id_rsa.pub 文件里的内容——用如下方法查看 id_rsa.pub 的内容:

$ cat ~/.ssh/id_rsa.pubssh-rsa 公开密钥的内容 your_email@example.com

添加成功后,创建账户所用到的邮箱会收到一封提示“公共密钥添加完成”的邮件。此时,我们可以用手中的私人密钥与GitHub进行认证和通信:

$ ssh -T git@github.comThe authenticity of host 'github.com (192.30.255.113)' can't be established.RSA key fingerprint is fingerprint值.Are you sure you want to continue connecting (yes/no)? yesWarning: Permanently added 'github.com,192.30.255.113' (RSA) to the list of known hosts.Enter passphrase for key '/your_user_directory/.ssh/id_rsa':Hi memcpy0! You've successfully authenticated, but GitHub does not provide shell access.

出现上述的结果,即为成功。

(4) 使用社区功能

我们可以试试 Follow 别人,在用户信息页面的右上角点击 Follow 按钮即可。此后 Follow 的用户的活动就会显示在个人的控制面板页面中,我们可以通过这个方式来了解他人在GitHub上的活动。

在这里插入图片描述

如果要获得仓库的最新开发信息,可以使用 Watch 功能。


4. 实际动手使用GitHub

(1) 创建仓库

我们动手创建一个公开的仓库。点击工具栏中的 New repository 图标,创建新的仓库,弹出如下界面:

在这里插入图片描述

我们进行输入:

  • Repository name 中输入仓库的名称。这里输入 Hello-World
  • Description 中设置仓库的说明,可以留空;
  • Public、Private 这一栏中,选择公开还是私有。如果创建公开仓库,仓库的所有内容都会被公开;如果是私有仓库,用户可以设置访问权限;
  • Initialize this repository with
    • 如果在 Add a README file 上打钩,GitHub会自动初始化仓库并设置 README 文件,让用户可以立刻 clone 这个仓库。想要向GitHub添加手中已有的Git仓库,就不用勾选,直接手动 push 即可
    • 如果在 Add .gitignore 上打钩,就会帮我们把不需要在Git仓库中进行版本管理的文件和目录记录在 .gitignore 文件中,省去每次根据框架进行设置的麻烦。
    • 如果在 Choose a license 上打钩,就要根据仓库代码确定的许可协议,选择要添加的许可协议文件。随后将自动生成包含许可协议内容的 LICENSE 文件,它将被用来表明该仓库内容的许可协议。

最后,点击 Create repository 按钮,完成仓库的创建。

(2) 连接仓库

我们刚刚创建了一个 Hello-World 仓库,这个URL是它的页面:https://github.com/用户名/helloworld 。其中,README.md 在初始化时已经生成,它的内容会自动显示在仓库的首页当中。因此,开发者一般在这个文件中,使用Markdown语法描述本仓库所包含的软件的概要、使用流程、许可协议等信息。

在这里插入图片描述

要注意的是:GitHub上进行交流时用到的Issue、评论、Wiki,都可以用 (GitHub Flavored) Markdown 语法进行表述。虽然GFM在Markdown上面做了扩充,但是一般来说按照原本的Markdown语法进行书写即可。

(3) 公开代码

① clone已有仓库

我们将在已有仓库中添加代码并加以公开。首先将已有的仓库 clone 到开发环境中:

在这里插入图片描述

$ git clone https://github.com/memcpy0/helloworld.gitCloning into 'helloworld'...remote: Enumerating objects: 8, done.remote: Counting objects: 100% (8/8), done.remote: Compressing objects: 100% (7/7), done.remote: Total 8 (delta 1), reused 3 (delta 0), pack-reused 0Unpacking objects: 100% (8/8), done.

如果是第一次 clone ,会要求输入GitHub上设置的公开密钥的密码。认证成功后,仓库就会被 clone 到仓库名后的目录中。将要公开的代码提交到这个仓库,再 pushGitHub 的仓库中,代码就会被公开

我们编写一个简单的 hello_github.cpp 文件,用来输出 "Hello GitHub"

#include 
using namespace std;int main() {
cout << "Hello GitHub" << endl; return 0;}

进入到仓库的目录下,由于 hello_github.cpp 没有添加到Git仓库,所以 git status 会显示它为 Untracked files

$ git statusOn branch masterYour branch is up to date with 'origin/master'.Untracked files:  (use "git add 
..." to include in what will be committed) hello_github.cppnothing added to commit but untracked files present (use "git add" to track)

② 加入暂存区和提交文件

hello_github.cpp 提交到Git仓库中。此后,这个文件将进入版本管理系统的管理之下,之后的更改管理都由Git进行:

$ git add hello_github.cpp$ git commit -m "Add hello github script by cpp"[master 29cfdfe] Add hello github script by cpp 1 file changed, 7 insertions(+) create mode 100644 hello_github.cpp

上面的 git add 命令将文件加入暂存区(它记录文件提交之前的状态),再通过 git commit 命令提交文件,这里 -m, --message <message> 会提交对应的描述信息。

添加、提交之后,可以通过 git log 命令查看提交日志:

$ git logcommit 29cfdfef01b9c255cdee257dccc5da501f16b01c (HEAD -> master)Author: memcpy0 <2183927003@qq.com>Date:   Sun Sep 6 17:46:30 2020 +0800    Add hello github script by cpp

③ push更新仓库

之后只要执行 push,GitHub上的对应仓库就会被更新:

$ git pushUsername for 'https://github.com': memcpy0Counting objects: 3, done.Writing objects: 100% (3/3), 414 bytes | 103.00 KiB/s, done.Total 3 (delta 0), reused 0 (delta 0)To https://github.com/memcpy0/helloworld.git   f7c5dd1..29cfdfe  master -> master

此时,代码就在GitHub上公开了。到这里为止,我们才算正式踏入GitHub的世界。

转载地址:https://memcpy0.blog.csdn.net/article/details/108431631 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:【Git/GitHub】学习笔记二 Git的常用操作
下一篇:【算法学习】数论专题 快速幂和矩阵快速幂

发表评论

最新留言

路过按个爪印,很不错,赞一个!
[***.219.124.196]2024年04月30日 08时39分55秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章