这是 git-fetch 命令,可以使用我们的多个免费在线工作站之一在 OnWorks 免费托管服务提供商中运行,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器
程序:
您的姓名
git-fetch - 从另一个存储库下载对象和引用
概要
混帐 取 [ ] [ [ ...]]]
混帐 取 [ ]
混帐 取 - 多 [ ] [( | )...]
混帐 取 - 全部 [ ]
商品描述
从一个或多个其他存储库中获取分支和/或标签(统称为“引用”),
以及完成其历史所需的物品。 远程跟踪分支是
更新(见描述下面是控制这种行为的方法)。
默认情况下,任何指向正在获取的历史记录的标签也会被获取; 这
效果是获取指向你感兴趣的分支的标签。这个默认
可以通过使用 --tags 或 --no-tags 选项或通过配置来更改行为
偏僻的。 .tag选项。 通过使用显式获取标签的 refspec,您可以获取标签
也没有指向您感兴趣的分支。
混帐 取 可以从单个命名的存储库或 URL 中获取,也可以从多个
存储库一次如果给出并且有一个遥控器。 进入
配置文件。 (看 混帐配置(1))。
当没有指定遥控器时,默认情况下将使用原始遥控器,除非有
为当前分支配置的上游分支。
获取的 refs 的名称以及它们指向的对象名称是
写入 .git/FETCH_HEAD。 这些信息可能会被脚本或其他 git 命令使用,
如 混帐拉(1)。
配置
- 全部
获取所有遥控器。
-a,--追加
将获取的 ref 的 ref 名称和对象名称附加到
.git/FETCH_HEAD。 如果没有这个选项,.git/FETCH_HEAD 中的旧数据将被覆盖。
--深度=
限制从每个远程分支的尖端获取指定数量的提交
历史。 如果取到一个 浅 由 git clone 使用 --depth= 创建的存储库
选项(见 git克隆(1)),将历史加深或缩短到指定数量
提交。 不会获取深化提交的标签。
--不浅
如果源存储库完整,则将浅存储库转换为完整存储库,
消除浅存储库强加的所有限制。
如果源存储库较浅,则尽可能多地获取,以便当前
存储库与源存储库具有相同的历史记录。
--更新浅
默认情况下,当从浅存储库中获取时, git fetch 拒绝引用
需要更新 .git/shallow。 此选项更新 .git/shallow 并接受此类引用。
--试运行
显示将要做什么,而不做任何更改。
-f,--强制
什么时候 混帐 取 与: refspec,它拒绝更新
本地分行除非远程分支它获取的是一个后代
的. 此选项会覆盖该检查。
-k, --保持
保留下载的包。
- 多
允许几个和要指定的参数。 不可能是
指定的。
-p,--修剪
获取后,删除不再存在于
偏僻的。 如果标签只是因为
默认标签自动跟随或由于 --tags 选项。 但是,如果提取标签到期
到显式 refspec(在命令行或远程配置中,对于
例如,如果远程是使用 --mirror 选项克隆的),那么它们也受
修剪。
-n,--无标签
默认情况下,指向从远程存储库下载的对象的标签
获取并存储在本地。 此选项禁用此自动标记跟随。 这
可以使用遥控器指定遥控器的默认行为。 .tagOpt 设置。
参见 混帐配置(1)。
--refmap=
在获取命令行上列出的 refs 时,使用指定的 refspec(可以给出
不止一次)将 refs 映射到远程跟踪分支,而不是
remote.*.fetch 远程存储库的配置变量。 见部分
“配置的远程跟踪分支”了解详细信息。
-t,--标签
从远程获取所有标签(即,将远程标签 refs/tags/* 获取到本地标签中
具有相同的名称),此外还有其他任何会被获取的内容。 使用
即使使用了 --prune(尽管
如果标签也是显式 refspec 的目标,则无论如何都可以修剪标签; 看
- 修剪).
--recurse-submodules[=是|按需|否]
此选项控制是否以及在什么条件下填充子模块的新提交
也应该被提取。 它可以用作布尔选项来完全禁用
设置为时的递归 没有 或者无条件地递归到所有填充的子模块
当设置为 含,这是在没有任何值的情况下使用此选项时的默认值。 用
线上现场直播 仅在超级项目检索到一个填充的子模块时递归
将子模块的引用更新为尚未在
本地子模块克隆。
--无递归子模块
禁用子模块的递归获取(这与使用
--recurse-submodules=否 选项)。
--submodule-prefix=
前置到信息性消息中打印的路径,例如“获取子模块
foo"。当递归子模块时,这个选项在内部使用。
--recurse-submodules-default=[是|按需]
此选项在内部用于临时提供非负默认值
--recurse-submodules 选项。 配置 fetch 子模块的所有其他方法
递归(如设置 git模块(5)和 混帐配置(1)) 覆盖此选项,
就像直接指定 --[no-]recurse-submodules 一样。
-u, --update-head-ok
默认情况下 混帐 取 拒绝更新对应于当前的头部
分支。 此标志禁用检查。 这纯粹是为了内部使用 混帐 拉
沟通 混帐 取,除非你正在实现你自己的 Porcelain 你
不应该使用它。
--上传包
给定后,要从中获取的存储库由 混帐 取包,
--exec= 传递给命令以指定非默认路径
命令在另一端运行。
-q, --安静
将 --quiet 传递给 git-fetch-pack 并使任何其他内部使用的 git 命令静音。
进度不会报告给标准错误流。
-v,--详细
详细点。
- 进展
默认情况下,进度状态报告在标准错误流上
附加到终端,除非指定了 -q。 此标志甚至强制进度状态
如果标准错误流未定向到终端。
作为提取或拉取操作来源的“远程”存储库。 这个
参数可以是 URL(请参阅下面的 GIT URL 部分)或远程名称
(请参阅下面的遥控器部分)。
将存储库列表引用为远程值的名称。 在里面
配置文件。 (看 混帐配置(1))。
指定要获取哪些引用以及要更新哪些本地引用。 当没有秒
出现在命令行上,要获取的引用是从远程读取的。 。拿来
变量(请参阅下面的配置远程跟踪分支)。
的格式参数是一个可选的加号 +,后跟源引用
, 后跟冒号 :, 后跟目标引用. 结肠可以是
省略时是空的。
标签表示与 refs/tags/ 相同:参考/标签/ ; 它请求获取
到给定标签的所有内容。
匹配的远程引用被获取,如果不是空字符串,
匹配它的本地参考使用快进. 如果可选的加号 + 是
使用时,即使不会导致快进更新,也会更新本地引用。
备注
当您要获取的远程分支已知被倒带和重新定位时
通常,预计它的新提示不会是其以前的后裔
提示(上次获取时存储在远程跟踪分支中)。 你
想要使用 + 号来表示需要非快进更新
对于这样的分支。 没有办法确定或声明一个分支将被
在具有此行为的存储库中可用; 拉动用户必须
知道这是一个分支的预期使用模式。
GIT 网址
通常,URL 包含有关传输协议的信息、传输协议的地址
远程服务器,以及存储库的路径。 根据传输协议,一些
可能缺少此信息。
Git 支持 ssh、git、http 和 https 协议(另外还可以使用 ftp 和 ftps
for fetching 和 rsync 可用于获取和推送,但这些效率低下且
已弃用; 不要使用它们)。
本机传输(即 git:// URL)不进行身份验证,应与
谨慎使用不安全的网络。
以下语法可以与它们一起使用:
· ssh://[用户@]主机.xz[:端口]/path/to/repo.git/
· git://host.xz[:port]/path/to/repo.git/
· http[s]://host.xz[:port]/path/to/repo.git/
· ftp[s]://host.xz[:port]/path/to/repo.git/
· rsync://host.xz/path/to/repo.git/
另一种类似 scp 的语法也可以与 ssh 协议一起使用:
· [用户@]host.xz:path/to/repo.git/
仅当第一个冒号前没有斜杠时才能识别此语法。 这有助于
区分包含冒号的本地路径。 例如本地路径 foo:bar 可以
指定为绝对路径或 ./foo:bar 以避免被误解为 ssh url。
ssh 和 git 协议还支持 ~username 扩展:
· ssh://[用户@]主机.xz[:端口]/~[用户]/path/to/repo.git/
· git://host.xz[:port]/~[user]/path/to/repo.git/
· [user@]host.xz:/~[user]/path/to/repo.git/
对于本地存储库,Git 本身也支持,以下语法可能是
用过的:
· /path/to/repo.git/
· 文件:///path/to/repo.git/
这两种语法大部分是等价的,除非在克隆时,前者意味着
--本地选项。 看 git克隆(1) 详情。
当 Git 不知道如何处理某个传输协议时,它会尝试使用
偏僻的- 远程助手,如果存在的话。 要显式请求远程助手,
可以使用以下语法:
· ::
在哪里可以是路径、服务器和路径,或者是任意的类似 URL 的字符串
被调用的特定远程助手识别。 看 gitremote 助手(1)
细节。
如果有大量名称相似的远程存储库并且您想使用
它们的不同格式(这样您使用的 URL 将被重写为
工作),您可以创建表单的配置部分:
[网址“ ”]
代替 =
例如,与此:
[网址“git://git.host.xz/”]
代替 = host.xz:/path/to/
代替 = 工作:
像“work:repo.git”或“host.xz:/path/to/repo.git”这样的 URL 将被重写为任何
将 URL 设为“git://git.host.xz/repo.git”的上下文。
如果您只想重写 URL 以进行推送,您可以创建一个配置部分
形成:
[网址“ ”]
pushInsteadOf =
例如,与此:
[网址“ssh://example.org/”]
PushInsteadOf = git://example.org/
像“git://example.org/path/to/repo.git”这样的 URL 将被重写为
“ssh://example.org/path/to/repo.git”用于推送,但拉取仍将使用原始
网址。
遥控器
可以使用以下名称之一代替 URL 作为争论:
· Git 配置文件中的一个远程:$GIT_DIR/config,
· $GIT_DIR/remotes 目录中的文件,或
· $GIT_DIR/branches 目录中的一个文件。
所有这些还允许您从命令行中省略 refspec,因为它们每个
包含 git 默认使用的 refspec。
命名 远程 in 配置 文件
您可以选择提供您之前使用配置的遥控器的名称
git-远程(1) 混帐配置(1) 甚至通过手动编辑 $GIT_DIR/config 文件。 网址
这个远程的将用于访问存储库。 这个遥控器的 refspec 将是
当您未在命令行上提供 refspec 时默认使用。 中的条目
配置文件将如下所示:
[偏僻的 ” ”]
网址 =
推网址 =
推=
取=
这仅用于推送。 它是可选的,默认为.
命名 文件 in $GIT_DIR/遥控器
您可以选择在 $GIT_DIR/remotes 中提供文件名。 此文件中的 URL
将用于访问存储库。 此文件中的 refspec 将用作默认值
当您未在命令行上提供 refspec 时。 这个文件应该有以下内容
格式:
URL:上述URL格式之一
推:
拉:
推送:行被使用 混帐 推 和拉:线被使用 混帐 拉 和 混帐 取.
可以为额外的分支映射指定多个 Push: 和 Pull: 行。
命名 文件 in $GIT_DIR/分支
您可以选择在 $GIT_DIR/branches 中提供文件名。 此文件中的 URL
将用于访问存储库。 此文件应具有以下格式:
#
是必须的; # 是可选的。
根据操作,git 将使用以下参考规范之一,如果您不这样做
在命令行上提供一个。 是 $GIT_DIR/branches 中此文件的名称
和默认为主。
git fetch 使用:
参考/头/ :参考/头/
git push 使用:
头:参考/头/
已配置 远程跟踪 分支机构
您经常通过定期和重复获取与同一个远程存储库进行交互
从中。 为了跟踪这样一个远程仓库的进度,git fetch
允许您配置远程。 .fetch 配置变量。
通常,这样的变量可能如下所示:
[远程“起源”]
fetch = +refs/heads/*:refs/remotes/origin/*
此配置有两种使用方式:
· 当 git fetch 运行时没有指定要获取的分支和/或标签
命令行,例如 git fetch origin 或 git fetch, remote。 .fetch 值
用作 refspecs——它们指定要获取哪些 refs 以及要获取哪些本地 refs
更新。 上面的示例将获取原点中存在的所有分支(即任何
ref 与值的左侧匹配,refs/heads/*) 并更新
refs/remotes/origin/* 层次结构中相应的远程跟踪分支。
· 当 git fetch 使用显式分支和/或标签在命令行上运行时,
例如 git fetch origin master, 在命令行上给出的 s 决定什么
将被获取(例如示例中的 master,它是 master 的简写:,
这反过来意味着“获取 主 分支,但我没有明确说明什么
远程跟踪分支以从命令行更新它”),以及示例
命令将获取 仅由 此 主 分支。 遥控器。 .fetch 值
确定更新哪个远程跟踪分支(如果有)。 以这种方式使用时,
偏僻的。 .fetch 值对决定没有任何影响 什么 被获取
(即,当命令行列出 refspecs 时,这些值不用作 refspecs); 他们
只用于决定 哪里 获取的 refs 通过充当
映射。
后者使用遥控器。 .fetch 值可以通过给出
--refmap= 命令行上的参数。
示例
· 更新远程跟踪分支:
$ git 获取来源
上述命令从远程 refs/heads/ 命名空间复制所有分支并存储
它们到本地 refs/remotes/origin/ 命名空间,除非分支。 。拿来
option 用于指定一个非默认的 refspec。
· 明确使用 refspecs:
$ git fetch origin +pu:pu maint:tmp
这通过以下方式更新(或根据需要创建)本地存储库中的分支 pu 和 tmp
从分支(分别)获取 pu 和 maint 从远程存储库。
pu 分支即使没有快进也会更新,因为它是
以加号为前缀; tmp 不会。
· 查看远程分支,无需在本地存储库中配置远程:
$ git fetch git://git.kernel.org/pub/scm/git/git.git 维护
$ git 日志 FETCH_HEAD
第一个命令从存储库中获取 maint 分支
git://git.kernel.org/pub/scm/git/git.git 和第二个命令使用 FETCH_HEAD
检查分支 混帐日志(1). 获取的对象最终将被删除
git 的内置管理(参见 git-gc(1))。
使用 onworks.net 服务在线使用 git-fetch