3. git远程堆栈
一、远程库github SSH公钥上传Git 是分布式版本控制系统,同一个 Git 堆栈,可以分布到差别的呆板上。在一个项目开辟的最初阶段,只有一台电脑上有一个原始版本库。以后,别的电脑可以“克隆”这个原始版本库。
github就是如许的一个远程堆栈,为我们提供免费的Git堆栈托管服务。本地堆栈和Github堆栈之间的传输是通过SSH加密的。在申请注册Github账户后,必要进一步举行ssh相干的设置,才能方便地拉取和推送。
第1步:创建SSH Key。
在用户主目录下,看看有没有.ssh 目录,键盘输入ctrl+H就可以体现隐蔽文件和隐蔽文件夹。如果有,再看看这个目录下有没有 id_rsa 和 id_rsa.pub 这两个文件,如果已经有了,可直接跳到下一步。
如果没有,则必要打开命令行窗口输入如下指令,创建SSH Key:
ssh-keygen -t rsa -C "youremail@example.com"
将上述邮箱换成github注册时使用的邮箱,然后回车使用默认值即可创建SSH Key。
上述指令完成后,主目录里将会出现名为.ssh的隐蔽目录。
https://i-blog.csdnimg.cn/direct/c85ca8956c3f41f589f1e025684e4d06.png#pic_center
该目录下有 id_rsa 和 id_rsa.pub两个文件,这两个就是SSH Key的秘钥对,id_rsa是私钥,不能泄暴露去,id_rsa.pub是公钥,必要拷贝其内容到GitHub。
第2步:登录GitHub,进入Settings-> SSH and GPG keys
https://i-blog.csdnimg.cn/direct/136d93c7514c4dc6b9accd11d97a4d21.png#pic_center
选择New SSH key
https://i-blog.csdnimg.cn/direct/59904abed9ea45cca0d81d17a224730d.png#pic_center
将主文件目录下的.ssh文件夹中,id_rsa.pub这个文件中的内容拷贝到网页中Key的位置。
https://i-blog.csdnimg.cn/direct/e53254933e5f48d085af3d9cee4ba1ac.png#pic_center
添加自己的标题,然后确认Add SSH key即可完成SSH密钥对的公钥上传。只有当GitHub知道了我们的SSH公钥,才能确认是本人的上传。当我们有多台电脑时,只必要将每台电脑的Key都添加到Github,就可以在每台电脑上往GitHub推送了。
https://i-blog.csdnimg.cn/direct/c066609906d345e4885ba929e812e97b.png#pic_center
二、添加远程库
现在的情况是,我们已经在本地创建了一个 Git 堆栈后,又想在 GitHub 创建一个 Git 堆栈, 而且让这两个堆栈举行远程同步,如许,GitHub 上的堆栈既可以作为备份,也可以让其他人通过该堆栈来协作。
首先,登录GitHub,在右上角找到“Create a new repo”按钮,点击创建新的堆栈:
https://i-blog.csdnimg.cn/direct/2beb8ce4d4eb405a99c9605b3f8cf43f.png#pic_center
输入想要创建的堆栈名字git_study,其它的保持默认,然后点击Create repository就可以创建公开的代码堆栈。如果不想让别人看到可以选择Private,创建私有堆栈。
https://i-blog.csdnimg.cn/direct/2a29532a8b8e4d6db6ecda2cca45ba4e.png#pic_center
Git堆栈建立完成后,将会出现以下界面:
https://i-blog.csdnimg.cn/direct/2a738cbc36a54d93847a88750f527f61.png#pic_center
现在,在GitHub上这个git_study堆栈还是空的。我们可以把一个已有的本地堆栈与之关联,然后,把本地堆栈的内容推送到GitHub堆栈。
那么怎样将本地堆栈与远程堆栈关联,必要按照github的提示,在本地的git_study堆栈下,使用如下指令:
git remote add origin git@github.com:Yangbit666/git_study.git
https://i-blog.csdnimg.cn/direct/cd59b5c8a6d14c5db90b5676743d85e8.png#pic_center
添加后,远程库的名字就是 origin,这是 Git 默认的叫法,也可以改成别的,但是 origin 这个名字是远程库的常规叫法。
下一步,就可以将本地库所有的内容都推送到远程库上:
git push -u origin master
https://i-blog.csdnimg.cn/direct/96678af7fb2a468d917afcb883e4ca53.png#pic_center
使用git push就可以将本地的master分支推送到远程origin堆栈。此中-u是由于这是第一次push,我们不光必要将本地的master分支内容推送到远程新的master分支,还必要把本地的master分支和远程的master分支关联起来。
在之后对readme的更改,可以只输入如下指令来推送到远程堆栈:
git push origin master
二、从远程库克隆
对于上述场景,我们是先有了本地库,再创建远程库,然后通过remote add举行关联。一般来说,如果我们从零开辟,最好的方式是先创建远程库,然后从远程库克隆。
第一步
登陆GitHub,创建一个新的堆栈,名为git_skills:
https://i-blog.csdnimg.cn/direct/2409b9fcf0b345cf8bb0ae21edfd5a2d.png#pic_center
现在,远程库已经准备好了,下一步是用命令 git clone 将远程库克隆到本地:
git clone git@github.com:Yangbit666/git_skills.git
注意GitHub提供了两种克隆方式,https和ssh。通常使用ssh会更快,但是对于只开放了https端口的公司,只能使用https的传输方式。
https://i-blog.csdnimg.cn/direct/fb7568f243cd4b65ac5f3106f269a0ed.png#pic_center
如许我们就实现了远程堆栈克隆到本地的操作。
我们在git_skills下添加一个测试文件readme.md来模拟我们对于远程堆栈的改动。
https://i-blog.csdnimg.cn/direct/a275829407c1479f8a7725cd8880d5b1.png#pic_center
当我们想要使用:
git push -u origin master
时会发现如下错误:
https://i-blog.csdnimg.cn/direct/64c21263de8b4c888d9796545341f87b.png#pic_center
错误提示无法推送,再来看我们之前的git_study堆栈,发现它就可以正常推送。这两个堆栈的区别在于先前的git_study堆栈是从本地关联到远程堆栈的,也就是先有本地,后有远程。
但是我们后来的git_skills堆栈是先有远程,后有本地。
这两个堆栈所在的默认分支差别:
https://i-blog.csdnimg.cn/direct/efd4d2c3429e493da02f1e771deb969d.png#pic_center
可以看到git_skills堆栈所在的分支是从远程堆栈克隆来的main分支,而git_study则是从本地创建的master默认分支。以是对于git_skills输入:git push origin master
会发现,本地没有master分支。而当我们输入:
git push origin main
就会发现,可以将本地的main分支,上传到origin远程堆栈。
https://i-blog.csdnimg.cn/direct/1ff37848443149a88692433dabdc10a3.png#pic_center
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]