1.添加远程仓库

$ git remote add [shortname] [url] 
$ git remote add origin https://github.com/Mike199201/GitFile  #origin是仓库的命名

2.从远程仓库拉取数据

2.1 git fetch(拉取)

$ git fetch [remote-name]    #将远程仓库最新内容全部拉到本地暂存区respository,用户检查了以后决定是否合并到本地工作区workspace
$ git fetch [remote-name] <分支名> #将远程仓库特定分支最新内容拉到本地暂存区respository,用户检查了以后决定是否合并到本地工作区workspace

2.2 git pull(拉取并合并)

$ git pull <远程主机名> <远程分支名:本地分支名>  
$ git pull origin master:master  #从远程origin仓库拉取master分支最新的数据到本地master分支的工作区,并完成合并
相当于:
$ git fetch origin master       #从远程主机的master分支拉取最新内容
$ git merge FETCH_HEAD     #将拉取下来的最新内容合并到当前所在的分支中

2.3 git clone(克隆)

$ git clone <地址>        #克隆远程仓库到本地,并在本地默认创建一个master分支
$ git clone -b 分支名 <地址>  #克隆远程仓库的指定分支到本地

3.推送数据到远程仓库

$ git push [remote-name] [branch-name]

例:

$ git push origin master    #推送数据到远程仓库origin的master分支

3.1 如果是第一次推送

需要加上-u这个参数设置默认远程名和分支名:

$ git push -u origin master  #加上-u选项指定了默认远程仓库主机为origin,后面就可以直接使用git push 后面不需加参数

3.2 如果产生冲突

如果远程仓库与本地仓库都有文件修改,执行git push则会产生冲突:

这时,需要在推送之前先手动解决冲突,解决冲突的办法有下面两种:

方法1:

1) $ git pull origin master        #从远程拉取数据到本地并进行合并
2) $ git status               #查看那个文件存在冲突
这时,打开存在冲突的文件可以看到类似下面的信息:

   

  也可以使用git diff 指令查看合并后文件与本地仓库文件的差异:
3) $ git diff  #查看本地合并后的文件与本地仓库最新文件差异打开相应文件手动进行修改:
   
修改后提交到本地仓库,:
4)$ git add readme.txt & git commit -m '解决冲突'  #手动完成修改后提交到本地仓库
5)& git push origin master               #推送到远程仓库 

方法2:

$ git fetch origin master:temp  #从远程origin仓库的master分支拉取到本地并新建一个temp分支
$ git diff temp           #比较master分支和temp分支的区别
$ git merge temp          #合并temp分支到master分支
$ git branch -d temp     #删除temp
$ git push origin master    #推送数据到远程仓库origin的master分支 

4.查看远程仓库信息

$ git remote    #列出所有远程仓库简写
$ git remote -v  #列出所有远程仓库简写及URL
$ git remote show [remote-name]  #查看指定远程仓库详细信息

5.远程仓库的删除和重命名

$ git remote rename origin pb  #将名称为origin的仓库修改为pb
$ git remote rm origin      #删除远程仓库origin
$ git push origin :temp      #删除远程仓库分支

