首页 > 解决方案 > 有没有办法每天自动备份文件并每天突出显示差异

问题描述

背景:有时在编辑我的代码时,一个重要的行被删除了。我不知道怎么。在任何情况下,我都有一个手动备份其他地方的代码的备份,我可以用它来做一个差异并合并丢失的行。

有没有一种方法/应用程序可以每天在 Windows 或 linux 上自动执行上述过程?

也就是说,有没有一种无需人工干预的方法,可以每天备份特定文件(基于文本的代码文件)(理想情况下,这应该是用户指定的),并且每次用户想要检查任何以前的更改版本(包括昨天的版本),可以突出显示更改吗?

可以这样设置git吗?据我了解,即使在 上git,这也是一个手动过程。有没有办法通过编写批处理文件或脚本等来自动执行此操作?出于某种原因,git这似乎是一个坏主意,因为理想情况下,我只想保存git工作代码而不是错误代码。我想对正在开发中且远未投入生产的代码进行此备份和每日差异。

标签: linuxwindowsgit

解决方案


基于链接,我能够在 Windows 上使用 7zip 创建一个批处理文件。我有以下结构:c:\myproject\在其中有\src\\include\。一个带日期戳的 zip 文件,src_date.zipinclude_date.zip在运行以下批处理文件时创建c:\myproject\zipdir\

@ECHO OFF
SETLOCAL EnableExtensions EnableDelayedExpansion

REM ---- change according to your 7-zip path

set path="c:\Program Files\7-Zip";%path%

set "zipdirsrc=C:\myproject\src"

set "zipdirinc=C:\myproject\include"

set "movedir=C:\myproject\zipdir"

REM ---- end change accordingly

pushd %zipdirsrc%
Set TODAY=%date:~4,2%-%date:~7,2%-%date:~10,4%
ECHO Zipping all contents of %zipdirsrc% and moving archive src to %movedir%
7z a -tzip "%movedir%\src_%TODAY%.zip" -r "%zipdirsrc%\*.*" -mx5
ECHO SRC Task Complete ...

pushd %zipdirinc%
Set TODAY=%date:~4,2%-%date:~7,2%-%date:~10,4%
ECHO Zipping all contents of %zipdirinc% and moving archive include to %movedir%
7z a -tzip "%movedir%\include_%TODAY%.zip" -r "%zipdirinc%\*.*" -mx5
ECHO INCLUDE Task Complete ...
EXIT /B 0

它不会自动突出显示差异(我想这是我必须在外面做的事情),我必须手动运行它,但在我着手开发中的任何重大代码更改之前,这会创建一个压缩副本我需要的文件夹。


推荐阅读