Git Regeln: - Keine grossen Videos (avi / mp4 / wmv / ...) - Keine grossen Bilder (jpg / png / tiff / bmp / xcf / ppt / pptx) - Keine grossen Ton-Dateien (wav / mp3 / flac / ...) - Keine grossen Programme / Installer (exe / msi / o / jar) - Keine grossen Binaerdateien (bin / dat / zip / gz / bz) - Keine grossen Dateien, die sich aus den bereits vorhandenen Quelltexten herstellen lassen. - Keine grossen zwischen Dateien (o / class) Als gross gelten alle Dateien > 1MB Repositories sollten mit History < 200Mb bleiben, ab 500MB wird gemahnt. == [https://medium.com/free-code-camp/follow-these-simple-rules-and-youll-become-a-git-and-github-master-e1045057468f] == Rule #1: Create a Git repository for every new project Rule #2: Create a new branch for every new feature Rule #3: Use Pull Requests to merge code to Master * https://guides.github.com/introduction/flow/ * https://hackmd.io/@thomasburleson/BJrUV8ssr * https://github.com/k88hudson/git-flight-rules * https://chris.beams.io/posts/git-commit/ * https://zellwk.com/blog/what-not-to-save-into-a-git-repo/ * Files that don’t belong to the project (.DS_Store, Thumds.db, .vscode) * Files that are automatically generated * Libraries (if managed by package manager) * Credentials (username, password, API-Keys) * https://medium.com/@w3docs/7-things-you-shouldnt-do-in-git-4d0ea10bc999 * https://faun.pub/5-file-types-you-should-and-10-you-should-not-store-in-your-vcs-d03c99f37930 + source code files such as .java, .sql, .js, .html, .css + build tool configuration files such as mvn.xml, build.gradle, package.json + DevOps tools configuration such as Dockerfile, Jenkinsfile, Vagrantfile, + infrastructure code required to install and run your software such as: Bash, Ansible, Terraform scripts + other text formatted documents such as README, LICENSE and documents written in markup languages - dependencies → those dependencies should be resolved through build tools like mvn, gradle, npm - dependency caches, such as the contents of /node_modules or /packages - compiled code, such as .o, .pyc, and .class files - build output directories, such as /bin, /out, or /target - files generated at runtime, such as .log, .lock, or .tmp - files generated during build process → this avoid situation that someone will try modify generated file - hidden system files, such as .DS_Store or Thumbs.db - personal IDE config files, such as .idea/workspace.xml - non text based documentation as .pdf, .docx, .xlsx, .pptx→ it’s better to use some wiki software or specialized products like Google Docs or Microsoft Office 365 - sensitive information * https://stackoverflow.com/questions/1911005/git-and-binary-data * https://www.perforce.com/blog/vcs/how-git-lfs-works * https://www.perforce.com/blog/vcs/how-choose-right-git-powered-wiki-your-team * https://stevebennett.me/2012/02/24/10-things-i-hate-about-git/ * https://svenpet.com/2013/02/21/dont-use-git/