Git配置

2018-12-18  本文已影响0人  EraJieZhang

之前我们已经安装好了Git软件,也进行了简单的设置自己的用户名邮箱,在实际开发中我们还需要进行版本库的链接设置,这里和大家讲一下几个概念,工作区,缓存区,本地版本库,远程版本库(GitHub/自己的服务器)

  1. 自己的服务器:找台电脑当服务器,全天运行,大家都在这上面clong代码,自己改好了在提交到这台电脑上(不想让别人看源码的都自己搭建这个服务器)
  2. 大家自己练习的,或者开源的项目,或者我就一台电脑,想学习一下git的同学可以用这个叫GitHub的这个网站从名字就可以看出,这个网站就是提供Git仓库托管服务的,所以,只要注册一个GitHub账号,就可以免费获得Git远程仓库。当然在Git上我们也可以设置不让别人看到我们的源码,也就是保密,但是这个是需要收费的,如果没什么必要的话,免费的就可以了。(我们接下来就详细讲解一下Git的免费托管业务)

Git配置

先注册个GitHub账号
由于你的本地Git仓库和GitHub仓库之间的传输是通过SSH加密的,这时你需要先生成一个sshkey
打开git-bash 生成sshkey

ssh-keygen -t rsa -c "你刚注册的GitHub邮箱"

这里会让你输入名字和密码,都为空就可以,直接三次回车(一次用户名两次密码)
生成sshkey成功会有个长方形的打印,很明显,之后区电脑里找到c:/用户/"你的本机用户名"/.ssh/id_rsa.pub
.ssh是隐藏文件夹,至于怎么显示自行百度里面如果有id_rsa 和id_rsa.pub这两个文件就说名我们生成sshkey成功了
登陆刚才我们注册的github账号,点击头像(在标题栏的最右侧),选择Setting也就是设置,点击SSH and GPD keys 点击右上角的new SSH key


这个Title随便你填,下面的Key,就是之前我们生成的sshKey,也就是id_rsa.pub里的内容,有的同学说他的文件打不开,我推荐大家用NotePad++打开,或者有些同学说找不到这个文件夹,我也不想百度搜怎么显示隐藏文件夹,问有没有简单的方式,这个也是有的,在git-bash里输入
cat ~/.ssh/id_rsa.pub
选中输出的sshkey 右键复制 或者Ctrl + Ins 复制
粘贴到下面key的输入框里

粘贴好了之后点击Add SSH key,这样 我们就把ssh密钥配置好了

为什么GitHub需要SSH Key呢?因为GitHub需要识别出你推送的提交确实是你推送的,而不是别人冒充的,而Git支持SSH协议,所以,GitHub只要知道了你的公钥,就可以确认只有你自己才能推送。

当然,GitHub允许你添加多个Key。假定你有若干电脑,你一会儿在公司提交,一会儿在家里提交,只要把每台电脑的Key都添加到GitHub,就可以在每台电脑上往GitHub推送了。

最后友情提示,在GitHub上免费托管的Git仓库,任何人都可以看到喔(但只有你自己才能改)。所以,不要把敏感信息放进去。

如果你不想让别人看到Git库,有两个办法,一个是交点保护费,让GitHub把公开的仓库变成私有的,这样别人就看不见了(不可读更不可写)。另一个办法是自己动手,搭一个Git服务器,因为是你自己的Git服务器,所以别人也是看不见的。这个方法我们后面会讲到的,相当简单,公司内部开发必备。

以上都设置好了之后我们回到git-bash 测试一下是否能够链接上GitHub
使用免费公开的版本库测试:

ssh -T git@github.com

使用付费私密的版本库测试:

ssh -T git@bitbucket.com

如下图输出就是正常链接上了



有些同学输出的是:

$ ssh -T git@github.com
The authenticity of host 'github.com (xxx.xxx.xxx.xxx)' can't be established.
RSA key fingerprint is SHA256:********************.
Are you sure you want to continue connecting (yes/no/[fingerprint])? 

这里是让你确认一下输入yes/no

Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added 'github.com,***.***.***.***' (RSA) to the list of known hosts.
Hi ******! You've successfully authenticated, but GitHub does not provide shell access.

公钥设置不对的时候输出的是:
免费版:
git@github.com: Permission denied (publickey).
付费版:
git@bitbucket.com: Permission denied (publickey).

这个就需要检查你的sshkey是否粘贴正确了,也可能是电脑连不上github或者链接超时。打开cmd控制台,ping一下github

有ping不通的同学请自行百度解决。
当我们的ssh密钥匹配之后我们首先要做的应该事clone一份服务器的代码是吧,现在这个服务器有了,但是里面我们还没有添加代码呢。我们先在服务器也就是github创建一个版本库:



回到GitHub首页,点击 "New repostiory"
设置好项目名,项目说明,公开还是私有的,最有点击创建版本库就好了。

OK! 现在服务器里有项目了(虽说是个空项目)现在我们的远程版本库就创建完成了,接下来我们创建本地的版本:
输入:cd 回到电脑根目录下
你想把项目放到那个路径下下就用使用cd切换到你的目标路径:
(这里注意,一定要有这个文件夹,并且不要用汉字特殊符号什么的)

cd c:/EEH/EraJieZhang

大家可以看到后面的路径已经切换到c/EEH/EraJieZhang文件下了,现在我们的操作都是基于这个文件夹得
输入git init:将这个文件夹设置为本地版本库,git会自动在这个文件夹生成一个.git得隐藏文件夹。里面会放置缓存区得文件等,这个不熟悉得同学不要去改里面得东西,不然你会很头疼的。
git init

可以看到在文件夹后面多出来的蓝色文字(master),这个表示主分支的意思,至于什么分支,我们后面会详细讲解。
到此我们的本地版本库也已经创建完成了,接下来我们是不是要把本地的和远程的进行链接了。

绑定远程版本库:
输入:
git remote add origin git@github.com:1143114725/EraJieZhang.git
这里的1143114725 改成你自己的github号,后面的EraJieZhang改成你自己的项目名。回车之后是不是发现好像什么都没发生啊?是不是有问题啊?
我告诉大家,没有提示就是最好的提示,说明你输入的没有问题,如果有问题会在下面输出错误,然后根据错误修改就可了。
好了,现在我们的本地版本库和远程版本库也已经建立链接了,如果远程库里有东西我们输入:
$ git clone git@github.com:你的github账号/你的项目名.git
就可以把代码clone下来了。

上一篇 下一篇

猜你喜欢

热点阅读