Git中的快进推送是什么?

Git中的快进推送是什么?,git,Git,从Git: 默认情况下,配置标志receive.denynonfastforts为 在共享存储库中启用,因此您不能强制非 快进推进 我知道git push命令,但什么是快进推送?基本上这意味着您不会重新编写git服务器上已经存在的提交历史记录(已经推送的内容) 如果这段历史发生了变化,那么对于那些已经结束了这段历史的人来说,这可能是一个问题 手动确定您是否正在推动“快进”的方法是查看您下载的远程分支副本(比如master)的参考号: 然后,从远程服务器下载内容并再次检查: git fetch g

从Git:

默认情况下,配置标志receive.denynonfastforts为 在共享存储库中启用,因此您不能强制非 快进推进


我知道git push命令,但什么是快进推送?

基本上这意味着您不会重新编写git服务器上已经存在的提交历史记录(已经推送的内容)

如果这段历史发生了变化,那么对于那些已经结束了这段历史的人来说,这可能是一个问题

手动确定您是否正在推动“快进”的方法是查看您下载的远程分支副本(比如master)的参考号:

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

git fetch
git rev-parse origin/master #returns sha
如果这两个rev parse命令的返回结果相等,那么推送将是快进的

但是……所有这些工作其实都是不必要的。只要在推之前先拉,你就会很好

git pull origin master
# resolve any conflicts
git push origin master

这个答案是否回答了你的问题?你的意思是:“先拉后推”(最后一个例子前的最后一句)。
git pull origin master
# resolve any conflicts
git push origin master