git-pull 公司如何使用 git-fetch(是:git-pull 选项 `-p` 是什么意思)?
How git-pull corporate with git-fetch (was: what does git-pull option `-p` mean)?
有时我在文章命令中看到:git pull -p
但我没有在 official documentation
中找到相关信息
这个选项是什么意思?
UPD
如@torek 所述,-p
选项已传递给 git fetch
。而-p
这里的意思是:
-p
--prune
Before fetching, remove any remote-tracking references that no longer exist on the remote.
但不明白git-pull
企业如何与git-fetch
合作?
我如何弄清楚 git
选项如何以及哪些 git
选项通过一个命令落入另一个命令?
git 拉命令是一个 shorthand 命令,它被解释为 "git fetch" 加上一个 "git merge FETCH_HEAD" 命令。如果你给一个拉动一个 -p 标志,它实际上是 --p运行e 命令用命令的 "git fetch" 部分得到 运行 。这将删除 (p运行es) 本地存储库中不再存在于源上的所有远程跟踪分支。
看来答案是here
git-pull
和 git-fetch
相似之处:两者都用于从远程存储库下载 新数据。
git-fetch
实际上只从远程存储库下载新数据
git-pull
不仅下载新数据;它还直接将新数据整合到您当前的工作副本文件中(下载+合并)
也许这应该是第二个问题:
But I do not understand how git-pull corporate with git-fetch?
How I can figure out how and which git options fall through one command to another?
(我想你在这里的意思是 "co-operate"1 而不是 "corporate"。)
git pull
命令used to be a shell script。在脚本中,很容易分辨哪些选项传递给 git fetch
,哪些传递给 git merge
或 git rebase
,哪些直接使用。
从Git version 2.6.0 开始,pull 命令被用C 重写了。still possible to tell 哪些选项是哪些,但现在有点困难,因为你必须往下看才能找到每个选项的文本拼写。 (这第二个 link 可能会随着时间的推移而衰减,因为它 GitHub 查找源文件的当前版本,行号可能会改变。)
我自己建议避免 git pull
: 运行 git fetch
,然后检查结果,然后选择 git rebase
(通常)或 git merge
(有时)如所须。我还保留了一个别名,git mff
,它扩展为 git merge --ff-only
,我倾向于 运行 git fetch && git mff
:如果快进失败,我可能想要变基,除非
(可能值得添加一个别名 git fff
,即 运行s git fetch && git mff
... :-))
1这可以写成 "cooperate",不带连字符,甚至可以写成 "coöperate",加上 diaeresis above the second o. The diaeresis was common in English text in fine printing (and The New Yorker still uses it!)但由于打字机无法生产它,在 1900 年代初期至中期开始变得不那么普遍了。既然计算机有 Unicode 和变音符号——它们在技术上不同,但在符号上是相同的——我认为我们应该恢复分音符的优势。 :-)
有时我在文章命令中看到:git pull -p
但我没有在 official documentation
这个选项是什么意思?
UPD
如@torek 所述,-p
选项已传递给 git fetch
。而-p
这里的意思是:
-p
--prune
Before fetching, remove any remote-tracking references that no longer exist on the remote.
但不明白git-pull
企业如何与git-fetch
合作?
我如何弄清楚 git
选项如何以及哪些 git
选项通过一个命令落入另一个命令?
git 拉命令是一个 shorthand 命令,它被解释为 "git fetch" 加上一个 "git merge FETCH_HEAD" 命令。如果你给一个拉动一个 -p 标志,它实际上是 --p运行e 命令用命令的 "git fetch" 部分得到 运行 。这将删除 (p运行es) 本地存储库中不再存在于源上的所有远程跟踪分支。
看来答案是here
git-pull
和 git-fetch
相似之处:两者都用于从远程存储库下载 新数据。
git-fetch
实际上只从远程存储库下载新数据git-pull
不仅下载新数据;它还直接将新数据整合到您当前的工作副本文件中(下载+合并)
也许这应该是第二个问题:
But I do not understand how git-pull corporate with git-fetch? How I can figure out how and which git options fall through one command to another?
(我想你在这里的意思是 "co-operate"1 而不是 "corporate"。)
git pull
命令used to be a shell script。在脚本中,很容易分辨哪些选项传递给 git fetch
,哪些传递给 git merge
或 git rebase
,哪些直接使用。
从Git version 2.6.0 开始,pull 命令被用C 重写了。still possible to tell 哪些选项是哪些,但现在有点困难,因为你必须往下看才能找到每个选项的文本拼写。 (这第二个 link 可能会随着时间的推移而衰减,因为它 GitHub 查找源文件的当前版本,行号可能会改变。)
我自己建议避免 git pull
: 运行 git fetch
,然后检查结果,然后选择 git rebase
(通常)或 git merge
(有时)如所须。我还保留了一个别名,git mff
,它扩展为 git merge --ff-only
,我倾向于 运行 git fetch && git mff
:如果快进失败,我可能想要变基,除非
(可能值得添加一个别名 git fff
,即 运行s git fetch && git mff
... :-))
1这可以写成 "cooperate",不带连字符,甚至可以写成 "coöperate",加上 diaeresis above the second o. The diaeresis was common in English text in fine printing (and The New Yorker still uses it!)但由于打字机无法生产它,在 1900 年代初期至中期开始变得不那么普遍了。既然计算机有 Unicode 和变音符号——它们在技术上不同,但在符号上是相同的——我认为我们应该恢复分音符的优势。 :-)