Coder Social home page Coder Social logo

git-fiddle's Introduction

git-fiddle (1) OSX/Linux Build Status Windows Build status

git-fiddle is a wrapper around git-rebase(1) that allows editing of commit information straight from the git-rebase editor, such as the author date, author name and commit message. This makes it trivial to edit a whole range of commits, shift them through time or alter ownership.

Installation

Simply ensure git-fiddle is in your $PATH. The git fiddle alias will become available automatically.

Usage

Usage is almost identical to that of git-rebase.

$ git fiddle -h
git-fiddle - edit commit meta information during an *interactive* rebase.

`git-fiddle(1)' is a lightweight wrapper around `git-rebase(1)' that
annotates each commit with its *author* date, the author name, as well
as the commit message. Changes to any of these will then be applied
using an 'exec' script during the git-rebase sequence.

Usage:
  git fiddle [options] [args...]

Options:
  --[no-]fiddle
      Turn ON/OFF fiddeling. Useful to turn off all options and selectively
      enable some.
  --[no-]fiddle-author
      Do (not) edit author names. Note that the author *can* still be edited,
      but it is not pre-populated. [git config: fiddle.author]
  --[no-]fiddle-author-email
      Do not pre-populate the author's email. Refer to --[no-]fiddle-author.
      [git config: fiddle.author.email]
  --[no-]fiddle-author-date
      Do (not) edit author dates. Note that the author date *can* still be
      edited, but it is not pre-populated. [git config: fiddle.author.date]
  --[no-]fiddle-subject
      Do (not) commit subject lines. Note that the commit message *can* still
      be edited, but it is not pre-populated. [git config: fiddle.subject]
  --[no-]fiddle-body
      Do (not) the commit body. Note that the commit message *CANNOT* be edit
      if this option is turned OFF and might case `git-rebase` errors.
      [git config: fiddle.body]
  [args...] These arguments are passed verbatim to git-rebase.

License

git-fiddle is released under the MIT LICENSE. See file LICENSE for a more detailed description of its terms.

git-fiddle's People

Contributors

felixschl avatar jeltef avatar jwilk avatar robotcaleb avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

git-fiddle's Issues

Add a screencast or animated gif

Hi,

It looks interesting but I'm still struggling to fathom exactly what your command does. It might be useful to have a small screencast to show what it does and what problem it solves !

Thanks to your work !

git fiddle windows support

Thanks a lot for this plugin.
I wasn't able to use it on Windows due to this error (Git for Windows v2.7.0, windows7, docker shell):

/mingw64/libexec/git-core/git-rebase--interactive: line 255: C:/Program: No such
 file or directory
Could not execute editor

I fixed it by adding a '' on GIT_SEQUENCE_EDITOR line 112:

GIT_SEQUENCE_EDITOR="'${SCRIPT_DIR}/_fiddle_seq_editor'" \

Not sure if it is cross compatible, so I'm just leaving this here hoping it will be useful.

Add a command line argument to only edit commit messages

In general the one thing I need to edit when rebasing is commit messages. It'd be nice to have a command line argument for git-fiddle that only allows editing commit messages. Even better if the first line of the commit message was on the same line as the 'pick' command, since for the common case of single-line commit messages this would both maximize use of vertical space and would allow more convenient use of editor features like vim's vertical block editing mode and sublime text's multiple cursors.

Support shells other than bash

The git rebase exec command runs with the user's default shell. git-fiddle uses bash syntax, so it'd probably be wise to explicitly invoke bash. Otherwise, git-fiddle won't work for people who use, for example, the fish shell.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.