linux - 有没有办法每天自动备份文件并每天突出显示差异
问题描述
背景:有时在编辑我的代码时,一个重要的行被删除了。我不知道怎么。在任何情况下,我都有一个手动备份其他地方的代码的备份,我可以用它来做一个差异并合并丢失的行。
有没有一种方法/应用程序可以每天在 Windows 或 linux 上自动执行上述过程?
也就是说,有没有一种无需人工干预的方法,可以每天备份特定文件(基于文本的代码文件)(理想情况下,这应该是用户指定的),并且每次用户想要检查任何以前的更改版本(包括昨天的版本),可以突出显示更改吗?
可以这样设置git
吗?据我了解,即使在 上git
,这也是一个手动过程。有没有办法通过编写批处理文件或脚本等来自动执行此操作?出于某种原因,git
这似乎是一个坏主意,因为理想情况下,我只想保存git
工作代码而不是错误代码。我想对正在开发中且远未投入生产的代码进行此备份和每日差异。
解决方案
基于此链接,我能够在 Windows 上使用 7zip 创建一个批处理文件。我有以下结构:c:\myproject\
在其中有\src\
和\include\
。一个带日期戳的 zip 文件,src_date.zip
并include_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
它不会自动突出显示差异(我想这是我必须在外面做的事情),我必须手动运行它,但在我着手开发中的任何重大代码更改之前,这会创建一个压缩副本我需要的文件夹。
推荐阅读
- javascript - Vue 控制台错误 Uncaught TypeError: _ctx.... is undefined on value with is defined
- json - 从 Teradata 表中读取 JSON 列数据的 SAS 代码
- sql - 带有大输入字符串的 db2 REGEXP_INSTR 问题
- google-maps - 谷歌地图从两个文本框值添加标记(纬度和经度)
- react-native - 视频通话通知
- javascript - JavaScript 包含方法
- c++ - 在c ++中输入直到文件结束
- functional-programming - `is pure` trait 和默认参数
- c# - WebView2 - 此站点正在尝试打开(应用程序)
- matrix - 反向传播中的维度不匹配