Git将所有未跟踪的文件和文件夹移出git目录?

Ser*_*kov 5 git

我从以前的开发者那里得到了PC git中有许多未跟踪的文件和文件夹(> 400).项目应该在没有它们的情况下工作,但我不想删除或存储它们.也许我稍后会有一些用处.

有没有办法将它们的结构移动到git的Backup文件夹?

Flo*_*ows 13

根据这个答案,你可以做一些事情,假设你可以使用bash命令(我想你可以在git提示符中这样做).

cd $Git_Repo
for file in $(git ls-files --others --exclude-standard); do mkdir -p ../backup/$(dirname $file) ; mv $file ../backup/$file ; done
Run Code Online (Sandbox Code Playgroud)

最后一个命令在所有未跟踪的文件上循环,dirname在备份目标文件夹文件中创建structure().它将文件移动到需要的位置.

注意: 如果您的文件名包含空格,则必须在命令()期间为bash指定分隔符IFS .别忘了忘记之后.命令变为

cd $Git_Repo
IFS=$'\n'
for file in $(git ls-files --others --exclude-standard); do mkdir -p ../backup/$(dirname $file) ; mv $file ../backup/$file ; done
unset IFS
Run Code Online (Sandbox Code Playgroud)


phd*_*phd 7

rsync -R `git ls-files --others` ../Backup
Run Code Online (Sandbox Code Playgroud)

git ls-files --others列出未跟踪的文件,包括忽略;如果要排除.gitignoreadd 中列出的文件--exclude-standard

rsync -R将列出的文件复制到../Backup目录保留路径中。

在清理工作树之后,git clean -fd甚至git clean -fdx.


归档时间:

查看次数:

1762 次

最近记录:

8 年 前