当我试图从VScode推送到GitHub时,我一直收到这个错误。我以前曾按照与现在完全相同的步骤推送到那个存储库。找不到此错误的原因是什么?
j91ykkif1#
在您进行更改之前,只要您的本地分支机构和远程分支机构不在同一点上,您就会收到此try running pull first to integrate your changes。
try running pull first to integrate your changes
remote branch commits : A -> B -> C -> D local branch commits : A -> B -> C -> Local_Commits
现在很明显,有一个变化D,你没有在本地集成。因此,您需要rebase,然后按下,这将导致以下结果。
D
rebase
remote branch commits : A -> B -> C -> D local branch commits : A -> B -> C -> D -> Local_Commits
要解决您的问题,请执行以下操作
git pull --rebase origin branchname git push origin branchname
ca1c2owp2#
一个可能的原因是您没有足够的权限来推送到当前分支(可能是主分支)。您需要要求项目维护人员给予您足够的权限,或者您需要将更改推送到另一个分支并发出合并/拉入请求。
fhity93d3#
在我的例子中,我使用了git push --no-verify。啊,真灵
git push --no-verify
disbfnqx4#
VS代码将为一系列不同的错误显示此消息,其中远程拒绝您的提交,而不仅仅是所描述的问题。
在我的例子中,因为我正在向存储库提交一个大文件,所以出现了错误“该对象将使存储库的大小增加38642606字节(限制为10485760字节)”。
如果你遇到这个问题,而不是因为你与Remote不同步(根据最上面的答案),我建议你实际使用Git CLI,它会给你一个更有用的错误消息。
cbjzeqam5#
我在我的Azure DevOps Repos环境中收到此消息,因为服务器在主分支上有一个分支策略,需要批准拉取请求,而我正在尝试直接推送到主分支。即使在拉出和重新定位之后,也会出现相同的消息。我不认为VS代码真的知道如何解释从服务器返回的这个特定的错误,所以它给出了一般的消息。如果我直接用git尝试相同的推送,它会显示一个远程拒绝错误,这解释了这个问题。所以我的答案只适用于这1种狭义的情况,但它肯定会导致在推送VS代码时出现相同的错误消息。
nqwrtyyt6#
我遇到了类似的问题,尝试下面这些案例,下面的任何一个案例都可能解决您的问题:
1.在解决合并冲突后,它期待您提交您的更改:git commit -m "resolved merge conflicts or any other message"1.点击VSCode中的“Git Pull From”选项并解决冲突(如果有)。1.git pull --rebase origin develop。
git commit -m "resolved merge conflicts or any other message"
git pull --rebase origin develop
rwqw0loc7#
在我的例子中,我得到它是因为(在个人项目中)我推动了提交,然后我添加了更改并执行了git commit --amend。
git commit --amend
因此,我最终得到了两个相同标题但ID不同的提交。一个在origin/HEAD上,一个在HEAD -> master上。在这种情况下,如果它是在一个个人项目上,即一个没有其他人提交的项目,那么可以使用push --force。
origin/HEAD
HEAD -> master
push --force
否则请查看此帖子:How do I push amended commit to the remote Git repository?
zsbz8rwp8#
有时候这不是你的错。如果收到完全意外的错误,不要忘记检查https://www.githubstatus.com/。这很糟糕,但至少它们都是黄色的,而不是红色的
s5a0g9ez9#
此问题可能与本地Git挂钩有关,请尝试以下命令,它应该会起作用:
git pull --rebase origin <yourBranchName> git push origin <yourBranchName> git push --no-verify
9条答案
按热度按时间j91ykkif1#
在您进行更改之前,只要您的本地分支机构和远程分支机构不在同一点上,您就会收到此
try running pull first to integrate your changes
。现在很明显,有一个变化
D
,你没有在本地集成。因此,您需要rebase
,然后按下,这将导致以下结果。要解决您的问题,请执行以下操作
ca1c2owp2#
一个可能的原因是您没有足够的权限来推送到当前分支(可能是主分支)。您需要要求项目维护人员给予您足够的权限,或者您需要将更改推送到另一个分支并发出合并/拉入请求。
fhity93d3#
在我的例子中,我使用了
git push --no-verify
。啊,真灵disbfnqx4#
VS代码将为一系列不同的错误显示此消息,其中远程拒绝您的提交,而不仅仅是所描述的问题。
在我的例子中,因为我正在向存储库提交一个大文件,所以出现了错误“该对象将使存储库的大小增加38642606字节(限制为10485760字节)”。
如果你遇到这个问题,而不是因为你与Remote不同步(根据最上面的答案),我建议你实际使用Git CLI,它会给你一个更有用的错误消息。
cbjzeqam5#
我在我的Azure DevOps Repos环境中收到此消息,因为服务器在主分支上有一个分支策略,需要批准拉取请求,而我正在尝试直接推送到主分支。即使在拉出和重新定位之后,也会出现相同的消息。我不认为VS代码真的知道如何解释从服务器返回的这个特定的错误,所以它给出了一般的消息。如果我直接用git尝试相同的推送,它会显示一个远程拒绝错误,这解释了这个问题。所以我的答案只适用于这1种狭义的情况,但它肯定会导致在推送VS代码时出现相同的错误消息。
nqwrtyyt6#
我遇到了类似的问题,尝试下面这些案例,下面的任何一个案例都可能解决您的问题:
1.在解决合并冲突后,它期待您提交您的更改:
git commit -m "resolved merge conflicts or any other message"
1.点击VSCode中的“Git Pull From”选项并解决冲突(如果有)。
1.
git pull --rebase origin develop
。rwqw0loc7#
在我的例子中,我得到它是因为(在个人项目中)我推动了提交,然后我添加了更改并执行了
git commit --amend
。因此,我最终得到了两个相同标题但ID不同的提交。一个在
origin/HEAD
上,一个在HEAD -> master
上。在这种情况下,如果它是在一个个人项目上,即一个没有其他人提交的项目,那么可以使用push --force
。否则请查看此帖子:How do I push amended commit to the remote Git repository?
zsbz8rwp8#
有时候这不是你的错。如果收到完全意外的错误,不要忘记检查https://www.githubstatus.com/。这很糟糕,但至少它们都是黄色的,而不是红色的
s5a0g9ez9#
此问题可能与本地Git挂钩有关,请尝试以下命令,它应该会起作用: