我正在做一个项目,其中我只能通过 FTP 控制服务器。我基本上是手动将 GIT 提交的更改部署到服务器。
有没有什么方法可以自动化这个(不需要自己编写脚本,我即将这样做),而不需要在服务器上安装 git?
答案1
我认为你需要的是git ftp。无论如何,我从来没试过。
答案2
在等待答案的时候,我做了这个。不过现在我必须按照 David Costa 的建议检查一下 git-ftp。这个脚本实际上什么也不做:它只是给你提供你自己的 FTP 命令。
#!/usr/bin/env ruby
if __FILE__ == $0
puts "Pulls file list between two git commits and makes ftp commands"
if ARGV.length != 2
puts "Sorry, include two hashes as arguments separated by spaces"
exit
end
hash1 = ARGV[0]
hash2 = ARGV[1]
command = "git log #{hash1}..#{hash2} --name-status --pretty=\"%p\""
results = `#{command}`
results = results.to_a[2..-1].join
lines = results.to_a
lines.each do |line|
modifyAddDelete = line[0..0]
if (modifyAddDelete=="M" || modifyAddDelete=="A")
command = "put"
elsif (modifyAddDelete = "D")
command = "delete"
end
filename = line[2..1000]
puts "#{command} #{filename}"
end
end