git-disjoint 0.2.6

A tool to batch commits into PRs on GitHub
# Git Disjoint

<p align="center">
  <img src="https://github.com/EricCrosson/git-disjoint/blob/master/assets/logo.png?raw=true" alt="alt-text"/>
</p>

`git disjoint` groups commits by issue onto unique branches.

## Installing

#### Cargo

```
cargo install git-disjoint
```

## Assumptions

`git disjoint` may add value to your workflow if you

- use a work tracker (currently supports Jira)
- use GitHub and Pull Requests

## Goals

`git disjoint` automates referencing issues in your development work ([Jira]) so you can focus on development.

[Jira]: https://support.atlassian.com/jira-software-cloud/docs/reference-issues-in-your-development-work/

## Workflow

1. [Add all your commits to one branch].

   Starting from your repository's default branch, this could look like:

   ```
   git checkout -b now
   ```

   or, if you are using [git-branchless]:

   ```
   git checkout --detach
   ```

1. In each commit message, include a reference to the relevant ticket.

   For example:

   ```
   Ticket: COOL-123
   ```

   or

   ```
   Closes Ticket: COOL-123
   ```

2. When you're ready to turn the set of commits addressing each ticket into its own feature branch, push that branch, and create a draft PR, run `git disjoint`.

[add all your commits to one branch]: https://drewdevault.com/2020/04/06/My-weird-branchless-git-workflow.html
[git-branchless]: https://github.com/arxanas/git-branchless

## Caveats

- There's currently no code to handle the case where `git disjoint` tries to operate on a branch that already exists. This can happen if you invoke `git disjoint` twice on the same branch. See [#32].

[#32]: https://github.com/EricCrosson/git-disjoint/issues/32