文章目录
什么是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的缩写,是一个开放源代码的版本控制系统,通过采用分支管理系统的高效管理,简而言之就是用于多个人共同开发同一个项目,实现共享资源,实现最终集中式的管理。
| Git | SVN |
|---|---|
| 它是一个分布式版本控制系统。 | 它是一个集中的版本控制系统 |
| Git是一个SCM(源代码管理)。 | SVN是版本控制. |
| Git有一个克隆的仓库。 | SVN没有一个克隆的版本库. |
| Git分支的工作方式很熟悉。Git系统有助于快速合并文件,也能帮助找到未合并的文件。 | SVN 分支是存在于版本库中的一个文件夹。合并分支时需要一些特殊的命令. |
| Git没有一个全局修订号。 | SVN有一个全局修订号. |
| Git有加密的哈希内容,以保护内容不会因为网络问题或磁盘故障而导致存储库损坏。 | SVN没有任何加密散列的内容. |
| Git存储的内容是元数据。 | SVN将内容存储为文件. |
| Git比SVN有更多的内容保护。 | SVN的内容不如Git安全. |
| Linus Torvalds为Linux内核开发了git | CollabNet, 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 官网
如图所示操作
(更多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
本地建立一个版本库
在本地合适的地方新建一个文件夹
选中文件夹中,单击右键拷贝文件夹绝对路径
/XXX/XXX打开终端,使用
cd 粘贴你拷贝的路径命令进入文件夹
cd /XXX/XXX
- 初始化文件夹为Git仓库(本地版本库)
git init
在初始化为Git的文件夹内新建一个文本,编辑好文字或代码后保存
上传至本地仓库
继续打开终端,进入文件夹(本地版本库):
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