Git配置

作者: EraJieZhang | 来源:发表于2018-12-18 12:30 被阅读0次

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

    • 远程版本库:这个就是我们公司源码放的位置了,一般都是稳定版本。
    1. 自己的服务器:找台电脑当服务器,全天运行,大家都在这上面clong代码,自己改好了在提交到这台电脑上(不想让别人看源码的都自己搭建这个服务器)
    2. 大家自己练习的,或者开源的项目,或者我就一台电脑,想学习一下git的同学可以用这个叫GitHub的这个网站从名字就可以看出,这个网站就是提供Git仓库托管服务的,所以,只要注册一个GitHub账号,就可以免费获得Git远程仓库。当然在Git上我们也可以设置不让别人看到我们的源码,也就是保密,但是这个是需要收费的,如果没什么必要的话,免费的就可以了。(我们接下来就详细讲解一下Git的免费托管业务)
    • 本地版本库:这就是我们本地的版本库,工作的时候需要先把这个和远程版本库先进行连接,远程版本库相当于原始库,我们的本地版本库相当于刷新库,每次add文件 然后commit 文件都会操作这个本地库,最后我们测试没问题了,会把本地库合并分支推到远程库上
    • 工作区:顾名思义,这就是我们写代码的地方了,我们写好的代码都在这里
    • 缓存区:我们每次add 文件后 并没有提交,那么这个文件就会被添加到缓存区,但版本库里是不会有变化的,每当commit 之后才会把缓存区里的文件提交到本地版本库

    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下来了。

    相关文章

      网友评论

          本文标题:Git配置

          本文链接:https://www.haomeiwen.com/subject/uuikkqtx.html