【Git】远程仓库

article/2025/8/19 2:44:02

1 远程仓库的使用

1.1 查看远程仓库

在 Gitee 上创建一个新的仓库git_demo_04,并配置SSH免密登录。SSH可参考 生成SSH秘钥,Gitee 相关使用可参考 Gitee 帮助中心

使用git clone命令克隆git_demo_04仓库到本地,该令会自动将其添加为远程仓库:

$ git clone git@gitee.com:xxx/git_demo_04.git
Cloning into 'git_demo_04'...
remote: Enumerating objects: 4, done.
remote: Counting objects: 100% (4/4), done.
remote: Compressing objects: 100% (4/4), done.
remote: Total 4 (delta 0), reused 0 (delta 0), pack-reused 0
Receiving objects: 100% (4/4), done.

git remote 命令会列出指定的每一个远程服务器的简写,Git 给克隆的仓库服务器的默认名字为 origin :

$ cd git_demo_04/
$ git remote
origin

也可以指定选项 -v,会显示需要读写远程仓库使用的 Git 保存的简写与其对应的 URL(如果远程仓库不止一个,该命令会将它们全部列出):

$ git remote -v
origin  git@gitee.com:xxx/git_demo_04.git (fetch)
origin  git@gitee.com:xxx/git_demo_04.git (push)

1.2 从远程仓库中抓取(fetch)与拉取(pull)

  • 从远程仓库中获得数据,可以执行git fetch <remote>。这个命令会访问远程仓库,从中拉取所有还没有的数据。git fetch只会将数据下载到本地仓库,不会自动合并或修改当前的数据,必须手动将其合并。
  • git pull命令会从最初克隆的服务器上抓取数据并自动合并到当前所在的分支。

1.3 推送到远程仓库

新建一个文件hello.txt并写入一行“hello world”,本地提交后,使用git push <remote> <branch>命令将 master 分支推送到 origin 服务器:

$ vim hello.txt
$ git add hello.txt
$ git commit -m 'hello init'$ git push origin master
Enumerating objects: 4, done.
Counting objects: 100% (4/4), done.
Delta compression using up to 8 threads
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 311 bytes | 311.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
remote: Powered by GITEE.COM [GNK-6.3]
To gitee.com:wise-heart/git_demo_04.gitfe6ed98..4173dbc  master -> master

此时,在Gitee上就能看到新建文件hello.txt的内容:
在这里插入图片描述

1.4 查看指定的远程仓库

可以使用 git remote show <remote> 命令查看某一个远程仓库的更多信息:

$ git remote show origin
* remote originFetch URL: git@gitee.com:xxx/git_demo_04.gitPush  URL: git@gitee.com:xxx/git_demo_04.gitHEAD branch: masterRemote branch:master trackedLocal branch configured for 'git pull':master merges with remote masterLocal ref configured for 'git push':master pushes to master (up to date)

它会列出远程仓库的 URL 与跟踪分支的信息:当前处于 master 分支,如果运行 git pull,就会抓取所有的远程引用,然后将远程 master 分支合并到本地 master 分支。

1.5 远程仓库的重命名与删除

可以运行 git remote rename 来修改一个远程仓库的简写名(同样也会修改所有远程跟踪的分支名字)。例如,将 origin 重命名为 ori:

$ git remote rename origin ori
Renaming remote references: 100% (3/3), done.$ git remote
ori

可以使用 git remote removegit remote rm命令删除远程仓库:

$ git remote remove origin

2 远程分支

2.1 远程分支

假设在 git.ourcompany.com 有一个远程仓库。 使用git clone 命令克隆时,Git会做3件事:

  • 将远程仓库命名为 origin,拉取它的所有数据。
  • 创建一个指向它的 master 分支的指针,并且在本地将其命名为 origin/master。
  • 创建一个与 origin 的 master 分支在指向同一个地方的本地 master 分支。

在这里插入图片描述
如果在本地的 master 分支做了一些工作,在同一段时间内有其他人推送提交到 git.ourcompany.com 并且更新了它的 master 分支。 此时,只要不拉取 origin 的数据,本地的 origin/master 指针就不会移动。
在这里插入图片描述
如果要与给定的远程仓库同步数据,运行 git fetch <remote> 命令。 这个命令查找 “origin” 是哪一个服务器, 从中抓取本地没有的数据,并且更新本地数据库,移动 origin/master 指针到更新之后的位置。
在这里插入图片描述

2.2 推送(push)

本地的分支不会自动与远程仓库同步,必须显式地推送。创建一个新的分支serverfix并做一些修改,然后运行 git push <remote> <branch>推送:

$ git branch serverfix$ git checkout serverfix
Switched to branch 'srverfix'$ vim hello.txt$ git commit -a -m 'serverfif first commit'$ git push origin serverfix
Enumerating objects: 5, done.
Counting objects: 100% (5/5), done.
Delta compression using up to 8 threads
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 270 bytes | 270.00 KiB/s, done.
Total 3 (delta 1), reused 0 (delta 0), pack-reused 0
remote: Powered by GITEE.COM [GNK-6.3]
remote: Create a pull request for 'serverfix' on Gitee by visiting:
remote:     https://gitee.com/xxx/git_demo_04/pull/new/xxx:serverfix...xxx:master
To gitee.com:xxx/git_demo_04.git* [new branch]      serverfix -> serverfix

