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,列出您在本地文件中所做的但未推送的所有更改。关注+
行。