From c15f4bc1bb529ea9b9824badf9f90c4123ceb858 Mon Sep 17 00:00:00 2001 From: rkiel Date: Wed, 20 Sep 2017 22:13:09 -0400 Subject: [PATCH] release: README.md --- FEATURE.md | 112 ++++++++++++++++++++++++++++++++++++++++++++++++++ README.md | 118 ++--------------------------------------------------- RELEASE.md | 112 ++++++++++++++++++++++++++++++++++++++++++++++++++ XGREP.md | 3 ++ 4 files changed, 230 insertions(+), 115 deletions(-) create mode 100644 FEATURE.md create mode 100644 RELEASE.md create mode 100644 XGREP.md diff --git a/FEATURE.md b/FEATURE.md new file mode 100644 index 0000000..f596534 --- /dev/null +++ b/FEATURE.md @@ -0,0 +1,112 @@ +## Feature utility + +### Usage + +This utility is built around some standard branch names: `master`, `develop`, and `integration`. + +Feature branches have specific format: USER-BASE-FEATURE. + +* USER is the username as specificied by the USER environment variable +* BASE is the standard branch to base the feature branch on +* FEATURE is the name of the feature + +#### Start + +To start a new feature, go to one of the standard branches. + +``` +git checkout master +``` + +Use the `start` subcommand with a feature name. + +``` +feature start my new feature +``` + +For example, a new branch will be created called `rkiel-master-my-new-feature` + +#### Rebase + +Use the `rebase` subcommand to pull down any changes from the standard branch and then rebase with your feature branch changes. +In addition, a backup copy of your feature changes will be pushed out to `origin`. +This backup should not be used to collaborate with others. It is just a personal backup and will be deleted and recreated with each `rebase`. + +``` +feature rebase +``` + +For example, `rkiel-master-my-new-feature` will be pushed out to `origin`. + +#### Merge + +Use the `merge` subcommand to merge your feature branch changes to the standard branch. + +``` +feature merge +``` + +You can also override the default standard branch by specifying another branch. + +``` +feature merge integration +``` + +#### Commit + +Use the `commit` subcommand to make it easier to write commit messages. +No need to specify the `-m` parameter or wrapping the message in quotes. +If you forget and pass in `-m` anyway, it will ignore it. +For example, + +``` +feature commit this is a sample commit message +feature commit -m this is a sample commit message +``` + +generates the command `git commit -m "this is a sample commit message"`. + +The commit message will be prepended with the feature name. For example, + +``` +my-feature-name: this is a sample commit message +``` +If you need to by-pass any git pre-commit hooks, you can use the `-f` option to force the commit. +This will invoke the commit with the `--no-verify` option. +It will also add `(no-verify)` to the end of your commit message. For example, + +``` +feature commit -f this is a sample commit message +feature commit -m this is a sample commit message -f +``` + +generates the command `git commit -m "this is a sample commit message (no-verify)" --no-verify`. + + +#### End + +Use the `end` subcommand to safely close out the feature. +The standard branch will be checkout and the local feature branch will be deleted. +This command will fail if you have not merged your changes. +If successful and there is a backup copy on `origin`, it will also be removed. + +``` +feature end +``` + +#### Trash + +Use the `trash` subcommand to forcibly close out the feature. +The standard branch will be checkout and the local feature branch will be forcibly deleted. +Make sure that your changes have been merged because they will be lost. +If there is a backup copy on `origin`, it will also be removed. +You must supply the name of the local feature branch on the command line as +a confirmation. + +``` +feature trash local-branch-confirmation +``` + +## Xgrep utility + +This utility makes it easier to use git-grep. diff --git a/README.md b/README.md index 905237b..ccf2833 100644 --- a/README.md +++ b/README.md @@ -4,8 +4,9 @@ This is a collection of simple command-line scripts, bash aliases, and bash util The command-line scripts include: -* feature - make working with feature branches easier -* xgrep - make using `git-grep` easier +* [feature](FEATURE.md) - make working with feature branches easier +* [release](RELEASE.md)- make working with release branches and tags easier +* [xgrep](XGREP.md)- make using `git-grep` easier The command-line scripts are written in Ruby 2.x using just the standard libraries and do not require any gems to be installed. For OS X users, these should just work out-of-box. @@ -61,116 +62,3 @@ If your user id (i.e. `env|grep USER`) is generic, such as `ec2-user` or `centos ``` export FEATURE_USER=rkiel ``` - -## Feature utility - -### Usage - -This utility is built around some standard branch names: `master`, `develop`, and `integration`. - -Feature branches have specific format: USER-BASE-FEATURE. - -* USER is the username as specificied by the USER environment variable -* BASE is the standard branch to base the feature branch on -* FEATURE is the name of the feature - -#### Start - -To start a new feature, go to one of the standard branches. - -``` -git checkout master -``` - -Use the `start` subcommand with a feature name. - -``` -feature start my new feature -``` - -For example, a new branch will be created called `rkiel-master-my-new-feature` - -#### Rebase - -Use the `rebase` subcommand to pull down any changes from the standard branch and then rebase with your feature branch changes. -In addition, a backup copy of your feature changes will be pushed out to `origin`. -This backup should not be used to collaborate with others. It is just a personal backup and will be deleted and recreated with each `rebase`. - -``` -feature rebase -``` - -For example, `rkiel-master-my-new-feature` will be pushed out to `origin`. - -#### Merge - -Use the `merge` subcommand to merge your feature branch changes to the standard branch. - -``` -feature merge -``` - -You can also override the default standard branch by specifying another branch. - -``` -feature merge integration -``` - -#### Commit - -Use the `commit` subcommand to make it easier to write commit messages. -No need to specify the `-m` parameter or wrapping the message in quotes. -If you forget and pass in `-m` anyway, it will ignore it. -For example, - -``` -feature commit this is a sample commit message -feature commit -m this is a sample commit message -``` - -generates the command `git commit -m "this is a sample commit message"`. - -The commit message will be prepended with the feature name. For example, - -``` -my-feature-name: this is a sample commit message -``` -If you need to by-pass any git pre-commit hooks, you can use the `-f` option to force the commit. -This will invoke the commit with the `--no-verify` option. -It will also add `(no-verify)` to the end of your commit message. For example, - -``` -feature commit -f this is a sample commit message -feature commit -m this is a sample commit message -f -``` - -generates the command `git commit -m "this is a sample commit message (no-verify)" --no-verify`. - - -#### End - -Use the `end` subcommand to safely close out the feature. -The standard branch will be checkout and the local feature branch will be deleted. -This command will fail if you have not merged your changes. -If successful and there is a backup copy on `origin`, it will also be removed. - -``` -feature end -``` - -#### Trash - -Use the `trash` subcommand to forcibly close out the feature. -The standard branch will be checkout and the local feature branch will be forcibly deleted. -Make sure that your changes have been merged because they will be lost. -If there is a backup copy on `origin`, it will also be removed. -You must supply the name of the local feature branch on the command line as -a confirmation. - -``` -feature trash local-branch-confirmation -``` - -## Xgrep utility - -This utility makes it easier to use git-grep. diff --git a/RELEASE.md b/RELEASE.md new file mode 100644 index 0000000..f596534 --- /dev/null +++ b/RELEASE.md @@ -0,0 +1,112 @@ +## Feature utility + +### Usage + +This utility is built around some standard branch names: `master`, `develop`, and `integration`. + +Feature branches have specific format: USER-BASE-FEATURE. + +* USER is the username as specificied by the USER environment variable +* BASE is the standard branch to base the feature branch on +* FEATURE is the name of the feature + +#### Start + +To start a new feature, go to one of the standard branches. + +``` +git checkout master +``` + +Use the `start` subcommand with a feature name. + +``` +feature start my new feature +``` + +For example, a new branch will be created called `rkiel-master-my-new-feature` + +#### Rebase + +Use the `rebase` subcommand to pull down any changes from the standard branch and then rebase with your feature branch changes. +In addition, a backup copy of your feature changes will be pushed out to `origin`. +This backup should not be used to collaborate with others. It is just a personal backup and will be deleted and recreated with each `rebase`. + +``` +feature rebase +``` + +For example, `rkiel-master-my-new-feature` will be pushed out to `origin`. + +#### Merge + +Use the `merge` subcommand to merge your feature branch changes to the standard branch. + +``` +feature merge +``` + +You can also override the default standard branch by specifying another branch. + +``` +feature merge integration +``` + +#### Commit + +Use the `commit` subcommand to make it easier to write commit messages. +No need to specify the `-m` parameter or wrapping the message in quotes. +If you forget and pass in `-m` anyway, it will ignore it. +For example, + +``` +feature commit this is a sample commit message +feature commit -m this is a sample commit message +``` + +generates the command `git commit -m "this is a sample commit message"`. + +The commit message will be prepended with the feature name. For example, + +``` +my-feature-name: this is a sample commit message +``` +If you need to by-pass any git pre-commit hooks, you can use the `-f` option to force the commit. +This will invoke the commit with the `--no-verify` option. +It will also add `(no-verify)` to the end of your commit message. For example, + +``` +feature commit -f this is a sample commit message +feature commit -m this is a sample commit message -f +``` + +generates the command `git commit -m "this is a sample commit message (no-verify)" --no-verify`. + + +#### End + +Use the `end` subcommand to safely close out the feature. +The standard branch will be checkout and the local feature branch will be deleted. +This command will fail if you have not merged your changes. +If successful and there is a backup copy on `origin`, it will also be removed. + +``` +feature end +``` + +#### Trash + +Use the `trash` subcommand to forcibly close out the feature. +The standard branch will be checkout and the local feature branch will be forcibly deleted. +Make sure that your changes have been merged because they will be lost. +If there is a backup copy on `origin`, it will also be removed. +You must supply the name of the local feature branch on the command line as +a confirmation. + +``` +feature trash local-branch-confirmation +``` + +## Xgrep utility + +This utility makes it easier to use git-grep. diff --git a/XGREP.md b/XGREP.md new file mode 100644 index 0000000..bd6c8db --- /dev/null +++ b/XGREP.md @@ -0,0 +1,3 @@ +## Xgrep utility + +This utility makes it easier to use git-grep.