0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Git项目远程仓库的使用

麦辣鸡腿堡 来源:嵌入式Linux系统开发 作者:嵌入式Linux系统开 2023-07-22 11:31 次阅读

远程仓库的使用

为了能在任意 Git 项目上协作,你需要知道如何管理自己的远程仓库。远程仓库是指托管在因特网或其他网络中的你的项目的版本库。你可以有好几个远程仓库,通常有些仓库对你只读,有些则可以读写。与他人协作涉及管理远程仓库以及根据需要推送或拉取数据。

管理远程仓库包括了解如何添加远程仓库、移除无效的远程仓库、管理不同的远程分支并定义它们是否被跟踪等等。

查看远程仓库

如果想查看你已经配置的远程仓库服务器,可以运行 git remote 命令。它会列出你指定的每一个远程服务器的简写。如果你已经克隆了自己的仓库,那么至少应该能看到 origin ——这是 Git 给你克隆的仓库服务器的默认名字:

$ git clone https://github.com/schacon/ticgit
Cloning into 'ticgit'...
remote: Reusing existing pack: 1857, done.
remote: Total 1857 (delta 0), reused 0 (delta 0)
Receiving objects: 100% (1857/1857), 374.35 KiB | 268.00 KiB/s, done.
Resolving deltas: 100% (772/772), done.
Checking connectivity... done.
$ cd ticgit
$ git remote
origin

你也可以指定选项 -v,会显示需要读写远程仓库使用的 Git 保存的简写与其对应的 URL。

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

如果你的远程仓库不止一个,该命令会将它们全部列出。例如,与几个协作者合作的,拥有多个远程仓库的仓库看起来像下面这样:

$ cd grit
$ git remote -v
bakkdoor https://github.com/bakkdoor/grit (fetch)
bakkdoor https://github.com/bakkdoor/grit (push)
cho45 https://github.com/cho45/grit (fetch)
cho45 https://github.com/cho45/grit (push)
defunkt https://github.com/defunkt/grit (fetch)
defunkt https://github.com/defunkt/grit (push)
koke git://github.com/koke/grit.git (fetch)
koke git://github.com/koke/grit.git (push)
origin git@github.com:mojombo/grit.git (fetch)
origin git@github.com:mojombo/grit.git (push)

这表示我们能非常方便地拉取其它用户的贡献。我们还可以拥有向他们推送的权限。

注意这些远程仓库使用了不同的协议。

添加远程仓库

我们在之前的章节中已经提到并展示了 git clone 命令是如何自行添加远程仓库的, 不过这里将告诉你如何自己来添加它。运行 git remote add shortname url 添加一个新的远程 Git 仓库,同时指定一个方便使用的简写:

$ git remote
origin

$ git remote add pb https://github.com/paulboone/ticgit

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

从远程仓库中抓取与拉取

从远程仓库中获得数据,可以执行:

$ git fetch < remote >

注意 git fetch 命令只会将数据下载到你的本地仓库——它并不会自动合并或修改你当前的工作。当准备好时你必须手动将其合并入你的工作。

如果你的当前分支设置了跟踪远程分支(阅读下一节和 Git 分支 了解更多息), 那么可以用 git pull 命令来自动抓取后合并该远程分支到当前分支。这或许是个更加简单舒服的工作流程。

默认情况下,git clone 命令会自动设置本地 master 分支跟踪克隆的远程仓库的 master 分支(或其它名字的默认分支)。运行 git pull 通常会从最初克隆的服务器上抓取数据并自动尝试合并到当前所在的分支。

推送到远程仓库

当你想分享你的项目时,必须将其推送到上游。这个命令很简单:git push remote branch。当你想要将 master 分支推送到 origin 服务器时(克隆时通常会自动帮你设置好那两个名字), 那么运行这个命令就可以将你所做的备份到服务器:

$ git push origin master

只有当你有所克隆服务器的写入权限,并且之前没有人推送过时,这条命令才能生效。当你和其他人在同一时间克隆,他们先推送到上游然后你再推送到上游,你的推送就会毫无疑问地被拒绝。你必须先抓取他们的工作并将其合并进你的工作后才能推送。

意思就是每次 git push 之前尽量先 git pull 一下,没有 conflict 后再 git push。

查看某个远程仓库

如果想要查看某一个远程仓库的更多信息,可以使用 git remote show remote 命令。如果想以一个特定的缩写名运行这个命令,例如 origin,会得到像下面类似的信息:

$ git remote show origin
* remote origin
Fetch URL: https://github.com/schacon/ticgit
Push URL: https://github.com/schacon/ticgit
HEAD branch: master
Remote branches:
master tracked
dev-branch tracked
Local branch configured for 'git pull':
master merges with remote master
Local ref configured for 'git push':
master pushes to master (up to date)

它同样会列出远程仓库的 URL 与跟踪分支的信息。这些信息非常有用,它告诉你正处于 master 分支,并且如果运行 git pull, 就会抓取所有的远程引用,然后将远程 master 分支合并到本地 master 分支。它也会列出拉取到的所有远程引用。

远程仓库的重命名与移除

你可以运行 git remote rename 来修改一个远程仓库的简写名。例如,想要将 pb 重命名为 paul,可以用 git remote rename 这样做:

$ git remote rename pb paul
$ git remote
origin
paul

