从目录中删除所有的git文件?
我有一个版本控制下的文件夹。 我想制作一份副本来发送,但不希望包含所有.git目录及其下的文件。
有没有办法删除所有的git文件,而不是手动删除所有这些文件?
.git文件夹只存储在repo的根目录中,而不是像subversion那样的所有子目录。 你应该只能删除那个文件夹,除非你使用子模块...那么他们也会有一个。
如何在Linux中删除文件夹下的所有.git
目录。
这个find命令将列出当前文件夹下的所有.git
目录:
find . -type d -name ".git"
&& find . -name ".gitignore"
&& find . -name ".gitmodules"
打印:
./.git
./.gitmodules
./foobar/.git
./footbar2/.git
./footbar2/.gitignore
应该只有3或4个.git
目录,因为每个项目只有一个.git文件夹。 你可以亲手做那些事。
如果你想用一个命令将它们全部清除并且危险地生活:
//Retrieve all the files named ".git" and pump them into 'rm -rf'
//WARNING if you don't understand why/how this command works, DO NOT run it!
( find . -type d -name ".git"
&& find . -name ".gitignore"
&& find . -name ".gitmodules" ) | xargs rm -rf
//WARNING, if you accidentally pipe a `.` or `/` to xargs rm -rf,
//then everything will be gone. Which requires an OS reinstall.
你可以使用git-archive,例如:
git archive master | bzip2 > project.tar.bz2
master
是理想的分支。