0

我正在尝试重新制作一个 git 分支。我想根据当前的 master 分支从头开始重新创建分支。我做了以下事情:

$ 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 版本 1.7.4.1

4

1 回答 1

1

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

它实际上很简单:

# on branch foo
git fetch
git reset --keep origin/foo
于 2012-08-27T18:09:15.077 回答