Git 远程仓库(Github)

目录

添加远程库

查看当前的远程库

提取远程仓库

推送到远程仓库

删除远程仓库


Git 并不像 SVN 那样有个中心服务器。

目前我们使用到的 Git 命令都是在本地执行,如果你想通过 Git 分享你的代码或者与其他开发人员合作。 你就需要将数据放到一台其他开发人员能够连接的服务器上。

本例使用了 Github 作为远程仓库,你可以先阅读我们的Github 简明教程。

https://www.runoob.com/wp-content/uploads/2015/03/Git-push-command.jpeg

添加远程库

要添加一个新的远程仓库,可以指定一个简单的名字,以便将来引用,命令格式如下:

git remote add [shortname] [url]

本例以 Github 为例作为远程仓库,如果你没有 Github 可以在官网 GitHub: Let’s build from here · GitHub注册。

由于你的本地 Git 仓库和 GitHub 仓库之间的传输是通过SSH加密的,所以我们需要配置验证信息:

使用以下命令生成 SSH Key:

$ ssh-keygen -t rsa -C "youremail@example.com"

后面的 your_email@youremail.com 改为你在 Github 上注册的邮箱,之后会要求确认路径和输入密码,我们这使用默认的一路回车就行。

成功的话会在 ~/ 下生成 .ssh 文件夹,进去,打开 id_rsa.pub,复制里面的 key

$ ssh-keygen -t rsa -C "429241167@qq.com"

Generating public/private rsa key pair.
Enter file in which to save the key (/Users/tianqixin/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):    # 直接回车
Enter same passphrase again:                   # 直接回车
Your identification has been saved in /Users/tianqixin/.ssh/id_rsa.
Your public key has been saved in /Users/tianqixin/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:MDKVidPTDXIQoJwoqUmI4LBAsg5XByBlrOEzkxrwARI 429240967@qq.com
The key's randomart image is:
+---[RSA 3072]----+
|E*+.+=**oo       |
|%Oo+oo=o. .      |
|%**.o.o.         |
|OO.  o o         |
|+o+     S        |
|.                |
|                 |
|                 |
|                 |
+----[SHA256]-----+

回到 github 上,进入 Account => Settings(账户配置)。

https://www.runoob.com/wp-content/uploads/2015/03/48840BF0-992F-4CCC-A388-15CB74819D88.jpg

左边选择 SSH and GPG keys,然后点击 New SSH key 按钮,title 设置标题,可以随便填,粘贴在你电脑上生成的 key。

https://www.runoob.com/wp-content/uploads/2015/03/B0589847-A498-4415-8700-252BDE1B20C0.jpg

https://www.runoob.com/wp-content/uploads/2015/03/106AD534-A38A-47F3-88A3-B7BE3F2FEEF1.jpg

添加成功后界面如下所示

https://www.runoob.com/wp-content/uploads/2015/03/EC8F8872-091A-4CAB-90F2-616F34F350A9.jpg

为了验证是否成功,输入以下命令:

$ ssh -T git@github.com

The authenticity of host 'github.com (52.74.223.119)' can't be established.
RSA key fingerprint is SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes                   # 输入 yes
Warning: Permanently added 'github.com,52.74.223.119' (RSA) to the list of known hosts.
Hi tianqixin! You've successfully authenticated, but GitHub does not provide shell access. # 成功信息

以下命令说明我们已成功连上 Github。

之后登录后点击" New repository " 如下图所示:

https://www.runoob.com/wp-content/uploads/2015/03/github1.jpg

之后在在Repository name 填入 runoob-git-test(远程仓库名) ,其他保持默认设置,点击"Create repository"按钮,就成功地创建了一个新的Git仓库:

https://www.runoob.com/wp-content/uploads/2015/03/299CF000-7B6E-4BEC-B8C2-D9AEB053307B.jpg

创建成功后,显示如下信息:

