【Git】5. 远程库(GitHub)相关操作

简介: 【Git】5. 远程库(GitHub)相关操作

之前也提到了,在整个协作的过程中,必不可少的就是远程库了。Github作为一个全球最大的同性交友网站,同样也是一个非常强大的远程库。


现在希望将本地的hello.txt文件也推到github上去,那首先要先创建个远程库了。


一、github创建远程库


首先登录你的github账号,在右上角+号处,点击New repository


1268169-20210508223820393-736808027.png


创建页面,填好你的库名,可以跟本地库一致,类型选择Public即可,其他不用管了,最后点击下方的绿色按钮Create repository完成创建。


1268169-20210508224147537-1815153934.png


创建完成后,可以看到这里有个链接,随着点击https和ssh切换而改变,这个地址就是咱们的远程库了。


二、创建远程库别名


远程库的链接地址太长了,不想以后pull或者push的时候都要输入那么长的名字,可以给远程库创建别名。


git remote add 别名 远程地址
git remote -v 查看当前所有远程地址别名


1268169-20210508225112687-315312659.png


可以看到查看的结果发现有2个,其实这里是指这个别名既可以用于拉取fetch,也可以用于推送push


三、推送本地分支到远程库


远程库创建好了,但是里面还是空的,现在要把本地库master分支的代码推上去。


git push 别名 分支


先在本地切换到master分支再推送。


1268169-20210508225905529-1074675876.png


发现弹窗一个github的登录弹窗,输入你的账号密码登录即可。


1268169-20210508230245063-1506037859.png


现在,刷新你的github的仓库页面,可以看到文件已经成功推了上去。


四、拉取远程分支到本地库


现在,我通过网页端的代码编辑,在文件末尾新增了一行代码,那么这时候本地代码就不是最新的了,想更新就要pull远程的代码。


git pull 别名 分支


1268169-20210508231223382-37108590.png


五、克隆远程库到本地


远程库代码有了,现在有新的小伙伴也想拉远程的代码,这时候就用到clone了。我在本地新建一个文件目录,在这就相当于一个新人去clone远程库。


git clone 远程库地址


1268169-20210508231836565-1301467547.png


克隆好后,打开新的文件目录,发现已经clone到本地了。进去后发现不仅有文件,.git也有了,所以当做clone操作的时候,其实做了:


  1. 拉取代码
  2. 初始化本地库
  3. 创建别名


1268169-20210508232256612-764141609.png


其实这里clone自动创建的这个origin是默认别名,我在之前创建远程库别名的时候,可以换其他的名字,因为习惯了所以直接创建成origin


六、SSH免密登录


在上面使用https的远程库地址进行推送的时候,会弹出一个登录github的页面。查看我们的远程库地址,会看到还有一个SSH的地址,通过这个协议的地址,

也可以连接并且验证远程服务器和服务。使用SSH密钥,就不用每次都要登录了,可以直接连接github。


1. 生成SSH秘钥


$ ssh-keygen -t ed25519 -C "your_email@example.com"


-t后面跟的是算法名称,现在官方推荐的是这个ed25519,如果系统不支持这个算法,那么可以换成:


$ ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

-C这里是大写C,后面是你的github邮箱,在Settings中的email可以找到。

输入命令后有输入提示,可以敲3次回车用默认项。


1268169-20210509084518847-1140963286.png


结果里有秘钥保存的位置,找到对应位置,查看秘钥,然后复制秘钥内容。


1268169-20210509084929603-599809912.png


2. 添加SSH秘钥


打开github设置里的SSH and GPG keys,点击新增,把复制的秘钥粘贴进去保存即可。


1268169-20210509085414969-894883825.png


现在可以使用远程库的SSH地址来进行操作了。


git push 远程库SSH地址 分支名


1268169-20210509085711417-1153712898.png


第一次会有个确认,输入yes即可。


同样可以给SSH地址加别名,方便使用。


1268169-20210509090446156-1305227589.png


接下来是git集成idea。

相关文章
|
10天前
|
存储 前端开发 JavaScript
🚀 10 个 GitHub 存储库,助你成为前端巨匠✨
本文介绍了10个极具价值的GitHub存储库,旨在帮助各级JavaScript开发人员提升技能。这些资源涵盖了从基本概念到高级算法、编码风格指南、面试准备等各个方面,包括经典书籍、实用工具和面试手册。无论您是刚入门的新手还是有经验的开发者,这些存储库都能为您提供丰富的学习资源,助您在JavaScript领域更进一步。探索这些资源,开启您的学习之旅吧!
34 0
🚀 10 个 GitHub 存储库,助你成为前端巨匠✨
|
11天前
|
Unix Shell 网络安全
git学习六:(bug总结)git@github.com: Permission denied (publickey).等
本文是关于解决在使用Git和GitHub时遇到的“git@github.com: Permission denied (publickey)”错误的指南。文章提供了详细的步骤,包括确认SSH Agent运行状态、检查密钥配置、确保密钥匹配、验证仓库URL、检查权限和代理设置,以及配置SSH文件。这些步骤帮助用户诊断并解决SSH认证问题。
30 0
|
2月前
|
开发工具 git 开发者
掌握版本控制的艺术:Git 与 GitHub 的高效使用指南
在软件开发中,版本控制对于代码管理和团队协作至关重要。本文详细介绍了 Git 的核心概念与命令,包括初始化、创建仓库、文件跟踪、分支管理和远程仓库操作。同时,探讨了如何利用 GitHub 进行项目组织、代码审查及自动化工作流。通过遵循最佳实践,如频繁提交、清晰的信息记录和合理使用分支,开发者可以提升工作效率和团队协作能力,确保项目的持续成功。
|
2月前
|
Shell 网络安全 开发工具
Git,GitHub,Gitee&IDEA集成Git
Git提交项目到GitHub简洁版、版本控制、安装、常用命令、分支、团队协作机制、Github、Gitee远程仓库、IDEA集成Git、IDEA集成Github、IDEA集成Gitee
Git,GitHub,Gitee&IDEA集成Git
|
2月前
|
Shell 网络安全 开发工具
fatal: unable to access 'https://github.com/wolfcw/libfaketime.git/': Encountered end of file
fatal: unable to access 'https://github.com/wolfcw/libfaketime.git/': Encountered end of file
|
3月前
|
存储 开发工具 数据库
什么是 Git 存储库?
【8月更文挑战第14天】
86 3
|
3月前
|
Linux 网络安全 API
【Azure 应用服务】App Service For Linux 环境中,如何从App Service中获取GitHub私有库(Private Repos)的Deploy Key(RSA key)呢?
【Azure 应用服务】App Service For Linux 环境中,如何从App Service中获取GitHub私有库(Private Repos)的Deploy Key(RSA key)呢?
|
4月前
|
网络安全 开发工具 git
【git】解决git报错:ssh:connect to host github.com port 22: Connection timed out 亲测有效
【git】解决git报错:ssh:connect to host github.com port 22: Connection timed out 亲测有效
870 1
|
5月前
|
Shell 测试技术 网络安全
【GIT】如何在GitHub上向一个开源项目贡献代码?
【GIT】如何在GitHub上向一个开源项目贡献代码?
62 5
|
4月前
|
网络安全 开发工具 git
使用git克隆仓库报错:Warning: Permanently added‘github.com’ to the .....(ssh )
所以,你可以安全地忽略这个警告,它不会影响到你使用git克隆仓库。如果你已经成功克隆了仓库,那么一切都在正常工作。如果你在克隆过程中遇到其他问题,那可能需要查看具体的错误信息来解决。
80 0