如果想推送本地分支到一个命名不相同的远程分支,可以运行 git push origin serverfix:awesomebranch 命令将本地的 serverfix 分支推送到远程仓库上的 awesomebranch 分支。

下一次其他协作者从服务器上抓取(fetch)数据时,他们会在本地生成一个远程分支 origin/serverfix,指向服务器的 serverfix 分支的引用。但本地不会有一个新的 serverfix 分支,只有一个不可以修改的 origin/serverfix 指针。

2.3 跟踪分支

跟踪分支是与远程分支有直接关系的本地分支。 如果在一个跟踪分支上输入 git pull,Git 能自动地识别去哪个服务器上抓取、合并到哪个分支。

如果想要在本地的 serverfix 分支(即“跟踪分支”)上工作,可以将其建立在远程跟踪分支之上:

$ git checkout -b serverfix origin/serverfix

Git 为上述命令提供了 --track 快捷方式:

$ git checkout --track origin/serverfix

由于这个操作太常用了, --track 快捷方式本身还有一个快捷方式。 如果本地分支 不存在且 刚好只有一个名字与之匹配的远程分支,Git 会创建一个跟踪分支:

$ git checkout serverfix

可以将本地分支(sf)与远程分支设置为不同的名字:

$ git checkout -b sf origin/serverfix

可以运行 git branch -u命令修改正在跟踪的分支:

$ git branch -u origin/serverfix

2.4 拉取(fetch)

git fetch 命令从服务器上抓取本地没有的数据时,它并不会修改工作目录中的内容。它只会获取数据然后让你自己合并。 git pull 命令在大多数情况下它的含义是一个 git fetch 紧接着一个 git merge 命令。建议单独显式地使用 fetch 与 merge 命令。

2.5 删除远程分支

如果已经通过远程分支做完所有的工作,并且将其合并到了远程仓库的 master 分支。可以运行git push --delete 命令来删除一个远程分支:

$ git push origin --delete serverfix
remote: Powered by GITEE.COM [GNK-6.3]
To gitee.com:xxx/git_demo_04.git- [deleted]         serverfix

http://chatgpt.dhexx.cn/article/ww8YBfhO.shtml

相关文章

取整函数的性质

1、定义&#xff1a;取整函数是一类将实数映射到相近的整数的函数。 2、分类&#xff1a;常用的取整函数有两个&#xff0c;分别是下取整函数和上取整函数。 3、形式&#xff1a; 下取整函数在数学中一般记作&#xff0c;在计算机科学中一般记作 floor(x)&#xff1b; 上…

取整函数

一、函数说明 对 double 而言&#xff0c;取整、取余的相关函数和运算符请参考下表&#xff1a; VB6.0C C# 说 明Int(x)floor(x)Math.Floor(x)floor表示地板&#xff0c;也就是将向下取整数&#xff0c;即返回最大的整数使得 Math.Floor(1.9) 返回 1 Math.Floor(1…

php 除法,php中如何除法取整

php中除法取整的方法&#xff1a;1、使用【round()】函数对浮点数进行四舍五入&#xff1b;2、使用【ceil()】函数向上舍入为最接近的整数&#xff1b;3、使用【floor()】函数向下舍入为最接近的整数。 php中除法取整的方法&#xff1a; 1. round&#xff1a;四舍五入 round()函…

Excel如何使用取整函数

如下图B列为随机录入的数据&#xff0c;现在想要将B列数据四舍五入保留两位小数 在C2单元格输入公式ROUND(B2,2) 将C2单元格下拉到底即可完成四舍五入保留两位小数。 如果想要保留整数&#xff0c;只需要将C2单元格公式改为ROUND(B2,0)&#xff0c;并下拉到底即可完成。 下面跟…

取整函数及其性质

1、取整函数定义及分类 取整函数是一类将实数映射到相近的整数的函数。 常用的取整函数有两个&#xff0c;分别是下取整函数和上取整函数。 下取整函数在数学中一般记作&#xff0c;在计算机科学中一般记作 floor(x)&#xff1b; 上取整函数在数学中一般记作&#xff0c;在…

mysql 向上取整_mysql的取整函数

一、ROUND()函数用法 ROUND(X) -- 表示将值 X 四舍五入为整数&#xff0c;无小数位 ROUND(X,D) -- 表示将值 X 四舍五入为小数点后 D 位的数值&#xff0c;D为小数点后小数位数。若要保留 X 值小数点左边的 D 位&#xff0c;可将 D 设为负值。 SELECT ROUND(123.456) 123 SELEC…

Mysql取整函数

Mysql取整函数 1.round 四舍五入取整 round(s,n)&#xff1a;对s四舍五入保留n位小数,n取值可为正、负、零. 如四舍五入到整数位&#xff0c;则n取零. 2.ceil 向上取整 ceil(s)&#xff1a;返回比s大的最小整数 3.floor 向下取整 floor(s)&#xff1a;返回比s小的最大整数 案…

