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是必备之路!


相关文章
|
26天前
|
网络安全 开发工具 git
解决fatal:remote error:You can’t push to git://github.com/username/*.g
通过上述诊断与修复步骤,绝大多数的推送错误都能得到有效解决,确保您的Git工作流顺畅无阻。
27 1
|
1月前
|
存储 开发工具 git
Git和SVN有什么区别?
综上所述,选择Git还是SVN取决于项目的具体需求、团队规模以及工作习惯。Git因其高级特性和灵活性,成为了现代软件开发中更受欢迎的选择,而SVN在某些特定场景下仍保有一席之地。开发者应当根据实际情况,权衡两者之间的优劣,作出最适合项目的选择。
70 4
|
1月前
|
Unix Shell 网络安全
git学习六:(bug总结)git@github.com: Permission denied (publickey).等
本文是关于解决在使用Git和GitHub时遇到的“git@github.com: Permission denied (publickey)”错误的指南。文章提供了详细的步骤,包括确认SSH Agent运行状态、检查密钥配置、确保密钥匹配、验证仓库URL、检查权限和代理设置,以及配置SSH文件。这些步骤帮助用户诊断并解决SSH认证问题。
99 0
|
2月前
|
开发工具 git 开发者
掌握版本控制的艺术:Git 与 GitHub 的高效使用指南
在软件开发中,版本控制对于代码管理和团队协作至关重要。本文详细介绍了 Git 的核心概念与命令,包括初始化、创建仓库、文件跟踪、分支管理和远程仓库操作。同时,探讨了如何利用 GitHub 进行项目组织、代码审查及自动化工作流。通过遵循最佳实践,如频繁提交、清晰的信息记录和合理使用分支,开发者可以提升工作效率和团队协作能力,确保项目的持续成功。
|
2月前
|
Shell 网络安全 开发工具
Git,GitHub,Gitee&IDEA集成Git
Git提交项目到GitHub简洁版、版本控制、安装、常用命令、分支、团队协作机制、Github、Gitee远程仓库、IDEA集成Git、IDEA集成Github、IDEA集成Gitee
Git,GitHub,Gitee&IDEA集成Git
|
2月前
|
Shell 网络安全 开发工具
fatal: unable to access 'https://github.com/wolfcw/libfaketime.git/': Encountered end of file
fatal: unable to access 'https://github.com/wolfcw/libfaketime.git/': Encountered end of file
|
3月前
|
开发工具 git 开发者
Git Fetch 和 Git Pull:理解两者的区别
【8月更文挑战第27天】
348 1
|
4月前
|
网络安全 开发工具 git
【git】解决git报错:ssh:connect to host github.com port 22: Connection timed out 亲测有效
【git】解决git报错:ssh:connect to host github.com port 22: Connection timed out 亲测有效
1167 1
|
5月前
|
安全 开发工具 git
蓝易云 - git rebase和merge区别
在选择使用Merge还是Rebase时,需要根据具体的工作流程和团队的规定来决定。一般来说,如果你想保持完整的历史记录并且避免可能的冲突,你应该使用Merge。如果你想要一个干净的、线性的历史记录,你可以使用Rebase。
54 4
|
4月前
|
开发工具 git 开发者
git IDEA的分支合并时的冲突问题总结,merge和rebase的区别
冲突的处理需要开发者之间的充分沟通以及对项目历史的细致理解。选择Merge或Rebase取决于具体的工作流程和团队偏好,但最重要的是保持代码库的整洁与一致性。使用IDEA等工具可以提高处理合并冲突的效率,但手动解析冲突和理解操作背后的逻辑仍然是不可或缺的。最终目标是通过有效的版本控制实践,促进项目的顺利进行和团队协作的高效。
320 0