Git--远程仓库的使用和多仓库管理

来源:互联网 发布:sql 注入 编辑:程序博客网 时间:2024/05/01 10:46

远程仓库的使用

为了能在任意 Git 项目上协作,你需要知道如何管理自己的远程仓库。 远程仓库是指托管在因特网或其他网络中的你的项目的版本库。
你可以有好几个远程仓库,通常有些仓库对你只读,有些则可以读写。 与他人协作涉及管理远程仓库以及根据需要推送或拉取数据。
管理远程仓库包括了解如何添加远程仓库、移除无效的远程仓库、管理不同的远程分支并定义它们是否被跟踪等等。

一、基本命令介绍

1.查看当前仓库的远程库列表
     $git remote 只列出来远程库别名(如果本地仓库是clone的来的,至少会有一个origin 这是 Git 给你克隆的仓库服务器的默认名字)

     $git remote -v 会显示需要读写远程仓库使用的 Git 保存的简写与其对应的 URL。

$ git remote -vorigin  https://github.com/schacon/ticgit (fetch)origin  https://github.com/schacon/ticgit (push)

    $git remote show [remote-name] 查看某远程仓库的详情

此命令列出了当你在特定的分支上执行 git push 或者git pull时候默认会操作(提交或自动合并)的远程分支。 它也同样地列出了哪些远程分支不在你的本地,哪些远程分支已经从服务器上移除了。

2.添加远程仓库
    $git remote add [shortname] [url] 添加一个新的远程 Git 仓库,同时指定一个你可以轻松引用的简写

3.从远程仓库中抓取与拉取
    $git fetch | pull [remote-name]
fetch与pull的区别:如果你使用 clone 命令克隆了一个仓库,命令会自动将其添加为远程仓库并默认以 “origin” 为简写。
git fetch origin 会抓取克隆(或上一次抓取)后新推送的所有工作。 并不会自动合并或修改你当前的工作,必须要手动进行合并。
git pull 命令来自动的抓取然后合并远程分支到当前分支。
默认情况下,git clone 命令会自动设置本地 master 分支跟踪克隆的远程仓库的 master 分支(或不管是什么名字的默认分支)。 运行 git pull 通常会从最初克隆的服务器上抓取数据并自动尝试合并到当前所在的分支。
4.推送到远程仓库
    $git push [remote-name] [branch] 推送 【仓库】的【branch】分支

5.远程仓库的移除与重命名
     $git remote rename [old] [new] 去修改一个远程仓库的简写名
     $git remote rm [remote-name] 移除指定的远程库

二、同时提交多个仓库的操作

如果同一个项目存在两个远程仓库
https://github/repository.git github上的
git@gitee.com/repository.git 码云上的
实现一次push 到两个仓库上
1.git remote add two https://github/repository.git;创建一个two别名的远程仓库并讲github的url 赋值上去;
2.git remote set-url –add two git@gitee.com/repository.git ;然后通过set-url将码云的url添加到two上(支持https和ssh混用)
3.git push two –all ;最后就可以通过push two 来同时push到两个仓库中出

三、可能遇到的问题

在远程库首次关联的时候可能会出现下图的问题:
这里写图片描述
具体解决方案请参考《如何解决failed to push some refs to git》

原创粉丝点击