添加\连接远程库

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

远程仓库可以是Github(可以在官网https://github.com/注册),也可以是自己搭建的Git服务器。

(1) 用邮箱号注册GitHub账号。(注册后我会创建一个GitTest的Repository)

由于本地Git仓库和GitHub仓库之间的传输是通过SSH加密的,所以使用以下命令生成SSH Key。

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

可以在<C:\Users\admin\.ssh>里找到.ssh目录,里面有id_rsa和id_rsa.pub两个文件,这两个就是SSH Key的秘钥对,id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人。

(2) 登陆GitHub,点击头像旁的下拉列表,选择“Settings >> SSH and GPG Keys”页面,在Key文本框里粘贴id_rsa.pub文件的内容。

(3) 为了验证是否成功,输入以下命令

$ssh -T git@github.com

(4) 如果没有本地Git目录,则需要自己本地先初始化,再推送到远程仓库。("远程仓库"标志就是origin,这是Git默认的叫法,一看origin这个名字一看就知道是远程库)

admin MINGW64 /c/GitRepositoryTest/GitTest
$echo "GitTest line1" >> README.md
$git init
$git add README.md
$git commit -m "Add README.md"
$git remote add origin git@github.com:lyz170/GitTest.git #添加远程仓库
$git push -u origin master #push到远程仓库的master分支

如果有本地Git目录,直接推送到远程仓库即可。

$git remote add origin git@github.com:lyz170/GitTest.git
$git push -u origin master

操作远程仓库的命令

查看当前的远程库([-v]: 可以看到每个别名的实际链接地址)

$git remote [-v]

添加远程仓库

$git remote add [repository name] [SSH/HTTPS url]

推送到远程仓库

$git push [repository name] [branch name]

删除远程仓库

$git remote rm [repository name]

关于<git fetch>和<git pull>的区别

一旦远程主机的版本库有了更新(Git术语叫做commit),需要将这些更新取回本地,这时就要用到git fetch命令。

git fetch命令通常用来查看其他人的进程,因为它取回的代码对你本地的开发代码没有影响(该命令并不会覆盖当前本地分支)。所取回的更新,在本地主机上要用[repository name/branch name]的形式读取。比如origin主机的master,就要用origin/master读取。(注意区分命令里的origin master)

git fetch 有四种基本用法

$git fetch #更新git remote中所有的远程repository所包含branch的最新commit-id, 将其记录到.git/FETCH_HEAD文件中
$git fetch [repository name] #更新名称为[repository name]的远程repository上的所有branch的最新commit-id,将其记录
$git fetch [repository name] [branch name] #更新名称为[repository name]的repository上的[branch name]分支
$git fetch [repository name] [branch name]:[local branch name] #(3)完成后,再在本地创建[local branch name]本地分支保存远端分支的所有数据。

取回远程主机的更新以后,可以在它的基础上,使用git checkout命令创建一个新的分支。相当于上面的第4条命令。

$git checkout -b newBrach origin/master

也可以使用git merge命令在当前本地分支上合并远程分支

$git merge origin/master

git pull命令的作用是,取回远程主机某个分支的更新,再与本地的指定/当前分支合并。

$git pull [repository name] [branch name]:[local branch name]

如果远程分支是与当前分支合并,则冒号后面的部分可以省略

$git pull [repository name] [branch name]

[总结]

Git(4):远程仓库的更多相关文章

  1. git 切换远程仓库,以及碰到的一个问题。

    git 切换远程仓库出现如下问题: $ git checkout -b localdev origin/dev fatal: Cannot update paths and switch to bra ...

  2. Git从远程仓库里拉取一条本地不存在的分支方法

    Git从远程仓库里拉取一条本地不存在的分支方法 从远程仓库里拉取一条本地不存在的分支时,进入到对应目录先执行git fetch然后再执行git checkout -b 本地分支名 origin/远程分 ...

  3. git学习——远程仓库操作

    查看当前的远程库——git remote 列出了仅仅是远程库的简单名字 可以加上-v 现实对应的克隆地址 添加远程仓库——git remote add [shortname] [url] git re ...

  4. git从远程仓库中更新代码到本地仓库

    git从远程仓库中更新代码到本地仓库 有时候在使用git pull的时候,会莫名才报错.查了很多资料,尝试过git的很多命令.包括git fetch命令,都会报同样的错.最后终于发现了一条捷径,由网友 ...

  5. [转]git修改远程仓库地址

    原文链接:http://www.cnblogs.com/lazb/articles/5597878.html 问:Coding远程仓库地址变了,本地git仓库地址如何更新为最新地址 git修改远程仓库 ...

  6. 为git创建远程仓库

    首先生成ssh公钥: 将公钥添加到git: 测试秘钥是否通过: 然后就可以到web界面看到标注的地方被绿了: 但是我的没有绿,不知道为啥,难道没有女朋友的原因吗? rm -rf .ssh 重来好几遍都 ...

  7. git从远程仓库拉取内容或向远程仓库上传内容

    一.将本地文件上传到远程仓库步骤 git init git add . git commit -m "初始框架" git remote add origin https://git ...

  8. Git 克隆远程仓库到本地

    Git 克隆远程仓库到本地 参考 $ git clone --help https://git-scm.com/book/zh/v2/Git-%E5%9F%BA%E7%A1%80-%E8%8E%B7% ...

  9. git清空远程仓库

    需求背景:因为用jenkins连接了git仓库,有时候job构建出现问题,需要排查问题,但是呢,真实的项目代码量非常pang大,所以就需要建1个测试仓库,使用最少量的代码能复现自己的问题就好. 这就需 ...

  10. git clone远程仓库的指定分支

    正常clone方式 git clone <远程仓库地址> 默认clone的是远程仓库的master分支 clone指定分支 git clone -b <分支名> <远程仓 ...

随机推荐

  1. Codeforces 1175F The Number of Subpermutations

    做法①:RMQ(预处理NLOGN+后续跳跃蜜汁复杂度) 满足题意的区间的条件转换: 1.长度为R-L+1则最大值也为R-L+1 2.区间内的数不重复 当RMQ(L,R)!=R-L+1时 因为已经保证了 ...

  2. Quartz框架介绍

    一.Quartz概述: Quartz是一个完全由Java编写的开源任务调度的框架,通过触发器设置作业定时运行规则,控制作业的运行时间.其中quartz集群通过故障切换和负载平衡的功能,能给调度器带来高 ...

  3. springboot 项目报错问题的解决

    报错如下: java.lang.IllegalStateException: Failed to load ApplicationContext at org.springframework.test ...

  4. 【bfs分层图 dp】hihocoder#1147 : 时空阵

    最短路径树上分层dp的一类套路吧 题目大意 幽香这几天学习了魔法,准备建造一个大型的时空传送阵. 幽香现在可以在幻想乡的n个地点建造一些传送门,如果她建造了从地点a与地点b之间的传送门,那么从a到b和 ...

  5. asyncio模块实现线程的嵌套和穿插

    import asyncio import time now = lambda :time.time() async def cpc_1(x): print('正在烙比萨饼,预计{}分钟'.forma ...

  6. 转化对象为map方法

    言语不多,直接上代码. private Map<String, Object> introspect(Object obj) throws Exception { Map<Strin ...

  7. Python基础--基于ubuntu linux基础知识点

    part1:Python编译 1.直接在终端编译-----在ubuntu中Python是在home文件夹下的,输入Python(Python2编译,想要Python3直接输入python3) 一般推荐 ...

  8. VO、DTO、POJO、PO的区别

    VO 即value object值对象.主要体现在视图的对象,对于一个WEB页面将整个页面的属性封装成一个对象.然后用一个VO对象在控制层与视图层进行传输交换. DTO 经过处理后的PO,可能增加或者 ...

  9. hdu 5073 Galaxy 数学 铜牌题

    0.5 题意:有n(n<=5e4)个质点位于一维直线上,现在你可以任意移动其中k个质点,且移动到任意位置,设移动后的中心为e,求最小的I=(x[1]-e)^2+(x[2]-e)^2+(x[3]- ...

  10. 利用Python构建时间序列模型解决实际问题的正确姿势

    要本着应用到实际工作中目的去学时间序列分析,才能深入浅出的学会,不要纠结于理论,只听我的,我有信心说明白. 本章内容 趋势分析 序列分解 序列预测 序列分解 统计学基础铺垫 划分 时间序列按照季节性划 ...