git删除并重新创建分支

web*_*rap 13 git

摘要:重现错误

  • 创建一个分支并检查出来
  • 让其他人删除它并创建一个具有相同名称的新分支
  • 现在做git branch -D <branch>git checkout -b <branch> --track origin/<branch>
  • git pull你得到! [rejected] <branch> -> origin/<branch> (non-fast-forward)

要解决这个问题,必须先删除与远程跟踪信息git branch -d -r origin/<branch>,以及


OLD:有人删除了开发分支并创建它以删除所有功能分支并再次将主服务器作为基础.然后他添加了一些功能分支,但没有其他一些产生问题.

我做了一个git branch -D developgit checkout -b develop --track origin/develop.

当我现在尝试git pull我得到一个! [rejected] develop -> origin/develop (non-fast-forward)

一个git remote show origin节目

Local refs configured for 'git push': 
develop       pushes to develop     (local out of date)
Run Code Online (Sandbox Code Playgroud)

我现在可以做一个git fetch origin develop,git merge FETCH_HEAD但后来我有一些冲突,他想推动很多事情发展.(也许旧的分支提交?)并且git reset --hard我回到git pull显示被拒绝的消息的位置.

我如何最好地检查重新创建的分支?

编辑:即使我和git branch -D develop我相处git pull ! [rejected] develop -> origin/develop (non-fast-forward)git remote show origin说了所有事情(最新)

编辑:我一开始并没有认出它,因为提交消息是相同的,但是在重置之后HEAD是在遥控器没有的sha上,所以仍然在"旧"分支上?

web*_*rap 13

我也不得不删除跟踪分支

git branch -d -r origin/develop
Run Code Online (Sandbox Code Playgroud)


kis*_*isp 6

你不能拉,因为它现在是另一个分支.

也许你应该从头开始并将remote develop分支作为新的本地分支获取!

git checkout -b new_develop --track origin/develop
Run Code Online (Sandbox Code Playgroud)

执行此操作后,您可以在本地计算机上的分支之间进行合并或更改.比较目录树和其他文件.

如果您已完成编辑,只需删除您的本地develop分支,然后重命名new_developdevelop.

  • 我无法从eclipse中正确使用git存储库:eGit遇到了一些问题.真正的git"工作流程"通过命令行很好地管理.我通过命令行使用它与git完成(https://github.com/ypetya/dotfiles/blob/master/.git-completion) (2认同)