GitHub相关简介以及其和Git区别?

简介: GitHub相关简介以及其和Git区别?

集中式Vs分布式

集中式版本控制系统

1、原理:版本库是集中存放在中央服务器的,而干活的时候,用的都是自己的电脑,所以要先从中央服务器取得最新的版本,然后开始干活,干完活了,再把自己的活推送给中央服务器

2、比喻 :中央服务器就好比是一个图书馆,你要改一本书,必须先从图书馆借出来,然后回到家自己改,改完了,再放回图书馆

3、缺点:必须联网才能工作

4、实际应用:

开源免费的:

CVS(最早的开源而且免费的集中式版本控制系统)由于CVS自身设计的问题,会造成提交文件不完整,版本库莫名其妙损坏的情况

SVN(修正了CVS的一些稳定性问题,是目前用得最多的集中式版本库控制系统)

收费的:IBM的ClearCase(以前是Rational公司的,被IBM收购了)安装大,运行慢

分布式版本控制系统

1、原理:分布式版本控制系统根本没有“中央服务器”,每个人的电脑上都是一个完整的版本库,工作的时候,就不需要联网了,每个人电脑上都有一个完整的版本库,当我在自己电脑上改了文件A,同事在他的电脑也上改了文件A,我们只需把各自的修改推送对方,就可以互相看到对方的修改了。这样就实现了多人协作。(实际使用时很少在两人之间的电脑上推送版本库的修改,因为必须要在一个局域网内,两台电脑才能互相访问)

2**、优点**:安全性提高很多,每个人电脑里都有完整的版本库,某一个人的电脑坏掉了直接从其他人那里复制一个就可以。而集中式版本控制系统的中央服务器要是出了问题,所有人都没法干活了

3、实际应用:开源免费的:GitHub,是最快、最简单也最流行。商用的:BitKeeper,Mercurial和Bazaar等。

GitHub安装

步骤:

1、直接从官网下载:https://git-scm.com/downloads

2、安装完成后,找到“Git”->“Git Bash”,蹦出一个类似命令行窗口的东西说明安装成功

3、最后一步设置,在命令行输入

$ git config --global user.name “Your Name”

$ git config --global user.email “email@example.com”

GitHub下载代码方式

GitHub 有三种方式下载代码:

HTTPS:使用登录 github 的用户名和密码,即可clone 项目。

SSH:通过上传 SSH key 到 GitHub 后台,这样无需密码即可 clone 项目。

GitHub CLI:平台提供管理仓库的终端工具,还可以使用 Github 提供的一些额外功能。

免密下载代码

配置ssh key,可以免密下载Github代码,既方便又安全,需要使用到 ssh-keygen 工具。

# 1、打开 Terminal(终端),查看已有密钥(.pub后缀的文件名)
$ ls -al ~/.ssh
# 2、如果没有就创建一个
$ ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
# 3、复制下面输出到剪切板(下面两个适用mac系统)
$ cat ~/.ssh/id_rsa.pub
$ pbcopy < ~/.ssh/id_rsa.pub
$ cat ~/.ssh/id_rsa.pub | pbcopy
# 4、登录github官网,按照这个路径新建 SSH key
Settings --> SSH and GPG keys --> New SSH key
1、填写名字(随意填写,保证下次看到能明白是哪里的key);
2、粘贴剪切板内容到key的输入框中;
3、保存。
# 5、Terminal(终端)检查是否可以成功连接
$ ssh -T git@github.com
# 6、Github随便找个项目,测试下载,看看是否成功
$ git clone git@github.com:shipwright-io/build.git

GitHub 与 Git 的区别

Git和GitHub是两个完全不同的概念!

Git是一个版本管理工具,开发者将源代码存入名叫“Git 仓库”的资料库中并加以使用,由Linus Torvalds编写。

GitHub 是在线的基于Git的代码托管服务,2008年由Ruby on Rails编写而成。

GitHub 除提供 Git 仓库的托管服务外,还为开发者或团队提供了一系列功能,帮助其高效率、高品质地进行代码编写。

要想更好地使用GitHub,学习Git是必备之路!


