Reference library

Git + Python

Automate Git from Python — diffs, hooks, release tags, and repo housekeeping.

3 matches
Git + Python easy

How to List Changed Files in the Last Git Commit with Python

Runs `git diff --name-only HEAD~1 HEAD` via subprocess to list the names of files changed in the most recent commit.

git subprocess automation
Python
import subprocess

def list_changed_files():
    result = subprocess.run(
        ["git", "diff", "--name-only", "HEAD~1", "HEAD"],
        capture_output=True,
        text=True,
        check=True
    )
    files = result.stdout.strip().splitlines()
    return files

if __name__ == "__main__":
    changed = list_cha…
14 0 Open
Git + Python easy

How to compute diff stats (insertions, deletions) in Python

Parses a git diff text and counts the number of added and removed lines to produce insertion and deletion stats.

git diff parsing
Python
import re
from collections import Counter


def parse_diff(diff_text):
    insertions = 0
    deletions = 0
    for line in diff_text.splitlines():
        if line.startswith("+") and not line.startswith("+++"):
            insertions += 1
        elif line.startswith("-") and not line.startswith("---"):
            d…
15 0 Open
Git + Python easy

Merge branch no ff mock in Python

Simulate a Git non-fast-forward merge in Python, producing a synthetic merge commit log for branches with differing SHAs.

git merge simulation
Python
class MergeResult:
    def __init__(self, base, branch):
        self.base = base
        self.branch = branch
        self.commit_log = []
        self.merged = False

    def simulate_merge(self):
        """Simulate a 'no-ff' merge by creating a new commit that references both branches."""
        if self.base == s…
13 0 Open

Browse by section

Each section groups closely related Python snippets.

Git + Python — Python code examples

What you will find here

This page collects git + python snippets — short, copy-ready Python you can paste into our free online IDE and run without installing anything. Each sample includes a plain-English explanation and the full source code.

Samples vs tutorials and challenges

Samples are quick reference — one concept per page. For step-by-step teaching, use our Python tutorials. To test yourself, try quizzes or coding challenges. Clean up style with the Python formatter.