Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

Already on GitHub? Sign in to your account

Don't touch git files on #cleanup #337

wants to merge 1 commit into


None yet

bogdan commented May 22, 2011

In my usecase I built site on local machine and push it to github repository.
Probably every person that uses modified version of jekyll would do this in order to have flexibility to change source and use github for hosting.

So jekyll should not remove .git repository during Site#proccess.

Site#clean: Make .git directory stay
When site content destination is a git repository
It is a good idea to skip the .git directory

+1 - This would be great - however there's a bug in this commit, it can't have $ at the end, or it still deletes all files in .git

An even better solution would be to have the exclude list as a configuration variable so anyone can add what they want, and default config can include a commented out list of .svn, .git, etc., etc.

skuro commented Nov 26, 2011


As plugins are disabled for Github Pages, the target folder will most likely have a .git folder that has to stay. @MikeSchroll idea of having configurable excludes seems reasonable.


toblux commented Feb 21, 2012


vanto commented Mar 25, 2012




parkr commented May 18, 2012

+1. We're building out a site that would be best if we can keep a .git repository in _site. It'd be awesome if that weren't deleted upon build.


parkr commented May 20, 2012

Check out my pull request: #556. I think you'll find that this is suitable. Thoughts, @MikeSchroll and @bogdan?

bogdan commented May 20, 2012

I like @MikeSchroll 's idea to have configuration option to exclude some files from cleanup process and make it default to .git .svn etc.

@parkr Looks great!
Agree with @bogdan that we might as well store the list of extensions as a configurable variable, pre-populated with the most common appropriate .dotfiles


parkr commented May 28, 2012

Great! I'll rework it very soon. Thanks!

@parkr parkr referenced this pull request May 29, 2012


Added cleanup config #540


tombell commented Jul 11, 2012

Why are people creating a repo inside of _site when you can just version control the source of the static site?

bogdan commented Jul 11, 2012

Because when generate _site locally you can change jekyll runtime. E.g. overwrite methods, write custom ruby code, use jekyll from your own fork.


edeustace commented Aug 22, 2012



edeustace commented Aug 23, 2012

I've created a pull request based on parkr's one #556: mojombo#630
It adds a configuration variable: keep_files which defaults to ['.git'].


parkr commented Dec 8, 2012

Whaddaya think, @bogdan? Also, @tombell, my answer to your question: antiquated production servers used @ Cornell serve just the raw stuff (do not serve using WEBrick/Thin which would just serve the "compiled" files) so we have to version control just the output and rsync it with the server.

@bogdan bogdan closed this Dec 9, 2012

trvrplk commented Jan 8, 2013


@jekyllbot jekyllbot locked and limited conversation to collaborators Feb 27, 2017

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.