Package: git-story
git-storyTell the story of your Git project by creating video animations (.mp4)
of your commit history directly from your Git repo.Use casesVisualizing Git projectsSharing desired parts of your workflow with your teamCreating animated Git videos for blog posts or YouTubeHelping newer developers learn GitFeaturesRun a single command in the terminal to generate a custom Git animation (.mp4) from your repoSpecify any commit id or ref to start animating from (default:HEAD)Specify the number of commits to include (default:8)Ref labels are drawn by default forHEAD, branch names, and tagsReverse commit ordering and reorient branch layoutWorks best with simpler branching structures, but should work with more complex ones as wellAdd custom branded intro/outro sequences if desiredDark mode and light modeVideo animation examplehttps://user-images.githubusercontent.com/49353917/179362209-48748966-6d6c-46ff-9424-b1a7266fc83f.mp4RequirementsPython 3.9 or greaterPip (Package manager for Python)Manim (Community version)GitPythonQuickstartInstallmanim and manim dependencies for your OSInstall GitPython$pip3installgitpythonInstallgit-story:$pip3installgit-storyBrowse to the Git repository you want create an animation from:$cdpath/to/project/rootRun the program:$git-storyA default animation.mp4file will be created using the most recent 8 commits on your checked-out Git branch. By default, video output file is created in the current directory, within a subdirectory calledgit-story_media. The location this subdirectory is customizeable using the command line flag--media-dir=path/to/output.Use command-line options for customization, see usage:$git-story-husage: git-story [-h] [--commits COMMITS] [--commit-id COMMIT_ID] [--hide-merged-chains] [--reverse] [--title TITLE] [--logo LOGO] [--outro-top-text OUTRO_TOP_TEXT][--outro-bottom-text OUTRO_BOTTOM_TEXT] [--show-intro] [--show-outro] [--max-branches-per-commit MAX_BRANCHES_PER_COMMIT] [--max-tags-per-commit MAX_TAGS_PER_COMMIT][--media-dir MEDIA_DIR] [--low-quality] [--light-mode] [--invert-branches]optional arguments:-h, --help            show this help message and exit--commits COMMITS     The number of commits to display in the Git animation (default: 8)--commit-id COMMIT_IDThe ref (branch/tag), or first 6 characters of the commit to animate backwards from (default: HEAD)--hide-merged-chains  Hide commits from merged branches, i.e. only display mainline commits (default: False)--reverse             Display commits in reverse order in the Git animation (default: False)--title TITLE         Custom title to display at the beginning of the animation (default: Git Story, by initialcommit.com)--logo LOGO           The path to a custom logo to use in the animation intro/outro (default: /usr/local/lib/python3.9/site-packages/git_story/logo.png)--outro-top-text OUTRO_TOP_TEXTCustom text to display above the logo during the outro (default: Thanks for using Initial Commit!)--outro-bottom-text OUTRO_BOTTOM_TEXTCustom text to display below the logo during the outro (default: Learn more at initialcommit.com)--show-intro          Add an intro sequence with custom logo and title (default: False)--show-outro          Add an outro sequence with custom logo and text (default: False)--max-branches-per-commit MAX_BRANCHES_PER_COMMITMaximum number of branch labels to display for each commit (default: 2)--max-tags-per-commit MAX_TAGS_PER_COMMITMaximum number of tags to display for each commit (default: 1)--media-dir MEDIA_DIRThe path to output the animation data and video file (default: .)--low-quality         Render output video in low quality, useful for faster testing (default: False)--light-mode          Enable light-mode with white background (default: False)--invert-branches     Invert positioning of branches where applicable (default: False)--speed SPEED         A multiple of the standard 1x animation speed (ex: 2 = twice as fast, 0.5 = half as fast) (default: 1)Command ExamplesDefault - draw 8 commits starting fromHEAD, from oldest to newest:$cdpath/to/project/root$git-storyCustomize the start commit and number of commits, and reverse their display order:$git-story--commit-ida1b2c3--commits=6--reverseInvert the branch orientation, if multiple branches exist in the commit range:$git-story--invert-branchesAdd an intro with custom title and logo:$git-story--commit-iddev--commits=10--show-intro--title"My Git Repo"--logopath/to/logo.pngAdd an outro with custom text and logo:$git-story--show-outro--outro-top-text"My Git Repo"--outro-bottom-text"Thanks for watching!"--logopath/to/logo.pngCustomize the output video directory location:$git-story--media-dir=path/to/outputUse light mode for white background and black text, instead of the default black background with white text:$git-story--light-modeGenerate output video in low quality to speed up rendering time (useful for repeated testing):$git-story--low-qualityInstallationSeeQuickStartsection for details on installing manim and GitPython dependencies. Then run:$pip3installgit-storyLearn MoreLearn more about this tool on thegit-story project page.AuthorsJacob Stopak- on behalf ofInitial Commit