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. 24.Java基础_IDEA类快捷键_Alt+insert

    这个IDEA我真的爱了,Alt+insert可以定制生成类的各项基本方法 Alt+insert,会打开下面这个界面,选择需要的类方法,按回车 选择该方法下的参数设置,可以使用Ctrl+A全部选中 自动 ...

  2. 初学JavaScript正则表达式(四)

    字符类 [] 一般情况下正则表达式中一个字符对应字符串一个字符 可以使用元字符 [ ] 来构建一个简单的类        类泛指符合某些特征的对象 例: 'a1b1c1d1'.replace(/[ab ...

  3. python27期前端

    第一天笔记:HTML:是一种标识性的语言css:层叠样式表是一种用来表现HTML等文件样式(效果)的计算机语言JavaScript:简称“JS”,是一种属于网络的脚本语言 常用来为网页添加各式各样的动 ...

  4. 剑指Offer-9.变态跳台阶(C++/Java)

    题目: 一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级.求该青蛙跳上一个n级的台阶总共有多少种跳法. 分析: 假设我们要求跳上第3级的跳法,可以从第0级跳3级台阶到达,也可以从第1级 ...

  5. 关于SPFA算法的优化方式

    关于SPFA算法的优化方式 这篇随笔讲解信息学奥林匹克竞赛中图论部分的求最短路算法SPFA的两种优化方式.学习这两种优化算法需要有SPFA朴素算法的学习经验.在本随笔中SPFA朴素算法的相关知识将不予 ...

  6. java jvm虚拟机类加载器

    在Java中任意一个类都是由这个类本身和加载这个类的类加载器来确定这个类在JVM中的唯一性. 类加载器 虚拟机设计团队把类加载阶段中的“通过一个类的全限定名来获取描述此类的二进制字节流”这个动作放到J ...

  7. [Algorithm] 1290. Convert Binary Number in a Linked List to Integer

    Given head which is a reference node to a singly-linked list. The value of each node in the linked l ...

  8. 记 2019蓝桥杯校内预选赛(JAVA组) 赛后总结

    引言 好像博客好久没更新了 哈哈哈哈哈 趁现在有空更新一波 不知道还有没有人看 确实该记录一下每天做了什么了 不然感觉有些浑浑噩噩了 比赛介绍 全称: 蓝桥杯全国软件和信息技术专业人才大赛 蓝桥杯 实 ...

  9. Zuul中聚合Swagger的坑

    每个服务都有自己的接口,通过Swagger来管理接口文档.在服务较多的时候我们希望有一个统一的入口来进行文档的查看,这个时候可以在zuul中进行文档的聚合显示. 下面来看下具体的整合步骤以及采坑记录. ...

  10. mysql小知识点汇总---(时间与时间戳的转换, 修改mysql用户名密码, navicate 导入sql文件报错 1153)

    1. 时间与时间戳的转换 1.1 时间戳转时间 FROM_UNIXTIME(add_time, '%Y-%m-%d') 1.2 时间转时间戳 UNIX_TIMESTAMP('2015-04-29') ...