相关文章
|
开发工具 git 开发者
图解Git——分支简介《Pro Git》
Git 分支是其核心特性之一,允许开发者从主开发线分离工作,避免干扰主线。传统版本控制系统创建分支效率低,而Git的分支创建和切换非常轻量高效。
697 9
|
开发工具 git
git fetch和 pull的区别
`git fetch`和 `git pull`在Git中扮演着不同的角色,了解它们的区别和使用场景对于高效管理代码库至关重要。通过合理使用这两个命令,可以更好地控制代码合并过程,减少冲突,提高团队协作效率。
960 97
|
开发工具 git
如何操作github,gitee,gitcode三个git平台建立镜像仓库机制,这样便于维护项目只需要维护一个平台仓库地址的即可-优雅草央千澈
如何操作github,gitee,gitcode三个git平台建立镜像仓库机制,这样便于维护项目只需要维护一个平台仓库地址的即可-优雅草央千澈
1000 69
如何操作github,gitee,gitcode三个git平台建立镜像仓库机制,这样便于维护项目只需要维护一个平台仓库地址的即可-优雅草央千澈
|
9月前
|
网络协议 开发工具 git
解决 git 报错 “fatal: unable to access ‘https://github.com/.../.git‘: Recv failure Connection was rese
在使用 Git/Git小乌龟 进行代码管理的过程中,经常会遇到各种各样的问题,其中之一就是在执行 git clone 或 git pull 等操作时出现 “fatal: unable to access ‘https://github.com/…/.git’: Recv failure Connection was reset” 的报错。这个问题通常是由网络连接问题或代理设置不正确导致的。在我的个人使用经验中,我亲自尝试了四种方法,它们都能够有效地解决这个报错。个人比较推荐方法二。
5681 1
|
11月前
|
人工智能 API 开发工具
GitHub官方开源MCP服务!GitHub MCP Server:无缝集成GitHub API,实现Git流程完全自动化
GitHub MCP Server是基于Model Context Protocol的服务器工具,提供与GitHub API的无缝集成,支持自动化处理问题、Pull Request和仓库管理等功能。
2142 2
GitHub官方开源MCP服务!GitHub MCP Server:无缝集成GitHub API,实现Git流程完全自动化
|
11月前
|
文字识别 网络协议 开发工具
GitHub封锁?推荐5个国产的Git仓库替代平台
近日,GitHub对中国区IP的部分限制引发了广泛关注。未登录用户被拒,已登录用户功能受限,南北网络环境差异更显“内卷”。为应对这一挑战,本文推荐了多个国产Git平台:Gitee(码云)、GitCode(CSDN旗下)、CODING(腾讯系)、CodeUP(阿里云支持)及微信代码管理工具。这些平台功能全面、稳定性强,是开发者迁移项目的理想选择。通过同步代码、配置CI/CD流水线等简单步骤,可确保项目平稳过渡。此次事件提醒我们,掌握核心技能与支持国产平台同样重要!
9030 11
|
11月前
|
安全 Linux 网络安全
在Linux(CentOS和AWS)上安装更新的git2的方法并配置github-ssh
经过以上这些步骤,你现在就能在GitHub上顺利往返,如同海洋中的航海者自由驰骋。欢迎你加入码农的世界,享受这编程的乐趣吧!
461 10
|
12月前
|
存储 安全 开发工具
Git 对比 SVN 的区别和优势
Git和SVN各有优劣,选择哪种工具取决于项目的具体需求和团队的协作模式。Git适合大型、复杂、需要频繁分支和合并操作的项目,而SVN则更适合小型项目和集中式团队协作。通过本文的对比分析,开发者可以更好地理解两者
1456 13
|
开发工具 git
git fetch和 pull的区别
通过这些内容和示例,您可以系统地理解 `git fetch`和 `git pull`的区别,并在实际工作中灵活应用这两个命令,提高版本控制的效率。希望这些内容对您的学习和工作有所帮助。
676 24
|
Devops Shell 网络安全
git使用之如何将一套代码同时推送至github|gitee|gitcode|gitlab等多个仓库-含添加ssh-优雅草央千澈完美解决-提供整体提交代码
git使用之如何将一套代码同时推送至github|gitee|gitcode|gitlab等多个仓库-含添加ssh-优雅草央千澈完美解决-提供整体提交代码
652 16
git使用之如何将一套代码同时推送至github|gitee|gitcode|gitlab等多个仓库-含添加ssh-优雅草央千澈完美解决-提供整体提交代码