首页 > 系统相关 >[Windows批处理]比对Git两个分支之间的差异,把有改动的文件复制到指定目录

[Windows批处理]比对Git两个分支之间的差异,把有改动的文件复制到指定目录

时间:2024-08-16 12:05:22浏览次数:12  
标签:复制到 Git set filepath Windows git REM copy 文件夹

保存为git-diff-copy.bat

@echo off
REM [Windows批处理]比对Git两个分支之间的差异,把有改动的文件复制到指定目录
setlocal enabledelayedexpansion

REM 1:设置被复制的git项目文件夹(尾部要加"\")
set copy_from=..\vue-vben-admin\
REM 2:设置复制的目标文件夹
set copy_to=%~dp0
REM 设置要比对的两个分支名称
set git_from=v2
set git_to=v2-xixi

REM 读取 diff.txt 中的文件路径并逐个复制到当前文件夹
for /f "delims=" %%i in ('git --git-dir %copy_from%.git diff --name-only %git_from% %git_to%') do (
	REM 获取要复制的文件路径
	set "filepath=%%i"
	set "filepath=!filepath:/=\!"

	REM 文件夹自动创建
	for %%F in ("%copy_to%\!filepath!") do set "folderpath=%%~dpF"
	if not exist "!folderpath!" (
		mkdir "!folderpath!"
	)

	REM 复制文件到当前文件夹
	echo copy To "%copy_to%!filepath!"
	copy "%copy_from%!filepath!" "%copy_to%!filepath!" 1>nul
)

echo All files copied.
pause

标签:复制到,Git,set,filepath,Windows,git,REM,copy,文件夹
From: https://www.cnblogs.com/xiangxisheng/p/18362614

相关文章

  • 利用 Cloudflare workers 反代 github
    反代Github似乎会被认定为欺诈,严重的会封禁域名,不建议尝试首先绑定你的域名到cloudflare,然后创建一个Worker后写入以下代码并添加自定义域名//反代目标网站.constupstream='github.com';//反代目标网站的移动版.constupstream_mobile='github.com';//访问......
  • 解决Windows突然自动重启卡logo
    一般重启后或者卡logo我们需要查看日志进入后查看日志点击筛选当前日志输入eventlog找到重启的时间错误ID,记住这个事件ID我们再次点击筛选当前日志页面选择清除,点击确定然后我们找到关键的ID和时间这个时间点上面和下面查看一下错误的引起原因很显然这个......
  • 在Windows系统打开开始菜单,输入cmd 命令打开命令提示符
    ftp>pwd#匿名访问ftp的根目录为Linux系统的/var/ftp/目录ftp>ls#查看当前目录ftp>cdpub#切换到pub目录ftp>get文件名#下载文件到当前Windows本地目录ftp>lsftp>gettest.txt#获取目录中的文件下载到电脑ftp>lsftp>puttest4.txt......
  • 如何在 Git 中取消文件的跟踪
    如何在Git中取消文件的跟踪在使用Git进行版本控制时,文件可能最初被跟踪,但随着项目的发展,有时需要取消对这些文件的跟踪。本文介绍如何在不同情况下取消文件或目录的Git跟踪。1.取消对已经被Git跟踪的文件的跟踪如果某个文件已经添加到Git并被提交,但现在不希望Git......
  • 在Windows下安装配置Navicat
    文章目录一、下载Navicat下载NavicatPremium下载NavicatPremiumLite二、安装Navicat三、试用Navicat四、链接数据库一、下载NavicatNavicatPremium与NavicatPremiumLite二者的区别是PremiumLite可以免费使用,但是只保留了精简功能,而Premium可以使用所......
  • 在Windows下启用Hyper-V以及安装Linux子系统
    文章目录一、启用Hyper-V二、安装Linux子系统三、开启Linux子系统适用于Linux的Windows子系统(WSL)是Windows的一项功能,可用于在Windows计算机上运行Linux环境,而无需单独的虚拟机或双引导。WSL旨在为希望同时使用Windows和Linux的开发人员提供无缝......
  • 把廉价香橙派利用到极致,跑自建 Gitea 和 Hexo 服务
    这篇文章在我的博客同步发布:把廉价香橙派利用到极致,跑自建Gitea和Hexo服务书接上回code-server搭建。code-server因为是原生服务,再加上这枚H618芯片性能相当可以,内存和CPU占用都很小,但是耗电却紧压电源适配器的15W极限,剩余的性能……浪费了?这怎么行?!经过苦思冥想,......
  • Git零基础入门与常见命令介绍
    Git 是一个开源的分布式版本控制系统,用于高效地处理任何大小的项目。它由LinusTorvalds为了帮助管理Linux内核开发而开发的开放源码软件。与常用的版本控制工具(如CVS、Subversion)不同,Git采用了分布式版本库的方式,不需要服务器端软件支持。目录1.安装Git2.基本命令介绍2......
  • github 博客
    https://chirpy.cotes.page/posts/getting-started/#option-2-github-forksudoapt-getinstallruby-fullbuild-essentialzlib1g-devecho'#InstallRubyGemsto~/gems'>>~/.zshrcecho'exportGEM_HOME="\(HOME/gems"'>......
  • Windows、Ubuntu安装mysql
    今天我们来学习一下如何在Windows、Ubuntu安装mysql。Windows安装mysql第一步:在官网找到需要安装的mysql版本,下载第二步:下载后打开安装包,进行安装。 点击“Next”: 默认就行,单击next:单击“Excute”等待所有进程结束就安装成功了!接下来配置环境变量:找到mysql的bi......