Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
什么是好的Git';这件事的策略是什么?_Git_Version Control_Branch_Branching And Merging - Fatal编程技术网

什么是好的Git';这件事的策略是什么?

什么是好的Git';这件事的策略是什么?,git,version-control,branch,branching-and-merging,Git,Version Control,Branch,Branching And Merging,我拥有两个Git存储库: 服务器端存储库(概念名称) 客户端存储库 ServerSide包含一个client文件夹,最初为空,需要由部署时ClientSide主分支的最新提交的代码提供。(我只需要部署服务器端,因为它的目标是带来客户端) 我想要的是一种自动策略,将内容从客户端的主分支拉入服务器端 事实上,到目前为止,每次我想部署服务器端,我都会使用手动(而且非常糟糕)策略,包括完全清除客户端文件夹(rm-rf*=>非常危险),启动一个进程(例如bash),从我的客户端获取内容(纯cp命令)本

我拥有两个Git存储库:

  • 服务器端存储库(概念名称)
  • 客户端存储库
ServerSide包含一个
client
文件夹,最初为空,需要由部署时ClientSide主分支的最新提交的代码提供。(我只需要部署服务器端,因为它的目标是带来客户端)

我想要的是一种自动策略,将内容从客户端的主分支拉入服务器端

事实上,到目前为止,每次我想部署
服务器端
,我都会使用手动(而且非常糟糕)策略,包括完全清除
客户端
文件夹(
rm-rf*
=>非常危险),启动一个进程(例如bash),从我的客户端获取内容(纯
cp
命令)本地主机分支到服务器端
的客户端文件夹,并提交/推送整个服务器


什么才是真正有效的策略来自动完成这项任务?

在这种情况下,客户端可以添加到服务器端

在服务器端
中:
git子模块添加客户端

这将创建一个与客户端存储库链接的客户端目录

在部署时:

cd client
git pull
# then commit the update of submodule client in ServerSide and deploy

Git警告说:“'client'已经存在于索引中,
Git rm-r client
做到了:)我正在测试整个nowPerfect!非常感谢François:)有了这个策略,我能从
客户机
中轻松取出一个文件夹吗?不是全部,这是不可能的。但在这种情况下,您可以创建第三个存储库,用作客户端和服务器端的子模块