windows下git提交空目录

@echo off
setlocal enabledelayedexpansion

rem ++++++++++++++++++++++++++++++++++++
rem pp:pre process,预处理
rem
rem 处理git忽略空目录的问题
rem 注意:
rem 1、该文件放在git项目根目录,在git add之前执行该文件
rem 2、在空目录下会新增文件,新增.gitignore会忽略平级所有文件的提交
rem 3、处理过程:首先删除所有.gitignore,然后查找所有空目录并新增文件
rem
rem ++++++++++++++++++++++++++++++++++++

(

for /r %%i in (*.gitignore) do (
	if not %%~fi == %cd%\.gitignore (

		echo %%~fi  -- prepare to delete
		del "%%~fi"
		if ERRORLEVEL 0 (
			echo %%~fi -- success to delete
		) else (
			echo %%~fi -- fail to delete
		)
	)
)

del pp_dir_all > nul 2>nul
del pp_dir_filter > nul 2>nul

for /d %%i in (*) do (
	for /f "delims=" %%j in (‘dir /s /b /ad "%%~fi"‘) do (
		echo %%~fj -- prepare to collect
		echo %%j>> pp_dir_all
	)
)

if exist pp_dir_all (
	for /f "delims=" %%i in (pp_dir_all) do (
		echo %%i -- prepare to check children count
		set /a children_count=0
		for /f "delims=" %%j in (‘dir /b "%%~fi"‘) do (
			echo %%~fj -- print children
			set /a children_count+=1
		)
		echo %%i -- child_count: !children_count!
		if !children_count! == 0 (
		echo %%i -- none children
		echo %%~fi>> pp_dir_filter
	 )
	)
)

if exist pp_dir_filter (
	for /f "delims=" %%i in (pp_dir_filter) do (
		echo %%i -- prepare to create .gitignore file
		echo * > "%%i\.gitignore"
		if ERRORLEVEL 0 ( 
			echo %%~fi -- success to create 
		) else ( 
			echo %%~fi -- fail to create 
		)
	)
)

del pp_dir_all > nul 2>nul
del pp_dir_filter > nul 2>nul

rem echo. & pause 

rem ) > nul 2>nul
) > pplog.txt

echo. >> pplog.txt
echo. >> pplog.txt
echo. >> pplog.txt
echo. >> pplog.txt
echo. ** current .gitignore list>> pplog.txt
echo. >> pplog.txt

for /r %%i in (*.gitignore) do (
	echo %%~fi >> pplog.txt
)
时间: 2024-10-25 18:35:58

windows下git提交空目录的相关文章

windows下git命令的使用

一.写在前面 关于git,出于自己的爱好,前段时间玩了一下,也自己上网查了一下资料,现简单记录一下,以备查看. 当然,本文并不是介绍配置git服务器的文章,而是以github服务器作为git的远程仓库服务器. 二.安装 windows下使用git,需要安装msysGit,下载地址是https://code.google.com/p/msysgit/downloads/list; 安装完成后,在安装目录下,有个msys.bat文件,这个就是msysGit提供的命令行客户端: 当然就像svn一样,也

Windows下Git服务器搭建[转]

Windows下Git服务器搭建 作为对前两天Git服务器搭建的一个整理,我想分别从服务端和客户端两个角度来记录下整个搭建过程,为了达到目标,我们需要哪些操作. (一)服务端软件和账号的安装配置 我们这里只需要两个软件git和ssh,软件版本如下,这两个版本的安装也是非常简单,基本只要注意一点即可:安装目录最好不要用默认路径,确保安装路径中没有空格.其他步骤基本一路Next即可. Git-1.8.1.2-preview20130201.exe Copssh_4.1.0_Installer.exe

深入学习:Windows下Git入门教程(下)

声明:由于本人对于Git的学习还处于摸索阶段,对有些概念的理解或许只是我断章取义,有曲解误导的地方还请见谅指正! 一.分支 1.1分支的概念. 对于的分支的理解,我们可以用模块化这个词来解释:在日常工作中,一个项目的开发模式往往是模块化,团队协作式的开发.这样我们项目的进度可以称得上多核并发式的开发了.这种模块化的开发要求我们尽可能的高内聚低耦合以免造成一只胳膊没了整个人都废了的局面.因此在所有的版本控制器对代码进行管理的时候都引入了分支这个概念.那么分支是什么呢? 分支是相对于主干来说的,或者

深入学习:Windows下Git入门教程(上)

一,安装Git: 1.1Linux上安装命令: sudo apt-get install git 1.2在Windows上安装Git: 使用Windows版的msysgit,官方下载地址:http://msysgit.github.io/,点击进入官网,如果官网无法正常下载我这里有当前的最新版,已经上传到CSDN上,下载地址为:http://download.csdn.net/detail/huangyabin001/7564005,点击进入下载 1.3安装完成进行配置: $ git confi

图解Windows下 GIT GUI 使用教程

https://jingyan.baidu.com/article/19020a0a7ae6af529c284248.html 本篇经验将和大家介绍Windows下 GIT GUI 使用教程,希望对大家的工作和学习有所帮助! 方法/步骤 1 百度搜索下载Git安装,如下图所示: 2 安装步骤省略,直接下一步即可,直至出现下面的图片,说明安装成功,如下图所示: 3 使用git GUI克隆已存在的仓库 在本地新建一个文件夹test,选中后点击右键,选择Git GUI Her,出现下图,选择第二个,克

Windows下Git使用报错:warning:LF will be replaced by CRLF in ××××.××

Windows下Git使用报错: warning:LF will be replaced by CRLF in ××××.××(文件名) The file will have its original line ending in your working directory. 翻译: 在xxx.xx文件中LF将被CRLF替换. 在工作区(working directory)里,这个文件将会保持它原本的换行符.(line ending:行尾,换行) 注解:           LF:Line F

Windows下Git Status的乱码问题解决方案

Windows下Git Bash的乱码问题很多,不过好在终于都解决了! 丫的终于不用再折腾了! 看教程之前记得使用Git最新版! 问题一: 乱码如下: "\344\270\212\347\" 解决:Bash下输入如下命令 git config --global core.quotepath false 注:此问题Msys和Cygwin都有 问题二: 哪都不乱码,Git Status显示中文文件名乱码. 解决: 打开Git Bash,右键标题栏选择"Options".

Windows下Git多账号ssh-key(复制自己用)

Windows下Git多账号配置,同一电脑多个ssh-key的管理 这一篇文章是对上一篇文章<Git-TortoiseGit完整配置流程>的拓展,所以需要对上一篇文章有所了解,当然直接往下看也可以,其中也有一些提到一些基础的操作. <Git-TortoiseGit完整配置流程>:http://www.cnblogs.com/popfisher/p/5466174.html. 本文以配置github.com账号和git.oschina.net账号来逐步演示在Windows环境下配置G

Windows下Git Bash中VIM打开文件中文乱码

Windows下Git Bash中VIM打开文件中文乱码,解决方法是: 步骤一 [email protected] MINGW64 /d/项目GGE/Hard_for_GGE (master)$ cd /etc/ [email protected] MINGW64 /etc$ vi vimrc 步骤二 在打开的vimrc文件开头添加以下代码: set nu set fencs=utf-8,gbk,utf-16,utf-32,ucs-bom 保存并退出vimrc编辑文档. 步骤三 1.退出git