3. git远程堆栈

冬雨财经  金牌会员 | 2025-3-23 05:47:31 | 来自手机 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 936|帖子 936|积分 2808

一、远程库github SSH公钥上传

Git 是分布式版本控制系统,同一个 Git 堆栈,可以分布到差别的呆板上。在一个项目开辟的最初阶段,只有一台电脑上有一个原始版本库。以后,别的电脑可以“克隆”这个原始版本库。
github就是如许的一个远程堆栈,为我们提供免费的Git堆栈托管服务。本地堆栈和Github堆栈之间的传输是通过SSH加密的。在申请注册Github账户后,必要进一步举行ssh相干的设置,才能方便地拉取和推送。
第1步:创建SSH Key。
在用户主目录下,看看有没有.ssh 目录,键盘输入ctrl+H就可以体现隐蔽文件和隐蔽文件夹。如果有,再看看这个目录下有没有 id_rsa 和 id_rsa.pub 这两个文件,如果已经有了,可直接跳到下一步。
如果没有,则必要打开命令行窗口输入如下指令,创建SSH Key:
  1. ssh-keygen -t rsa -C "youremail@example.com"
复制代码
将上述邮箱换成github注册时使用的邮箱,然后回车使用默认值即可创建SSH Key。
上述指令完成后,主目录里将会出现名为.ssh的隐蔽目录。

该目录下有 id_rsa 和 id_rsa.pub两个文件,这两个就是SSH Key的秘钥对,id_rsa是私钥,不能泄暴露去,id_rsa.pub是公钥,必要拷贝其内容到GitHub。
第2步:登录GitHub,进入Settings-> SSH and GPG keys

选择New SSH key

将主文件目录下的.ssh文件夹中,id_rsa.pub这个文件中的内容拷贝到网页中Key的位置。

添加自己的标题,然后确认Add SSH key即可完成SSH密钥对的公钥上传。只有当GitHub知道了我们的SSH公钥,才能确认是本人的上传。当我们有多台电脑时,只必要将每台电脑的Key都添加到Github,就可以在每台电脑上往GitHub推送了。

二、添加远程库

现在的情况是,我们已经在本地创建了一个 Git 堆栈后,又想在 GitHub 创建一个 Git 堆栈, 而且让这两个堆栈举行远程同步,如许,GitHub 上的堆栈既可以作为备份,也可以让其他人通过该堆栈来协作。
首先,登录GitHub,在右上角找到“Create a new repo”按钮,点击创建新的堆栈:

输入想要创建的堆栈名字git_study,其它的保持默认,然后点击Create repository就可以创建公开的代码堆栈。如果不想让别人看到可以选择Private,创建私有堆栈。

Git堆栈建立完成后,将会出现以下界面:

现在,在GitHub上这个git_study堆栈还是空的。我们可以把一个已有的本地堆栈与之关联,然后,把本地堆栈的内容推送到GitHub堆栈。
那么怎样将本地堆栈与远程堆栈关联,必要按照github的提示,在本地的git_study堆栈下,使用如下指令:
  1. git remote add origin git@github.com:Yangbit666/git_study.git
复制代码

添加后,远程库的名字就是 origin,这是 Git 默认的叫法,也可以改成别的,但是 origin 这个名字是远程库的常规叫法。
下一步,就可以将本地库所有的内容都推送到远程库上:
  1. git push -u origin master
复制代码

使用git push就可以将本地的master分支推送到远程origin堆栈。此中-u是由于这是第一次push,我们不光必要将本地的master分支内容推送到远程新的master分支,还必要把本地的master分支和远程的master分支关联起来。
在之后对readme的更改,可以只输入如下指令来推送到远程堆栈:
  1. git push origin master
复制代码
二、从远程库克隆

对于上述场景,我们是先有了本地库,再创建远程库,然后通过remote add举行关联。一般来说,如果我们从零开辟,最好的方式是先创建远程库,然后从远程库克隆。
第一步
登陆GitHub,创建一个新的堆栈,名为git_skills:

现在,远程库已经准备好了,下一步是用命令 git clone 将远程库克隆到本地:
  1. git clone git@github.com:Yangbit666/git_skills.git
复制代码
注意GitHub提供了两种克隆方式,https和ssh。通常使用ssh会更快,但是对于只开放了https端口的公司,只能使用https的传输方式。

如许我们就实现了远程堆栈克隆到本地的操作。
我们在git_skills下添加一个测试文件readme.md来模拟我们对于远程堆栈的改动。

当我们想要使用:
  1. git push -u origin master
复制代码
时会发现如下错误:

错误提示无法推送,再来看我们之前的git_study堆栈,发现它就可以正常推送。这两个堆栈的区别在于先前的git_study堆栈是从本地关联到远程堆栈的,也就是先有本地,后有远程。
但是我们后来的git_skills堆栈是先有远程,后有本地。
这两个堆栈所在的默认分支差别:

可以看到git_skills堆栈所在的分支是从远程堆栈克隆来的main分支,而git_study则是从本地创建的master默认分支。以是对于git_skills输入:git push origin master
会发现,本地没有master分支。而当我们输入:
  1. git push origin main
复制代码
就会发现,可以将本地的main分支,上传到origin远程堆栈。


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

冬雨财经

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表