我有一个在多个服务器上的多个路径上生成文件“ hi.txt”的过程。
target-server1:
/opt/tmp/test/hi.txt
/opt/tmp/log/db/hi.txt
....
....
/opt/tmp/scr/hi.txt
target-server2:
/app/tmp/hi.txt
/app/db/hi.txt
....
....
/opt/tmp/scr/hi.txt
and likewise.
我希望在git中维护这些“ hi.txt”文件,并且我应该能够在任何给定的日期时间检索任何hi.txt。
注意:不能在远程服务器上安装git。
下面是我采取的方法。
我将特定文件夹中的所有这些“ hi.txt”拉(复制)到公用服务器上(我们称之为“跳转服务器”),该服务器具有git并使用类似增量值的方式重命名每个“ hi.txt”
jump-server:
/var/common/hi.txt_1
/var/common/hi.txt_2
....
....
/var/common/hi.txt_43
/var/common/hi.txt_44
然后我打算将这些文件推送到git。
挑战是如何检索过去任何给定日期的任何文件?
考虑到我们可能在同一日期使用相同的注释将/var/common/hi.txt_1文件名两次推送到git。
我正在使用本地git和gitlab来维护文件。
将有什么好方法可以帮助我从git中检索任何给定日期的文件?请提出建议?
对于跳转服务器上的目录结构:我建议
# under /var/common/ :
server1/tmp/test/hi.txt
server1/tmp/log/db/hi.txt
...
server1/tmp/src/hi.txt
server2/app/tmp/hi.txt
server2/app/db/hi.txt
...
server2/tmp/src/hi.txt
# etc ...
关于“我如何检索过去任何给定日期的文件?”,我不确定我是否理解您的所有担忧。
如果将所有文件复制到跳转服务器的作业随后创建了提交(git add -A; git commit -m "Updated"
),则您所需的内容将通过git内置:
git log
查看所有提交(带有日期和时间)git checkout [xxx]
查看精确状态,或git show [xxx]:some/file.txt
或...任何图形查看器(git-kraken,git-extension等)都将为您提供GUI来浏览历史记录并在正确的日期查看精确的文件。