我们有一些类似的回购:
站点1:
- 库:
站点2:
- 库:
库:
如您所见,lib 在两个站点中共享。现在当我使用
[master] git fetch lib
什么都没发生。之后我使用:
[master] git merge --squash -s subtree --no-commit lib
然后它开始删除属于该站点的大量文件。
如果我尝试这个:从共享库远程更新库子项目 http://www.codeproject.com/Articles/562950/GitplusSubtreeplusMergeplus-e2-80-93TheplusQuickpl
[master] git checkout lib
Checking out files: 100% (4521/4521), done.
Switched to branch 'lib'
[lib] git pull
Already up-to-date.
然后只需结帐到主人,并运行命令:
git merge --squash -s subtree --no-commit lib
这只是从我的站点中删除了全部文件,并在 lib 的子文件夹中留下了一些类似的文件。为什么这不只是将 lib 更新为正确的版本?并留下该网站的文件?
重置后,我确实恢复了我的项目
git reset --hard origin/master
如何更新库?
有一个远程分支设置。
$ git remote -v
lib https://github.com/***/lib.git (fetch)
lib https://github.com/***/lib.git (push)