什么是;为';git推送';:&引用;“git remote show origin”输出中的列平均值?
如标题所示 对于为“git pull”配置的列什么是;为';git推送';:&引用;“git remote show origin”输出中的列平均值?,git,Git,如标题所示 对于为“git pull”配置的列本地分支:。我知道我们应该将每个分支设置为上游分支,以使git pull和git push为它们工作 但是对于为“git push”配置的本地引用:如下所示,它在这里意味着什么?我怎样才能更改其中的项目?(在.git中找不到可以更改此列项目的位置) 。。。我知道我们应该将每个分支设置为上游分支,以使git pull和git push为它们工作 这不是绝对必要的,但这是一个好主意,是的。(如果没有上游设置,则必须输入更多内容才能使每个命令正常工作,并
本地分支:
。我知道我们应该将每个分支设置为上游分支,以使git pull
和git push
为它们工作
但是对于为“git push”配置的本地引用:
如下所示,它在这里意味着什么?我怎样才能更改其中的项目?(在.git
中找不到可以更改此列项目的位置)
。。。我知道我们应该将每个分支设置为上游分支,以使git pull
和git push
为它们工作
这不是绝对必要的,但这是一个好主意,是的。(如果没有上游设置,则必须输入更多内容才能使每个命令正常工作,并且在此处可能会出错,因此设置上游意味着更容易完成工作,并且出错的可能性更小。)
但是对于为“git push”配置的本地引用:
如下所示,它在这里意味着什么
ref(或者reference,如果您愿意拼出来的话)是一个分支名称、标记名称或者其他类似的名称。分支名称是完全拼写以refs/heads/
开头的ref,因此如果您有一个名为ff
的分支,其全名是refs/heads/ff
。出于某种原因,git没有说“为‘git push’配置的本地分支”,而是说“为‘git push’配置的本地引用”
我怎样才能更改其中的项目
您通常应该很少或根本不关注这个输出。它植根于许多年前Git的早期。但是,在某些情况下,其输出可能是相关的:
- 如果您的本地存储库被配置为推送镜像,那么您将得到一个列表,其中列出了一个
git推送的功能。(我不知道有谁真正使用推镜。它们似乎有点专业。)
- 如果您将
配置为push.default
——这是Git多年前的行为方式,它将准确地列出Git push的功能matching
- 如果配置
,它将告诉您有关此配置设置的信息remote.remote.push
Git remote show
告诉您将发生什么的时间和实际运行Git push
的时间之间,其他Git上存在的分支集必须保持不变,并且它们关联的哈希ID必须保持不变
如果您没有配置任何特殊的推送设置,并且正在使用带有push.default
默认设置为simple
的现代Git,Git push
在默认情况下只会实际推送当前分支,使得Git remote show的输出不相关。在所有情况下,列出任何refspec的git push
将使用您提供的refspec,因此git remote show
命令的输出仍然不相关。但是,如果将匹配
作为推送.default
设置,和/或运行git push
而不在命令行上指定任何refspec,则git将使用配置的remote.remote.push
作为默认refspec,或使用匹配机制或镜像设置;在这些情况下,如果远程设备上的分支名称集没有更改,则来自git remote show
的列表将告诉您git将要求其git设置哪些名称
(请注意,一些Linux发行版仍然附带一个真正古老的Git,其中的push.default
设置默认为matching
。但是,如果您的Git版本是2.0或更高版本,您的Git将默认为simple
)它应该在您的存储库中的.Git/config
文件中,“为‘git push’配置的本地引用:”中的“git push”一词有点让人困惑,这让我觉得这是“为‘git push’配置的本地分支:”的对应词,它控制着“git push”的行为。但是,如果不在特定分支的“git pull”列中设置上游,那么“git pull”和“git push”(不指定任何refspec)都将不起作用。如果配置匹配
模式,行为会发生变化。