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使用笔记(四)远程操作的更多相关文章

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

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

  2. Git分支中的远程操作实践

    Git分支中的远程操作实践 前几篇博客陆陆续续的讲了好多关于Git操作的内容, 其中在上篇博客聊了<Git中的merge.rebase.cherry-pick以及交互式rebase>,本篇 ...

  3. Git 学习(四)操作修改和版本穿梭

    Git 学习(四)操作修改和版本穿梭 之前的章节,已介绍了本地Git库创建.暂存区增.删.改,以及提交版本库:可回顾下命令操作: git add 和 git commit. 光有之前章节的操作,Git ...

  4. 项目管理---git----快速使用git笔记(四)------远程项目代码的首次获取

    使用git最常见的场景是 你需要参与到一个项目中,而这个项目的代码,同事已经上传到github或者https://coding.net了. 这时候他会给你一个项目代码的远程仓库链接. 例如: http ...

  5. Git知识总览(六) Git分支中的远程操作实践

    前几篇博客陆陆续续的讲了好多关于Git操作的内容,本篇博客仍然也不例外,不过本篇博客的主题是关于git的远程操作的.依照之前博客的风格,我们依然依托于LearningGitBranch中的相关内容来探 ...

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

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

  7. git学习笔记5-撤销操作

    git撤销有四种情况,一是没有commit,想恢复所有文件:二是没有commit,想恢复全部文件:三是已经commit了,想恢复某个版本:四是本地已经提交了,想从远程库恢复. 1. 没有commit, ...

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

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

  9. git学习笔记 ---添加远程库

    现在的情景是,你已经在本地创建了一个Git仓库后,又想在GitHub创建一个Git仓库,并且让这两个仓库进行远程同步,这样,GitHub上的仓库既可以作为备份,又可以让其他人通过该仓库来协作,真是一举 ...

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

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

随机推荐

  1. JAVA Web 项目中用到的技术

    JSPServletTomcatMySQL MavenSpringMVCHibernatejQueryBootstrapAngularJSBootStrap Table 下边两个是移动APP开发要用到 ...

  2. 11个简单实用技巧--Java性能调优

    多数开发人员认为性能优化是个比较复杂的问题,需要大量的经验和知识.是的,这并不没有错.诚然,优化应用程序以获得最好的性能并不是一件容易的事情,但这并不意味着你在没有获得这些经验和知识之前就不能做任何事 ...

  3. 5.Python的语言特点

    前言   Python有哪些语言特点?可以列出的特点很多,例如,<Python核心编程>第二版列出了十多条特点.本文的三个特点是笔者学习Python的体会,其他特点有体会之后再写,笔者是这 ...

  4. c#获取当前运行程序所在的目录

    C#获取项目程序及运行路径的方 1.asp.net webform用“Request.PhysicalApplicationPath获取站点所在虚拟目录的物理路径,最后包含“\”:   2.c# wi ...

  5. ethtool speed HowTo : Change Speed and Duplex of Ethernet card in Linux

    To change Speed and Duplex of an ethernet card, we can use ethtool - a Linux utility for Displaying ...

  6. abtest-system后台系统设计与搭建

    本文来自网易云社区 作者:刘颂 1 项目背景: 2017年5月:客户端提出增加https&dns以及双cdn业务功能 后台配合实现使用disconf配置 针对不同的域名或者请求配置不同的htt ...

  7. windows 10 下的linux子系统用法 -- tmux分屏工具用法

    1 激活linux子系统的方法见百度: 2 打开powershell,输入bash启动子系统终端:输入exit退出: 3 输入tmux attach连接会话:ctrl-b+d 返回终端:ctrl-b+ ...

  8. java集合浅谈(一)

    一.类库结构图概览 容器对象仅能持有对象引用(对象的指针),而不是Copy对象信息,从网上搜得几张Java中集合类库的结构图,如下所示: 二.解说Collection 2.1 Collection ( ...

  9. Linux下创建pycharm的快捷方式

    第一步:创建桌面快捷方式文件Pycharm.desktop,并打开 sudo gedit /usr/share/applications/Pycharm.desktop 第二步:在打开的文件Pycha ...

  10. Qt 在控件上面绘图 label,pushbutton。。。。。

    最近有点时间,就研究研究Qt ,提升一下自己 我记得我在刚开始学习Qt 的时候,想要在一个控件上面绘制图形,那就要构建一个新类来调用该控件的绘图函数 今天看到了狗哥的学习博客,感觉自己好渺小啊,按照狗 ...