这是复制git存储库的简单方法。
git "/home/testuser" do
repository git_repo
revision 'master'
action :sync
end
git_repo
是一个具有git存储库路径的变量。
第一次运行时,此功能正常。 但是如果我的存储库已经同步,并且如果某个文件在本地复制的存储库文件夹中被更改或删除,则运行此git资源将不会更新本地存储库并且即使在本地存储库中删除了一些文件也是最新的。
为什么会发生这种情况,即使某些文件不在本地复制的存储库中?
答案 0 :(得分:0)
它检查幂等性的是,如果部署跟踪指针与远程为所请求的分支提供的提交SHA匹配。因此,如果您通过提交更改本地sha或者(更常见)远程具有新提交,它将同步。它不会像git clean -fdx
那样自动运行,因为从代码的git克隆运行某种应用程序或服务的通常用例,在这种情况下会非常非常糟糕。如果它是您需要的东西,您可以轻松地将其添加为执行资源。