初学者... 我有一个本地存储库,该文件用于远程服务器上的网站。 这些文件我还保存为Bitbucket上的远程存储库。 我更改了本地保存的文件,并出错了很多,所以我从网站服务器上下载了已知的工作文件并保存在本地文件中。
我现在正尝试将这些已知的工作文件推送到Bitbucket,但出现问题和错误消息,例如“拒绝合并无关的历史记录”和“更新被拒绝,因为当前分支的尖端在后面 它的远程对象。
一开始我说我是一个初学者,并且知道我可能没有按照正确的程序做事,但我正在学习。我不一定要使用“答案”,但希望您能提供一些指导。
答案 0 :(得分:0)
我将尽力提供适当的答案。当您要将提交推送到服务器时,必须确保远程和本地存储库具有相同的提交集。
如果远程具有比本地分支更多的提交,那么当您尝试将文件推送到远程时,您将得到错误。在这种情况下,您需要通过拉出或重新确定额外的提交来执行快速转发。
从您提到的错误中,我相信以下内容可以解决这些错误。我假设您正在将文件提交到master
分支。
git fetch origin master
在继续下一步之前,请确保您的工作目录是干净的(即,没有未处理或未修改的文件)。如果没有,则可以提交更改或stash。
git rebase origin/master
现在,当您执行rebase
时,可能会发生合并冲突。如果确实遇到合并冲突,则必须解决它们。另一方面,如果没有任何合并冲突,则可以继续将文件推送到远程。
如果您遇到合并冲突,请尝试以下操作-
git status
这将向您显示所有存在合并冲突的文件。您必须转到所有文件并解决冲突。完成此操作后,您必须在修复合并冲突时添加所有已更改的文件。
git add -A
然后您可以继续进行变基-
git rebase --continue
希望这些步骤完成之后,您应该可以将文件推送到远程了。请注意,还有其他解决合并冲突的方法。我使用上面提到的方法。