https://www.runoob.com/wp-content/uploads/2015/03/1BCB4379-1A25-4C77-BB82-92B3E7185435.jpg

以上信息告诉我们可以从这个仓库克隆出新的仓库,也可以把本地仓库的内容推送到GitHub仓库。

现在,我们根据 GitHub 的提示,在本地的仓库下运行命令:

$ mkdir runoob-git-test                     # 创建测试目录
$ cd runoob-git-test/                       # 进入测试目录
$ echo "# 新手教程 Git 测试" >> README.md     # 创建 README.md 文件并写入内容
$ ls                                        # 查看目录下的文件
README
$ git init                                  # 初始化
$ git add README.md                         # 添加文件
$ git commit -m "添加 README.md 文件"        # 提交并备注信息
[master (root-commit) 0205aab] 添加 README.md 文件
 1 file changed, 1 insertion(+)
 create mode 100644 README.md


# 提交到 Github
$ git remote add origin git@github.com:tianqixin/runoob-git-test.git
$ git push -u origin master

以下命令请根据你在Github成功创建新仓库的地方复制,而不是根据我提供的命令,因为我们的Github用户名不一样,仓库名也不一样。

接下来我们返回 Github 创建的仓库,就可以看到文件已上传到 Github上:

查看当前的远程库

要查看当前配置有哪些远程仓库,可以用命令:

git remote

实例

$ git remote
  origin
$ git remote -v
origin    git@github.com:tianqixin/runoob-git-test.git (fetch)
origin    git@github.com:tianqixin/runoob-git-test.git (push)

执行时加上 -v 参数,你还可以看到每个别名的实际链接地址。

提取远程仓库

Git 有两个命令用来提取远程仓库的更新。

1、从远程仓库下载新分支与数据:

git fetch

该命令执行完后需要执行 git merge 远程分支到你所在的分支。

2、从远端仓库提取数据并尝试合并到当前分支:

git merge

该命令就是在执行 git fetch 之后紧接着执行 git merge 远程分支到你所在的任意分支。

https://www.runoob.com/wp-content/uploads/2015/03/main-qimg-00a6b5a8ec82400657444504c4d4d1a7.png

假设你配置好了一个远程仓库,并且你想要提取更新的数据,你可以首先执行 git fetch [alias] 告诉 Git 去获取它有你没有的数据,然后你可以执行 git merge [alias]/[branch] 以将服务器上的任何更新(假设有人这时候推送到服务器了)合并到你的当前分支。

接下来我们在 Github 上点击" README.md" 并在线修改它:

然后我们在本地更新修改。

$ git fetch origin

remote: Counting objects: 3, done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (3/3), done.
From github.com:tianqixin/runoob-git-test
   0205aab..febd8ed  master     -> origin/master

以上信息"0205aab..febd8ed master -> origin/master" 说明 master 分支已被更新,我们可以使用以下命令将更新同步到本地:

$ git merge origin/master
Updating 0205aab..febd8ed
Fast-forward
 README.md | 1 +
 1 file changed, 1 insertion(+)

查看 README.md 文件内容:

$ cat README.md
# 新手教程 Git 测试
## 第一次修改内容

推送到远程仓库

推送你的新分支与数据到某个远端仓库命令:

git push [alias] [branch]

以上命令将你的 [branch] 分支推送成为 [alias] 远程仓库上的 [branch] 分支,实例如下。

$ touch runoob-test.txt      # 添加文件
$ git add runoob-test.txt
$ git commit -m "添加到远程"

  master 69e702d] 添加到远程

 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 runoob-test.txt
 $ git push origin master    # 推送到 Github

重新回到我们的 Github 仓库,可以看到文件已经提交上来了:

https://www.runoob.com/wp-content/uploads/2015/03/79A84530-7DC0-4D25-9F83-8776433A4C32.jpg

删除远程仓库

删除远程仓库你可以使用命令:

git remote rm [别名]

实例

