我在许多不同的项目中工作,并且想在多台计算机上使用 git-tfs,而无需额外的裸存储库。
我的想法是将 git-tfs 存储库存储在共享中,并将所有推送到工作分支中。将更改合并到 master 并推送到 tfs.
我希望我能做这样的事情:
从 tfs 克隆并创建一个“工作”分支
cd centralrepository
git tfs quick-clone --shared http://tfs.. $/tfsfolder .
git branch work
在客户端克隆工作分支
git clone --branch work --single-branch path/to/centralrepository
在客户端工作,提交并推送到中心
...
git commit -m"my work"
git push
再次在中央,从 tfs 获取更新,在“工作”中应用更改并推回
git tfs pull
git rebase master work
git checkout master // rebase checks out the work branch
git merge work
git tfs checkintool
现在回到客户端,拉动并继续工作
git pull
...
git push
但这不起作用,这对于有经验的 git 用户来说可能很明显
发生的情况是更改在中央和客户端中合并,导致冲突,因为 rebase 将应用更改两次。
是整个想法有缺陷还是我只是错过了一些步骤。