什么是Git中的快进推送?

lmvvr0a8  于 2022-11-20  发布在  Git
关注(0)|答案(1)|浏览(177)

在Git documentation中:
默认情况下,配置标志receive.denyNonFastForwards在共享存储库中处于启用状态,因此您无法强制将非快速转发推送到其中。
我知道git push命令,但什么是 * 快进 * 推送?

xtupzzrd

xtupzzrd1#

基本上,这意味着你不会重写Git服务器上已经存在的提交历史(已经推送的内容)。
如果这段历史发生了变化,对那些已经摆脱这段历史的人来说可能是个问题。
手动确定您是否正在推动“快进”的方法是查看您下载的远程分支副本(假设为master)的引用:

git rev-parse origin/master # Returns SHA-1 hash value

然后,从远程服务器下载内容并再次检查:

git fetch
git rev-parse origin/master # Returns SHA-1 hash value

如果这两个 rev-parse 命令的返回结果相等,则将快进推送。
但是......所有的工作真的是没有必要的。只要简单地拉之前,你推,你会很好。

git pull origin master

# Resolve any conflicts
git push origin master

相关问题