登录 主页

git pull 报错:fatal: Not possible to fast-forward, aborting.

2024-07-18 11:11AM

我在进行git pull的时候,出现了这个报错:fatal: Not possible to fast-forward, aborting.

$ git pull
Username for 'https://github.com': xxxxxx
Password for 'https://xxxxxx@github.com': 
fatal: Not possible to fast-forward, aborting.

原因是因为我本地有commit没有进行push,所以在拉取代码的时候就冲突了。

方法1:

1.先进行git pull回退commit,使用这个命令:

$ git reset --soft id^

2.再把回退之后的代码进行stash,可以使用这个命令:

$ git stash save 'xxxx'

3.再重新进行git pull

4.把stash的代码再取出,使用这个命令:

$ git stash list // 可以查看刚刚暂存的代码是哪个

$ git stash apply stash@{x} // 取出代码

5.再重新进行git add、git commit、git push的命令,就可以了。

方法2:

使用这个命令:

$ git pull --rebase

1)获取远程分支的更改

首先,它会获取远程分支的最新提交,就像常规的 git pull 命令一样。

2)在本地重新应用您的提交

然后,它会在本地重新应用您自己的提交,使它们位于远程分支的最新提交之上。这个过程被称为"rebase"。

注意:在本地重新提交的过程中,使用了git commit -m 命令之后,需要运行 git rebase --continue 命令,将你刚刚提交的变更合并到正在变基的分支上。

$ git push
fatal: You are not currently on a branch.
To push the history leading to the current (detached HEAD)
state now, use

    git push origin HEAD:<name-of-remote-branch>

$ git rebase --continu
Successfully rebased and updated refs/heads/master.

 然后可以运行 git push 将你的变更推送到远程仓库。

返回>>

登录

请登录后再发表评论。

评论列表:

目前还没有人发表评论