$ git remote -v
origin    git@github.com:tianqixin/runoob-git-test.git (fetch)
origin    git@github.com:tianqixin/runoob-git-test.git (push)

# 添加仓库 origin2
$ git remote add origin2 git@github.com:tianqixin/runoob-git-test.git

$ git remote -v
origin    git@github.com:tianqixin/runoob-git-test.git (fetch)
origin    git@github.com:tianqixin/runoob-git-test.git (push)
origin2    git@github.com:tianqixin/runoob-git-test.git (fetch)
origin2    git@github.com:tianqixin/runoob-git-test.git (push)

# 删除仓库 origin2

$ git remote rm origin2

$ git remote -v

origin    git@github.com:tianqixin/runoob-git-test.git (fetch)

origin    git@github.com:tianqixin/runoob-git-test.git (push)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/168311.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

5.什么是Spring的依赖注入(DI)?IOC和DI的区别是什么

很多人把IOC和DI说成一个东西,笼统来说的话是没有问题的,但是本质上还是有所区别的,希望大家能够严谨一点, IOC和DI是从不同的角度描述的同一件事,IOC是从容器的角度描述,而DI是从应用程序的角度来描述,也…

走进低代码:不懂编程也能5分钟开发一个应用

目录 一、低代码开发者 1)低代码赋能IT技术人员--低代码 2)低代码赋能业务人员--零代码 二、低代码基础功能及搭建 1.代码生成器 2.工作流程 3.门户设计 4.大屏设计 5.报表设计 6.第三方登录 7.多租户实现 三、写在最后 低代码就是将代码转变…

前端实现移动端Tab栏(附带源码)

文章目录 先上图,附带源码index.html 主要视图层Main.css 主要样式demo.css主要的JS,在index.html 引入即可先上图,附带源码 提示:一款JS和CSS3炫酷Tabbar导航栏动画特效。该Tabbar导航栏在点击切换时,会有类似波浪运动的动画效果,非常炫酷。 index.html 主要视图层 &l…

Spring:IoC,AOP,SpringEL表达式

IoC容器 IoC ,Spring全家桶各个功能模块的基础,是创建对象的容器。 IoC概念 控制反转,将对象的创建进行反转,常规情况下对象由开发者手动创建,而使用IoC不再需要创建对象,由IoC容器根据需求自动创建项目…

海外IP代理如何助力跨境电商?

黑五作为下半年年度尤为重要的一个节日,是各大商家的必争之地,那么海外代理是如何帮助跨境商家做好店铺管理和营销呢? 为什么跨境人都关注海外代理,下面我们来进行介绍。 一、什么是海外代理 海外代理就是我们所说的&#xff1a…

MindNode v5.0.1(思维导图软件)

思维导图软件哪个比较好呢?MindNode for mac一款功能简单,界面简洁,不用看教程都会用的思维导图软件。mindnode mac可随时随地记录自己的想法,让您从灵感入手,将奇思妙想铺陈在画布上,让一切井井有条。 Mi…

深度学习之三(卷积神经网络--Convolutional Neural Networks,CNNs)

概念 卷积神经网络(Convolutional Neural Networks,CNNs)是一种特殊的神经网络结构,专门用于处理具有网格状结构(如图像、音频)的数据。CNN 在计算机视觉领域取得了巨大成功,广泛应用于图像识别、物体检测、图像生成等任务。以下是 CNN 的主要理论概念: 在数学中,卷…

用三智者交易策略澳福加减仓轻松盈利,就是这么厉害

就是这么厉害, 用三智者交易策略,澳福通过加减仓就可以在交易市场中轻松盈利。各位投资者都知道三智者交易策略的两个重要的原则。当市场超过外部极限时,在向上分形的高点和向下分形的低点,就会跟随外部方向/分形点。 fpmarkets澳…

封装实现unordered_map和set

