厨师长git资源不同步,即使目标不匹配?
这是复制git存储库的简单方法厨师长git资源不同步,即使目标不匹配?,git,github,chef-infra,chef-recipe,cookbook,Git,Github,Chef Infra,Chef Recipe,Cookbook,这是复制git存储库的简单方法 git "/home/testuser" do repository git_repo revision 'master' action :sync end git_repo是一个具有git存储库路径的变量 git "/home/testuser" do repository git_repo revision 'master' action :sync end 这在第一次运行时工作正常。 但是,如果我的存储库已经同步,并且本地复制的存储库文件夹中的某些文
git "/home/testuser" do
repository git_repo
revision 'master'
action :sync
end
git_repo
是一个具有git存储库路径的变量
git "/home/testuser" do
repository git_repo
revision 'master'
action :sync
end
这在第一次运行时工作正常。
但是,如果我的存储库已经同步,并且本地复制的存储库文件夹中的某些文件已更改或删除,那么通过运行此git资源,将不会更新本地存储库,甚至不会更新本地存储库中删除的某些文件
git "/home/testuser" do
repository git_repo
revision 'master'
action :sync
end
为什么即使某些文件不在本地复制的存储库中也会发生这种情况?它检查幂等性的是,部署跟踪指针是否与远程为请求的分支提供的提交SHA匹配。因此,如果您通过执行提交来更改本地sha,或者(更常见的)远程有新的提交,它将同步。它不会自动运行类似于
git clean-fdx
的东西,因为通常的用例是从其代码的git克隆运行某种应用程序或服务,在这种情况下,这将非常糟糕™. 如果您需要它,您可以轻松地将其添加为执行资源。对于这种情况,我应该怎么做,比如删除本地存储库中的一些文件。