Git学习笔记3-远程仓库的更多相关文章

  1. Git学习笔记(二) 远程仓库及分支

    添加远程仓库(以GitHub为例) 所谓的远程仓库,其实就和本地仓库一样,只是我们本地电脑可能会关机什么的.远程仓库的目的就是保证7*24小时开启状态.GitHub是一个很好的公共Git远程仓库(后面 ...

  2. Git学习笔记——搭建远程仓库

    有空再把笔记移上来 注意点:git remote add origin不是相对于所有git仓库,只相对于当前git仓库 心得:远程建立裸仓库,意味着我不应该直接操作远程仓库.如果我是管理员,我应该先p ...

  3. 【Git学习笔记】远程仓库

    第一种情景:本地初始化一个Git仓库后,接着又在github上创建了一个Git仓库,现在要让这两个仓库进行远程同步. 1. 关联本地仓库就和远程仓库  $ git remote add origin ...

  4. Git学习笔记四--远程仓库

    Git远程仓库 Git是分布式版本控制系统,同一个Git仓库,可以分布到不同的机器上. 怎么分布呢?最早,肯定只有一台机器有一个原始版本库,此后,别的机器可以“克隆”这个原始版本库,而且每台机器的版本 ...

  5. Git学习之添加远程仓库

    好久没有写过博客了,只因人生世事无常! 前言:说实话,早就听说了Git这个代码管理工具的NB之处,却一直没有时间好好学习下.现在终于有时间学习一下这个伟大的工具,在此写下在学习过程中遇到的问题! 推荐 ...

  6. git学习3:远程仓库

    Git是分布式版本控制系统,同一个git仓库,可以分布到不同的机器上,那么需要有一台机器上有一个原始版本库,这样别的机器可以克隆这个原始版本库,那么这台机器就是github. 1,创建SSH Key. ...

  7. Git学习笔记08-远程仓库

    因为想在家里和公司都能用到一套代码,所以选择上传到github,记录一下使用经验. 需要安装git,和注册github 以下操作是第一次将自己的代码上传到GitHub上 1)创建github项目 1. ...

  8. git学习笔记04-将本地仓库添加到GitHub远程仓库-git比svn先进的地方

    第1步:创建SSH Key.在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件,如果已经有了,可直接跳到下一步. 如果没有,打开Shel ...

  9. git学习笔记05-从远程库克隆

    现在,假设我们从零开发,那么最好的方式是先创建远程库,然后,从远程库克隆. 首先,登陆GitHub,创建一个新的仓库,名字叫gitskills: 我们勾选Initialize this reposit ...

随机推荐

  1. 自动化部署-svn hook触发构建

    目的 之前是通过轮询的形式,2分钟更新一次svn,即时性不高,现在想要实现提交代码时直接触发构建 方案 使用svn的服务器hook,当有代码提交时请求jenkins api实现构建 具体实现 1.je ...

  2. 14.Java基础_函数/函数重载/参数传递

    Java函数和函数重载 /* 函数定义: public static 返回类型 func(参数){ 方法体: } 函数重载 在调用时,Java虚拟机会通过参数的不同来区分同名的函数 满足: 1.多个函 ...

  3. django获取某一个字段的列表 values values_list flat=true

    1.values() print(Question.objects.values('title')) #得到的是一个字典 <QuestionQuerySet [{'title': '查询优化之s ...

  4. UVA11464 Even Parity 搜索+递推

    问题描述 UVA11464 题解 第一直觉爆搜. 发现 \(N \le 15\) ,然后后面每行都可以通过第一行递推出来. 爆搜第一行,递推后面+check \(\mathrm{Code}\) #in ...

  5. 短信控制的 智能插头(sim900a arduino uno)

    https://www.arduino.cn/thread-19432-1-2.html 1.所需工具:(1)arduino UNO,(2)sim900a模块,(3)单路继电器,(4)220v ac转 ...

  6. MySQL实战45讲学习笔记:第三十六讲

    一.引子 今天是大年三十,在开始我们今天的学习之前,我要先和你道一声春节快乐! 在上一篇文章中,我们在优化 join 查询的时候使用到了临时表.当时,我们是这么用的: create temporary ...

  7. 使用mybatis动态where字句方法

    上篇文章介绍了如何使用mybatis-generator生成实体类.Mapper接口代码,其中生成的Mapper接口代码是不带ByExample方法的.本篇文章将介绍如何使用mybatis-gener ...

  8. Vue.js 源码分析(三) 基础篇 模板渲染 el、emplate、render属性详解

    Vue有三个属性和模板有关,官网上是这样解释的: el ;提供一个在页面上已存在的 DOM 元素作为 Vue 实例的挂载目标 template ;一个字符串模板作为 Vue 实例的标识使用.模板将会 ...

  9. 如何在yii1.0.7中设置数据库连接超时?

    继承CDbConnection, 覆盖 init()方法 在 parent::init() 之前设置 $this->setAttribute(PDO::ATTR_TIMEOUT, $this-& ...

  10. centos6 cgroup及cgred简介和简单使用

    一.cgroup简介 Linux CGroup全称Linux Control Group, 是Linux内核的一个功能,用来限制,控制与分离一个进程组群的资源(如CPU.内存.磁盘输入输出等).这个项 ...