我从以前的开发者那里得到了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)
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 次 |
| 最近记录: |