GitLab更新被拒绝,因为您当前分支的尖端在其远程对应的后面

时间:2020-09-13 17:21:08

标签: git github gitlab push master

我正在使用GitLab来存储我的代码,首先,我将其推送到了分支主服务器上,没有发生意外,然后,我认为这是我对项目的最后一次提交,然后我在桌面上删除了整个项目。

然后我有想法要改进我之前刚刚完全删除的上一个项目。

然后,我创建一个新项目,执行一些git语法,以将当前项目合并到我删除的项目的git存储库中

对我所做的这个愚蠢的事情感到很遗憾:(

首先,我初始化git:

git init

然后,只想确保没有分支名称,所以我输入:

git remote -v

当然,它清除了,所以我添加了我以前的主分支名称git ssh“ git@gitlab.com:Khangithub / react-practical-1.git”,它被称为“起源”

git remote add origin git@gitlab.com:Khangithub/react-practical-1.git
git add .
git commit -m "commit massage"
git push -u origin master

并将此错误返回给我:

To https://gitlab.com/Khangithub/react-practical-1.git
! [rejected]        master -> master (non-fast-forward)
error: failed to push some refs to 'https://gitlab.com/Khangithub/react-practical-1.git'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Integrate the remote changes (e.g.
hint: 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
Enumerating objects: 42, done.
Counting objects: 100% (42/42), done.
Delta compression using up to 8 threads
Compressing objects: 100% (38/38), done.
Writing objects: 100% (42/42), 221.29 KiB | 7.14 MiB/s, done.
Total 42 (delta 5), reused 0 (delta 0), pack-reused 0
remote: GitLab: You are not allowed to force push code to a protected branch on this project.
To https://gitlab.com/Khangithub/react-practical-1.git
 ! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'https://gitlab.com/Khangithub/react-practical-1.git'

它要求我进行git pull,所以我尝试了:

git pull

然后

git pull -u origin master

git pull -f origin master

即使我不明白我的意思,但我想它想让我在git存储库中创建一个新分支,但是我想将所有当前项目与我从删除的项目中推送的代码合并:(

我不想创建一个具有相同目的的全新gitLab项目,谢谢您花时间帮助我,对我来说意义重大,希望您过得愉快,谢谢这么多

1 个答案:

答案 0 :(得分:1)

您遇到的问题似乎是由于您使用git init创建了第二个本地存储库而不是从gitlab克隆已经存在的存储库而引起的。这会在推送时产生问题,因为您现在尝试从本地存储库中推送与远程存储库不共享任何公共历史记录的更改,而gitlab可以防止您覆盖gitlab上存在的远程存储库中的所有历史记录。

要使用当前更改更新gitlab上的项目,请尝试以下操作:

  • 使用git clone https://gitlab.com/Khangithub/react-practical-1.git yourLocalFolder将您的存储库从gitlab克隆到本地文件夹中
  • 将您之前所做的更改复制到刚从gitlab克隆的yourLocalFolder中。
  • 提交本地更改并将其推送到gitlab

这可以确保在推送之前本地存储库和远程存储库之间存在共享历史记录。