2012-08-27 128 views
0

我正在嘗試重製一個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 [email protected]***:*** 
- [deleted]   foo 
$ git checkout -b foo master 
Switched to a new branch 'foo' 
$ git push origin foo 
To [email protected]***:*** 
* [new branch]  foo -> foo 

現在,一切工作都完美無缺,至少對我來說。問題是與「舊」foo分支合作的其他人仍然擁有該副本。我已要求別人做以下命令:

git checkout master 
git branch -D foo 
git checkout foo 

不幸的是,每一次他們再次檢出富的時候,它仍然是跟蹤老FOO分支。我通常所做的只是告訴他們在中間的某個地方拋出一個git pull(沒有指定分支),它最終會神奇地工作。告訴git跟蹤「新」foo分支的最佳方式是什麼?

Git版本1.7.4.1

回答

1

你必須運行git fetch至少一次,否則其他的Git倉庫有沒有「新」富分支的知識。

它實際上是一樣簡單:

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

我仍然要刪除我的本地富的副本? – Phil

+0

@flep是的,這只是您需要在其他存儲庫上執行的命令列表。 –

+0

@flep:好吧,您可能還會在分支'foo'上鍵入'git reset --keep master'。無需刪除+重新創建 – knittl