我有两个bitbucket存储库,其中第一个存储库包含所有Liferay相关的sdk,第二个存储库仅包含项目(有四个文件夹,例如hooks,portlet,layoutpl,主题)。
我克隆了第一个包含 SDK 的存储库,假设文件夹名称为 liferay-sdk。现在到相同的liferay-sdk,需要hooks、portlet、layoutpl、themes文件夹,这些文件夹位于存储库中两个。
但是现在,当我尝试将存储库的两个内容 pull 到同一个 liferay-sdk 文件夹中时,它给我的文件夹不为空。
我正在使用源代码树。
注意:我需要提交和推送权限,仅需要 hooks、portlet、layoutpl、themes源树而不是liferay-sdk中的其他东西。我们如何才能忽略 liferay-sdk中的 hooks、portlet、layoutpl、themes 之外的东西强>
谁能告诉我一些解决方案
最佳答案
But now when I tried to pull the repo two contents onto the same
liferay-sdk
folder it is giving meFolder not empty
.
是的,您无法使用现有的非空文件夹克隆存储库。
您可以在第一个存储库中克隆第二个存储库:
cd liferay
git clone /url/second_repo
但这会给你:
- 嵌套的 git 存储库(意味着
liferay-sdk
至少会记录gitlink
、special entry in the parent repo ) - 嵌套子文件夹(意味着 hook 不直接位于
liferay-sdk
下,而是位于liferay-sdk/second_repo/hooks
中)
即使您使用子模块,这仍然是正确的。
相反,您可以:
- 在其他地方克隆第二个存储库
- 为您想要直接位于
liferay-sdk
下的四个文件夹创建符号链接(symbolic link)(在 Windows 上为ln -s
或mklink/J
)到second_repo/xxx
(钩子(Hook)
等)。 - 将这些符号链接(symbolic link)文件夹名称(例如
hooks
)添加到您的liferay-sdk
.gitignore
文件中。
关于git - 将两个 bitbucket 存储库克隆到同一文件夹中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42103802/