01.Git 简介

什么是Git、GitHub

Git简介

Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。

Linus在1991年创建了开源的Linux,从此,Linux系统不断发展,已经成为最大的服务器系统软件了。
在2002年以前,世界各地的志愿者把源代码文件通过diff的方式发给Linus,然后由Linus本人通过手工方式合并代码!
到了2002年,Linux系统已经发展了十年了,代码库之大让Linus很难继续通过手工方式管理了,社区的弟兄们也对这种方式表达了强烈不满,于是Linus选择了一个商业的版本控制系统BitKeeper,BitKeeper的东家BitMover公司出于人道主义精神,授权Linux社区免费使用这个版本控制系统。
在 2005 年,BitKeeper 所在公司发现 Linux 社区有人企图破解它,BitKeeper 决定收回 Linux 社区的免费使用权。
于是Linus花了两周时间自己用C写了一个分布式版本控制系统,这就是Git!

GitHub简介

GitHub是一个面向开源及私有软件项目的托管平台,因为只支持Git作为唯一的版本库格式进行托管,故名GitHub。

2007 年旧金山三个年轻人觉得 Git 是个好东西,就搞了一个公司名字叫 GitHub,第二年上线了使用 Ruby 编写的同名网站 GitHub,这是一个基于 Git 的免费代码托管网站(有付费服务)。十年间,该网站迅速蹿红,击败了实力雄厚的 Google Code,成为全世界最受欢迎的代码托管网站。2018 年 6 月,GitHub 被财大气粗的 Microsoft 收购。2019 年 1 月 GitHub 宣布用户可以免费创建私有仓库。根据 2018 年 10 月的 GitHub 年度报告显示,目前有 3100 万开发者创建了 9600 万个项目仓库,有 210 万企业入驻。

Git 和 SVN 的区别

SVN是subversion的缩写,是一个开放源代码的版本控制系统,通过采用分支管理系统的高效管理,简而言之就是用于多个人共同开发同一个项目,实现共享资源,实现最终集中式的管理。

GitSVN
它是一个分布式版本控制系统。它是一个集中的版本控制系统
Git是一个SCM(源代码管理)。SVN是版本控制.
Git有一个克隆的仓库。SVN没有一个克隆的版本库.
Git分支的工作方式很熟悉。Git系统有助于快速合并文件,也能帮助找到未合并的文件。SVN 分支是存在于版本库中的一个文件夹。合并分支时需要一些特殊的命令.
Git没有一个全局修订号。SVN有一个全局修订号.
Git有加密的哈希内容,以保护内容不会因为网络问题或磁盘故障而导致存储库损坏。SVN没有任何加密散列的内容.
Git存储的内容是元数据。SVN将内容存储为文件.
Git比SVN有更多的内容保护。SVN的内容不如Git安全.
Linus Torvalds为Linux内核开发了gitCollabNet, Inc开发的SVN.
Git是在GNU(通用公共许可证)下发布的.SVN是在开放源码许可证下发布的.

Git 安装配置

在使用Git前我们需要先安装 Git,目前支持 Linux/Unix、Solaris、Mac和 Windows 平台上运行。

Git 各平台安装包下载地址为:Git

访问华为云镜像安装Git(windows )

华为云镜像站

通过Homebrew 安装Git(Mac)

[[Homebrew]]是用来使软件的安装更直接的。如果我们已经在OS X上安装了Homebrew来管理软件包,那么按照下面的步骤来进行Git。

1. 安装Git

打开终端,运行以下命令,用Homebrew安装Git。

brew install git

上述命令将在我们的机器上安装Git。下一步是验证安装。

2. 验证安装

必须确保安装过程是否已经成功。

要验证安装是否成功,请运行以下命令。

git --version

3. 配置Git

配置个人的用户名称和电子邮件地址:

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

4. 查看配置信息

要检查已有的配置信息,可以使用命令:

git config --list

添加 SSH 关联授权

在 2021 年 8 月 GitHub 更新后,已经不再允许使用账户密码操作 GitHub,必须使用 SSH 密钥登陆。所以我们可以在系统中创建 SSH 公私钥,并将公钥放到 GitHub 指定位置。如此操作即可生成 GitHub 账户对于当前系统中的 Git 授权。

1. 检查.ssh文件夹是否存在

ls -al ~/.ssh

2. 若不存在,新建.ssh文件

mkdir ~/.ssh

3. 进入.ssh文件夹

cd ~/.ssh

4. 创建SSH keys

ssh-keygen -t rsa -C "your_email@xyz.com"
# 把“your_email@xyz.com”里面替换成自己的GitHub账户登陆邮箱

系统提示输入文件保存位置等信息,连续按三次回车即可

5. 查看公钥

cat id_rsa.pub

6. 将公钥复制到剪贴板

pbcopy <id_rsa.pub 

7. 注册并打开 GitHub 官网

GitHub 官网

如图所示操作
在这里插入图片描述

(更多SSH详情,可参考官方文档,GitHub Docs)

8. 最后一步!测试是否添加成功SSH keys

ssh -T git@github.com

显示:

Hi XXX! You've successfully authenticated, but GitHub does not provide shell access.

即为成功。

Git 从本地推送到GitHub

本地建立一个版本库

  1. 在本地合适的地方新建一个文件夹

  2. 选中文件夹中,单击右键拷贝文件夹绝对路径 /XXX/XXX

  3. 打开终端,使用 cd 粘贴你拷贝的路径 命令进入文件夹

cd /XXX/XXX
  1. 初始化文件夹为Git仓库(本地版本库)
git init
  1. 在初始化为Git的文件夹内新建一个文本,编辑好文字或代码后保存

  2. 上传至本地仓库

继续打开终端,进入文件夹(本地版本库):

cd XXX/XXX
git add .

执行上面的命令,无任何显示。

把文件提交到仓库:

git commit -m "first commit"

(git commit -m “xxx” 后面输入的是本次提交的说明,其最好是有意义的,这样就能从历史记录中方便地找到改动记录。)

github上建立一个远程仓库

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

将本地仓库连接至远程仓库

继续打开终端,进入已经初始化好的文件夹(本地版本库):

cd XXX/XXX

链接远程仓库

git remote add origin 粘贴刚刚复制的SSH链接
#例如:git remote add origin git@github.com:NUTPrince/hello.git

选择推送的分支

git push -u origin main

(加了参数-u后,以后推送时即可直接用 git push 代替 git push origin master

大功告成!

克隆 GitHub 上的仓库到本地

使用 git clone + [仓库地址(网址)] 命令即可

例如:

git clone https://github.com/995icu/996ICU

版权声明:本文为NUT_Prince原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。