Fr | En
Home / GitDTL / README

DTL Software — 8 June 2026

README

GitDTL v1.0.0

Simplified menu for Git project management

Didier DTL Morandi didier.morandi@gmail.com MIT License

Overview

GitDTL is a Python/Tkinter desktop application that exposes the essential Git operations through a numbered menu. It can be used on any local repository, even one that does not yet exist — in that case the tool will offer to create it.

The interface adopts the “DEC VT100 Terminal” aesthetic of the NetDTL suite: black background, phosphor-green text, Courier New monospace font.

GitDTL is aimed at users who want to work with Git without touching the command line.

Prerequisites

  • Windows 10 or later
  • Python 3.10 or later (standard library only: tkinter, subprocess, pathlib, shutil)
  • Git installed and available in the Windows PATH
No external dependencies to install. GitDTL uses only the Python standard library.

Installation

git clone https://github.com/DidierMorandi/gitdtl.git
cd gitdtl
python GitDTL.py

Launch

python GitDTL.py

GitDTL opens on the current folder. The project folder can be changed at any time using the Change project button.

Features

No. Action Equivalent Git command
1Project statusgit status
2View changesgit diff
3Add a file to the projectgit add
4Stage a modified filegit add
5Remove a file or foldergit rm
6Commit changesgit commit
7Publish project to GitHubgit push
8Create a releasegit tag + git push
9Release historygit log
10Sync from GitHubgit pull
11GitDTL diagnosticsgit status + branch + remote + last commit
12Read the logDisplays logs/gitdtl.log
13View project on GitHubOpens the configured GitHub page
14DocumentationDisplays this README in Markdown

Notable behaviours

Automatic repository initialisation

If the current folder does not yet contain a Git repository, GitDTL offers to initialise one (git init) before executing any operation.

Remote configuration

If no origin remote is configured at publish time, GitDTL asks for the GitHub repository URL and registers it automatically.

Upstream management

On the first git push to a new branch, GitDTL detects the missing upstream and automatically runs git push --set-upstream origin <branch>.

File removal

Two options are offered: remove the file from disk and from Git tracking, or remove it from tracking only by adding it to .gitignore.

Pre-publish warning

If modified files have not yet been included in a commit, GitDTL lists them and asks for confirmation before running git push.

Release creation

The “Create a release” function chains automatically: version commit, annotated tag creation (vX.Y.Z), commit push, tag push.

Application log

Every Git action and every error is recorded in logs/gitdtl.log with a timestamp. The log can be viewed, cleared, or exported from the interface.

Contextual help

Each dialog box exposes a ? for Help button that displays an explanation of the current operation. Help texts can be customised via an aide.md file placed in the same folder as the script.

Expert system

Git messages not anticipated by the interface can be enriched with advice from rules placed in expert_git.md.

First-launch welcome

On first launch, GitDTL displays a welcome screen whose text comes from the welcome section of aide.md. A local cookie .gitdtl_welcome_seen prevents the screen from being shown again.

Help customisation

Create or edit an aide.md file in the GitDTL directory with sections named by key:

## commit_message

Briefly describe the change made.
Example: Fix HTML header calculation.

## release_version

Enter the version number in X.Y.Z format.
The v prefix will be added automatically.

Available keys:

create_git_repository remove_file_action commit_message release_version release_confirmation clear_log publish_with_uncommitted_changes github_remote_url welcome
If the file is absent or a key is not defined, the default help text built into the script is used.

Expert system

Create or edit an expert_git.md file in the GitDTL directory. Each rule contains Git message fragments to match and advice to display:

## Branch without upstream

Patterns:
- has no upstream branch
- --set-upstream

Advice:
The local branch is not yet linked to its GitHub branch.
GitDTL can fix this with git push --set-upstream origin <branch>.

Project structure

gitdtl/
├── GitDTL.py       Main script
├── aide.md         Custom help texts (optional)
├── expert_git.md   Expert system rules (optional)
└── logs/
    └── gitdtl.log  Application log (created automatically)

Licence

MIT — see the LICENSE file.

In Memoriam Jean-Claude BELLAMY (1937–2015)