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. 基于pygame的打砖块游戏,做到一半,不带做了

    跟着一个博主做的,前面的变量的定义全是内个哥们的,没带任何改动,就做了个界面,背景音乐,绘制了个小球,绘制了挡板 小球可以撞到边界反弹,然后做了砖块,定义了一个存放砖块的列表,,,就没有下文了 原博主 ...

  2. C# 生成机器码

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...

  3. UVA ~ 514 ~ Rails (栈)

    参考:https://blog.csdn.net/ZscDst/article/details/80266639 #include <iostream> #include <cstd ...

  4. Git更改远程仓库地址

    最近在开发一个公司内部的公共组件库.老大整理了git仓库里的一些项目,其中就包括这个项目. 项目git地址变了,于是我本地的代码提交成功后push失败. 查看远程地址 git remote -v 更改 ...

  5. 如何保证HashMap线程安全

    可使用Java 1.5推荐的java.util.concurrent包ConcurrentHashMap来实现,内部不再使用类似HashTable的synchronized同步锁,而是使用Reentr ...

  6. 一步一步学Linq to sql(六):探究特性

    延迟执行 IQueryable query = from c in ctx.Customers select c; 这样的查询句法不会导致语句立即执行,它仅仅是一个描述,对应一个SQL.仅仅在需要使用 ...

  7. I两种冒泡算法

    两种冒泡算法: 第一个循环,I 定位当前坐标,第二个循环 把 I 之后的每个数都与 I 比较(比 I 小的都去坐标I),第二个循环之后 坐标 I 为数组里最小的数值. 效率比较高的冒泡算法: stat ...

  8. Java的HashMap和HashTable

    Java的HashMap和HashTable 1. HashMap 1)  hashmap的数据结构 Hashmap是一个数组和链表的结合体(在数据结构称“链表散列“),如下图示: 当我们往hashm ...

  9. jmeter3.0生成html格式的dashboard性能测试结果

    jmeter3.0以上支持生成dashboard的html报告,官网介绍:https://jmeter.apache.org/usermanual/generating-dashboard.html ...

  10. 「日常训练」 Mike and Frog (CFR305D2C)

    题意与分析 (Codeforces 548C) 我开始以为是一条数学题,死活不知道怎么做,无奈看题解,才知这是一条暴力,思维江化了- - 题意大概是这样的: 两个东西的初始高度分别为h1,h2&quo ...