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远程操作详解

 

最新文章

  1. 浅谈DrawerLayout(抽屉效果)
  2. 项目 CTR预估
  3. linux驱动开发之块设备学习笔记
  4. AndroidStudio快捷键
  5. Maven学习之 插件plugin
  6. 盒模型结构——3D盒模型
  7. codeforces 724
  8. 一个简单的scrapy爬虫抓取豆瓣刘亦菲的图片地址
  9. 一个简单的解决方法:word文档打不开,错误提示mso.dll模块错误。
  10. nginx如何解决超长请求串
  11. 慕课linux学习笔记(九)常用命令(6)
  12. 一个cocoapods问题的解决,希望能帮助到遇到相似情况的人
  13. Spring框架——批处理(batch)和事务(Transaction)
  14. RabbitMQ 笔记-RPC
  15. Magento composer 安装
  16. DNA Consensus String
  17. 【python】正则替换
  18. spring cloud 自定义ribbon客户端
  19. .Net-using-Class:String 类
  20. 用OpenGL绘制平滑着色的三角形与相交区域的混合着色

热门文章

  1. Table被web编程弃用的原因
  2. EXKMP学习笔记QAQ
  3. C语言实例解析精粹学习笔记——43(希尔排序)
  4. Kubernetes-Service Account
  5. Rmarkdown:输出html设置
  6. kudu是什么
  7. 面试-MySQL总结
  8. 使用maven插件生成grpc所需要的Java代码
  9. 人工智能,图片识别,与GUI编程
  10. BeyondCompare3 提示许可证密钥已被撤销解决方法