Git系列文章(4):Git基础使用(3)

本文详细介绍了Git的远程仓库操作,包括克隆、显示、添加、拉取、推送、检查、重命名和删除等基本操作。重点讲解了`gitclone`、`gitfetch`、`gitpull`和`gitpush`的使用,以及如何处理推送冲突和管理远程分支。此外,还提到了`gitremote`系列命令用于查看和管理远程仓库信息。
摘要由CSDN通过智能技术生成

前两天主要介绍了对本地的Git仓库的一些基础操作,今天将会介绍对远程仓库的基本操作。

7 远程仓库的使用

在平常的项目中,我们常常会与远程仓库打交道。远程仓库是指在互联网或者其他网络服务器上托管的项目版本库。通过远程仓库我们可以与其他项目团队成员共享工作成果。对于远程仓库的基础的使用,我们需要了解如何添加远程仓库、查看项目中使用了哪些远程仓库、移除不再使用的远程仓库、管理远程仓库的远程分支等等操作。

7.1 克隆远程仓库

在前面的文章中提过初始化Git项目的方式之一就是克隆远程仓库,使用命令为:

$ git clone <url>

7.2 显示远程仓库

使用命令git remote命令可以查看当前项目中设置哪些远程仓库,可以追加-v选项查看远程仓库的URL地址

$ git remote
origin
$ git remote -v
origin	https://github.com/jiaoxn/vue-next.git (fetch)
origin	https://github.com/jiaoxn/vue-next.git (push)

如果使用git clone来初始化本地的Git仓库,则origin是克隆的远程仓库的默认名称,并没有特别的含义。如果使用git clone -o <alias_name>为远程仓库设置别名,则此时git remote的输出为设置的别名。

7.3 添加远程仓库

执行git remote add [shortname] [url]添加远程仓库,其中shortname为远程仓库的引用名称。

$ git remote add vue-next https://github.com/jiaoxn/vue-next.git
$ git remote -v
origin	https://gitee.com/jiaoxn/git_learn_note_202102.git (fetch)
origin	https://gitee.com/jiaoxn/git_learn_note_202102.git (push)
vue-next	https://github.com/jiaoxn/vue-next.git (fetch)
vue-next	https://github.com/jiaoxn/vue-next.git (push)

7.4 从远程仓库拉取数据

Git中提供了2种从远程仓库拉取数据的方式:git pull <remote_name> <remote_branch_name>:<local_branch_name>git fetch <remote_name> <remote_branch_name>

如果使用git clone <url>克隆远程项目,则remote_nameorigin;如果使用git clone -o <alias_name> <url>,则remote_namealias_name;如果使用git remote add [shortname] [url]添加的远程仓库,则remote_nameshortname

git fetch会从对应的远程仓库中获取本地仓库没有的数据,也包括远程仓库中含有的分支,需要注意的是,该命令只是获取数据到本地,并不会与本地工作区内的文件合并,如果想和当前本地分支合并,需要后续执行git merge命令。

git pull也会从远程仓库自动获取数据,但是会将远程仓库分支合并到当前本地分支,可以认为该命令是git fetchgit merge两个步骤的结合。

7.5 将本地数据推送到远程仓库

可以使用git push [remote-name] [local-branch-name]命令将本地数据推送到远程仓库,例如:可以使用git push origin master可以将本地的master分支推动到origin对应的远程仓库。

如果想将本地数据顺利的推送至远程仓库,需要注意的是:

  1. 当前用户需要拥有克隆下来的远程仓库的读写权限
  2. 从远程仓库仓库克隆后,在提交之前,如果远程仓库被修改了,那么这次推送会不成功,需要拉取最新的远程仓库,合并到自己的工作目录中,然后在将合并后的版本内容再推送到远程仓库

7.6 检查远程仓库

在7.2节使用git remote -v可以查看项目中设置的远程仓库的名称和对应的URL地址。这里可以使用git remote show [remote-name],显示更多的远程的信息。

$ git remote show origin
* remote origin
  Fetch URL: https://github.com/jiaoxn/vue-next.git
  Push  URL: https://github.com/jiaoxn/vue-next.git
  HEAD branch: master
  Remote branches:
    >linusborg/improve-render-warning-missing-props      tracked
    add-license-files-to-all-packages-2650               tracked
    akryum/on-server-prefetch                            tracked
    dependabot/npm_and_yarn/babel/parser-7.12.11         tracked
    dependabot/npm_and_yarn/babel/types-7.12.12          tracked
    dependabot/npm_and_yarn/estree-walker-2.0.2          tracked
    dependabot/npm_and_yarn/ini-1.3.8                    tracked
    dependabot/npm_and_yarn/node-notifier-8.0.1          tracked
    feat/expose                                          tracked
    linusborg/feat-warn-reserved-properties              tracked
    linusborg/fix-app-unmount-memleak-2907               tracked
    linusborg/handle-readonly-type-attr-on-textarea-2766 tracked
    linusborg/map-shallow-proxies-seperately-2843        tracked
    master                                               tracked
    postcss-8                                            tracked
    reactive-let                                         tracked
    script-setup-2                                       tracked
    test/types/props-default                             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地址,并列出了当前项目追踪了远程仓库的哪些分支,以及当前使用的分支名称。

这里可以注意一下最后4行的输出内容,其中最后2行的输出内容指出了,当执行git push命令是会将本地仓库中的master分支推送至远程仓库中的master分支;最后3-4行的输出内容指出了,当执行git pull命令时,会将远程仓库的master拉取并合并到本地仓库的master中。

7.7 重命名远程仓库

可以使用命令git remote rename <remote_name> <new_remote_name>更新远程仓库的名称,更新时也会更新远程分支的名称,例如更新后,之前的<remote_name>/master分支名称会变成为<new_remote_name>/master

7.8 删除远程仓库

可以使用命令git remote rm <remote_name>删除指定的远程仓库。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值