git push --force-with-lease
命令失败并显示"rejected ... stale info"的原因可能是由于远程仓库中存在比本地仓库更新的提交。这种情况下,Git会拒绝强制推送,以防止覆盖其他人的工作。
git push --force-with-lease
命令是一种安全的强制推送方式,它会在推送前检查远程仓库的状态。如果远程仓库的引用(分支或标签)在本地仓库之后没有被其他人修改过,推送将成功。但如果远程仓库的引用在本地仓库之后被其他人修改过,推送将被拒绝。
在这种情况下,你可以尝试以下解决方法:
git pull
命令拉取远程仓库的最新更改,并合并到本地仓库。git push --force
命令来强制推送。但是要注意,这可能会导致其他人的工作丢失,所以在执行之前请确保你的操作是安全的。git push --force-with-lease
命令的另一种形式:git push --force-with-lease=<refname>[:<expect>]
。其中,<refname>
是要推送的引用(分支或标签),<expect>
是你期望的引用的当前值。这样,Git会检查期望的引用值是否与远程仓库中的实际值匹配,如果匹配则推送成功,否则推送失败。总之,git push --force-with-lease
命令失败并显示"rejected ... stale info"的原因是远程仓库中存在比本地仓库更新的提交。你可以通过拉取最新更改、合并到本地仓库、安全地强制推送或使用git push --force-with-lease
命令的另一种形式来解决这个问题。
领取专属 10元无门槛券
手把手带您无忧上云