git使用笔记(四)远程操作
By francis_hao Nov 19,2016
以一张图说明远程操作,图片来自参考[2]

git clone
从远端主机克隆一个版本库,若省略directory则生成一个和远端同名的版本库。
$ git clone <repository>
[directory]
git clone支持的一些远端主机协议
$ git clone http[s]://example.com/path/to/repo.git/
$ git clone ssh://example.com/path/to/repo.git/
$ git clone git://example.com/path/to/repo.git/
$ git clone /opt/git/project.git
$ git clone file:///opt/git/project.git
$ git clone ftp[s]://example.com/path/to/repo.git/
$ git clone rsync://example.com/path/to/repo.git/
git remote
git要求每个远端主机都必须指定一个主机名,git remote命令就用于管理主机名
查看远端主机,这里有一个默认的远端主机origin,git clone时候默认的主机名
$ git remote
查看远端主机的地址
$ git remote -v

查看主机的详细信息
$ git remote show origin

添加远端主机
$ git remote add <主机名> <地址>
删除远端主机
$ git remote rm <主机名>
重命名远端主机
$ git remote rename <原主机名> <新主机名>
git fetch
从远端主机将更新取回本地,但不做合并。
取回远端主机上的所有分支
$ git fetch <远端主机名>
取回远端主机上的指定分支
$ git fetch <远端主机名> <分支名>
查看所有分支,包括本地分支和远端主机的分支
$ git branch -a
查看远端主机分支
$ git branch -r

git pull
取回远端主机某个分支的更新,并与本地的指定分支合并
$ git pull <远程主机名> <远程分支名><:本地分支名>
如果省略本地分支名,表示将远程分支与当前所在分支合并
如果连远程分支名也省略了,表示将本地和远程主机建立追踪关系的分支(通常是同名分支)取回并合并
如果连远程主机名也省略了,则表示本地仅与一个远程主机的一个分支建立了追踪关系。
手动建立追踪关系,将本地master分支追踪origin/next分支
$ git branch --set-upstream master origin/next
git push
将本地分支的更新,推送到远程主机
$ git push <远程主机名> <本地分支名><:远程分支名>
如果省略远程分支名,则表示将本地分支推送到与之存在追踪关系的远程分支(通常两者同名),如果该远程分支不存在,则会被新建。
如果连本地分支名也省略了,则表示将当前分支名推送到与之存在追踪关系的远程分支
如果连远程主机名也省略了,则表示将当前分支推送到仅有的一个远程主机的建立了追踪关系的分支上。
如果仅省略本地分支名,则表示删除指定的远程分支,因为这等同于推送一个空的本地分支到远程分支。
推送并指定一个默认的远程主机名,以便下次直接使用不带参数的git push命令
$ git push -u origin master:master

