前言:
Git是分布式版本控制系统,同一个Git
仓库,可以分布到不同的机器上。怎么分布呢?最早,肯定只有一台机器有一个原始版本库,此后,别的机器可以“克隆”这个原始版本库,而且每台机器的版本库其实都是一样的,并没有主次之分。
你肯定会想,至少需要两台机器才能玩远程库不是?但是我只有一台电脑,怎么玩?
其实一台电脑上也是可以克隆多个版本库的,只要不在同一个目录下。不过,现实生活中是不会有人这么傻的在一台电脑上搞几个远程库玩,因为一台电脑上搞几个远程库完全没有意义,而且硬盘挂了会导致所有库都挂掉,所以我也不告诉你在一台电脑上怎么克隆多个仓库。
实际情况往往是这样,找一台电脑充当服务器的角色,每天24小时开机,其他每个人都从这个“服务器”仓库克隆一份到自己的电脑上,并且各自把各自的提交推送到服务器仓库里,也从服务器仓库中拉取别人的提交。
完全可以自己搭建一台运行Git
的服务器,不过现阶段,为了学Git
先搭个服务器绝对是小题大作。好在这个世界上有个叫GitHub的神奇的网站,从名字就可以看出,这个网站就是提供Git
仓库托管服务的,所以,只要注册一个GitHub
账号,就可以免费获得Git
远程仓库。
Git 与 Github 的关系?
简单说,没有任何关系。
Git
是一个免费的分布式版本控制系统,旨在快速高效地处理从小型到大型项目的所有事物。 不管是软件开发还是什么行业,代码、文档或者其他文件
都不是一次性写完的,都需要有无数次的修改,无数个版本迭代,而Git
是一个很好的版本管理工具。这次写的不满意,可以直接回滚到自己想要的版本。
Github
是一个全球最大的用Git
做版本控制的项目托管平台,同样的中国还有码云
。两者都是使用 Git
做版本控制的项目托管平台,说白了,就是一个代码托管仓库。
所以,我本地电脑上安装好了Git
环境,那么我可以选择用码云
去托管我的项目,我可以修改 ,上传,版本回滚等等操作,同样我也可以选择用GitHub
托管我的项目,去做这些操作。
Github
与 码云
其实在功能使用上并没有什么大的区别,比较显著的区别,Github
是全球最大的代码托管仓库,资源丰富,一句话说就是只有你想不到,没有他做不到的。代码资源十分丰富,但是有些不可名状的原因,导致了其网速有点那啥,但是还是可以用的。码云
相对来说资源并没有那么丰富,但是好在其是国内的代码仓库,速度相对来说稍微好一些。
所以,简单说,没有任何关系
。Git
是一个开源的分布式版本控制系统。而 GitHub 本质上是一个代码托管平台,它提供的是基于Git
的代码托管服务。对于一个团队来说,即使不使用 GitHub
,他们也可以通过自己搭建和管理 Git 服务器
来进行代码库的管理,甚至还有一些其它的代码托管商可供选择,如 GitLab,BitBucket 等。
好了,现在开始
进去一家新公司,在配置开发环境这步,我们需要配置git
和sourcetree
,拉去代码,这部分,流程。
一:MAC配置Git环境,安装Git
目前,官网好像是用Homebrew
来安装的,至于Homebrew介绍和安装,可以去我的文章有介绍,可以看看Homebrew
的简介,以及安装和使用。
完成Homebrew
的安装后,下面这里去Git官网,官网是Homebrew
命令行安装。
1,去git官网 根据下面截图点击进去
2,安装Git
, 按照文字提示即可
$ brew install git
$ brew install git-gui
3,验证是否成功,输入命令行。输出Git
版本表示Git
安装成功。
git --version
比如:
JasondeMacBook-Pro-2:~ hll$ git --version git version 2.24.3 (Apple Git-128)
4,安装好Git
后,配置用户名
和用户邮箱
。在本地git
中添加你得账户
和邮箱
,需要注意这两个命令要一起输入 然后回车,单个输入没有反应的
- 如果是去新公司,一般负责人会发给你
用户名
和用户邮箱
,填到下面就行了。- 如果是自己个人,那么就可以用自己的
QQ邮箱
,用户名随便取
就行了,最好记住。
信息可以更改,以后想要更改使用上面指令就可以。
//这两个命令要一起输入然后回车,单个输入没有反应的
git config --global user.name "你的注册用户名"
git config --global user.email "你的注册邮箱"
查看一下自己的 user.name
和user.email
是否正确,单个输入和一起输入都行:
//注册用户名
git config user.name
打印 :你的注册用户名
//注册邮箱 <直接粘贴请注意,这个email中的i很可能自动识别为l>
git config user.email
打印 :你的注册邮箱
二:生成秘钥
Git
服务器都使用 SSH 公钥
进行认证。默认情况下,用户的 SSH 密钥
存储在其~/.ssh
目录下。
(1) 首先检查电脑是否曾经生成过秘钥
//cd ~/.ssh 网上很多说的是这个命令,但是我测试不行 无论生成与否 都无提示,所以使用下面这个命令
open ~/.ssh
然后看看都有些什么文件
ls
若打开该文件夹为空,则表示没有生成过秘钥,进入第二步。(~表示根目录)
(2) 生成秘钥
//[email protected]
// 一般是公司给的gitlab账号,登陆gitlab 打开setting 里面有个profile里面那个邮箱
ssh-keygen -t rsa -C "[email protected]"
// 比如:ssh-keygen -t rsa -C "[email protected]"
回车,命令要求输入两次密码<开机密码最好>,三个回车即可。
成功的视图:
这过程中,会让你输入密码,一定要记住这个密码
,后面在验证的时候需要用输入这个密码。
(3) 查看生成的秘钥
在终端执行下面命令,就可以看到秘钥的文件路径:
open /Users/当前电脑用户/.ssh
//如 open /Users/hll/.ssh
注意:
① 一般这个.shh
文件,如果不用上面的命令open /Users/当前电脑用户/.ssh
去查看,直接去截图的文件路径下查看,就算存在也不显示的,因为它默认隐藏的。
②执行成功后,生成密钥后,在本地的/Users/当前电脑用户/.ssh
目录下会生成两个文件id_rsa
、id_rsa.pub
,id_rsa
文件保存的是私钥,保存于本地,id_rsa.pub
文件保存的是公钥,需要将里面内容上传到远端仓库。
id_rsa
私钥文件,保存于本地;
id_rsa.pub
公钥文件,需要将里面内容上传到远端仓库。
三:远端仓库添加密钥(公钥)
这里以GitHub
为例子,向远端仓库添加公钥,上面已经获取到了公钥,只需要将公钥添加到远端仓库就可以了。
在什么平台托管代码,这个公钥就传到什么平台上去。如果是码云平台,那么将这个
公钥传到码云平台就行。
在个人设置页面,左边选中SSH and GPG keys
,在右边添加公钥,title
是key
的名称,可以随便取,可更改,key
是上面我们获取到的公钥,填写完毕后点击add SSH key
按钮,这样远端就添加到了密钥。
①查看生成的公钥内容
cat ~/.ssh/id_rsa.pub //终端执行这个命令 就可以看到里面的内容
②复制内容到GitHub 一定要带上签名的ssh-rsa一起copy
到这里,相当于Git环境配置好了,而且也已经与github代码托管平台挂钩了。
那么,怎么把代码传到GitHub
上呢?这篇文章有介绍上传工程或者文件到GitHub
和删除GitHub
上面文件和项目方法