从目录中删除所有的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是理想的分支。

链接地址: http://www.djcxy.com/p/26269.html

上一篇: Remove all git files from a directory?

下一篇: How to clean Visual Studio bin and obj folders