使用grep关键字出现次数进行计数统计

使用grep关键字出现次数进行计数统计 模糊匹配 grep -o "keyword" filename |wc -l精确匹配&#xff08;以整个word 匹配&#xff09; grep -wo "keyword" filename |wc -l包含关键字的行数&#xff08;一行存在多个关键字&#xff0c;计数为1&#xff…

c语言面试笔试题及答案,C语言面试题(含答案)

1、某32位系统下, C程序void *p malloc( 100 ); sizeof (p) ? A.1 B.4 C.100 D.400 2、在一个10阶的B-树上&#xff0c;每个树根结点中所含的关键字数目多允许为( )个&#xff0c;少允许为( )个。 A.10,5 B.9,4 C.8,3 D.7,6 3、以下程序段执行后结果是() #include void main…

grep sed awk详解

1、基本正则 基本正则解释实例^以什么开头grep ‘^1’ id.txt 匹配以1开头 cat -A$以什么结尾grep ‘448$’ id.txt^$空行 这一行没有任何内容&#xff08;空格也是&#xff09;grep -n ‘^KaTeX parse error: Expected group after ^ at position 94: … grep -v ^̲’ id.txt…

linux命令四grep

文章目录 NAME名称SYNOPSIS概要DESCRIPTION描述OPTIONS选项Generic Program Information通用程序信息Matcher Selection匹配器的选择创建测试环境匹配正则测试只匹配字符串(包含特殊字符) Matching Control匹配控制匹配多个正则表达式从文件读取多个匹配样式匹配忽略大小写选择…

C语言基础

01 — Liunx相关命令 1.1 mv:移动&#xff0c;剪切命令 命令格式&#xff1a;mv 源文件 目标文件 作用&#xff1a;剪切成新文件mv 源文件 目标目录下 作用&#xff1a;剪切到制定目录里面去mv 源目录 目标目录 作用&#xff1a;剪切成新目录mv 源目录 目标目录下作用&#…

c语言三个标准流文件格式,标准C语言day02

标准C语言day02 复习&#xff1a; 1、常用的Linux命令 ls、cd、pwd clear touch cp mv rm cat/more/head/tail mkdir rmdir chmod find grep ifconfig ping whoami man sudo ftp telnet ssh tar 2、vim文本编辑器 vi是系统自带的文本编辑器&#xff0c;vim是它的增强版本。 三大…

cf1579

A. Casimir’s String Solitaire 给定一个只存在ABC的字符串&#xff0c;一次操作可以同时删除任意位置的‘A’和‘B’或‘B’和‘C’&#xff0c;问能否删完。 只需判断B的数量是否等于AC的数量。 #include<bits/stdc.h> using namespace std;#define read(a) scanf(&q…

CF 817 C

原题链接&#xff1a; Problem - C - Codeforces 题意&#xff1a; 问从 1 ~ n 有多少个数能使&#xff0c;它减去它的数字和 s。 解法&#xff1a; 可以发现&#xff0c;如果 num 满足条件&#xff0c;那么 num 1 一定也满足条件&#xff0c;所以就有单调性&#xff0c…

CF1837 A-D

A题 题目链接&#xff1a;https://codeforces.com/problemset/problem/1837/A 基本思路&#xff1a; 要求计算蚂蚱到达位置 x最少需要多少次跳跃&#xff0c;并输出蚂蚱的跳跃方案。因为每次可以向左或向右跳跃一定距离&#xff08;距离必须为整数&#xff09;&#xff0c;但是…

npm不是内部命令或外部命令

如上&#xff0c;看到npm -v 或者安装软件时&#xff0c;经常跳出的问题。npm需要加入环境变量中。 如上图片&#xff0c;新建两个文件 node_global\npm&#xff0c;并加入环境变量中。 D:nodejs\node_modules\npm路径下找到.npmrc文件&#xff0c;将其内容改为 prefixD:\node…

启动VUE工程时,出现npm不是内部命令

出现npm不是内部命令&#xff0c;然后查询node -v&#xff0c;也发现node不是内部命令。 所以定位应该是nodejs的问题&#xff0c;因为我的nodejs已经安装了&#xff0c;所以最大的可能就是没有配置环境变量或者配置的不对。 解决步骤&#xff1a; 1.设置环境变量&#xff1…

nvm安装node后npm不是内部命令

nvm install时先下载node&#xff0c;然后下载npm&#xff0c; 下载npm时在node安装目录中会出现temp文件夹&#xff0c;其中有npm压缩包 1、及时将npm压缩包复制出来&#xff0c;不然过会就被删除了 2、解压缩 查看安装目录 使用11.0.0版本 node能够使用&#xff0c;npm不能…

'npm' 不是内部或外部命令,也不是可运行的程序

使用npm命令提示: ‘npm’ 不是内部或外部命令&#xff0c;也不是可运行的程序 在安装nodejs时候&#xff0c;有时候我们会把它安装在d盘或别的盘时&#xff0c;经常会遇到npm环境变量没有配好&#xff0c;需要自己手动去配置。 nodejs在nodejs官网下载后直接点击安装 在安装完…