git(7)与远程版本库协作


git(7)与远程版本库协作

Posted by 姜立 on 2011 年 10 月 04 日 in  Git |

网络协议

git与网络上的远程版本库通信,git提供了3种与远程版本库通信的协议:

SSH

git

HTTP/HTTPS

SSH协议

这个协议安全性高。关于通过SSH协议与版本库协作的方式,我已经在这篇文章做了介绍。

git自带网络协议

这个协议的有时是速度快,但是不够安全。这个我们在前边克隆版本库时用的就是这个

git clone git://github/tswicegood/mysite-chp6.git

HTTP/HTTPS协议

这个协议通信效率低,但是能通过严格的防火墙,易于架设。

如何选择网络通信协议

如果希望速度快,选择git协议

如果安全第一,SSH协议是最好选择

如果不想更改防火墙限制规则,HTTP或者HTTPS协议是唯一选择。

克隆远程版本库

例如

git clone git://github/tswicegood/mysite-chp6.git

cd mysite-chp6

ls

image

版本库同步

用git branch命令可以查看本地分支列表,加上-r参数,git就显示远程分支

git branch –r

image

命令git fetch更新远程分支,但它不会把远程分支上的修改合并到本地分支上,使用git pull可以顺序完成两件事:取来,然后合并。

命令git pull需要两个参数,一个是远程版本库名称,另一个是需要拖入的远程分知名(无须在分支前指定版本库前缀origin/)。

关于远程分支名前面的前缀origin/表示远程版本库上的分支名称,用于区别本地分支名称。而origin是默认的远程版本库别名,即克隆是指定的远程版本库。

推入改动

git只会推入已检入的改动,而不会推入工作目录树中的变更和暂存区中的改动:

git push

可以在git push命令后添加参数–dry-run来查看推入哪些提交。

与命令git pull一样,git push命令也可以制动要推入的版本库,语法相同,都是

git push <repository> <refspec>.<repository>可以是任意有效的版本库名称,它可以是网络协议中讨论过的任何url。参数<refspec>可以是任意简单形式,可以是标签也可以是分支,或者像HEAD这样的关键字,用此参数来指定要推入的分支和推入分支到哪些地方。

git push origin mybranch:master将本地分支mybranch上的提交推入远程版本库的主分支上。

添加新的远程版本库

这个我已近在这篇文章做了介绍。

http://jiangli.easymorse.com/?p=504#more-504

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值