Setup and Config
Getting and Creating Projects
Basic Snapshotting
Branching and Merging
Sharing and Updating Projects
Inspection and Comparison
Patching
Debugging
External Systems
Server Admin
Guides
- gitattributes
- Command-line interface conventions
- Everyday Git
- Frequently Asked Questions (FAQ)
- Glossary
- Hooks
- gitignore
- gitmodules
- Revisions
- Submodules
- Tutorial
- Workflows
- All guides...
Administration
Plumbing Commands
- 2.43.0 11/20/23
- 2.35.1 → 2.42.1 no changes
- 2.35.0 01/24/22
描述
Sends missing objects to the remote repository, and updates the remote branch.
NOTE: This command is temporarily disabled if your libcurl is older than 7.16, as the combination has been reported not to work and sometimes corrupts the repository.
选项
- --all
-
不要假设远程仓库的当前状态是完整的,要验证整个本地引用的历史中的所有对象是否存在于远程仓库。
- --force
-
通常情况下,命令拒绝更新一个不是用来覆盖它的本地引用的祖先远程引用。 这个标志可以禁止这种检查。 这意味着远程仓库可能会丢失提交,使用时要小心。
- --dry-run
-
做除了实际发送更新外的所有事。
- --verbose
-
报告正在本地行走的对象的列表和成功发送到远程仓库的对象的列表。
- -d
- -D
-
Remove <ref> from remote repository. The specified branch cannot be the remote HEAD. If -d is specified, the following other conditions must also be met:
-
远程 HEAD 必须解析到一个本地存在的对象
-
指定的分支解析到一个本地存在的对象
-
指定的分支是远程 HEAD 的一个祖先
-
- <ref>…
-
要更新的远程引用。
指定引用
一个 <引用> 规范既可以是一个单一的模式,也可以是一对由冒号 ":" 隔开的模式(这意味着一个引用名称中不能有冒号)。 一个单一的模式 <名称> 只是 <名称>:<名称> 的一个缩写。
每个模式对 <src>:<dst> 由源端(冒号之前)和目标端(冒号之后)组成。 要推送的引用是通过找到与源端相匹配的匹配物来确定的,而推送的位置是通过目的地端来确定的。
-
如果 <src> 与本地引用中的一个不完全匹配,则是一个错误。
-
如果 <dst> 不匹配任何远程引用,或者
-
它必须以 "refs/" 开头;在这种情况下,<dst> 被用作目标字面。
-
<src> == <dst>,并且与 <src> 相匹配的引用必须不存在于远程引用集合中;本地匹配的 <src>引用被用作目的地的名称。
-
Without --force
, the <src> ref is stored at the remote only if <dst> does not exist, or <dst> is a proper subset (i.e. an ancestor) of <src>. This check, known as "fast-forward check", is performed to avoid accidentally overwriting the remote ref and losing other peoples' commits from there.
使用 --force
,所有裁判的快进检查都被禁用。
可以选择在 <ref> 参数前加上一个加号 + 号,以便仅在该引用上禁用快进检查。
GIT
属于 git[1] 文档