Git分支已经分化

Git分支已经分化,git,Git,我在dev-26分支(见下文)上使用SourceTree从组织的Bitbucket帐户创建了一个跟踪分支。以下是我的本地和远程存储库的大致情况: $ git branch master * dev-26 $ git branch -r origin/HEAD origin/master origin/dev-1 origin/dev-2 origin/dev-26 我于2017年6月6日星期五在我的本地dev-26分支机构上提交了更改。从那时起,我已经做了几次git

我在
dev-26
分支(见下文)上使用SourceTree从组织的Bitbucket帐户创建了一个
跟踪分支。以下是我的本地和远程存储库的大致情况:

$ git branch
  master
* dev-26

$ git branch -r
  origin/HEAD
  origin/master
  origin/dev-1
  origin/dev-2
  origin/dev-26
我于2017年6月6日星期五在我的本地
dev-26
分支机构上提交了更改。从那时起,我已经做了几次git pull(git pull)
,以
fetch
merge
origin/dev-26
更改到我的本地
dev-26
分支。然而,我从未推动过我的改变

出于某种原因,当我执行
git status
时,会收到以下消息:

On branch dev-26
Your branch and 'origin/dev-26' have diverged,
and have 1053 and 295 different commits each, respectively.
  (use "git pull" to merge the remote branch into yours)
nothing to commit, working directory clean
随后,当我执行git pull时,会收到大量冲突错误消息。在这一点上,我迷路了,只想放弃我在2017年6月6日星期五所做的任何更改,并提取当前在
origin/dev-26上的任何更改

因此,我在2016年6月6日星期四的最后一次提交上做了
git重置--hard
,希望当我做
git pull
时,它能将我的本地
dev-26
分支与
origin/dev26
分支同步。但是,我一直收到相同的消息(无论我将分支重置到多远):


我想我可能在什么地方搞砸了。有人能帮我调试/解释正在发生的事情和/或找到放弃我在2017年6月6日星期五所做更改的答案,并将我的本地
dev-26
origin/dev-26
同步吗

您可以使用以下命令避免这种情况

git reset --hard origin/dev-26

您可以使用以下命令避免这种情况

git reset --hard origin/dev-26

对原始问题的可能解释:(1)这些问题实际上以一种相互矛盾的方式出现分歧,(2)有人在某个点上用力推动。(FWIW,这些提交计数对于单个(功能?)分支来说是非常高的。)我也不明白为什么@OliverCharlesworth的提交计数如此之高。无论如何,既然所有这些都在我的本地
dev-26
分支中,我是否可以在不影响远程
origin/dev-26
的情况下删除此本地分支?随后,我的计划是在
origin/dev-26
上创建一个新的
tracking分支
,我想它的命令是
git branch-d dev-26
git branch-track dev-26 origin/dev-26
。你能核实一下吗?我只是担心我不小心用这些命令删除了
origin/dev-26
分支。如果您丢失了它,它将在下次
git fetch
时重新创建。但是您可以只执行git重置--hard origin/dev-26
。您的git是什么版本的(
git--version
)?如果它早于1.8.2,我就知道发生了什么;git cherry FETCH_HEAD dev-26,列出您在本地文件中所做的但未推送的所有更改。专注于
+
行。原始问题的可能解释是:(1)它们以一种相互冲突的方式出现了分歧,(2)有人在某个点上用力推了推。(FWIW,这些提交计数对于单个(功能?)分支来说是非常高的。)我也不明白为什么@OliverCharlesworth的提交计数如此之高。无论如何,既然所有这些都在我的本地
dev-26
分支中,我是否可以在不影响远程
origin/dev-26
的情况下删除此本地分支?随后,我的计划是在
origin/dev-26
上创建一个新的
tracking分支
,我想它的命令是
git branch-d dev-26
git branch-track dev-26 origin/dev-26
。你能核实一下吗?我只是担心我不小心用这些命令删除了
origin/dev-26
分支。如果您丢失了它,它将在下次
git fetch
时重新创建。但是您可以只执行git重置--hard origin/dev-26。您的git是什么版本的(
git--version
)?如果它早于1.8.2,我就知道发生了什么;git cherry FETCH_HEAD dev-26,列出您在本地文件中所做的但未推送的所有更改。关注
+
行。