本文由 刘英皓 创作,采用 知识共享 署名-非商业性使用-相同方式共享 3.0 中国大陆 许可协议进行许可。欢迎转载,请注明出处:
转载自:http://www.cnblogs.com/yinghao1991/p/6081897.html
参考
[1] 蒋鑫.《git权威指南》北京:机械工业出版社,2011.6
[2] 阮一峰 http://www.ruanyifeng.com/blog/2014/06/git_remote.html git远程操作详解
git使用笔记(四)远程操作的更多相关文章
- Git学习笔记四--远程仓库
Git远程仓库 Git是分布式版本控制系统,同一个Git仓库,可以分布到不同的机器上. 怎么分布呢?最早,肯定只有一台机器有一个原始版本库,此后,别的机器可以“克隆”这个原始版本库,而且每台机器的版本 ...
- Git分支中的远程操作实践
Git分支中的远程操作实践 前几篇博客陆陆续续的讲了好多关于Git操作的内容, 其中在上篇博客聊了<Git中的merge.rebase.cherry-pick以及交互式rebase>,本篇 ...
- Git 学习(四)操作修改和版本穿梭
Git 学习(四)操作修改和版本穿梭 之前的章节,已介绍了本地Git库创建.暂存区增.删.改,以及提交版本库:可回顾下命令操作: git add 和 git commit. 光有之前章节的操作,Git ...
- 项目管理---git----快速使用git笔记(四)------远程项目代码的首次获取
使用git最常见的场景是 你需要参与到一个项目中,而这个项目的代码,同事已经上传到github或者https://coding.net了. 这时候他会给你一个项目代码的远程仓库链接. 例如: http ...
- Git知识总览(六) Git分支中的远程操作实践
前几篇博客陆陆续续的讲了好多关于Git操作的内容,本篇博客仍然也不例外,不过本篇博客的主题是关于git的远程操作的.依照之前博客的风格,我们依然依托于LearningGitBranch中的相关内容来探 ...
- Git学习笔记——搭建远程仓库
有空再把笔记移上来 注意点:git remote add origin不是相对于所有git仓库,只相对于当前git仓库 心得:远程建立裸仓库,意味着我不应该直接操作远程仓库.如果我是管理员,我应该先p ...
- git学习笔记5-撤销操作
git撤销有四种情况,一是没有commit,想恢复所有文件:二是没有commit,想恢复全部文件:三是已经commit了,想恢复某个版本:四是本地已经提交了,想从远程库恢复. 1. 没有commit, ...
- Git学习笔记(二) 远程仓库及分支
添加远程仓库(以GitHub为例) 所谓的远程仓库,其实就和本地仓库一样,只是我们本地电脑可能会关机什么的.远程仓库的目的就是保证7*24小时开启状态.GitHub是一个很好的公共Git远程仓库(后面 ...
- git学习笔记 ---添加远程库
现在的情景是,你已经在本地创建了一个Git仓库后,又想在GitHub创建一个Git仓库,并且让这两个仓库进行远程同步,这样,GitHub上的仓库既可以作为备份,又可以让其他人通过该仓库来协作,真是一举 ...
- 【Git学习笔记】远程仓库
第一种情景:本地初始化一个Git仓库后,接着又在github上创建了一个Git仓库,现在要让这两个仓库进行远程同步. 1. 关联本地仓库就和远程仓库 $ git remote add origin ...
随机推荐
- linux下SVN CVS命令大全
1.将文件checkout到本地目录 svn checkout path(path是服务器上的目录) 例如:svn checkout svn: // 192.168. 1.1 / pro / doma ...
- java泛型<? extends E> 有上限通配符与<? Super E>有上限通配符
通配符?,?表示占位,表明将来使用的时候在指明类型 <?>无限定的通配符, 是让泛型能够接受未知类型的数据 <? extends E> 有上限通配符,能够接受指定类及其子类类型 ...
- red hat 7 启动过程(EFI)
不同版本的Linux系统的启动过程在某些地方是不一样的,现在先来介绍一下red hat 7 的启动过程(EFI). (加电→图形登录界面) 接通电源 按下电源键 EFI固件启动 初始化硬件 从EFI启 ...
- Go语言的标准net库使用
Go语言的标准net库使用 与大多数语言一样,Go的标准库是很全的,因为Go的出现本来就是为了网络通信的高并发实现,所以其相关的网络库封装得很简洁,也更加的易读.这里对使用到的api进行记录. net ...
- react-router 4.0中跳转失灵
在https://github.com/ReactTraining/history文档中,跳转是 用这种方法,但是,用了之后就存在这么一个问题,网址换了但是页面并没有刷新. 查了资料后,history ...
- 笔记-twisted-adbapi-scrapy
笔记-twisted-adbapi-scrapy-mysql 1. 异步插入mysql 在爬虫中需要insert到mysql,但有一个问题是在爬虫环境中commit的及时性与性能冲突. 一般 ...
- HTML5 + JS 调取摄像头拍照下载
<video id="video" width="640" height="480" autoplay></video&g ...
- 1139: [POI2009]Wie
1139: [POI2009]Wie https://www.lydsy.com/JudgeOnline/problem.php?id=1139 分析: Dijkstra.状压最短路,dis[i][j ...
- 第十一篇 Python函数之定义&形参&实参&位置参数&关键字参数&可变长参数&默认参数
函数的定义:函数是为了完成某一特定功能的,函数是逻辑结构化和过程化的一种编程方法 函数的定义格式,函数一般都是有返回值的 #语法 #函数名要能反映其意义 def 函数名(参数1,参数2,参数3,... ...
- spring+apache dbcp +oracle 连接池配置以及优化
特此记录 <!-- 数据源配置, 使用应用中的DBCP数据库连接池 --> <bean id="dataSource" class="org.apach ...