Skip to the content.

Configuration

Collection of .gitignore files

https://github.com/github/gitignore

Large File Storage (LFS)

LFS allows to mix large files within the Git repo without impacting the repo size. These large files are not stored in the Git repo, but in a different location. LFS is widly supported (GitLab, Gitea, GitHub and more).

If you do not upload new files to LFS, just do #1 and #2:

  1. Install the Git LFS client on your machine

     sudo apt install git-lfs    # Ubuntu
     brew install git-lfs        # macOS
    
  2. Clone the repo

     git clone ssh://git@....../my-repo
     cd my-repo
     git lfs install
    
  3. Mark files to be stored in LFS

     git lfs track '*.mp4'
     git add .gitattributes
    
  4. Upload files to LFS

     git add  assets/*.mp4
     git commit -m 'Add videos' 
     git push
    

Mono-repo mono-branch

My expérience:

Constraints and learning:

After many years practitioning different use cases, my position is Simplicity:

Bien sûr, pour des projet sans dépendance, OK pour des repos Git séparés. :+1:

En conclusion, c’est Ă©lĂ©gant d’avoir de beaux commits, de belles branches, et plein de petits repos
 Mais le coĂ»t n’est pas Ă  nĂ©gliger : les cerveaux de se concentrent sur d’autres tĂąches qui apportent peu de plus value Ă  la finalitĂ© du projet. On passe trop de temps Ă  faire de l’orfĂšvrerie au lieu de se concentrer sur le but : livraison => dĂ©ploiement => expĂ©rience des utilisateurs finaux.

C’est pour cela que j’en suis arrivĂ© Ă  apprĂ©cier d’avoir plusieurs Ă©quipes partageant un mĂȘme repo et la mĂȘme branche. ConsidĂ©rons les diffĂ©rents contributeurs au projet comme des adultes, laissons les prendre leurs responsabilitĂ©s, plutĂŽt que de leur mettre des rĂšgles frustrantes qui les infantilisent.

Commit

Nice example: https://github.com/tiangolo/fastapi

:memo: Update release notes
:sparkles: Add support for OpenAPI Callbacks (#722)
:loud_sound: Refactor logging (#781)
:speech_balloon: Rephrase handling-errors to remove gender

Useful emojis: https://github.com/carloscuesta/gitmoji

Elegant commit message:

:emoji: Verb summarizing the change (in some words) #123 #456 (optionnal issues)
                                                              (blank line)
Optionnal verbose descripption
can use multiple lines
* can use bullet points
* and any *Markdown* `syntax`

Branching

See also: