添加\连接远程库

目前我们使用到的 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. P1231 教辅的组成 拆点限流

    如果只有两个物品的话 是一个裸的二分图匹配问题 现在变成了三个物品之间的匹配 则只要在中间加一层节点表示书 再把这层的每个点拆成两个点中间连一条边限制流量 使其只能用一次 #include<io ...

  2. WebRtc的一些基本概念

    GCC:Google Congestion Control,谷歌提出的拥塞控制算法 REMB:Receiver Estimated Maximum Bitrate,  接收端最大接收码率估测,接收端会 ...

  3. Vue-项目重要配置

    Vue配置axios ''' 1)安装插件(一定要在项目目录下): >: cnpm install axios 2)在main.js中配置: import axios from 'axios' ...

  4. Linux防CC攻击脚本

    多数CC攻击在web服务器日志中都有相同攻击的特征,我们可以根据这些特征过滤出攻击的ip,利用iptables来阻止 #!/bin/bash #by LinuxEye #BLOG: http://bl ...

  5. awk的妙用

    终端形式 有人说awk的优势在于可以个性化输出命令,这么说来太抽象了,假如我们查看占用6379端口的进程信息. lsof -i: 输出结果: COMMAND PID USER FD TYPE DEVI ...

  6. Python3-def

    def hello(): print("这是一个无参数的方法!") hello(); print("") def helloOne(str): print(st ...

  7. macOS关闭修改扩展名的提示

    关闭 defaults write com.apple.finder FXEnableExtensionChangeWarning -bool false; killall Finder 开启 def ...

  8. Can't install '*' from pristine store, because no checksum is recorded for this file

    svn同步时,提示clean up,但clean up 时提示: Error:Error performing cleanup for 'E:\project\projectProjectIDEA\b ...

  9. React-router的使用:标签跳转和编程式跳转

    目录: 1.demo:NavLink 标签跳转 2.标签渲染路由组件时,获取url参数 3.编程式跳转 参考文档 1)https://reacttraining.com/react-router/we ...

  10. contents() 查找匹配元素内部所有的子节点(包括文本节点)。如果元素是一个iframe,则查找文档内容

    contents() V1.2概述 查找匹配元素内部所有的子节点(包括文本节点).如果元素是一个iframe,则查找文档内容   示例 描述:大理石平台检定规程 查找所有文本节点并加粗 HTML 代码 ...