git总结 -- 远程仓库篇

git总结 -- 远程仓库篇

接着上一篇文章 《git 总结 -- 本地操作篇》,这里继续总结一下git 远程操作。

git 总结 -- 本地操作篇 http://blog.csdn.net/u012480384/article/details/50830820

git总结 -- 配置文件 http://blog.csdn.net/u012480384/article/details/50830881


首先,你要有个远程仓库,免费的有github,你的公司也可能有自己的仓库,也可以自己建一个仓库。
github : https://github.com/


参考

http://www.oschina.net/translate/git-fetch-and-merge?cmp
http://blog.jobbole.com/71091/
http://www.yiibai.com/git/git_clone.html
http://blog.jobbole.com/71091/


git remote

# 查看远程仓库
git remote -v

# 添加远程仓库
git remote add <远程仓库别名, 一般都设为 origin> <url>
可以添加多个远程仓库

# 删除远程仓库
git remote rm <远程仓库别名>

# 修改远程仓库url
$ git remote set-url --push [name] [newUrl]

# 修改远程仓库别名
git remote rename <原主机名> <新主机名>


git push

# 将本地分支推送到远程分支
git push <远程仓库别名> <本地分支名>[:<远程分支名>]
如果没有 "[:<远程分支名>]" 那么会自动默认远程分支名和本地分支名相同。

!! 这里注意 --   ':'前后都不要有空格,下同。

并不是每次push都会成功,当远程仓库的版本更加新时,此时push会有冲突。
如果失败,则需要把远程仓库的内容pull到本地然后merge解决冲突后,再push。

还有一种情况,就是不管是否存在对应的远程分支,将本地的所有分支都推送到远程主机,这时需要使用 --all 选项。


git push --all origin

参数
git push -u 会将远程分支和本地分支绑定。每次git status时,都会提示当前本地分支和远程分支之间commit的区别。


删除远程分支
a. 直接删除

git push <远程仓库别名> --delete <远程分支名>


b. 上传空分支
git push <远程仓库别名>  :<远程分支名>



git fetch

git fetch <远程主机名> [<远程分支名>:<本地分支名>]
如果没有 "[<远程分支名>:<本地分支名>]",则将远程库的所有分支取回。
FETCH_HEAD 会指向fetch下来的分支。
如果有 ":<本地分支名>",则把fetch下来的分支放到本地指定的不存在分支上。
相当于:
git fetch origin yy1
git checkout -b new1 origin/yy

git pull 
# git pull = git fetch + git merge FETCH_HEAD
注意, 这里merge是无参数,即fast-forward。

上述过程其实可以用以下更清晰的方式来进行:
git fetch origin master:tmp
git diff tmp 
git merge tmp

推荐git fetch + git merge | git rebase,因为这样我们可以看到分支的变化后,决定是否merge或rebase。
http://www.oschina.net/translate/git-fetch-and-merge?cmp

如果合并需要采用rebase模式,可以使用–rebase选项。
$ git pull --rebase <远程主机名> <远程分支名>:<本地分支名>

git clone

# 克隆的方式获得远程分支

git clone <版本库的网址>

有 git, ssh, https不同方式的网址,一般你的远程仓库都会有相应的复制按钮,登陆进入到相应的repository就会看到。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值