假设我有一个git@server:project.git具有以下结构的远程存储库():
./client
./server
Run Code Online (Sandbox Code Playgroud)
然后,我创建了目录中的本地仓库~/myproject/test使用git init; git add . ; git commit -m "init check in ".我想这个本地资源库推送到远程的存储库作为子目录test并联同client和server,即
./client
./server
./test
Run Code Online (Sandbox Code Playgroud)
我希望本地的所有签到历史记录都可以保存在远程存储库中.有没有办法实现这个目标?谢谢!
通常的解决方案是使用子树合并策略.
有关详细信息,请参阅" Git子树合并策略,可能没有合并历史记录? ".
另一种解决方案是将您的本地存储库声明为远程存储库的子模块.
为此,您需要:
git@server:project.git本地克隆git@server:test.git为子模块但是,如果您的测试文件与您的项目紧密相关,那可能不是最佳解决方案.