Easily generate and organize your git-rebase-todo file for interactive rebasing. A free, browser-based utility for developers to manage commit history cleanly.
AI Generation Prompt
Git Rebase Interactive Todo File Generator
Objective
Create a professional-grade, browser-based utility that enables developers to build and validate git-rebase-todo files. The tool streamlines the interactive rebase process by providing a visual interface for managing commit actions (pick, squash, edit, etc.) and commit ordering.
Core Features
- Drag-and-Drop Reordering: Easily change the sequence of commits using an intuitive drag-and-drop interface.
- Action Selection: Dropdown menus for each row to select specific git-rebase commands (
pick,reword,edit,squash,fixup,exec,drop). - Live Syntax Preview: A real-time preview panel that generates the valid text content as you modify the list.
- Validation Engine: Built-in checks to ensure commit hashes look correct and that no empty lines or forbidden characters are present.
- Clipboard Support: Dedicated 'Copy to Clipboard' functionality for quick transfer to terminal editors.
- File Export: Ability to save the result as a raw
.txtfile.
UI/UX Design
- Aesthetic: Clean, minimalist, light-mode design. Use a professional blue (#2563eb) for primary actions and soft gray/white backgrounds (#f4f7f6) to reduce visual noise.
- Layout:
- Header: Simple, high-contrast title section.
- Main Interaction Area: A central list of rows, where each row represents a commit (Action Select + Commit Hash + Commit Message).
- Action Toolbar: Add button, Clear button, and Copy/Download button grouped for accessibility.
- Preview Sidebar/Bottom Panel: A monospace font code block that updates in real-time.
- Animations: Subtle transition effects (CSS
transition) for drag-and-drop reordering, row deletion, and copy-button success states.
Technical Constraints & Requirements
- Single File: Everything in one
index.htmlfile (CSS in<style>, JS in<script>). - No Persistent Storage: Absolutely zero usage of
localStorage,sessionStorage, or cookies. The state must be stored in a simple JavaScript array. - Responsive: Fluid layout using Flexbox/Grid to ensure the list remains readable on small laptop screens and wider monitors.
- Accessibility: Use semantic HTML elements. Ensure the interface is keyboard-navigable.
- Sandbox Ready: The app must be fully functional even when loaded in a sandboxed iframe (no popups, no external tracking, no access to parent window context).
Spread the word
Files being used
Frequently Asked Questions
Everything you need to know about using this application.
What is an interactive rebase todo file?
A git-rebase-todo file is a specific control file generated by Git when performing an interactive rebase (git rebase -i). It serves as a manifest that lists the commits to be replayed, allowing developers to explicitly define the fate of each commit by selecting actions such as 'pick', 'squash', 'edit', or 'drop'. By manipulating this file, you can essentially rewrite your project's commit history, cleaning up messy development logs or combining related commits before merging them into a main branch. It is a powerful tool for maintaining a professional and readable version control timeline.
Why should I use a visual generator for my rebase?
Constructing the todo file manually within a terminal-based text editor can be error-prone, especially when dealing with long commit chains or complex logic. Syntax errors or incorrect commit hashes in this file can interrupt your rebase process and lead to time-consuming recovery steps. Using a visual generator allows you to intuitively drag and drop commits to change their order and use dropdown menus to select the correct Git command. This reduces cognitive load and ensures that the final configuration is syntactically perfect before you paste it into your terminal.
Does this tool store my repository data?
No. This application runs entirely within your web browser, processing all data locally in the client-side memory. It does not use any server-side processing, database, or persistent storage mechanisms like cookies or local storage, ensuring your commit information never leaves your machine. Because of these strict security constraints, all data entered into the tool is transient. If you refresh your browser window, the current state of your todo list will be cleared, ensuring you do not leave sensitive commit data behind after you are finished with your task.
How do I apply the generated content to Git?
After constructing your desired history in the tool, simply copy the generated text to your clipboard or download the file. When you initiate 'git rebase -i [base-hash]' in your terminal, your default system editor will open the todo file. Clear the existing content of that editor, paste the contents you generated with this tool, and save the file. Once you close the editor, Git will interpret the commands in the order provided and execute the rebase, applying your changes to your local branch history.



