重建一个git分支

时间:2012-08-27 18:03:00

标签: git

我正在尝试重制git分支。我想基于当前的主分支从头开始重新创建分支。我做了以下事情:

$ git status
# On branch foo
nothing to commit (working directory clean)
$ git checkout master
$ git branch -D foo
Deleted branch foo (was *******).
$ git push origin :foo
To git@***:***
 - [deleted]         foo
$ git checkout -b foo master
Switched to a new branch 'foo'
$ git push origin foo
To git@***:***
 * [new branch]      foo -> foo

现在,至少对我来说,一切都很完美。问题是,与“旧”foo分支合作的其他人仍然拥有该副本。我已经要求其他人执行以下命令:

git checkout master
git branch -D foo
git checkout foo

不幸的是,每当他们再次检查foo时,它仍然会跟踪旧的foo分支。我通常做的只是告诉他们在中间的某个地方扔一个git pull(不指定分支),它最终会神奇地起作用。告诉git跟踪“新”foo分支的最佳方法是什么?

git version 1.7.4.1

1 个答案:

答案 0 :(得分:1)

你必须至少运行一次git fetch,否则其他git存储库不知道“new”foo分支。

实际上这很简单:

# on branch foo
git fetch
git reset --keep origin/foo