什么是哈希思想 首先哈希是一个关联式容器,各个数据之间是具有关系的,和vector那些序列式容器不一样。 首先unordered_map中的迭代器是一个单向的迭代器。 其次在unorderede_map和set中是无序的(因为底层不是红黑树,而是哈希了…

Django 入门学习总结4

视图是Django应用程序在Python语言中提供特定的方法并对应于有特定的模板的网页。网页的页面通过视图的方式进行跳转。 在投票系统中,有四个视图: 首页视图,显示最新的问题列表。细节视图,显示问题文本,通过表单可以…

如何搞定电子画册制作,分分钟在线制作与宣传!

一提到公司宣传,大多数人会想到的是制作视频或纸质的小册子。随着互联网技术的发展,如今可以用电子画册来做宣传,不仅可以跨空间地域传播,并且仅需图文排版设计好,通过在线电子画册制作工具转换就能简单实现宣传&#…

Node.js之http模块

http模块是什么? http 模块是 Node,js 官方提供的、用来创建 web 服务器的模块。通过 http 模块提供的 http.createServer() 方法,就能方便的把一台普通的电脑,变成一台Web 服务器,从而对外提供 Web 资源服务。 如果我们想在node…

4.1 Linux操作系统

个人主页:Lei宝啊 愿所有美好如期而遇 我们上次了解了从操作系统往下的部分:Linux进程前导知识 这一次,我们将正式开始进程以及操作系统(OS)及其以上的部分。 我们将操作系统的内存管理,进程管理,文件管理等等称为操…

redis之数据类型

(一)关系型数据库和非关系型数据库的区别 1、关系型数据库是一个机构化的数据库,列和行 (1)列:声明对象 (2)行:记录对象的属性 (3)表与表之间…

choices参数的使用、MVC和MTV的模式、创建表对表关系的三种创建方式

【1】choices参数的使用 应用场景:针对表中可能列表完全的字段,采用choices参数 例如:性别,代码如下 # 1.创建一张表class gender_info(models.Model):name models.CharField(max_length32)password models.CharField(max_lengt…

深度学习(小土堆)

self代表当前类的实例,并用于访问实例的属性和方法,主要方便后面访问属性或者方法。 启动事件文件夹 进行上一步需要在pycharm中设置当打开Terminal终端时,自动进入虚拟环境 防止与别人冲突可以修改端口号 将图像的数据类型转为numpy trans…

壹基金为爱同行到余村,以一步步健行换一滴滴净水

为帮助乡村儿童喝上干净的、足量的饮用水,壹基金联合可口可乐中国发起为爱同行2023安吉余村公益健行活动。本次活动得到了湖州市安吉县天荒坪镇人民政府、湖州市安吉县天荒坪镇余村村村民委员会的大力支持,由深圳市登山户外运动协会、文益社、悦跑圈联合主办。参与健行不仅能感…

中国智能音箱市场销量下降,百度稳居第一 /中国即评出10个大模型创新案例 |魔法半周报

我有魔法✨为你劈开信息大海❗ 高效获取AIGC的热门事件🔥,更新AIGC的最新动态,生成相应的魔法简报,节省阅读时间👻 中国智能音箱市场销量下降,百度稳居第一 中国即将评选出10个最具代表性的大模型创新案例…

十八数藏的文化新生:数字创新的非遗保护之光

在数字时代的大舞台上,十八数藏如一颗璀璨的文化新星,以数字创新的光芒点亮着非遗保护的未来。这不仅仅是一次文化的复兴,更是对传统之美的数字赋能,让非遗在新的时代焕发出勃勃生机。 十八数藏通过数字化手段,使得传统…

【Axure高保真原型】3D环形图_移入显示数据标签

今天和大家分享3D环形图_移入显示数据标签的原型模板,鼠标移入环形区域时,对应区域会变绿,可以查看该区域对应的项目、数据和占比,这个原型模板是用Axure原生元件制作的,所以无需联网,而且可以自由修改样式…