[[!meta title="Git"]] Git research and development. * [gitly self-hosted](https://gitly.io). * [Git Large File Storage - Git Large File Storage (LFS) replaces large files such as audio samples, videos, datasets, and graphics with text pointers inside Git, while storing the file contents on a remote server like GitHub.com or GitHub Enterprise.](https://git-lfs.github.com/) / [#792075 - ITP: git-lfs -- Git Large File Support. An open source Git extension for versioning large files - Debian Bug report logs](https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=792075). * signed commits: * check using gpgv? * [Validating other keys on your public keyring](https://www.gnupg.org/gph/en/manual/x334.html) * https://git-annex.branchable.com/tips/using_signed_git_commits/ * http://stackoverflow.com/questions/17371955/verifying-signed-git-commits * https://git-scm.com/book/en/v2/Git-Tools-Signing-Your-Work * https://mikegerwitz.com/papers/git-horror-story.html * Push-to-deploy plugin: * http://superuser.com/questions/230694/how-can-i-push-a-git-repository-to-a-folder-over-ssh * https://devcenter.heroku.com/articles/git * https://github.com/blog/1957-git-2-3-has-been-released (push-to-deploy) * https://github.com/git/git/blob/v2.3.0/Documentation/config.txt#L2155 * http://stackoverflow.com/questions/1764380/push-to-a-non-bare-git-repository * http://bitflop.com/tutorials/git-bare-vs-non-bare-repositories.html * Write a "git" interceptor: * Check proper user/email config. * Automatically set git-flow when initializing a repository. * Automatically set git-hooks integration. * Implement global hooks. * Check remote configuration. * Check hook tampering before doing anything in the repository. * That can disable/mitigate hooks by changing permission and ownership on `~/.git/hooks`.