在Git documentation中:默认情况下,配置标志receive.denyNonFastForwards在共享存储库中处于启用状态,因此您无法强制将非快速转发推送到其中。我知道git push命令,但什么是 * 快进 * 推送?
git push
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
1条答案
按热度按时间xtupzzrd1#
基本上,这意味着你不会重写Git服务器上已经存在的提交历史(已经推送的内容)。
如果这段历史发生了变化,对那些已经摆脱这段历史的人来说可能是个问题。
手动确定您是否正在推动“快进”的方法是查看您下载的远程分支副本(假设为master)的引用:
然后,从远程服务器下载内容并再次检查:
如果这两个 rev-parse 命令的返回结果相等,则将快进推送。
但是......所有的工作真的是没有必要的。只要简单地拉之前,你推,你会很好。