这同样也会修改你所有远程跟踪的分支名字。

如果因为一些原因想要移除一个远程仓库——你已经从服务器上搬走了或不再想使用某一个特定的镜像了, 又或者某一个贡献者不再贡献了——可以使用 git remote remove 或 git remote rm :

$ git remote remove paul
$ git remote
origin

一旦你使用这种方式删除了一个远程仓库,那么所有和这个远程仓库相关的远程跟踪分支以及配置信息也会一起被删除。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Git
    Git
    +关注

    关注

    0

    文章

    193

    浏览量

    15417
  • 远程仓库
    +关注

    关注

    0

    文章

    3

    浏览量

    2051
收藏 人收藏

    评论

    相关推荐

    Git常用的超级实用命令

    的一些Git工作流。 1 Git 常用的超级实用命令 1.1 与仓库相关的操作 克隆代码仓库到本地,开发必用 git clone 查看本地
    的头像 发表于 10-09 17:19 917次阅读
    <b class='flag-5'>Git</b>常用的超级实用命令

    Git命令之本地分支与远程分支关联和解除

    在实际的工作生活中,往往需要将本地的分支和远程分支关联,这样我们就可以使用git pull命令来更新拉取最新的代码,并使用git push命令将自己本地的修改推送到远程
    的头像 发表于 12-15 09:27 719次阅读
    <b class='flag-5'>Git</b>命令之本地分支与<b class='flag-5'>远程</b>分支关联和解除

    Git 常用命令大全

    。下面分享下常用的命令1) 远程仓库相关命令检出仓库:$ git clone git://github.com/jquery/jquery.
    发表于 10-11 17:23

    Linux 下建立 Git 与 GitHub的连接并clone至本地

    的指纹信息是否真的来自 GitHub 的服务器。  克隆到本地的仓库会自动关联远程仓库,可以通过git remote -v命令查看关联状态: ↑ 关联后可以通过
    发表于 07-09 08:13

    【HarmonyOS HiSpark Wi-Fi IoT 套件试用连载】git仓库建立以及使用

    ://gitee.com/XXX/XXX此处就会下载3、ubuntu下载下来后,就可以改代码了4、此时我就把代码先复制到XXX文件下,然后进行上传<0>新增远程仓库git remote
    发表于 01-17 16:04

    HarmonyOS-Device Stdio中git的使用

    1.创建本地仓库新建文件夹,在文件中依次运行以下git指令。A.初始化gitgit initB.添加远程仓库git remote add o
    发表于 02-16 16:15

    Git在RT-Thread studio中的基本操作步骤解析

    studio克隆后导入工程(注:只有 eclipse 工程才可以导入成功)注:从远程仓库克隆至本地后需要导入 RT-Thread studio 工程,才可以在项目资源管理器中显示工程内容Gi
    发表于 03-24 09:37

    如何使用计算机上的本地仓库以及GitHub上托管的远程仓库

    添加远程仓库要新增远程,请在终端上存储仓库的目录中使用 git remote add 命令。git
    发表于 06-22 16:57

    packages中有git仓库的软件包的工程推送到远程仓库软件包文件夹内无内容?

    工程的大仓库里如果packages里面有另外的仓库的时候,使用git拉取或者推送得到的文件夹没有内容
    发表于 04-14 10:24

    如何跟远程仓库一起协作提交代码

    之前的这篇文章「从0开始学习 GitHub 系列之「Git速成」」相信大家都已经对 Git 的基本操作熟悉了,但是这篇文章只介绍了对本地 Git 仓库的基本操作,今天我就来介绍下如何跟
    发表于 10-10 11:39 0次下载
    如何跟<b class='flag-5'>远程</b><b class='flag-5'>仓库</b>一起协作提交代码

    如何在GitHub上创建一个全新的Git仓库详细讲解

    如果您从未使用过 Git,甚至可能从未听说过它。莫慌张,只需要一步步地跟着这篇入门教程,很快您就会在 GitHub 上拥有一个全新的 Git 仓库
    的头像 发表于 06-10 09:13 1.4w次阅读
    如何在GitHub上创建一个全新的<b class='flag-5'>Git</b><b class='flag-5'>仓库</b>详细讲解

    腾讯是如何使用Git

    那么,切换到 git 来维护代码仓库,会对我们的日常开发造成影响吗?答应是显然的,首先我们需要学习 git 的基本概念与用法,然后就需要我们在具体的项目实践过程中打磨我们的
    的头像 发表于 08-10 15:02 2245次阅读
    腾讯是如何使用<b class='flag-5'>Git</b>?

    Git概述及知识详解

    暂存区。进仓库前暂时存放区域,未对本地仓库生效。对暂存区文件修改,显蓝色。第一次创建并add到暂存区的文件,由于远程仓库没同步,显绿色。(注:存放在 “.
    的头像 发表于 11-08 14:16 503次阅读

    获取Git项目仓库的两种方式

    获取 Git 仓库 通常有两种获取 Git 项目仓库的方式: 将尚未进行版本控制的本地目录转换为 Git
    的头像 发表于 07-22 11:05 654次阅读

    git切换远程地址分支方式

    git remote set-url origin URL】 更换远程仓库地址,URL为新地址。
    的头像 发表于 12-18 09:35 376次阅读