mirror of
https://github.com/tj/git-extras.git
synced 2026-09-10 07:26:17 -04:00
Compare commits
37 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
4cf28ec559 | ||
|
|
09b77e8ed6 | ||
|
|
4c38988ba9 | ||
|
|
dbf68bac59 | ||
|
|
03569856db | ||
|
|
d11e45f0b1 | ||
|
|
fd2e03cf55 | ||
|
|
5a14757944 | ||
|
|
b450b36036 | ||
|
|
7f36d37283 | ||
|
|
184d37e980 | ||
|
|
e92878b81b | ||
|
|
b9e1d88f2c | ||
|
|
99207eee8e | ||
|
|
9d6319becb | ||
|
|
2bdeb59a73 | ||
|
|
c5a0fdf660 | ||
|
|
8d1c970031 | ||
|
|
c06fad59d2 | ||
|
|
65dd36ae62 | ||
|
|
967e339f91 | ||
|
|
ae3d30fb6e | ||
|
|
032090e847 | ||
|
|
5367101f2e | ||
|
|
6ed2643252 | ||
|
|
b9bd309a87 | ||
|
|
6f4cf0c1bb | ||
|
|
f5c48e4842 | ||
|
|
daf9d4148e | ||
|
|
eb34655aea | ||
|
|
1f1320f4d6 | ||
|
|
4d05955bc5 | ||
|
|
b57eb8b92a | ||
|
|
cf6d40d446 | ||
|
|
14586c7da0 | ||
|
|
5c9a7a2533 | ||
|
|
215382b12d |
77
.github/workflows/ci.yml
vendored
77
.github/workflows/ci.yml
vendored
|
|
@ -9,7 +9,7 @@ jobs:
|
|||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Check out code.
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@v7
|
||||
with:
|
||||
fetch-depth: 0
|
||||
- name: 'Get Changed Files'
|
||||
|
|
@ -26,7 +26,26 @@ jobs:
|
|||
BASE_SHA: ${{ github.event.pull_request.base.sha }}
|
||||
HEAD_SHA: ${{ github.event.pull_request.head.sha }}
|
||||
BEFORE_SHA: "${{ github.event.before }}"
|
||||
- uses: 'actions/setup-go@v5'
|
||||
- name: 'Check Generated Manuals'
|
||||
run: |
|
||||
failed=0
|
||||
while IFS= read -r source; do
|
||||
case "$source" in
|
||||
man/git-*.md)
|
||||
stem=${source%.md}
|
||||
for generated in "$stem.1" "$stem.html"; do
|
||||
if ! grep -Fqx -- "$generated" <<< "$CHANGED_FILES"; then
|
||||
echo "::error file=$source::$generated must be updated with $source"
|
||||
failed=1
|
||||
fi
|
||||
done
|
||||
;;
|
||||
esac
|
||||
done <<< "$CHANGED_FILES"
|
||||
exit "$failed"
|
||||
env:
|
||||
CHANGED_FILES: "${{ steps.files.outputs.added_modified }}"
|
||||
- uses: 'actions/setup-go@v7'
|
||||
with:
|
||||
go-version: '1.20'
|
||||
- name: 'Install EditorConfig Lint'
|
||||
|
|
@ -40,68 +59,30 @@ jobs:
|
|||
run: ./scripts/checkstyle.py
|
||||
- name: Shellcheck
|
||||
run: shellcheck --severity=error bin/* ./*.sh
|
||||
- name: Lint and format Python with Ruff
|
||||
uses: astral-sh/ruff-action@v3
|
||||
|
||||
typo:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Check out code.
|
||||
uses: actions/checkout@v4
|
||||
- name: Install poetry
|
||||
run: pip install poetry
|
||||
- name: Set up Python
|
||||
uses: actions/setup-python@v5
|
||||
with:
|
||||
cache: 'poetry'
|
||||
cache-dependency-path: "tests/pyproject.toml"
|
||||
python-version-file: "tests/pyproject.toml"
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
cd tests || exit
|
||||
poetry install --only dev
|
||||
uses: actions/checkout@v7
|
||||
- name: Install codespell
|
||||
run: python3 -m pip install codespell==2.4
|
||||
- name: spell check
|
||||
run: |
|
||||
cd tests
|
||||
git grep --cached -l '' .. | \
|
||||
git grep --cached -l '' . | \
|
||||
grep -v -e 'History\.md' -e 'AUTHORS' -e 'man/.*\.1' -e 'man/.*\.html' | \
|
||||
xargs poetry run codespell --ignore-words=../.github/.ignore_words
|
||||
|
||||
test-pytest:
|
||||
name: 'Test with Pytest'
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
submodules: recursive
|
||||
- name: Install poetry
|
||||
run: pip install poetry
|
||||
- name: Set up Python
|
||||
uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: '3.12'
|
||||
cache: 'poetry'
|
||||
cache-dependency-path: "tests/pyproject.toml"
|
||||
python-version-file: "tests/pyproject.toml"
|
||||
- name: Install Python Dependencies
|
||||
run: |
|
||||
cd tests || exit
|
||||
poetry install --only test
|
||||
- name: Test with Pytest
|
||||
run: |
|
||||
cd tests
|
||||
poetry run pytest
|
||||
xargs codespell --ignore-words=.github/.ignore_words
|
||||
|
||||
test-bats:
|
||||
name: 'Test with Bats'
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/checkout@v7
|
||||
with:
|
||||
submodules: recursive
|
||||
- name: Setup Bats
|
||||
id: setup-bats
|
||||
uses: bats-core/bats-action@3.0.1
|
||||
uses: bats-core/bats-action@4.0.0
|
||||
with:
|
||||
bats-version: 'v1.8.1'
|
||||
- name: Test with Bats
|
||||
|
|
@ -120,7 +101,7 @@ jobs:
|
|||
runs-on: ${{ matrix.platform }}
|
||||
steps:
|
||||
- name: Check out code.
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@v7
|
||||
- name: Linux Install
|
||||
if: matrix.platform == 'ubuntu-latest'
|
||||
run: sudo apt-get install -y bsdmainutils
|
||||
|
|
|
|||
2
.github/workflows/stale.yaml
vendored
2
.github/workflows/stale.yaml
vendored
|
|
@ -11,7 +11,7 @@ jobs:
|
|||
runs-on: "ubuntu-latest"
|
||||
if: github.repository_owner == 'tj'
|
||||
steps:
|
||||
- uses: "actions/stale@v9"
|
||||
- uses: "actions/stale@v11"
|
||||
with:
|
||||
close-pr-message: "This PR was closed because it has been stalled for 365 days with no activity. Feel free to make a new PR if you wish to continue"
|
||||
days-before-pr-stale: 350
|
||||
|
|
|
|||
10
AUTHORS
10
AUTHORS
|
|
@ -33,7 +33,6 @@ Patches and Suggestions
|
|||
- David Baumgold
|
||||
- Jan Schulz
|
||||
- Kenneth Reitz
|
||||
- Leroy
|
||||
- Mark Pitman
|
||||
- Peter Benjamin
|
||||
- Günther Grill
|
||||
|
|
@ -47,7 +46,6 @@ Patches and Suggestions
|
|||
- Robin Winslow
|
||||
- Ross Smith II
|
||||
- Yi EungJun
|
||||
- dependabot[bot]
|
||||
- grindhold
|
||||
- wyattscarpenter
|
||||
- Aggelos Orfanakos
|
||||
|
|
@ -66,6 +64,7 @@ Patches and Suggestions
|
|||
- Dominik Gedon
|
||||
- Hogan Long
|
||||
- Ivan Malopinsky
|
||||
- John Bachir
|
||||
- Jonathan "Duke" Leto
|
||||
- Julio Napurí
|
||||
- Justin Dugger
|
||||
|
|
@ -87,6 +86,7 @@ Patches and Suggestions
|
|||
- Beth Skurrie
|
||||
- Brice Dutheil
|
||||
- Curtis McEnroe
|
||||
- Daniele Paolella
|
||||
- David Rogers
|
||||
- Devin Withers
|
||||
- Domenico Rotiroti
|
||||
|
|
@ -164,6 +164,7 @@ Patches and Suggestions
|
|||
- Edward Betts
|
||||
- Eli Schwartz
|
||||
- Emil Kjelsrud
|
||||
- Erik Skultety
|
||||
- François M
|
||||
- George Crabtree
|
||||
- Gerrit-K
|
||||
|
|
@ -173,6 +174,7 @@ Patches and Suggestions
|
|||
- Gunnlaugur Thor Briem
|
||||
- Hasse Ramlev Hansen
|
||||
- Heiko Becker
|
||||
- Hugo Ruiz-Mireles
|
||||
- Isaac Mungai
|
||||
- J.C. Yamokoski
|
||||
- Jack O. Wasey
|
||||
|
|
@ -233,9 +235,11 @@ Patches and Suggestions
|
|||
- Rasmus Wriedt Larsen
|
||||
- René
|
||||
- Revisor
|
||||
- Ricardo Fernández Serrata
|
||||
- Riceball LEE
|
||||
- Rob Kennedy
|
||||
- Robin von Bülow
|
||||
- Russ
|
||||
- Ryan Bohn
|
||||
- Sachin Gupta
|
||||
- Sam Thursfield
|
||||
|
|
@ -273,11 +277,13 @@ Patches and Suggestions
|
|||
- dead-horse
|
||||
- eszabpt
|
||||
- fengkx
|
||||
- johnpyp
|
||||
- jykntr
|
||||
- kang
|
||||
- meza
|
||||
- neydroid
|
||||
- nulltask
|
||||
- phanium
|
||||
- sgleizes
|
||||
- tfendin
|
||||
- tiemonl
|
||||
|
|
|
|||
74
Commands.md
74
Commands.md
|
|
@ -18,6 +18,7 @@
|
|||
- [`git cp`](#git-cp)
|
||||
- [`git create-branch`](#git-create-branch)
|
||||
- [`git delete-branch`](#git-delete-branch)
|
||||
- [`git delete-gone-branches`](#git-delete-gone-branches)
|
||||
- [`git delete-merged-branches`](#git-delete-merged-branches)
|
||||
- [`git delete-squashed-branches`](#git-delete-squashed-branches)
|
||||
- [`git delete-submodule`](#git-delete-submodule)
|
||||
|
|
@ -392,6 +393,43 @@ Type `exit`, `quit`, or `q` to end the repl session.
|
|||
Any arguments to git repl will be taken as the first command to execute in
|
||||
the repl.
|
||||
|
||||
### CONFIGURATION
|
||||
|
||||
Commands entered in a repl session will be saved to a history file and be available in
|
||||
future sessions, similar to a shell or programming language repl. By default,
|
||||
there is one global history file, ~/.git_repl_history. You can specify that your projects
|
||||
each have their own independent history file. This file will be saved in .git_repl_history
|
||||
at the top level of the repo, and will need to be added to the repo or global .gitignore.
|
||||
|
||||
```bash
|
||||
# remove the --global flag to configure only an individual project to have its own history file
|
||||
git config --global git-extras.repl.use-local-history "true"
|
||||
```
|
||||
|
||||
You can specify a default command to run when hitting enter:
|
||||
|
||||
```bash
|
||||
git config --global git-extras.repl.on-enter-command "git status -sb"
|
||||
```
|
||||
|
||||
You can configure which character is used at the end of the prompt: (default `>`):
|
||||
|
||||
```bash
|
||||
git config --global git-extras.repl.prompt-character "±"
|
||||
```
|
||||
|
||||
You can specify the prefix for the prompt, or remove it (default `git`):
|
||||
|
||||
```bash
|
||||
git config --global git-extras.repl.prefix ""
|
||||
```
|
||||
|
||||
You can have the name of the current git repo shown in the prompt (default `false`):
|
||||
|
||||
```bash
|
||||
git config --global git-extras.repl.show-project-name "true"
|
||||
```
|
||||
|
||||
```bash
|
||||
$ git repl
|
||||
git version 2.34.1
|
||||
|
|
@ -895,6 +933,21 @@ Delete local and remote tag `name`:
|
|||
$ git delete-tag 0.0.1
|
||||
```
|
||||
|
||||
## git delete-gone-branches
|
||||
|
||||
Deletes all local branches whose remote-tracking branch has been deleted (i.e. branches shown as `[gone]` in `git branch -vv`). Use `--dry-run` to preview what would be deleted.
|
||||
|
||||
```bash
|
||||
$ git delete-gone-branches
|
||||
Deleted branch feature-123 (was abc1234).
|
||||
Deleted branch feature-456 (was def5678).
|
||||
|
||||
$ git delete-gone-branches --dry-run
|
||||
Would delete the following branches:
|
||||
feature-123
|
||||
feature-456
|
||||
```
|
||||
|
||||
## git delete-merged-branches
|
||||
|
||||
Deletes branches that are listed in `git branch --merged`.
|
||||
|
|
@ -1150,6 +1203,14 @@ Internally this script uses `rsync` and not `scp` as the name suggests.
|
|||
|
||||
`git-rscp` - The reverse of `git-scp`. Copies specific files from the working directory of a remote repository to the current working directory.
|
||||
|
||||
The following options are available (must precede `<remote>`):
|
||||
|
||||
```bash
|
||||
-v, --verbose Print what will be synced before syncing
|
||||
-i, --interactive Prompt for confirmation before syncing (implies --verbose)
|
||||
-n, --dry-run Show what would be synced, change nothing (implies --verbose)
|
||||
```
|
||||
|
||||
### Examples
|
||||
|
||||
Copy unstaged files to remote. Useful when you want to make quick test without making any commits
|
||||
|
|
@ -1367,8 +1428,8 @@ $ git reset-file .htaccess dc82b19
|
|||
|
||||
## git mr
|
||||
|
||||
Checks out a merge request from GitLab. Usage: `git mr <ID|URL> [REMOTE]`.
|
||||
Default remote is `origin`.
|
||||
Checks out a merge request from GitLab, or a pull request from Forgejo/Codeberg.
|
||||
Usage: `git mr <ID|URL> [REMOTE]`. Default remote is `origin`.
|
||||
|
||||
``` bash
|
||||
$ git mr 51
|
||||
|
|
@ -1386,6 +1447,15 @@ From gitlab.com:owner/repository
|
|||
Switched to branch 'mr/51'
|
||||
```
|
||||
|
||||
A Forgejo/Codeberg pull request URL is also supported:
|
||||
|
||||
``` bash
|
||||
$ git mr https://codeberg.org/owner/repository/pulls/51
|
||||
From codeberg.org:owner/repository
|
||||
* [new ref] refs/pull/51/head -> mr/51
|
||||
Switched to branch 'mr/51'
|
||||
```
|
||||
|
||||
Just like [git pr](#git-pr), `git mr` accepts a `clean` argument to trash all
|
||||
`mr/` branches. Ensure current branch is not one.
|
||||
|
||||
|
|
|
|||
25
History.md
25
History.md
|
|
@ -1,4 +1,29 @@
|
|||
|
||||
7.5.0 / 2026-05-09
|
||||
==================
|
||||
|
||||
* Use standard prefix for home dir installs (#1248)
|
||||
* refactor(abort): common `gitdir` (#1244)
|
||||
* Fix man page usage docs (#1241)
|
||||
* Fix `git-changelog` to handle whitespace in command arguments (#1232)
|
||||
* chore(deps): bump bats-core/bats-action from 3.0.1 to 4.0.0 (#1230)
|
||||
* add details when multiple active operations found (#1229)
|
||||
* Add persistent history to `git-repl` (#1226)
|
||||
* Support passing ref to `git-commits-since` (#1228)
|
||||
* ability to specify command when hitting enter (#1223)
|
||||
* Improve `git-repl` prompt (#1224)
|
||||
* feat: `delete-branch` multiple unique branch names completions (#1221)
|
||||
* chore(deps): bump actions/checkout from 5 to 6 (#1219)
|
||||
* Made Git Magic use `--force-with-lease` (#1218)
|
||||
* chore(deps): bump actions/stale from 9 to 10 (#1214)
|
||||
* chore(deps): bump actions/setup-go from 5 to 6 (#1215)
|
||||
* chore(deps): bump actions/setup-python from 5 to 6 (#1216)
|
||||
* Fix minor typo in `git rename-branch` man page (#1211)
|
||||
* Improvements to Bash completion (#1210)
|
||||
* Fix use of `git-whatchanged` to `git-log` (#1212)
|
||||
* chore(deps): bump actions/checkout from 4 to 5 (#1209)
|
||||
* Bump version to 7.5.0-dev (#1207)
|
||||
|
||||
7.4.0 / 2025-06-19
|
||||
==================
|
||||
|
||||
|
|
|
|||
|
|
@ -144,7 +144,7 @@ alternate location, specify a `PREFIX` when calling `make`.
|
|||
|
||||
```bash
|
||||
# Non-root users can install under their home directory
|
||||
make install PREFIX=$HOME/software
|
||||
make install PREFIX=$HOME/.local
|
||||
|
||||
# For third-party software kept under /opt
|
||||
make install PREFIX=/opt
|
||||
|
|
|
|||
2
Makefile
2
Makefile
|
|
@ -141,6 +141,6 @@ docclean:
|
|||
rm -f man/*.html
|
||||
|
||||
test:
|
||||
pytest
|
||||
bats ./tests
|
||||
|
||||
.PHONY: default docs check install uninstall clean docclean test
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@
|
|||
|
||||
set -euo pipefail
|
||||
|
||||
# git rev-parse emits an error if not in a git repo so only need to bail out
|
||||
gitdir="$(git rev-parse --git-dir)" || exit
|
||||
|
||||
discover_op() {
|
||||
local gitdir
|
||||
# git rev-parse emits an error if not in a git repo so only need to bail out
|
||||
gitdir="$(git rev-parse --git-dir)" || exit
|
||||
local op
|
||||
for op in cherry_pick merge rebase revert ; do
|
||||
if [ -f "${gitdir}/${op^^}_HEAD" ]; then
|
||||
|
|
@ -21,7 +21,10 @@ validate_op() {
|
|||
exit 1
|
||||
fi
|
||||
if [[ "$(echo "$op" | wc -l)" -gt 1 ]]; then
|
||||
echo "Multiple active operations found: $op" >&2
|
||||
echo "Multiple active operations found:" >&2
|
||||
for o in $op; do
|
||||
echo " - $o: HEAD: $(cat "${gitdir}/${o}_HEAD")" >&2
|
||||
done
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
|
|
|||
|
|
@ -9,6 +9,15 @@ GIT_MERGELOG_FORMAT="$(git config changelog.mergeformat)"
|
|||
GIT_EDITOR="$(git var GIT_EDITOR)"
|
||||
PROGNAME="git-changelog"
|
||||
|
||||
git_editor() {
|
||||
if test -z "${GIT_EDITOR:+set}"
|
||||
then
|
||||
GIT_EDITOR="$(git var GIT_EDITOR)" || return $?
|
||||
fi
|
||||
|
||||
eval "$GIT_EDITOR" '"$@"'
|
||||
}
|
||||
|
||||
_usage() {
|
||||
cat << EOF
|
||||
usage: $PROGNAME options [file]
|
||||
|
|
@ -574,7 +583,7 @@ main() {
|
|||
rm -f "$tmpfile"
|
||||
|
||||
if [[ -n "$GIT_EDITOR" ]]; then
|
||||
$GIT_EDITOR "$changelog" || _exit
|
||||
git_editor "$changelog" || _exit
|
||||
else
|
||||
less "$changelog" || _exit
|
||||
fi
|
||||
|
|
|
|||
|
|
@ -1,6 +1,36 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
SINCE="last week"
|
||||
test $# -ne 0 && SINCE=$*
|
||||
echo "... commits since $SINCE" >&2
|
||||
git log --pretty='%an - %s' --after="@{$SINCE}"
|
||||
REF=""
|
||||
SINCE=""
|
||||
|
||||
while [[ $# -gt 0 ]]; do
|
||||
case "$1" in
|
||||
-r|--ref)
|
||||
if [[ -z "$2" ]]; then
|
||||
echo "error: option $1 requires an argument" >&2
|
||||
exit 1
|
||||
fi
|
||||
REF="$2"
|
||||
shift
|
||||
shift
|
||||
;;
|
||||
*)
|
||||
# non-flag args accumulation, e.g. "last " + "week" -> "last week"
|
||||
SINCE="${SINCE:+$SINCE }$1"
|
||||
shift
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
if [[ -n "$REF" && -n "$SINCE" ]]; then
|
||||
echo "error: '--ref <ref>' and '<date>' are mutually exclusive" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
SINCE="${SINCE:-last week}"
|
||||
|
||||
if [[ -n "$REF" ]]; then
|
||||
git log --pretty='%h %an - %s' "$REF..HEAD"
|
||||
else
|
||||
git log --pretty='%h %an - %s' --after="@{$SINCE}"
|
||||
fi
|
||||
|
|
|
|||
60
bin/git-delete-gone-branches
Executable file
60
bin/git-delete-gone-branches
Executable file
|
|
@ -0,0 +1,60 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
dry_run=false
|
||||
force=false
|
||||
prune=false
|
||||
|
||||
while [[ $# -gt 0 ]]; do
|
||||
case "$1" in
|
||||
-n|--dry-run)
|
||||
dry_run=true
|
||||
shift
|
||||
;;
|
||||
-f|--force)
|
||||
force=true
|
||||
shift
|
||||
;;
|
||||
-p|--prune)
|
||||
prune=true
|
||||
shift
|
||||
;;
|
||||
*)
|
||||
echo "Unknown option: $1"
|
||||
echo "Usage: git delete-gone-branches [-n|--dry-run] [-f|--force] [-p|--prune]"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
if [ "$prune" = true ]; then
|
||||
git fetch --prune
|
||||
fi
|
||||
|
||||
gone_branches=$(git for-each-ref --format \
|
||||
'%(if:equals=gone)%(upstream:track,nobracket)%(then)%(refname:short)%(end)' refs/heads/ | sed '/^$/d')
|
||||
|
||||
if [ -z "$gone_branches" ]; then
|
||||
echo "No branches with a gone remote found."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if [ "$dry_run" = true ]; then
|
||||
echo "Would delete the following branches:"
|
||||
echo "$gone_branches"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
echo "The following branches will be deleted:"
|
||||
echo "$gone_branches"
|
||||
|
||||
if [ "$force" = false ]; then
|
||||
read -r -p "Delete these branches? [y/N] " confirm
|
||||
if [[ ! "$confirm" =~ ^[yY]$ ]]; then
|
||||
echo "Aborted."
|
||||
exit 0
|
||||
fi
|
||||
fi
|
||||
|
||||
echo "$gone_branches" | xargs git branch -D
|
||||
|
|
@ -3,5 +3,5 @@
|
|||
branches=$(git branch --no-color --merged | grep -vE "^(\*|\+)" | grep -v "$(git_extra_default_branch)" | grep -v svn)
|
||||
if [ -n "$branches" ]
|
||||
then
|
||||
echo "$branches" | xargs -n 1 git branch -d
|
||||
echo "$branches" | xargs git branch -d
|
||||
fi
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
VERSION="7.4.0"
|
||||
VERSION="7.6.0-dev"
|
||||
INSTALL_SCRIPT="https://raw.githubusercontent.com/tj/git-extras/main/install.sh"
|
||||
|
||||
update() {
|
||||
|
|
|
|||
199
bin/git-ignore
199
bin/git-ignore
|
|
@ -2,6 +2,26 @@
|
|||
|
||||
GIT_DIR=$(git rev-parse --git-dir 2>/dev/null)
|
||||
|
||||
# awk script that takes 2 input files. The first one is newline deilmeted
|
||||
# string of patterns to look for, second one is the file to remove them from.
|
||||
# outfile has to be passed with -v upon call and is the file result is
|
||||
# written to.
|
||||
read -r -d '' AWK_SCRIPT <<'EOF'
|
||||
# process the first "file" (newline split argument list)
|
||||
NR==FNR { a[b++]=$0; next; }
|
||||
# process file
|
||||
{
|
||||
found=0;
|
||||
for (i=0; i != b; i++) {
|
||||
if (a[i] == $0) { found=1; }
|
||||
}
|
||||
if (found == 1) { print "... removing '"$0"'"; }
|
||||
else { print $0 > outfile }
|
||||
}
|
||||
EOF
|
||||
|
||||
|
||||
|
||||
show_contents() {
|
||||
local file="${2/#~/$HOME}"
|
||||
if [ -f "$file" ]; then
|
||||
|
|
@ -94,6 +114,66 @@ add_patterns() {
|
|||
done
|
||||
}
|
||||
|
||||
edit_file() {
|
||||
local file="${2/#~/$HOME}"
|
||||
if [ -f "$file" ]; then
|
||||
echo "Editing $1 gitignore: ($2)" && eval "$(git var GIT_EDITOR) $(printf '%q' "$file")"
|
||||
echo "Done."
|
||||
else
|
||||
echo "There is no $1 .gitignore yet." >&2
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
_usage() {
|
||||
cat << EOF
|
||||
Usage: git ignore [OPTION]... [PATTERN]...
|
||||
Modify or display local global or private gitignore files.
|
||||
|
||||
OPTIONs set context (local, global, private) and action (display, add,
|
||||
remove, edit). In case of collision, last flag overwrites preceding ones.
|
||||
Defaults are: local context, action is display (see man git ignore for
|
||||
more details).
|
||||
Context examples:
|
||||
local: .../repo/.gitignore
|
||||
private: .../repo/.git/info/exclude
|
||||
global: \$HOME/.gitignore
|
||||
|
||||
PATTERNs are the gitignore patterns as specified in git documentation.
|
||||
|
||||
Options:
|
||||
-l, --local Set context to local gitignore
|
||||
-g, --global Set context to global gitignore
|
||||
-p, --private Set context to private gitignore
|
||||
-e, --edit Set action to edit
|
||||
-r, --remove Set action to remove
|
||||
-h, --help Print this message
|
||||
-- End of options delimiter
|
||||
EOF
|
||||
}
|
||||
|
||||
remove_patterns() {
|
||||
declare -a args
|
||||
local tmpfile
|
||||
args=( "${@:3}" )
|
||||
local file="${2/#~/$HOME}"
|
||||
if [ -f "$file" ]; then
|
||||
tmpfile="$(mktemp -q "${TMPDIR:-/tmp}"/git-extras-ignore.XXXXXX 2>/dev/null)"
|
||||
echo "Removing patterns from $1 gitignore: $2"
|
||||
awk -v outfile="$tmpfile" "${AWK_SCRIPT}"\
|
||||
<(printf '%s\n' "${args[@]}") "$file"
|
||||
cat "$tmpfile" > "$file"
|
||||
rm "$tmpfile"
|
||||
else
|
||||
echo "There is no $1 .gitignore yet"
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
# can have only 1 action and 1 level, if conflicting flags are passed
|
||||
# latter ones overwrite former
|
||||
# sanity of args not tested (e.g. there should be no args if -e is supplied)
|
||||
if test $# -eq 0; then
|
||||
show_global
|
||||
echo "---------------------------------"
|
||||
|
|
@ -101,22 +181,105 @@ if test $# -eq 0; then
|
|||
echo "---------------------------------"
|
||||
show_private
|
||||
else
|
||||
case "$1" in
|
||||
-l|--local)
|
||||
test $# -gt 1 && add_local "${@:2}" && echo
|
||||
show_local
|
||||
;;
|
||||
-g|--global)
|
||||
test $# -gt 1 && add_global "${@:2}" && echo
|
||||
show_global
|
||||
;;
|
||||
-p|--private)
|
||||
test $# -gt 1 && add_private "${@:2}" && echo
|
||||
show_private
|
||||
;;
|
||||
*)
|
||||
add_local "$@"
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
# parse flags and args
|
||||
level="none"
|
||||
action="none"
|
||||
declare -a args
|
||||
while [ $# -gt 0 ]; do
|
||||
case "$1" in
|
||||
-h|--help)
|
||||
_usage
|
||||
exit 0
|
||||
;;
|
||||
-l|--local)
|
||||
level="local"
|
||||
;;
|
||||
-g|--global)
|
||||
level="global"
|
||||
;;
|
||||
-p|--private)
|
||||
level="private"
|
||||
;;
|
||||
-e|--edit)
|
||||
action="edit"
|
||||
;;
|
||||
-r|--remove)
|
||||
action="remove"
|
||||
;;
|
||||
--)
|
||||
shift
|
||||
args+=("$@")
|
||||
break
|
||||
;;
|
||||
*)
|
||||
args+=("$1")
|
||||
;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
# compatible with previous version
|
||||
if [ "$action" = "none" ]; then
|
||||
case "$level" in
|
||||
local)
|
||||
test ${#args[@]} -ne 0 && add_local "${args[@]}" && echo
|
||||
show_local
|
||||
;;
|
||||
global)
|
||||
test ${#args[@]} -ne 0 && add_global "${args[@]}" && echo
|
||||
show_global
|
||||
;;
|
||||
private)
|
||||
test ${#args[@]} -ne 0 && add_private "${args[@]}" && echo
|
||||
show_private
|
||||
;;
|
||||
none)
|
||||
add_local "${args[@]}"
|
||||
# maybe show_local here too?
|
||||
;;
|
||||
esac
|
||||
exit 0
|
||||
# open file in editor
|
||||
elif [ "$action" = "edit" ]; then
|
||||
case "$level" in
|
||||
local|none)
|
||||
cd_to_git_root --warn
|
||||
edit_file 'local' .gitignore && echo
|
||||
;;
|
||||
global)
|
||||
global_gitignore="$(global_ignore)"
|
||||
edit_file global "$global_gitignore" && echo
|
||||
;;
|
||||
private)
|
||||
cd_to_git_root --error
|
||||
test -d "${GIT_DIR}/info" || mkdir -p "${GIT_DIR}/info"
|
||||
edit_file private "${GIT_DIR}/info/exclude" && echo
|
||||
;;
|
||||
esac
|
||||
exit 0
|
||||
# remove entries
|
||||
else
|
||||
if [ ${#args[@]} -eq 0 ]; then
|
||||
echo "Nothing to remove."
|
||||
exit 0
|
||||
fi
|
||||
case "$level" in
|
||||
local|none)
|
||||
cd_to_git_root --warn
|
||||
remove_patterns 'local' .gitignore "${args[@]}" && echo
|
||||
show_local
|
||||
;;
|
||||
global)
|
||||
global_gitignore="$(global_ignore)"
|
||||
remove_patterns global "$global_gitignore" "${args[@]}" && echo
|
||||
show_global
|
||||
;;
|
||||
private)
|
||||
cd_to_git_root --error
|
||||
remove_patterns private "${GIT_DIR}/info/exclude" "${args[@]}" && echo
|
||||
show_private
|
||||
;;
|
||||
esac
|
||||
exit 0
|
||||
|
||||
fi
|
||||
fi
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ while getopts "m:eapfh" arg; do
|
|||
PUSH=true
|
||||
;;
|
||||
f)
|
||||
FORCE='-f'
|
||||
FORCE='--force-with-lease'
|
||||
;;
|
||||
h)
|
||||
echo "$USAGE"
|
||||
|
|
|
|||
10
bin/git-mr
10
bin/git-mr
|
|
@ -7,6 +7,8 @@ if [ -z "${1-}" ] ; then
|
|||
exit 1
|
||||
fi
|
||||
|
||||
remote_ref_kind=merge-requests
|
||||
|
||||
if test "$1" = "clean"; then
|
||||
git for-each-ref refs/heads/mr/* --format='%(refname)' | while read -r ref; do
|
||||
git branch -D "${ref#refs/heads/}"
|
||||
|
|
@ -15,13 +17,19 @@ if test "$1" = "clean"; then
|
|||
elif [[ $1 =~ ^(https?://[^/]+/(.+))/merge_requests/([0-9]+).*$ ]]; then
|
||||
remote=${BASH_REMATCH[1]}.git
|
||||
id=${BASH_REMATCH[3]}
|
||||
elif [[ $1 =~ ^(https?://[^/]+/(.+))/pulls/([0-9]+).*$ ]]; then
|
||||
# Forgejo/Codeberg pull request URL, e.g.
|
||||
# https://codeberg.org/owner/repository/pulls/453
|
||||
remote=${BASH_REMATCH[1]}.git
|
||||
id=${BASH_REMATCH[3]}
|
||||
remote_ref_kind=pull
|
||||
else
|
||||
id=$1
|
||||
remote=${2:-origin}
|
||||
fi
|
||||
|
||||
branch=mr/$id
|
||||
remote_ref=refs/merge-requests/$id/head
|
||||
remote_ref=refs/$remote_ref_kind/$id/head
|
||||
git fetch -fu "$remote" "$remote_ref:$branch"
|
||||
git checkout "$branch"
|
||||
git config --local --replace "branch.$branch.merge" "$remote_ref"
|
||||
|
|
|
|||
49
bin/git-repl
49
bin/git-repl
|
|
@ -1,9 +1,26 @@
|
|||
#!/usr/bin/env bash
|
||||
shopt -s extglob
|
||||
|
||||
git version
|
||||
echo "git-extras version ""$(git-extras -v)"
|
||||
echo "Type 'ls' to ls files below current directory; '!command' to execute any command or just 'subcommand' to execute any git subcommand; 'quit', 'exit', 'q', ^D, or ^C to exit the git repl."
|
||||
|
||||
HISTIGNORE=${HISTIGNORE:-+([[:space:]])}
|
||||
HISTCONTROL=${HISTCONTROL:-ignoredups}
|
||||
use_local_history=$(git config --get --default 'false' git-extras.repl.use-local-history)
|
||||
if [[ "$use_local_history" == "true" ]]; then
|
||||
HISTFILE="$(git rev-parse --show-toplevel)/.git_extras_repl_history"
|
||||
else
|
||||
HISTFILE=${XDG_STATE_HOME:-$HOME/.local/state}/git_extras_repl_history
|
||||
fi
|
||||
|
||||
# file doesn't exist, is empty, or contains only whitespace
|
||||
if [[ ! -f "$HISTFILE" ]] || [[ ! -s "$HISTFILE" ]] || ! grep -q '[^[:space:]]' "$HISTFILE"; then
|
||||
# `history -r` .... `history -a` are not happy with an empty initial file in bash 3.2.57, which is what MacOS 26 ships with
|
||||
echo '!echo welcome to git-repl!' >> "$HISTFILE"
|
||||
fi
|
||||
history -r
|
||||
|
||||
while true; do
|
||||
# Current branch
|
||||
cur=$(git symbolic-ref HEAD 2> /dev/null | cut -d/ -f3-)
|
||||
|
|
@ -19,7 +36,20 @@ while true; do
|
|||
else
|
||||
es_string=""
|
||||
fi
|
||||
prompt="git$cur_string$es_string> "
|
||||
prompt_character=$(git config --get --default '>' git-extras.repl.prompt-character)
|
||||
|
||||
prefix=$(git config --get --default 'git' git-extras.repl.prefix)
|
||||
|
||||
show_project_name=$(git config --get --default 'false' git-extras.repl.show-project-name)
|
||||
if [[ "$show_project_name" == "true" ]]; then
|
||||
project_name=" $(basename "$(git rev-parse --show-toplevel)" .git)"
|
||||
else
|
||||
project_name=""
|
||||
fi
|
||||
|
||||
prompt_base="$prefix$project_name$cur_string$es_string$prompt_character"
|
||||
prompt_base_stripped=$(echo "$prompt_base" | awk '{$1=$1};1')
|
||||
prompt="$prompt_base_stripped "
|
||||
|
||||
# Use arguments as a command if any are provided.
|
||||
if [ $# -ne 0 ]; then
|
||||
|
|
@ -33,16 +63,27 @@ while true; do
|
|||
test $? -ne 0 && break
|
||||
fi
|
||||
|
||||
# History
|
||||
history -s "$cmd"
|
||||
# Add command to history if it is not all whitespace
|
||||
if [[ ! "$cmd" =~ ^[[:space:]]*$ ]]; then
|
||||
history -s "$cmd"
|
||||
fi
|
||||
|
||||
# Built-in commands
|
||||
case $cmd in
|
||||
ls) cmd=ls-files;;
|
||||
"") continue;;
|
||||
"")
|
||||
on_enter_cmd=$(git config --get --default '' git-extras.repl.on-enter-command)
|
||||
if test -n "$on_enter_cmd"; then
|
||||
cmd="$on_enter_cmd"
|
||||
else
|
||||
continue
|
||||
fi
|
||||
;;
|
||||
quit|exit|q) break;;
|
||||
esac
|
||||
|
||||
history -a
|
||||
|
||||
if [[ $cmd == !* ]]; then
|
||||
# shellcheck disable=SC2086
|
||||
eval ${cmd:1}
|
||||
|
|
|
|||
122
bin/git-scp
122
bin/git-scp
|
|
@ -77,6 +77,17 @@ function _sanitize()
|
|||
|
||||
function scp_and_stage
|
||||
{
|
||||
local verbose=0 interactive=0 dry_run=0
|
||||
while :
|
||||
do
|
||||
case "$1" in
|
||||
-v|--verbose) verbose=1; shift;;
|
||||
-i|--interactive) verbose=1; interactive=1; shift;;
|
||||
-n|--dry-run) verbose=1; dry_run=1; shift;;
|
||||
*) break;;
|
||||
esac
|
||||
done
|
||||
|
||||
set_remote "$1"
|
||||
shift
|
||||
|
||||
|
|
@ -94,46 +105,116 @@ function scp_and_stage
|
|||
list=$(git ls-files "$@")" "$(git ls-files -o "$@")
|
||||
elif [ -n "$refhead" ]
|
||||
then
|
||||
git diff --stat "$refhead"
|
||||
[ "$verbose" -eq 1 ] && git --no-pager diff --stat "$refhead"
|
||||
list=$(git diff "$refhead" --name-only)
|
||||
else
|
||||
git diff
|
||||
[ "$verbose" -eq 1 ] && git --no-pager diff
|
||||
list=$(git diff --name-only)
|
||||
fi
|
||||
|
||||
deleted=$(for i in $list; do [ -f "$i" ] || echo "$i"; done)
|
||||
list=$(for i in $list; do [ -f "$i" ] && echo "$i"; done)
|
||||
|
||||
if [ "$interactive" -eq 1 ] && [ "$dry_run" -eq 0 ] && { [ -n "$list" ] || [ -n "$deleted" ]; }
|
||||
then
|
||||
local reply
|
||||
read -r -p "Proceed with sync to $remote? [y/N] " reply
|
||||
case "$reply" in
|
||||
y|Y|yes|YES) ;;
|
||||
*) _info "Aborted, nothing synced."; exit 0;;
|
||||
esac
|
||||
fi
|
||||
|
||||
local status=0
|
||||
|
||||
if [ -n "$list" ]
|
||||
then
|
||||
local _TMP=${0///}
|
||||
# shellcheck disable=SC2086
|
||||
echo "$list" > "$_TMP" &&
|
||||
_sanitize $list &&
|
||||
_info "Pushing to $remote ($(git config "remote.$remote.url"))" &&
|
||||
rsync -rlDv --files-from="$_TMP" ./ "$(git config "remote.$remote.url")/" &&
|
||||
git add --force $list &&
|
||||
echo "$list" > "$_TMP"
|
||||
if [ "$dry_run" -eq 1 ] || _sanitize $list
|
||||
then
|
||||
_info "Pushing to $remote ($(git config "remote.$remote.url"))"
|
||||
if [ "$dry_run" -eq 1 ]
|
||||
then
|
||||
rsync -rlDvn --files-from="$_TMP" ./ "$(git config "remote.$remote.url")/"
|
||||
else
|
||||
rsync -rlDv --files-from="$_TMP" ./ "$(git config "remote.$remote.url")/" &&
|
||||
git add --force $list
|
||||
fi
|
||||
status=$?
|
||||
else
|
||||
status=1
|
||||
fi
|
||||
rm "$_TMP"
|
||||
fi
|
||||
|
||||
deleted=$(for i in $deleted; do echo "$(git config "remote.$remote.url" | cut -d: -f2)/$i"; done)
|
||||
|
||||
[ -n "$deleted" ] &&
|
||||
COLOR_RED &&
|
||||
echo Deleted remote files &&
|
||||
ssh "$(git config "remote.$remote.url" | cut -d: -f1)" -t "rm $deleted" &&
|
||||
echo "$deleted"
|
||||
COLOR_RESET
|
||||
if [ -n "$deleted" ]
|
||||
then
|
||||
COLOR_RED
|
||||
echo Deleted remote files
|
||||
if [ "$dry_run" -eq 1 ]
|
||||
then
|
||||
echo "$deleted"
|
||||
else
|
||||
if ssh "$(git config "remote.$remote.url" | cut -d: -f1)" -t "rm $deleted"
|
||||
then
|
||||
echo "$deleted"
|
||||
else
|
||||
status=1
|
||||
fi
|
||||
fi
|
||||
COLOR_RESET
|
||||
fi
|
||||
|
||||
return "$status"
|
||||
}
|
||||
|
||||
function reverse_scp()
|
||||
{
|
||||
local verbose=0 interactive=0 dry_run=0
|
||||
while :
|
||||
do
|
||||
case "$1" in
|
||||
-v|--verbose) verbose=1; shift;;
|
||||
-i|--interactive) verbose=1; interactive=1; shift;;
|
||||
-n|--dry-run) verbose=1; dry_run=1; shift;;
|
||||
*) break;;
|
||||
esac
|
||||
done
|
||||
|
||||
set_remote "$1"
|
||||
shift
|
||||
|
||||
local _TMP=${0///}
|
||||
echo "$@" > "$_TMP" &&
|
||||
rsync -rlDv --files-from="$_TMP" "$(git config "remote.$remote.url")/" ./ &&
|
||||
echo "$@" > "$_TMP"
|
||||
|
||||
local status=0
|
||||
if [ "$verbose" -eq 1 ]
|
||||
then
|
||||
rsync -rlDvn --files-from="$_TMP" "$(git config "remote.$remote.url")/" ./
|
||||
status=$?
|
||||
fi
|
||||
|
||||
if [ "$dry_run" -eq 1 ]
|
||||
then
|
||||
rm "$_TMP"
|
||||
return "$status"
|
||||
fi
|
||||
|
||||
if [ "$interactive" -eq 1 ]
|
||||
then
|
||||
local reply
|
||||
read -r -p "Proceed with copy from $remote? [y/N] " reply
|
||||
case "$reply" in
|
||||
y|Y|yes|YES) ;;
|
||||
*) _info "Aborted, nothing copied."; rm "$_TMP"; exit 0;;
|
||||
esac
|
||||
fi
|
||||
|
||||
rsync -rlDv --files-from="$_TMP" "$(git config "remote.$remote.url")/" ./ &&
|
||||
rm "$_TMP"
|
||||
}
|
||||
|
||||
|
|
@ -148,9 +229,14 @@ function _usage()
|
|||
{
|
||||
echo "Usage:
|
||||
git scp -h|help|?
|
||||
git scp <remote> [ref|file..] # scp and stage your files to specified remote
|
||||
git scp <remote> [<ref>] # show diff relative to <ref> and upload unstaged files to <remote>
|
||||
git rscp <remote> [<file|directory>] # copy <remote> files to current working directory
|
||||
git scp [options] <remote> [ref|file..] # scp and stage your files to specified remote
|
||||
git scp [options] <remote> [<ref>] # show diff relative to <ref> and upload unstaged files to <remote>
|
||||
git rscp [options] <remote> [<file|directory>] # copy <remote> files to current working directory
|
||||
|
||||
OPTIONS:
|
||||
-v, --verbose print what will be synced before syncing
|
||||
-i, --interactive prompt for confirmation before syncing (implies --verbose)
|
||||
-n, --dry-run show what would be synced, change nothing (implies --verbose; no staging, no remote writes/deletes)
|
||||
"
|
||||
|
||||
case $1 in
|
||||
|
|
|
|||
|
|
@ -34,10 +34,10 @@ fi
|
|||
|
||||
status_opts=(--porcelain --short)
|
||||
# %ct: committer date, UNIX timestamp / %at: author date, UNIX timestamp
|
||||
whatchanged_opts=(--format='%ct')
|
||||
log_opts=(--format='%ct')
|
||||
if git status --help 2>&1 | grep -q -- "--no-renames"; then
|
||||
status_opts+=(--no-renames)
|
||||
whatchanged_opts+=(--no-renames)
|
||||
log_opts+=(--no-renames)
|
||||
fi
|
||||
if git status --help 2>&1 | grep -q -- "--untracked-files"; then
|
||||
status_opts+=(--untracked-files=no)
|
||||
|
|
@ -126,6 +126,6 @@ git --no-pager status "${status_opts[@]}" . \
|
|||
| cut -c 4- >"${tmpfile}"
|
||||
|
||||
# prefix is not stripped:
|
||||
git --no-pager whatchanged "${whatchanged_opts[@]}" . \
|
||||
git --no-pager log --raw --no-merges "${log_opts[@]}" . \
|
||||
| awk "${awk_flags[@]}" "${awk_script}" "${tmpfile}" - \
|
||||
| BASH_ENV='' bash "${bash_opts[@]}" -
|
||||
|
|
|
|||
|
|
@ -1,6 +1,29 @@
|
|||
# shellcheck shell=bash
|
||||
# bash completion support for git-extras.
|
||||
|
||||
__gitex_heads_unique() {
|
||||
local branch specified=("${COMP_WORDS[@]:2}")
|
||||
for branch in $(__git_heads); do
|
||||
[[ " ${specified[*]} " == *" $branch "* ]] || printf '%s\n' "$branch"
|
||||
done
|
||||
}
|
||||
|
||||
_git_authors(){
|
||||
__gitcomp "-l --list --no-email"
|
||||
}
|
||||
|
||||
_git_browse(){
|
||||
__git_complete_remote_or_refspec
|
||||
}
|
||||
|
||||
_git_browse_ci(){
|
||||
__git_complete_remote_or_refspec
|
||||
}
|
||||
|
||||
_git_brv(){
|
||||
__gitcomp "-r --reverse"
|
||||
}
|
||||
|
||||
_git_changelog(){
|
||||
local s_opts=( '-a' '-l' '-t' '-f' '-s' '-n' '-p' '-x' '-h' '?' )
|
||||
local l_opts=(
|
||||
|
|
@ -22,14 +45,6 @@ _git_changelog(){
|
|||
__gitcomp "$merged_opts_str"
|
||||
}
|
||||
|
||||
_git_authors(){
|
||||
__gitcomp "-l --list --no-email"
|
||||
}
|
||||
|
||||
_git_brv(){
|
||||
__gitcomp "-r --reverse"
|
||||
}
|
||||
|
||||
_git_coauthor(){
|
||||
local oldIfs=$IFS
|
||||
IFS=$'\n'
|
||||
|
|
@ -67,6 +82,10 @@ _git_contrib(){
|
|||
COMPREPLY=($(compgen -W "$all" -- "$cur"))
|
||||
}
|
||||
|
||||
_git_commits_since(){
|
||||
__gitcomp "-r --ref"
|
||||
}
|
||||
|
||||
_git_count(){
|
||||
__gitcomp "--all"
|
||||
}
|
||||
|
|
@ -76,7 +95,7 @@ __git_cp(){
|
|||
}
|
||||
|
||||
_git_delete_branch(){
|
||||
__gitcomp "$(__git_heads)"
|
||||
__gitcomp "$(__gitex_heads_unique)"
|
||||
}
|
||||
|
||||
_git_delete_squashed_branches(){
|
||||
|
|
@ -126,16 +145,20 @@ _git_graft(){
|
|||
_git_ignore(){
|
||||
case "$cur" in
|
||||
--*)
|
||||
__gitcomp "--global --local --private"
|
||||
__gitcomp "--global --local --private --edit --remove"
|
||||
return
|
||||
;;
|
||||
-*)
|
||||
__gitcomp "--global --local --private -g -l -p"
|
||||
__gitcomp "--global --local --private --edit --remove -g -l -p -e -r"
|
||||
return
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
_git_info(){
|
||||
__gitcomp "--color -c --no-config"
|
||||
}
|
||||
|
||||
_git_missing(){
|
||||
# Suggest all known refs
|
||||
__gitcomp "$(git for-each-ref --format='%(refname:short)')"
|
||||
|
|
@ -158,38 +181,40 @@ _git_reauthor(){
|
|||
__gitcomp "${comp}"
|
||||
}
|
||||
|
||||
_git_scp(){
|
||||
__git_complete_remote_or_refspec
|
||||
__git_extras_rename(){
|
||||
if ((COMP_CWORD == 2 || COMP_CWORD == 3)); then
|
||||
__gitcomp "$1"
|
||||
fi
|
||||
}
|
||||
|
||||
_git_stamp(){
|
||||
__gitcomp '--replace -r'
|
||||
_git_rename_branch(){
|
||||
__git_extras_rename "$(__git_heads)"
|
||||
}
|
||||
|
||||
_git_rename_remote(){
|
||||
__git_extras_rename "$(__git_remotes)"
|
||||
}
|
||||
|
||||
_git_rename_tag(){
|
||||
__git_extras_rename "$(__git_tags)"
|
||||
}
|
||||
|
||||
_git_rscp(){
|
||||
__git_complete_remote_or_refspec
|
||||
}
|
||||
|
||||
_git_scp(){
|
||||
__git_complete_remote_or_refspec
|
||||
}
|
||||
|
||||
_git_squash(){
|
||||
__gitcomp "$(__git_heads)"
|
||||
}
|
||||
|
||||
_git_stamp(){
|
||||
__gitcomp '--replace -r'
|
||||
}
|
||||
|
||||
_git_undo(){
|
||||
__gitcomp "--hard --soft -h -s"
|
||||
}
|
||||
|
||||
_git_info(){
|
||||
__gitcomp "--color -c --no-config"
|
||||
}
|
||||
|
||||
_git_browse(){
|
||||
__git_complete_remote_or_refspec
|
||||
}
|
||||
|
||||
_git_browse_ci(){
|
||||
__git_complete_remote_or_refspec
|
||||
}
|
||||
|
||||
_git_rename_file() {
|
||||
__gitcomp "-h --help"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -72,6 +72,15 @@ __gitex_branch_names() {
|
|||
_wanted branch-names expl branch-name compadd $* - $branch_names
|
||||
}
|
||||
|
||||
__gitex_branch_names_unique() {
|
||||
local expl
|
||||
declare -a branch_names already_specified
|
||||
branch_names=(${${(f)"$(_call_program branchrefs git for-each-ref --format='"%(refname)"' refs/heads 2>/dev/null)"}#refs/heads/})
|
||||
__gitex_command_successful || return
|
||||
already_specified=(${words[2,-1]})
|
||||
_wanted branch-names expl branch-name compadd -F already_specified $* - $branch_names
|
||||
}
|
||||
|
||||
__gitex_specific_branch_names() {
|
||||
local expl
|
||||
declare -a branch_names
|
||||
|
|
@ -162,6 +171,11 @@ _git-coauthor() {
|
|||
':co-author-email[email address of co-author to add]:__gitex_author_emails'
|
||||
}
|
||||
|
||||
_git-commits-since() {
|
||||
_arguments \
|
||||
'(-r --ref)'{-r,--ref}'[show commits since ref]'
|
||||
}
|
||||
|
||||
_git-contrib() {
|
||||
_arguments \
|
||||
':author:__gitex_author_names'
|
||||
|
|
@ -196,8 +210,12 @@ _git-create-branch() {
|
|||
}
|
||||
|
||||
_git-delete-branch() {
|
||||
__gitex_branch_names_unique
|
||||
}
|
||||
|
||||
_git-delete-gone-branches() {
|
||||
_arguments \
|
||||
':branch-name:__gitex_branch_names'
|
||||
'(-n --dry-run)'{-n,--dry-run}'[show branches that would be deleted without deleting]'
|
||||
}
|
||||
|
||||
_git-delete-squashed-branches() {
|
||||
|
|
@ -299,9 +317,11 @@ _git-guilt() {
|
|||
|
||||
_git-ignore() {
|
||||
_arguments -C \
|
||||
'(--local -l)'{--local,-l}'[show local gitignore]' \
|
||||
'(--global -g)'{--global,-g}'[show global gitignore]' \
|
||||
'(--private -p)'{--private,-p}'[show repo gitignore]' \
|
||||
'(--local -l)'{--local,-l}'[set context to local gitignore]' \
|
||||
'(--global -g)'{--global,-g}'[set context to global gitignore]' \
|
||||
'(--private -p)'{--private,-p}'[set context to private gitignore]' \
|
||||
'(--edit -e)'{--edit,-e}'[set action to edit]' \
|
||||
'(--remove -r)'{--remove,-r}'[set action to remove]' \
|
||||
'*:filename:_files'
|
||||
}
|
||||
|
||||
|
|
@ -408,6 +428,7 @@ zstyle ':completion:*:*:git:*' user-commands $existing_user_commands \
|
|||
count:'show commit count' \
|
||||
create-branch:'create branches' \
|
||||
delete-branch:'delete branches' \
|
||||
delete-gone-branches:'delete branches whose remote is gone' \
|
||||
delete-merged-branches:'delete merged branches' \
|
||||
delete-squashed-branches:'delete squashed branches' \
|
||||
delete-submodule:'delete submodules' \
|
||||
|
|
@ -424,7 +445,7 @@ zstyle ':completion:*:*:git:*' user-commands $existing_user_commands \
|
|||
graft:'merge and destroy a given branch' \
|
||||
guilt:'calculate change between two revisions' \
|
||||
ignore-io:'get sample gitignore file' \
|
||||
ignore:'add .gitignore patterns' \
|
||||
ignore:'Modify or display .gitignore files' \
|
||||
info:'returns information on current repository' \
|
||||
local-commits:'list local commits' \
|
||||
lock:'lock a file excluded from version control' \
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@ set __fish_git_extras_commands \
|
|||
"graft:Merge and destroy a given branch" \
|
||||
"guilt:calculate change between two revisions" \
|
||||
"ignore-io:Get sample gitignore file" \
|
||||
"ignore:Add .gitignore patterns" \
|
||||
"ignore:Modify or display .gitignore files" \
|
||||
"info:Returns information on current repository" \
|
||||
"local-commits:List local commits" \
|
||||
"lock:Lock a file excluded from version control" \
|
||||
|
|
@ -131,6 +131,8 @@ function __fish_git_extra_coauthor_email
|
|||
end
|
||||
complete -c git -f -n '__fish_git_using_command coauthor; and __fish_git_arg_number 2' -a '(__fish_git_extra_coauthor_name)'
|
||||
complete -c git -f -n '__fish_git_using_command coauthor; and __fish_git_arg_number 3' -a '(__fish_git_extra_coauthor_email)'
|
||||
# commits-since
|
||||
complete -c git -f -n '__fish_git_using_command commits-since' -s r -l ref -d 'show commits since ref'
|
||||
# count
|
||||
complete -c git -f -n '__fish_git_using_command count' -l all -d 'detailed commit count'
|
||||
# create-branch
|
||||
|
|
@ -160,9 +162,11 @@ complete -c git -f -n '__fish_git_using_command guilt' -s e -l email -d 'display
|
|||
complete -c git -f -n '__fish_git_using_command guilt' -s d -l debug -d 'output debug information'
|
||||
complete -c git -f -n '__fish_git_using_command guilt' -s h -d 'output usage information'
|
||||
# ignore
|
||||
complete -c git -f -n '__fish_git_using_command ignore' -s l -l local -d 'show local gitignore'
|
||||
complete -c git -f -n '__fish_git_using_command ignore' -s g -l global -d 'show global gitignore'
|
||||
complete -c git -f -n '__fish_git_using_command ignore' -s p -l private -d 'show repo gitignore'
|
||||
complete -c git -f -n '__fish_git_using_command ignore' -s l -l local -d 'set context to local gitignore'
|
||||
complete -c git -f -n '__fish_git_using_command ignore' -s g -l global -d 'set context to global gitignore'
|
||||
complete -c git -f -n '__fish_git_using_command ignore' -s p -l private -d 'set context to private gitignore'
|
||||
complete -c git -f -n '__fish_git_using_command ignore' -s e -l edit -d 'set action to edit'
|
||||
complete -c git -f -n '__fish_git_using_command ignore' -s r -l remove -d 'set action to remove'
|
||||
# ignore-io
|
||||
function __fish_git_extra_get_ignore_io_types
|
||||
# we will first remove every tab spaces, and then append `\t` at the end to remove the default description
|
||||
|
|
|
|||
|
|
@ -3,7 +3,9 @@
|
|||
#
|
||||
|
||||
is_git_repo() {
|
||||
git rev-parse --show-toplevel > /dev/null 2>&1
|
||||
# --git-dir succeeds for both normal and bare repositories, whereas
|
||||
# --show-toplevel fails inside a bare repository (it has no working tree).
|
||||
git rev-parse --git-dir > /dev/null 2>&1
|
||||
result=$?
|
||||
if test $result != 0; then
|
||||
>&2 echo 'Not a git repo!'
|
||||
|
|
|
|||
47
install.cmd
47
install.cmd
|
|
@ -39,13 +39,34 @@ goto :defaultpath
|
|||
rem remove the last slash
|
||||
SET bindir=%bindir:~0,-1%
|
||||
for %%G in ("%bindir%") do set installdir=%%~dpG
|
||||
set PREFIX=%installdir%mingw64
|
||||
rem strip a trailing slash so we can inspect the leaf directory name
|
||||
if "%installdir:~-1%"=="\" set installdir=%installdir:~0,-1%
|
||||
rem git.exe found under <GitRoot>\mingw64\bin or <GitRoot>\clangarm64\bin
|
||||
rem means installdir already is the architecture directory itself
|
||||
for %%G in ("%installdir%") do set archdir=%%~nxG
|
||||
if /I "%archdir%"=="mingw64" (
|
||||
set PREFIX=%installdir%
|
||||
) else if /I "%archdir%"=="clangarm64" (
|
||||
set PREFIX=%installdir%
|
||||
) else if exist "%installdir%\mingw64" (
|
||||
set PREFIX=%installdir%\mingw64
|
||||
) else if exist "%installdir%\clangarm64" (
|
||||
set PREFIX=%installdir%\clangarm64
|
||||
) else (
|
||||
set PREFIX=%installdir%\mingw64
|
||||
)
|
||||
goto :foundprefix
|
||||
|
||||
:defaultpath
|
||||
:: default for Git for Windows 2.x
|
||||
if exist "%ProgramFiles%\Git" (
|
||||
set PREFIX=%ProgramFiles%\Git\mingw64
|
||||
if exist "%ProgramFiles%\Git\mingw64" (
|
||||
set PREFIX=%ProgramFiles%\Git\mingw64
|
||||
) else if exist "%ProgramFiles%\Git\clangarm64" (
|
||||
set PREFIX=%ProgramFiles%\Git\clangarm64
|
||||
) else (
|
||||
set PREFIX=%ProgramFiles%\Git\mingw64
|
||||
)
|
||||
)
|
||||
|
||||
:foundprefix
|
||||
|
|
@ -55,9 +76,11 @@ IF NOT "%~1"=="" (
|
|||
REM just supplying the git dir is enough...
|
||||
if exist "%~1\mingw64" (
|
||||
set PREFIX=%~1\mingw64
|
||||
) else if exist "%~1\clangarm64" (
|
||||
set PREFIX=%~1\clangarm64
|
||||
) else (
|
||||
echo Using git install path "%~1" as PREFIX, please make sure it's really a
|
||||
echo path to the mingw64 directory...
|
||||
echo path to the mingw64 or clangarm64 directory...
|
||||
echo.
|
||||
SET PREFIX=%~1
|
||||
)
|
||||
|
|
@ -72,12 +95,14 @@ set GIT_INSTALL_DIR=!GIT_INSTALL_DIR:"=!
|
|||
IF %GIT_INSTALL_DIR:~-1%==\ SET GIT_INSTALL_DIR=%GIT_INSTALL_DIR:~0,-1%
|
||||
|
||||
if not exist "%GIT_INSTALL_DIR%\mingw64" (
|
||||
echo No mingw64 folder found in %GIT_INSTALL_DIR%.
|
||||
echo.
|
||||
echo Please supply a proper "Git for Windows 2.x" install path:
|
||||
echo "install.cmd c:\[git-install-path]"
|
||||
set ERROR=1
|
||||
goto :exit
|
||||
if not exist "%GIT_INSTALL_DIR%\clangarm64" (
|
||||
echo No mingw64 or clangarm64 folder found in %GIT_INSTALL_DIR%.
|
||||
echo.
|
||||
echo Please supply a proper "Git for Windows 2.x" install path:
|
||||
echo "install.cmd c:\[git-install-path]"
|
||||
set ERROR=1
|
||||
goto :exit
|
||||
)
|
||||
)
|
||||
|
||||
echo Installing to %PREFIX%
|
||||
|
|
@ -116,7 +141,7 @@ FOR /R "%GITEXTRAS%\bin" %%i in (*.*) DO (
|
|||
TYPE "%GITEXTRAS%\helper\reset-env" >> "%PREFIX%\bin\%%~ni"
|
||||
TYPE "%GITEXTRAS%\helper\git-extra-utility" >> "%PREFIX%\bin\%%~ni"
|
||||
TYPE "%GITEXTRAS%\helper\is-git-repo" >> "%PREFIX%\bin\%%~ni"
|
||||
|
||||
|
||||
REM Added /E option for installation fix on Windows 10.0.17134 and higher
|
||||
MORE /E +2 "%GITEXTRAS%\bin\%%~ni" >> "%PREFIX%\bin\%%~ni"
|
||||
)
|
||||
|
|
@ -127,7 +152,7 @@ FOR %%i in (%COMMANDS_WITHOUT_REPO%) DO (
|
|||
ECHO #^^!/usr/bin/env bash > "%PREFIX%\bin\%%i"
|
||||
TYPE "%GITEXTRAS%\helper\reset-env" >> "%PREFIX%\bin\%%i"
|
||||
TYPE "%GITEXTRAS%\helper\git-extra-utility" >> "%PREFIX%\bin\%%i"
|
||||
|
||||
|
||||
REM Added /E option for installation fix on Windows 10.0.17134 and higher
|
||||
MORE /E +2 "%GITEXTRAS%\bin\%%i" >> "%PREFIX%\bin\%%i"
|
||||
)
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
.\" generated with Ronn-NG/v0.9.1
|
||||
.\" http://github.com/apjanke/ronn-ng/tree/0.9.1
|
||||
.TH "GIT\-ARCHIVE\-FILE" "1" "May 2020" "" "Git Extras"
|
||||
.\" generated with Ronn-NG/v0.10.1
|
||||
.\" http://github.com/apjanke/ronn-ng/tree/0.10.1
|
||||
.TH "GIT\-ARCHIVE\-FILE" "1" "March 2026" "" "Git Extras"
|
||||
.SH "NAME"
|
||||
\fBgit\-archive\-file\fR \- Export the current HEAD of the git repository to an archive
|
||||
.SH "SYNOPSIS"
|
||||
|
|
@ -14,11 +14,11 @@ Archive naming conventions:
|
|||
.P
|
||||
On any branch: \fBgit\-extras\.1\.7\.0\-110\-gafefba7\.branch\-name\.zip\fR
|
||||
.P
|
||||
On master branch: \fBgit\-extras\.1\.7\.0\-110\-gafefba7\.zip\fR
|
||||
On the default branch: \fBgit\-extras\.1\.7\.0\-110\-gafefba7\.zip\fR
|
||||
.P
|
||||
On a detached HEAD (e\.g\. a tag): \fBgit\-extras\.1\.7\.0\.zip\fR
|
||||
.P
|
||||
The \'/\' and \'\e\' in the branch name will be converted into \'\-\'\.
|
||||
The '/' and '\e' in the branch name will be converted into '\-'\.
|
||||
.SH "AUTHOR"
|
||||
Written by Philipp Klose <\fIme@thehippo\.de\fR>
|
||||
.SH "REPORTING BUGS"
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv='content-type' content='text/html;charset=utf8'>
|
||||
<meta name='generator' content='Ronn-NG/v0.9.1 (http://github.com/apjanke/ronn-ng/tree/0.9.1)'>
|
||||
<meta http-equiv='content-type' content='text/html;charset=utf-8'>
|
||||
<meta name='generator' content='Ronn-NG/v0.10.1 (http://github.com/apjanke/ronn-ng/tree/0.10.1)'>
|
||||
<title>git-archive-file(1) - Export the current HEAD of the git repository to an archive</title>
|
||||
<style type='text/css' media='all'>
|
||||
/* style: man */
|
||||
|
|
@ -93,7 +93,7 @@
|
|||
|
||||
<p>On any branch: <code>git-extras.1.7.0-110-gafefba7.branch-name.zip</code></p>
|
||||
|
||||
<p>On master branch: <code>git-extras.1.7.0-110-gafefba7.zip</code></p>
|
||||
<p>On the default branch: <code>git-extras.1.7.0-110-gafefba7.zip</code></p>
|
||||
|
||||
<p>On a detached HEAD (e.g. a tag): <code>git-extras.1.7.0.zip</code></p>
|
||||
|
||||
|
|
@ -113,7 +113,7 @@
|
|||
|
||||
<ol class='man-decor man-foot man foot'>
|
||||
<li class='tl'></li>
|
||||
<li class='tc'>May 2020</li>
|
||||
<li class='tc'>March 2026</li>
|
||||
<li class='tr'>git-archive-file(1)</li>
|
||||
</ol>
|
||||
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ Archive naming conventions:
|
|||
|
||||
On any branch: `git-extras.1.7.0-110-gafefba7.branch-name.zip`
|
||||
|
||||
On master branch: `git-extras.1.7.0-110-gafefba7.zip`
|
||||
On the default branch: `git-extras.1.7.0-110-gafefba7.zip`
|
||||
|
||||
On a detached HEAD (e.g. a tag): `git-extras.1.7.0.zip`
|
||||
|
||||
|
|
|
|||
|
|
@ -1,34 +1,23 @@
|
|||
.\" generated with Ronn/v0.7.3
|
||||
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
||||
.
|
||||
.TH "GIT\-BROWSE\-CI" "1" "March 2022" "" "Git Extras"
|
||||
.
|
||||
.\" generated with Ronn-NG/v0.10.1
|
||||
.\" http://github.com/apjanke/ronn-ng/tree/0.10.1
|
||||
.TH "GIT\-BROWSE\-CI" "1" "March 2026" "" "Git Extras"
|
||||
.SH "NAME"
|
||||
\fBgit\-browse\-ci\fR \-
|
||||
.
|
||||
\fBgit\-browse\-ci\fR \- View the CI page for the current repository
|
||||
.SH "SYNOPSIS"
|
||||
\fBgit\-browse\-ci\fR [remote_name]
|
||||
.
|
||||
\fBgit\-browse\-ci\fR [<remote_name>]
|
||||
.SH "DESCRIPTION"
|
||||
Opens the current git repository CI page in your default web browser\.
|
||||
.
|
||||
.SH "OPTIONS"
|
||||
<remote_name>
|
||||
.
|
||||
.P
|
||||
The name of the remote you wish to browse to\. Defaults to the first remote if not specified\.
|
||||
.
|
||||
The name of the remote you wish to browse to\. Defaults to the current branch's configured remote, or \fBorigin\fR if not specified\.
|
||||
.SH "EXAMPLES"
|
||||
$ git browse\-ci
|
||||
.
|
||||
.P
|
||||
$ git browse\-ci upstream
|
||||
.
|
||||
.SH "AUTHOR"
|
||||
Written by Peter Benjamin <\fIhttps://github\.com/pbnj\fR>
|
||||
.
|
||||
.SH "REPORTING BUGS"
|
||||
<\fIhttps://github\.com/tj/git\-extras/issues\fR>
|
||||
.
|
||||
.SH "SEE ALSO"
|
||||
<\fIhttps://github\.com/tj/git\-extras\fR>
|
||||
|
|
|
|||
|
|
@ -1,9 +1,9 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv='content-type' value='text/html;charset=utf8'>
|
||||
<meta name='generator' value='Ronn/v0.7.3 (http://github.com/rtomayko/ronn/tree/0.7.3)'>
|
||||
<title>git-browse-ci(1) - <View the web page for the current repository></title>
|
||||
<meta http-equiv='content-type' content='text/html;charset=utf-8'>
|
||||
<meta name='generator' content='Ronn-NG/v0.10.1 (http://github.com/apjanke/ronn-ng/tree/0.10.1)'>
|
||||
<title>git-browse-ci(1) - View the CI page for the current repository</title>
|
||||
<style type='text/css' media='all'>
|
||||
/* style: man */
|
||||
body#manpage {margin:0}
|
||||
|
|
@ -69,14 +69,15 @@
|
|||
<li class='tr'>git-browse-ci(1)</li>
|
||||
</ol>
|
||||
|
||||
<h2 id="NAME">NAME</h2>
|
||||
<p class="man-name">
|
||||
<code>git-browse-ci</code> - <span class="man-whatis"><view the web page for current repository /></span>
|
||||
</p>
|
||||
|
||||
|
||||
<h2 id="NAME">NAME</h2>
|
||||
<p class="man-name">
|
||||
<code>git-browse-ci</code> - <span class="man-whatis">View the CI page for the current repository</span>
|
||||
</p>
|
||||
<h2 id="SYNOPSIS">SYNOPSIS</h2>
|
||||
|
||||
<p><code>git-browse-ci</code> [remote_name]</p>
|
||||
<p><code>git-browse-ci</code> [<remote_name>]</p>
|
||||
|
||||
<h2 id="DESCRIPTION">DESCRIPTION</h2>
|
||||
|
||||
|
|
@ -86,14 +87,14 @@
|
|||
|
||||
<p><remote_name></p>
|
||||
|
||||
<p>The name of the remote you wish to browse to. Defaults to
|
||||
the first remote if not specified.</p>
|
||||
<p>The name of the remote you wish to browse to. Defaults to the current
|
||||
branch's configured remote, or <code>origin</code> if not specified.</p>
|
||||
|
||||
<h2 id="EXAMPLES">EXAMPLES</h2>
|
||||
|
||||
<p> $ git browse-ci</p>
|
||||
<p>$ git browse-ci</p>
|
||||
|
||||
<p> $ git browse-ci upstream</p>
|
||||
<p>$ git browse-ci upstream</p>
|
||||
|
||||
<h2 id="AUTHOR">AUTHOR</h2>
|
||||
|
||||
|
|
@ -107,10 +108,9 @@ the first remote if not specified.</p>
|
|||
|
||||
<p><<a href="https://github.com/tj/git-extras" data-bare-link="true">https://github.com/tj/git-extras</a>></p>
|
||||
|
||||
|
||||
<ol class='man-decor man-foot man foot'>
|
||||
<li class='tl'></li>
|
||||
<li class='tc'>March 2022</li>
|
||||
<li class='tc'>March 2026</li>
|
||||
<li class='tr'>git-browse-ci(1)</li>
|
||||
</ol>
|
||||
|
||||
|
|
|
|||
|
|
@ -1,9 +1,9 @@
|
|||
git-browse-ci(1) -- <View the web page for the current repository>
|
||||
git-browse-ci(1) -- View the CI page for the current repository
|
||||
================================
|
||||
|
||||
## SYNOPSIS
|
||||
|
||||
`git-browse-ci` [remote_name]
|
||||
`git-browse-ci` [<remote_name>]
|
||||
|
||||
## DESCRIPTION
|
||||
|
||||
|
|
@ -13,8 +13,8 @@ Opens the current git repository CI page in your default web browser.
|
|||
|
||||
<remote_name>
|
||||
|
||||
The name of the remote you wish to browse to. Defaults to
|
||||
the first remote if not specified.
|
||||
The name of the remote you wish to browse to. Defaults to the current
|
||||
branch's configured remote, or `origin` if not specified.
|
||||
|
||||
## EXAMPLES
|
||||
|
||||
|
|
|
|||
|
|
@ -1,61 +1,41 @@
|
|||
.\" generated with Ronn/v0.7.3
|
||||
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
||||
.
|
||||
.TH "GIT\-BROWSE" "1" "June 2022" "" "Git Extras"
|
||||
.
|
||||
.\" generated with Ronn-NG/v0.10.1
|
||||
.\" http://github.com/apjanke/ronn-ng/tree/0.10.1
|
||||
.TH "GIT\-BROWSE" "1" "March 2026" "" "Git Extras"
|
||||
.SH "NAME"
|
||||
\fBgit\-browse\fR \-
|
||||
.
|
||||
\fBgit\-browse\fR \- View the web page for the current repository
|
||||
.SH "SYNOPSIS"
|
||||
\fBgit\-browse\fR [remote_name] [file_name] [line_1] [line_2]
|
||||
.
|
||||
\fBgit\-browse\fR [REMOTE\-NAME] [FILE\-NAME] [LINE\-1] [LINE\-2]
|
||||
.SH "DESCRIPTION"
|
||||
Opens the current git repository website in your default web browser\.
|
||||
.
|
||||
.SH "OPTIONS"
|
||||
<remote_name>
|
||||
.
|
||||
REMOTE\-NAME
|
||||
.P
|
||||
The name of the remote you wish to browse to\. Defaults to the first remote if not specified\.
|
||||
.
|
||||
.P
|
||||
<file_name>
|
||||
.
|
||||
FILE\-NAME
|
||||
.P
|
||||
The name of the file you wish to browse to\.
|
||||
.
|
||||
.P
|
||||
<line_1>
|
||||
.
|
||||
LINE\-1
|
||||
.P
|
||||
The line number of the file you wish to browse to\.
|
||||
.
|
||||
.P
|
||||
<line_2>
|
||||
.
|
||||
LINE\-2
|
||||
.P
|
||||
The line range (from <line_1> to <line_2>) of the file you wish to browse to\.
|
||||
.
|
||||
The line range (from LINE\-1 to LINE\-2) of the file you wish to browse to\.
|
||||
.SH "EXAMPLES"
|
||||
$ git browse
|
||||
.
|
||||
.P
|
||||
$ git browse upstream
|
||||
.
|
||||
.P
|
||||
$ git browse upstream bin/git\-browse
|
||||
.
|
||||
.P
|
||||
$ git browse upstream bin/git\-browse 42
|
||||
.
|
||||
.P
|
||||
$ git browse upstream bin/git\-browse 1 42
|
||||
.
|
||||
.SH "AUTHOR"
|
||||
Written by Mark Pitman <\fIhttps://github\.com/mapitman\fR>
|
||||
.
|
||||
.SH "REPORTING BUGS"
|
||||
<\fIhttps://github\.com/tj/git\-extras/issues\fR>
|
||||
.
|
||||
.SH "SEE ALSO"
|
||||
<\fIhttps://github\.com/tj/git\-extras\fR>
|
||||
|
|
|
|||
|
|
@ -1,9 +1,9 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv='content-type' value='text/html;charset=utf8'>
|
||||
<meta name='generator' value='Ronn/v0.7.3 (http://github.com/rtomayko/ronn/tree/0.7.3)'>
|
||||
<title>git-browse(1) - <View the web page for the current repository></title>
|
||||
<meta http-equiv='content-type' content='text/html;charset=utf-8'>
|
||||
<meta name='generator' content='Ronn-NG/v0.10.1 (http://github.com/apjanke/ronn-ng/tree/0.10.1)'>
|
||||
<title>git-browse(1) - View the web page for the current repository</title>
|
||||
<style type='text/css' media='all'>
|
||||
/* style: man */
|
||||
body#manpage {margin:0}
|
||||
|
|
@ -69,14 +69,15 @@
|
|||
<li class='tr'>git-browse(1)</li>
|
||||
</ol>
|
||||
|
||||
<h2 id="NAME">NAME</h2>
|
||||
<p class="man-name">
|
||||
<code>git-browse</code> - <span class="man-whatis"><view the web page for current repository /></span>
|
||||
</p>
|
||||
|
||||
|
||||
<h2 id="NAME">NAME</h2>
|
||||
<p class="man-name">
|
||||
<code>git-browse</code> - <span class="man-whatis">View the web page for the current repository</span>
|
||||
</p>
|
||||
<h2 id="SYNOPSIS">SYNOPSIS</h2>
|
||||
|
||||
<p><code>git-browse</code> [remote_name] [file_name] [line_1] [line_2]</p>
|
||||
<p><code>git-browse</code> [REMOTE-NAME] [FILE-NAME] [LINE-1] [LINE-2]</p>
|
||||
|
||||
<h2 id="DESCRIPTION">DESCRIPTION</h2>
|
||||
|
||||
|
|
@ -84,35 +85,35 @@
|
|||
|
||||
<h2 id="OPTIONS">OPTIONS</h2>
|
||||
|
||||
<p><remote_name></p>
|
||||
<p>REMOTE-NAME</p>
|
||||
|
||||
<p>The name of the remote you wish to browse to. Defaults to
|
||||
the first remote if not specified.</p>
|
||||
|
||||
<p><file_name></p>
|
||||
<p>FILE-NAME</p>
|
||||
|
||||
<p>The name of the file you wish to browse to.</p>
|
||||
|
||||
<p><line_1></p>
|
||||
<p>LINE-1</p>
|
||||
|
||||
<p>The line number of the file you wish to browse to.</p>
|
||||
|
||||
<p><line_2></p>
|
||||
<p>LINE-2</p>
|
||||
|
||||
<p>The line range (from <line_1> to <line_2>) of the file you wish to
|
||||
<p>The line range (from LINE-1 to LINE-2) of the file you wish to
|
||||
browse to.</p>
|
||||
|
||||
<h2 id="EXAMPLES">EXAMPLES</h2>
|
||||
|
||||
<p> $ git browse</p>
|
||||
<p>$ git browse</p>
|
||||
|
||||
<p> $ git browse upstream</p>
|
||||
<p>$ git browse upstream</p>
|
||||
|
||||
<p> $ git browse upstream bin/git-browse</p>
|
||||
<p>$ git browse upstream bin/git-browse</p>
|
||||
|
||||
<p> $ git browse upstream bin/git-browse 42</p>
|
||||
<p>$ git browse upstream bin/git-browse 42</p>
|
||||
|
||||
<p> $ git browse upstream bin/git-browse 1 42</p>
|
||||
<p>$ git browse upstream bin/git-browse 1 42</p>
|
||||
|
||||
<h2 id="AUTHOR">AUTHOR</h2>
|
||||
|
||||
|
|
@ -126,10 +127,9 @@ browse to.</p>
|
|||
|
||||
<p><<a href="https://github.com/tj/git-extras" data-bare-link="true">https://github.com/tj/git-extras</a>></p>
|
||||
|
||||
|
||||
<ol class='man-decor man-foot man foot'>
|
||||
<li class='tl'></li>
|
||||
<li class='tc'>June 2022</li>
|
||||
<li class='tc'>March 2026</li>
|
||||
<li class='tr'>git-browse(1)</li>
|
||||
</ol>
|
||||
|
||||
|
|
|
|||
|
|
@ -1,9 +1,9 @@
|
|||
git-browse(1) -- <View the web page for the current repository>
|
||||
git-browse(1) -- View the web page for the current repository
|
||||
================================
|
||||
|
||||
## SYNOPSIS
|
||||
|
||||
`git-browse` [remote_name] [file_name] [line_1] [line_2]
|
||||
`git-browse` [REMOTE-NAME] [FILE-NAME] [LINE-1] [LINE-2]
|
||||
|
||||
## DESCRIPTION
|
||||
|
||||
|
|
@ -11,22 +11,22 @@ Opens the current git repository website in your default web browser.
|
|||
|
||||
## OPTIONS
|
||||
|
||||
<remote_name>
|
||||
REMOTE-NAME
|
||||
|
||||
The name of the remote you wish to browse to. Defaults to
|
||||
the first remote if not specified.
|
||||
|
||||
<file_name>
|
||||
FILE-NAME
|
||||
|
||||
The name of the file you wish to browse to.
|
||||
|
||||
<line_1>
|
||||
LINE-1
|
||||
|
||||
The line number of the file you wish to browse to.
|
||||
|
||||
<line_2>
|
||||
LINE-2
|
||||
|
||||
The line range (from <line_1> to <line_2>) of the file you wish to
|
||||
The line range (from LINE-1 to LINE-2) of the file you wish to
|
||||
browse to.
|
||||
|
||||
## EXAMPLES
|
||||
|
|
|
|||
|
|
@ -1,27 +1,24 @@
|
|||
.\" generated with Ronn-NG/v0.9.1
|
||||
.\" http://github.com/apjanke/ronn-ng/tree/0.9.1
|
||||
.TH "GIT\-BULK" "1" "February 2025" "" "Git Extras"
|
||||
.\" generated with Ronn-NG/v0.10.1
|
||||
.\" http://github.com/apjanke/ronn-ng/tree/0.10.1
|
||||
.TH "GIT\-BULK" "1" "March 2026" "" "Git Extras"
|
||||
.SH "NAME"
|
||||
\fBgit\-bulk\fR \- Run git commands on multiple repositories
|
||||
.SH "SYNOPSIS"
|
||||
\fBgit\-bulk\fR [\-g] [\-\-no\-follow\-symlinks] [\-\-no\-follow\-hidden] ([\-a]|[\-w
|
||||
.br
|
||||
\fBgit\-bulk\fR \-\-addworkspace
|
||||
.br
|
||||
\fBgit\-bulk\fR \-\-removeworkspace <ws\-name>
|
||||
.br
|
||||
\fBgit\-bulk\fR \-\-addcurrent <ws\-name>
|
||||
.br
|
||||
\fBgit\-bulk\fR \-\-purge
|
||||
.br
|
||||
\fBgit\-bulk\fR \-\-listall
|
||||
.nf
|
||||
git\-bulk [\-q|\-\-quiet] [\-g] [\-\-no\-follow\-symlinks] [\-\-no\-follow\-hidden] ([\-a]|[\-w WS\-NAME]) GIT\-COMMAND
|
||||
git\-bulk \-\-addworkspace WS\-NAME WS\-ROOT\-DIRECTORY (\-\-from URL\-OR\-FILE)
|
||||
git\-bulk \-\-removeworkspace WS\-NAME
|
||||
git\-bulk \-\-addcurrent WS\-NAME
|
||||
git\-bulk \-\-purge
|
||||
git\-bulk \-\-listall
|
||||
.fi
|
||||
.SH "DESCRIPTION"
|
||||
git bulk adds convenient support for operations that you want to execute on multiple git repositories\.
|
||||
.IP "\[ci]" 4
|
||||
.IP "\(bu" 4
|
||||
simply register workspaces that contain multiple git repos in their directory structure
|
||||
.IP "\[ci]" 4
|
||||
.IP "\(bu" 4
|
||||
run any git command on the repositories of the registered workspaces in one command to \fBgit bulk\fR
|
||||
.IP "\[ci]" 4
|
||||
.IP "\(bu" 4
|
||||
use the "guarded mode" to check on each execution
|
||||
.IP "" 0
|
||||
.SH "OPTIONS"
|
||||
|
|
@ -41,27 +38,27 @@ Do not traverse symbolic links under the workspace when searching for git reposi
|
|||
.P
|
||||
Do not traverse hidden (dotted) directories under the workspace when searching for git repositories\.
|
||||
.P
|
||||
\-w <ws\-name>
|
||||
\-w WS\-NAME
|
||||
.P
|
||||
Run the git command on the specified workspace\. The workspace must be registered\.
|
||||
.P
|
||||
<git command>
|
||||
GIT\-COMMAND
|
||||
.P
|
||||
Any git Command you wish to execute on the repositories\.
|
||||
.P
|
||||
\-\-addworkspace
|
||||
\-\-addworkspace WS\-NAME WS\-ROOT\-DIRECTORY (\-\-from URL\-OR\-FILE)
|
||||
.P
|
||||
Register a workspace for bulk operations\. All repositories in the directories below <ws\-root\-directory> get registered under this workspace with the name <ws\-name>\. <ws\-root\-directory> must be absolute path\.
|
||||
Register a workspace for bulk operations\. All repositories in the directories below WS\-ROOT\-DIRECTORY get registered under this workspace with the name WS\-NAME\. WS\-ROOT\-DIRECTORY must be an absolute path\.
|
||||
.P
|
||||
With option '\-\-from' the URL to a single repository or a file containing multiple URLs can be added and they will be cloned directly into the workspace\. Suitable for the initial setup of a multi\-repo project\.
|
||||
.P
|
||||
\-\-removeworkspace <ws\-name>
|
||||
\-\-removeworkspace WS\-NAME
|
||||
.P
|
||||
Remove the workspace with the logical name <ws\-name>\.
|
||||
Remove the workspace with the logical name WS\-NAME\.
|
||||
.P
|
||||
\-\-addcurrent <ws\-name>
|
||||
\-\-addcurrent WS\-NAME
|
||||
.P
|
||||
Adds the current directory as workspace to git bulk operations\. The workspace is referenced with its logical name <ws\-name>\.
|
||||
Adds the current directory as workspace to git bulk operations\. The workspace is referenced with its logical name WS\-NAME\.
|
||||
.P
|
||||
git bulk \-\-purge
|
||||
.P
|
||||
|
|
@ -121,7 +118,7 @@ Remove all registered workspaces:
|
|||
$ git bulk \-\-purge
|
||||
.fi
|
||||
.SH "FILES"
|
||||
.IP "\[ci]" 4
|
||||
.IP "\(bu" 4
|
||||
\fB\.gitconfig\fR: Store the \fBgit\-bulk\fR registered workspaces under the \fBbulkworkspaces\fR key\.
|
||||
.IP "" 0
|
||||
.SH "AUTHOR"
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv='content-type' content='text/html;charset=utf8'>
|
||||
<meta name='generator' content='Ronn-NG/v0.9.1 (http://github.com/apjanke/ronn-ng/tree/0.9.1)'>
|
||||
<meta http-equiv='content-type' content='text/html;charset=utf-8'>
|
||||
<meta name='generator' content='Ronn-NG/v0.10.1 (http://github.com/apjanke/ronn-ng/tree/0.10.1)'>
|
||||
<title>git-bulk(1) - Run git commands on multiple repositories</title>
|
||||
<style type='text/css' media='all'>
|
||||
/* style: man */
|
||||
|
|
@ -78,12 +78,13 @@
|
|||
</p>
|
||||
<h2 id="SYNOPSIS">SYNOPSIS</h2>
|
||||
|
||||
<p><code>git-bulk</code> [-g] [--no-follow-symlinks] [--no-follow-hidden] ([-a]|[-w <ws-name>]) <git command> </git></ws-name><br>
|
||||
<code>git-bulk</code> --addworkspace <ws-name> <ws-root-directory> (--from <url or file>) </url></ws-root-directory></ws-name><br>
|
||||
<code>git-bulk</code> --removeworkspace <ws-name> <br>
|
||||
<code>git-bulk</code> --addcurrent <ws-name> <br>
|
||||
<code>git-bulk</code> --purge <br>
|
||||
<code>git-bulk</code> --listall</p>
|
||||
<pre><code>git-bulk [-q|--quiet] [-g] [--no-follow-symlinks] [--no-follow-hidden] ([-a]|[-w WS-NAME]) GIT-COMMAND
|
||||
git-bulk --addworkspace WS-NAME WS-ROOT-DIRECTORY (--from URL-OR-FILE)
|
||||
git-bulk --removeworkspace WS-NAME
|
||||
git-bulk --addcurrent WS-NAME
|
||||
git-bulk --purge
|
||||
git-bulk --listall
|
||||
</code></pre>
|
||||
|
||||
<h2 id="DESCRIPTION">DESCRIPTION</h2>
|
||||
|
||||
|
|
@ -114,27 +115,27 @@
|
|||
|
||||
<p>Do not traverse hidden (dotted) directories under the workspace when searching for git repositories.</p>
|
||||
|
||||
<p>-w <ws-name></p>
|
||||
<p>-w WS-NAME</p>
|
||||
|
||||
<p>Run the git command on the specified workspace. The workspace must be registered.</p>
|
||||
|
||||
<p><git command></p>
|
||||
<p>GIT-COMMAND</p>
|
||||
|
||||
<p>Any git Command you wish to execute on the repositories.</p>
|
||||
|
||||
<p>--addworkspace <ws-name> <ws-root-directory> (--from <url or file></url></ws-root-directory></ws-name></p>
|
||||
<p>--addworkspace WS-NAME WS-ROOT-DIRECTORY (--from URL-OR-FILE)</p>
|
||||
|
||||
<p>Register a workspace for bulk operations. All repositories in the directories below <ws-root-directory> get registered under this workspace with the name <ws-name>. <ws-root-directory> must be absolute path.</p>
|
||||
<p>Register a workspace for bulk operations. All repositories in the directories below WS-ROOT-DIRECTORY get registered under this workspace with the name WS-NAME. WS-ROOT-DIRECTORY must be an absolute path.</p>
|
||||
|
||||
<p>With option '--from' the URL to a single repository or a file containing multiple URLs can be added and they will be cloned directly into the workspace. Suitable for the initial setup of a multi-repo project.</p>
|
||||
|
||||
<p>--removeworkspace <ws-name></p>
|
||||
<p>--removeworkspace WS-NAME</p>
|
||||
|
||||
<p>Remove the workspace with the logical name <ws-name>.</p>
|
||||
<p>Remove the workspace with the logical name WS-NAME.</p>
|
||||
|
||||
<p>--addcurrent <ws-name></p>
|
||||
<p>--addcurrent WS-NAME</p>
|
||||
|
||||
<p>Adds the current directory as workspace to git bulk operations. The workspace is referenced with its logical name <ws-name>.</p>
|
||||
<p>Adds the current directory as workspace to git bulk operations. The workspace is referenced with its logical name WS-NAME.</p>
|
||||
|
||||
<p>git bulk --purge</p>
|
||||
|
||||
|
|
@ -216,7 +217,7 @@ $ git bulk --purge
|
|||
|
||||
<ol class='man-decor man-foot man foot'>
|
||||
<li class='tl'></li>
|
||||
<li class='tc'>February 2025</li>
|
||||
<li class='tc'>March 2026</li>
|
||||
<li class='tr'>git-bulk(1)</li>
|
||||
</ol>
|
||||
|
||||
|
|
|
|||
|
|
@ -3,12 +3,12 @@ git-bulk(1) -- Run git commands on multiple repositories
|
|||
|
||||
## SYNOPSIS
|
||||
|
||||
`git-bulk` [-g] [--no-follow-symlinks] [--no-follow-hidden] ([-a]|[-w <ws-name>]) <git command> <br/>
|
||||
`git-bulk` --addworkspace <ws-name> <ws-root-directory> (--from <URL or file>) <br/>
|
||||
`git-bulk` --removeworkspace <ws-name> <br/>
|
||||
`git-bulk` --addcurrent <ws-name> <br/>
|
||||
`git-bulk` --purge <br/>
|
||||
`git-bulk` --listall
|
||||
git-bulk [-q|--quiet] [-g] [--no-follow-symlinks] [--no-follow-hidden] ([-a]|[-w WS-NAME]) GIT-COMMAND
|
||||
git-bulk --addworkspace WS-NAME WS-ROOT-DIRECTORY (--from URL-OR-FILE)
|
||||
git-bulk --removeworkspace WS-NAME
|
||||
git-bulk --addcurrent WS-NAME
|
||||
git-bulk --purge
|
||||
git-bulk --listall
|
||||
|
||||
## DESCRIPTION
|
||||
|
||||
|
|
@ -36,27 +36,27 @@ git bulk adds convenient support for operations that you want to execute on mult
|
|||
|
||||
Do not traverse hidden (dotted) directories under the workspace when searching for git repositories.
|
||||
|
||||
-w <ws-name>
|
||||
-w WS-NAME
|
||||
|
||||
Run the git command on the specified workspace. The workspace must be registered.
|
||||
|
||||
<git command>
|
||||
GIT-COMMAND
|
||||
|
||||
Any git Command you wish to execute on the repositories.
|
||||
|
||||
--addworkspace <ws-name> <ws-root-directory> (--from <URL or file&rt;gt;)
|
||||
--addworkspace WS-NAME WS-ROOT-DIRECTORY (--from URL-OR-FILE)
|
||||
|
||||
Register a workspace for bulk operations. All repositories in the directories below <ws-root-directory> get registered under this workspace with the name <ws-name>. <ws-root-directory> must be absolute path.
|
||||
Register a workspace for bulk operations. All repositories in the directories below WS-ROOT-DIRECTORY get registered under this workspace with the name WS-NAME. WS-ROOT-DIRECTORY must be an absolute path.
|
||||
|
||||
With option '--from' the URL to a single repository or a file containing multiple URLs can be added and they will be cloned directly into the workspace. Suitable for the initial setup of a multi-repo project.
|
||||
|
||||
--removeworkspace <ws-name>
|
||||
--removeworkspace WS-NAME
|
||||
|
||||
Remove the workspace with the logical name <ws-name>.
|
||||
Remove the workspace with the logical name WS-NAME.
|
||||
|
||||
--addcurrent <ws-name>
|
||||
--addcurrent WS-NAME
|
||||
|
||||
Adds the current directory as workspace to git bulk operations. The workspace is referenced with its logical name <ws-name>.
|
||||
Adds the current directory as workspace to git bulk operations. The workspace is referenced with its logical name WS-NAME.
|
||||
|
||||
git bulk --purge
|
||||
|
||||
|
|
|
|||
|
|
@ -1,57 +1,52 @@
|
|||
.\" generated with Ronn/v0.7.3
|
||||
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
||||
.
|
||||
.TH "GIT\-COMMITS\-SINCE" "1" "October 2017" "" "Git Extras"
|
||||
.
|
||||
.\" generated with Ronn-NG/v0.9.1
|
||||
.\" http://github.com/apjanke/ronn-ng/tree/0.9.1
|
||||
.TH "GIT\-COMMITS\-SINCE" "1" "January 2026" "" "Git Extras"
|
||||
.SH "NAME"
|
||||
\fBgit\-commits\-since\fR \- Show commit logs since some date
|
||||
.
|
||||
.SH "SYNOPSIS"
|
||||
\fBgit\-commits\-since\fR [<date>]
|
||||
.
|
||||
.TS
|
||||
allbox;
|
||||
\fBgit\-commits\-since\fR [\-r \-\-ref <ref>] [<date>]
|
||||
.TE
|
||||
.SH "DESCRIPTION"
|
||||
List of commits since the given \fIdate\fR\.
|
||||
.
|
||||
List of commits since the given \fIdate\fR or \fIref\fR\.
|
||||
.SH "OPTIONS"
|
||||
<date>
|
||||
.
|
||||
.P
|
||||
Show commits more recent than \fIdate\fR\. By default, the command shows the commit logs since "last week"\.
|
||||
.
|
||||
Show commits more recent than <date>\. By default, the command shows the commit logs since "last week"\.
|
||||
.P
|
||||
\-r, \-\-ref <ref>
|
||||
.P
|
||||
Show commits since the given ref (tag, branch, or commit)\. When specified, the command uses \fBref\.\.HEAD\fR instead of date\-based filtering\.
|
||||
.SH "EXAMPLES"
|
||||
It is really flexible and these are only 3 of the options, go ahead give it a try:
|
||||
.
|
||||
.IP "" 4
|
||||
.
|
||||
.nf
|
||||
|
||||
$ git commits\-since yesterday
|
||||
\.\.\. commits since yesterday
|
||||
nickl\- \- Merge branch upstream master\.
|
||||
nickl\- \- Rebase bolshakov with master
|
||||
TJ Holowaychuk \- Merge pull request #128 from nickl\-/git\-extras\-html\-hyperlinks
|
||||
TJ Holowaychuk \- Merge pull request #129 from nickl\-/develop
|
||||
nickl\- \- Fix #127 git\-ignore won\'t add duplicates\.
|
||||
aa084d9 TweeKane \- Add global gitignore to git\-ignore output
|
||||
515e94a TJ Holowaychuk \- Merge pull request #128 from nickl\-/git\-extras\-html\-hyperlinks
|
||||
5f86b54 TJ Holowaychuk \- Merge pull request #129 from nickl\-/develop
|
||||
7398d10 nickl\- \- Fix #127 git\-ignore won\'t add duplicates\.
|
||||
|
||||
$ git commits\-since 3 o clock pm
|
||||
\.\.\. commits since 3 o clock pm
|
||||
nickl\- \- Merge branch upstream master\.
|
||||
aa084d9 TweeKane \- Add global gitignore to git\-ignore output
|
||||
|
||||
$ git commits\-since 2 hour ago
|
||||
\.\.\. commits since 2 hour ago
|
||||
nickl\- \- Merge branch upstream master\.
|
||||
TJ Holowaychuk \- Merge pull request #128 from nickl\-/git\-extras\-html\-hyperlinks
|
||||
TJ Holowaychuk \- Merge pull request #129 from nickl\-/develop
|
||||
.
|
||||
aa084d9 TweeKane \- Add global gitignore to git\-ignore output
|
||||
515e94a TJ Holowaychuk \- Merge pull request #128 from nickl\-/git\-extras\-html\-hyperlinks
|
||||
5f86b54 TJ Holowaychuk \- Merge pull request #129 from nickl\-/develop
|
||||
|
||||
$ git commits\-since \-\-ref 7\.4\.0
|
||||
6ed2643 John Bachir \- ability to specify command when hitting enter (#1223)
|
||||
b9bd309 John Bachir \- Improve `git\-repl` prompt (#1224)
|
||||
6f4cf0c johnpyp \- feat: `delete\-branch` multiple unique branch names completions (#1221)
|
||||
\|\.\|\.\|\.
|
||||
215382b 罗泽轩 \- Bump version to 7\.5\.0\-dev (#1207)
|
||||
.fi
|
||||
.
|
||||
.IP "" 0
|
||||
.
|
||||
.SH "AUTHOR"
|
||||
Written by Tj Holowaychuk <\fItj@vision\-media\.ca\fR>
|
||||
.
|
||||
.SH "REPORTING BUGS"
|
||||
<\fIhttps://github\.com/tj/git\-extras/issues\fR>
|
||||
.
|
||||
.SH "SEE ALSO"
|
||||
<\fIhttps://github\.com/tj/git\-extras\fR>
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv='content-type' value='text/html;charset=utf8'>
|
||||
<meta name='generator' value='Ronn/v0.7.3 (http://github.com/rtomayko/ronn/tree/0.7.3)'>
|
||||
<meta http-equiv='content-type' content='text/html;charset=utf8'>
|
||||
<meta name='generator' content='Ronn-NG/v0.9.1 (http://github.com/apjanke/ronn-ng/tree/0.9.1)'>
|
||||
<title>git-commits-since(1) - Show commit logs since some date</title>
|
||||
<style type='text/css' media='all'>
|
||||
/* style: man */
|
||||
|
|
@ -69,51 +69,67 @@
|
|||
<li class='tr'>git-commits-since(1)</li>
|
||||
</ol>
|
||||
|
||||
<h2 id="NAME">NAME</h2>
|
||||
|
||||
|
||||
<h2 id="NAME">NAME</h2>
|
||||
<p class="man-name">
|
||||
<code>git-commits-since</code> - <span class="man-whatis">Show commit logs since some date</span>
|
||||
</p>
|
||||
|
||||
<h2 id="SYNOPSIS">SYNOPSIS</h2>
|
||||
|
||||
<p><code>git-commits-since</code> [<date>]</p>
|
||||
<table>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<code>git-commits-since</code> [-r</td>
|
||||
<td>--ref <ref>] [<date>]</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<h2 id="DESCRIPTION">DESCRIPTION</h2>
|
||||
|
||||
<p> List of commits since the given <em>date</em>.</p>
|
||||
<p>List of commits since the given <em>date</em> or <em>ref</em>.</p>
|
||||
|
||||
<h2 id="OPTIONS">OPTIONS</h2>
|
||||
|
||||
<p> <date></p>
|
||||
<p><date></p>
|
||||
|
||||
<p> Show commits more recent than <var>date</var>. By default, the command shows the commit logs since "last week".</p>
|
||||
<p>Show commits more recent than <date>. By default, the command shows the commit logs since "last week".</p>
|
||||
|
||||
<p>-r, --ref <ref></p>
|
||||
|
||||
<p>Show commits since the given ref (tag, branch, or commit). When specified, the command uses <code>ref..HEAD</code> instead of date-based filtering.</p>
|
||||
|
||||
<h2 id="EXAMPLES">EXAMPLES</h2>
|
||||
|
||||
<p> It is really flexible and these are only 3 of the options, go ahead give it a try:</p>
|
||||
<p>It is really flexible and these are only 3 of the options, go ahead give it a try:</p>
|
||||
|
||||
<pre><code>$ git commits-since yesterday
|
||||
... commits since yesterday
|
||||
nickl- - Merge branch upstream master.
|
||||
nickl- - Rebase bolshakov with master
|
||||
TJ Holowaychuk - Merge pull request #128 from nickl-/git-extras-html-hyperlinks
|
||||
TJ Holowaychuk - Merge pull request #129 from nickl-/develop
|
||||
nickl- - Fix #127 git-ignore won't add duplicates.
|
||||
aa084d9 TweeKane - Add global gitignore to git-ignore output
|
||||
515e94a TJ Holowaychuk - Merge pull request #128 from nickl-/git-extras-html-hyperlinks
|
||||
5f86b54 TJ Holowaychuk - Merge pull request #129 from nickl-/develop
|
||||
7398d10 nickl- - Fix #127 git-ignore won't add duplicates.
|
||||
|
||||
$ git commits-since 3 o clock pm
|
||||
... commits since 3 o clock pm
|
||||
nickl- - Merge branch upstream master.
|
||||
aa084d9 TweeKane - Add global gitignore to git-ignore output
|
||||
|
||||
$ git commits-since 2 hour ago
|
||||
... commits since 2 hour ago
|
||||
nickl- - Merge branch upstream master.
|
||||
TJ Holowaychuk - Merge pull request #128 from nickl-/git-extras-html-hyperlinks
|
||||
TJ Holowaychuk - Merge pull request #129 from nickl-/develop
|
||||
aa084d9 TweeKane - Add global gitignore to git-ignore output
|
||||
515e94a TJ Holowaychuk - Merge pull request #128 from nickl-/git-extras-html-hyperlinks
|
||||
5f86b54 TJ Holowaychuk - Merge pull request #129 from nickl-/develop
|
||||
|
||||
$ git commits-since --ref 7.4.0
|
||||
6ed2643 John Bachir - ability to specify command when hitting enter (#1223)
|
||||
b9bd309 John Bachir - Improve `git-repl` prompt (#1224)
|
||||
6f4cf0c johnpyp - feat: `delete-branch` multiple unique branch names completions (#1221)
|
||||
...
|
||||
215382b 罗泽轩 - Bump version to 7.5.0-dev (#1207)
|
||||
</code></pre>
|
||||
|
||||
<h2 id="AUTHOR">AUTHOR</h2>
|
||||
|
||||
<p>Written by Tj Holowaychuk <<a href="mailto:tj@vision-media.ca" data-bare-link="true">tj@vision-media.ca</a>></p>
|
||||
<p>Written by Tj Holowaychuk <<a href="mailto:tj@vision-media.ca" data-bare-link="true">tj@vision-media.ca</a>></p>
|
||||
|
||||
<h2 id="REPORTING-BUGS">REPORTING BUGS</h2>
|
||||
|
||||
|
|
@ -123,10 +139,9 @@ TJ Holowaychuk - Merge pull request #129 from nickl-/develop
|
|||
|
||||
<p><<a href="https://github.com/tj/git-extras" data-bare-link="true">https://github.com/tj/git-extras</a>></p>
|
||||
|
||||
|
||||
<ol class='man-decor man-foot man foot'>
|
||||
<li class='tl'></li>
|
||||
<li class='tc'>October 2017</li>
|
||||
<li class='tc'>January 2026</li>
|
||||
<li class='tr'>git-commits-since(1)</li>
|
||||
</ol>
|
||||
|
||||
|
|
|
|||
|
|
@ -3,40 +3,46 @@ git-commits-since(1) -- Show commit logs since some date
|
|||
|
||||
## SYNOPSIS
|
||||
|
||||
`git-commits-since` [<date>]
|
||||
`git-commits-since` [-r|--ref <ref>] [<date>]
|
||||
|
||||
## DESCRIPTION
|
||||
|
||||
List of commits since the given _date_.
|
||||
List of commits since the given _date_ or _ref_.
|
||||
|
||||
## OPTIONS
|
||||
|
||||
<date>
|
||||
|
||||
Show commits more recent than <date>. By default, the command shows the commit logs since "last week".
|
||||
Show commits more recent than <date>. By default, the command shows the commit logs since "last week".
|
||||
|
||||
-r, --ref <ref>
|
||||
|
||||
Show commits since the given ref (tag, branch, or commit). When specified, the command uses `ref..HEAD` instead of date-based filtering.
|
||||
|
||||
## EXAMPLES
|
||||
|
||||
It is really flexible and these are only 3 of the options, go ahead give it a try:
|
||||
|
||||
$ git commits-since yesterday
|
||||
... commits since yesterday
|
||||
nickl- - Merge branch upstream master.
|
||||
nickl- - Rebase bolshakov with master
|
||||
TJ Holowaychuk - Merge pull request #128 from nickl-/git-extras-html-hyperlinks
|
||||
TJ Holowaychuk - Merge pull request #129 from nickl-/develop
|
||||
nickl- - Fix #127 git-ignore won't add duplicates.
|
||||
aa084d9 TweeKane - Add global gitignore to git-ignore output
|
||||
515e94a TJ Holowaychuk - Merge pull request #128 from nickl-/git-extras-html-hyperlinks
|
||||
5f86b54 TJ Holowaychuk - Merge pull request #129 from nickl-/develop
|
||||
7398d10 nickl- - Fix #127 git-ignore won't add duplicates.
|
||||
|
||||
$ git commits-since 3 o clock pm
|
||||
... commits since 3 o clock pm
|
||||
nickl- - Merge branch upstream master.
|
||||
aa084d9 TweeKane - Add global gitignore to git-ignore output
|
||||
|
||||
$ git commits-since 2 hour ago
|
||||
... commits since 2 hour ago
|
||||
nickl- - Merge branch upstream master.
|
||||
TJ Holowaychuk - Merge pull request #128 from nickl-/git-extras-html-hyperlinks
|
||||
TJ Holowaychuk - Merge pull request #129 from nickl-/develop
|
||||
aa084d9 TweeKane - Add global gitignore to git-ignore output
|
||||
515e94a TJ Holowaychuk - Merge pull request #128 from nickl-/git-extras-html-hyperlinks
|
||||
5f86b54 TJ Holowaychuk - Merge pull request #129 from nickl-/develop
|
||||
|
||||
$ git commits-since --ref 7.4.0
|
||||
6ed2643 John Bachir - ability to specify command when hitting enter (#1223)
|
||||
b9bd309 John Bachir - Improve `git-repl` prompt (#1224)
|
||||
6f4cf0c johnpyp - feat: `delete-branch` multiple unique branch names completions (#1221)
|
||||
...
|
||||
215382b 罗泽轩 - Bump version to 7.5.0-dev (#1207)
|
||||
|
||||
## AUTHOR
|
||||
|
||||
|
|
|
|||
54
man/git-delete-gone-branches.1
Normal file
54
man/git-delete-gone-branches.1
Normal file
|
|
@ -0,0 +1,54 @@
|
|||
.\" generated with Ronn/v0.7.3
|
||||
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
||||
.
|
||||
.TH "GIT\-DELETE\-GONE\-BRANCHES" "1" "March 2026" "" "Git Extras"
|
||||
.
|
||||
.SH "NAME"
|
||||
\fBgit\-delete\-gone\-branches\fR \- Delete branches whose remote is gone
|
||||
.
|
||||
.SH "SYNOPSIS"
|
||||
\fBgit\-delete\-gone\-branches\fR [\-n|\-\-dry\-run] [\-f|\-\-force] [\-p|\-\-prune]
|
||||
.
|
||||
.SH "DESCRIPTION"
|
||||
Deletes all local branches whose remote\-tracking branch has been deleted\. This commonly happens after a pull request is merged and the remote branch is removed\. By default, lists the branches and prompts for confirmation before deleting\.
|
||||
.
|
||||
.SH "OPTIONS"
|
||||
\-n, \-\-dry\-run
|
||||
.
|
||||
.P
|
||||
Show the branches that would be deleted without actually deleting them\.
|
||||
.
|
||||
.P
|
||||
\-f, \-\-force
|
||||
.
|
||||
.P
|
||||
Skip the confirmation prompt and delete branches immediately\.
|
||||
.
|
||||
.P
|
||||
\-p, \-\-prune
|
||||
.
|
||||
.P
|
||||
Run \fBgit fetch \-\-prune\fR before checking for gone branches, to ensure remote\-tracking refs are up to date\.
|
||||
.
|
||||
.SH "EXAMPLES"
|
||||
.
|
||||
.nf
|
||||
|
||||
$ git delete\-gone\-branches
|
||||
|
||||
$ git delete\-gone\-branches \-\-dry\-run
|
||||
|
||||
$ git delete\-gone\-branches \-\-force
|
||||
|
||||
$ git delete\-gone\-branches \-\-prune
|
||||
.
|
||||
.fi
|
||||
.
|
||||
.SH "AUTHOR"
|
||||
Written by Utsav Sabharwal <\fIhttps://github\.com/codersofthedark\fR>
|
||||
.
|
||||
.SH "REPORTING BUGS"
|
||||
<\fIhttps://github\.com/tj/git\-extras/issues\fR>
|
||||
.
|
||||
.SH "SEE ALSO"
|
||||
<\fIhttps://github\.com/tj/git\-extras\fR>
|
||||
135
man/git-delete-gone-branches.html
Normal file
135
man/git-delete-gone-branches.html
Normal file
|
|
@ -0,0 +1,135 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv='content-type' value='text/html;charset=utf8'>
|
||||
<meta name='generator' value='Ronn/v0.7.3 (http://github.com/rtomayko/ronn/tree/0.7.3)'>
|
||||
<title>git-delete-gone-branches(1) - Delete branches whose remote is gone</title>
|
||||
<style type='text/css' media='all'>
|
||||
/* style: man */
|
||||
body#manpage {margin:0}
|
||||
.mp {max-width:100ex;padding:0 9ex 1ex 4ex}
|
||||
.mp p,.mp pre,.mp ul,.mp ol,.mp dl {margin:0 0 20px 0}
|
||||
.mp h2 {margin:10px 0 0 0}
|
||||
.mp > p,.mp > pre,.mp > ul,.mp > ol,.mp > dl {margin-left:8ex}
|
||||
.mp h3 {margin:0 0 0 4ex}
|
||||
.mp dt {margin:0;clear:left}
|
||||
.mp dt.flush {float:left;width:8ex}
|
||||
.mp dd {margin:0 0 0 9ex}
|
||||
.mp h1,.mp h2,.mp h3,.mp h4 {clear:left}
|
||||
.mp pre {margin-bottom:20px}
|
||||
.mp pre+h2,.mp pre+h3 {margin-top:22px}
|
||||
.mp h2+pre,.mp h3+pre {margin-top:5px}
|
||||
.mp img {display:block;margin:auto}
|
||||
.mp h1.man-title {display:none}
|
||||
.mp,.mp code,.mp pre,.mp tt,.mp kbd,.mp samp,.mp h3,.mp h4 {font-family:monospace;font-size:14px;line-height:1.42857142857143}
|
||||
.mp h2 {font-size:16px;line-height:1.25}
|
||||
.mp h1 {font-size:20px;line-height:2}
|
||||
.mp {text-align:justify;background:#fff}
|
||||
.mp,.mp code,.mp pre,.mp pre code,.mp tt,.mp kbd,.mp samp {color:#131211}
|
||||
.mp h1,.mp h2,.mp h3,.mp h4 {color:#030201}
|
||||
.mp u {text-decoration:underline}
|
||||
.mp code,.mp strong,.mp b {font-weight:bold;color:#131211}
|
||||
.mp em,.mp var {font-style:italic;color:#232221;text-decoration:none}
|
||||
.mp a,.mp a:link,.mp a:hover,.mp a code,.mp a pre,.mp a tt,.mp a kbd,.mp a samp {color:#0000ff}
|
||||
.mp b.man-ref {font-weight:normal;color:#434241}
|
||||
.mp pre {padding:0 4ex}
|
||||
.mp pre code {font-weight:normal;color:#434241}
|
||||
.mp h2+pre,h3+pre {padding-left:0}
|
||||
ol.man-decor,ol.man-decor li {margin:3px 0 10px 0;padding:0;float:left;width:33%;list-style-type:none;text-transform:uppercase;color:#999;letter-spacing:1px}
|
||||
ol.man-decor {width:100%}
|
||||
ol.man-decor li.tl {text-align:left}
|
||||
ol.man-decor li.tc {text-align:center;letter-spacing:4px}
|
||||
ol.man-decor li.tr {text-align:right;float:right}
|
||||
</style>
|
||||
</head>
|
||||
<!--
|
||||
The following styles are deprecated and will be removed at some point:
|
||||
div#man, div#man ol.man, div#man ol.head, div#man ol.man.
|
||||
|
||||
The .man-page, .man-decor, .man-head, .man-foot, .man-title, and
|
||||
.man-navigation should be used instead.
|
||||
-->
|
||||
<body id='manpage'>
|
||||
<div class='mp' id='man'>
|
||||
|
||||
<div class='man-navigation' style='display:none'>
|
||||
<a href="#NAME">NAME</a>
|
||||
<a href="#SYNOPSIS">SYNOPSIS</a>
|
||||
<a href="#DESCRIPTION">DESCRIPTION</a>
|
||||
<a href="#OPTIONS">OPTIONS</a>
|
||||
<a href="#EXAMPLES">EXAMPLES</a>
|
||||
<a href="#AUTHOR">AUTHOR</a>
|
||||
<a href="#REPORTING-BUGS">REPORTING BUGS</a>
|
||||
<a href="#SEE-ALSO">SEE ALSO</a>
|
||||
</div>
|
||||
|
||||
<ol class='man-decor man-head man head'>
|
||||
<li class='tl'>git-delete-gone-branches(1)</li>
|
||||
<li class='tc'>Git Extras</li>
|
||||
<li class='tr'>git-delete-gone-branches(1)</li>
|
||||
</ol>
|
||||
|
||||
<h2 id="NAME">NAME</h2>
|
||||
<p class="man-name">
|
||||
<code>git-delete-gone-branches</code> - <span class="man-whatis">Delete branches whose remote is gone</span>
|
||||
</p>
|
||||
|
||||
<h2 id="SYNOPSIS">SYNOPSIS</h2>
|
||||
|
||||
<p><code>git-delete-gone-branches</code> [-n|--dry-run] [-f|--force] [-p|--prune]</p>
|
||||
|
||||
<h2 id="DESCRIPTION">DESCRIPTION</h2>
|
||||
|
||||
<p> Deletes all local branches whose remote-tracking branch has been deleted.
|
||||
This commonly happens after a pull request is merged and the remote branch
|
||||
is removed. By default, lists the branches and prompts for confirmation
|
||||
before deleting.</p>
|
||||
|
||||
<h2 id="OPTIONS">OPTIONS</h2>
|
||||
|
||||
<p> -n, --dry-run</p>
|
||||
|
||||
<p> Show the branches that would be deleted without actually deleting them.</p>
|
||||
|
||||
<p> -f, --force</p>
|
||||
|
||||
<p> Skip the confirmation prompt and delete branches immediately.</p>
|
||||
|
||||
<p> -p, --prune</p>
|
||||
|
||||
<p> Run <code>git fetch --prune</code> before checking for gone branches, to ensure
|
||||
remote-tracking refs are up to date.</p>
|
||||
|
||||
<h2 id="EXAMPLES">EXAMPLES</h2>
|
||||
|
||||
<pre><code>$ git delete-gone-branches
|
||||
|
||||
$ git delete-gone-branches --dry-run
|
||||
|
||||
$ git delete-gone-branches --force
|
||||
|
||||
$ git delete-gone-branches --prune
|
||||
</code></pre>
|
||||
|
||||
<h2 id="AUTHOR">AUTHOR</h2>
|
||||
|
||||
<p>Written by Utsav Sabharwal <<a href="mailto:utsav.sabharwal@sysdig.com" data-bare-link="true">utsav.sabharwal@sysdig.com</a>></p>
|
||||
|
||||
<h2 id="REPORTING-BUGS">REPORTING BUGS</h2>
|
||||
|
||||
<p><<a href="https://github.com/tj/git-extras/issues" data-bare-link="true">https://github.com/tj/git-extras/issues</a>></p>
|
||||
|
||||
<h2 id="SEE-ALSO">SEE ALSO</h2>
|
||||
|
||||
<p><<a href="https://github.com/tj/git-extras" data-bare-link="true">https://github.com/tj/git-extras</a>></p>
|
||||
|
||||
|
||||
<ol class='man-decor man-foot man foot'>
|
||||
<li class='tl'></li>
|
||||
<li class='tc'>March 2026</li>
|
||||
<li class='tr'>git-delete-gone-branches(1)</li>
|
||||
</ol>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
50
man/git-delete-gone-branches.md
Normal file
50
man/git-delete-gone-branches.md
Normal file
|
|
@ -0,0 +1,50 @@
|
|||
git-delete-gone-branches(1) -- Delete branches whose remote is gone
|
||||
====================================================================
|
||||
|
||||
## SYNOPSIS
|
||||
|
||||
`git-delete-gone-branches` [-n|--dry-run] [-f|--force] [-p|--prune]
|
||||
|
||||
## DESCRIPTION
|
||||
|
||||
Deletes all local branches whose remote-tracking branch has been deleted.
|
||||
This commonly happens after a pull request is merged and the remote branch
|
||||
is removed. By default, lists the branches and prompts for confirmation
|
||||
before deleting.
|
||||
|
||||
## OPTIONS
|
||||
|
||||
-n, --dry-run
|
||||
|
||||
Show the branches that would be deleted without actually deleting them.
|
||||
|
||||
-f, --force
|
||||
|
||||
Skip the confirmation prompt and delete branches immediately.
|
||||
|
||||
-p, --prune
|
||||
|
||||
Run `git fetch --prune` before checking for gone branches, to ensure
|
||||
remote-tracking refs are up to date.
|
||||
|
||||
## EXAMPLES
|
||||
|
||||
$ git delete-gone-branches
|
||||
|
||||
$ git delete-gone-branches --dry-run
|
||||
|
||||
$ git delete-gone-branches --force
|
||||
|
||||
$ git delete-gone-branches --prune
|
||||
|
||||
## AUTHOR
|
||||
|
||||
Written by Utsav Sabharwal <<https://github.com/codersofthedark>>
|
||||
|
||||
## REPORTING BUGS
|
||||
|
||||
<<https://github.com/tj/git-extras/issues>>
|
||||
|
||||
## SEE ALSO
|
||||
|
||||
<<https://github.com/tj/git-extras>>
|
||||
|
|
@ -1,30 +1,19 @@
|
|||
.\" generated with Ronn/v0.7.3
|
||||
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
||||
.
|
||||
.TH "GIT\-DELETE\-MERGED\-BRANCHES" "1" "October 2017" "" "Git Extras"
|
||||
.
|
||||
.\" generated with Ronn-NG/v0.10.1
|
||||
.\" http://github.com/apjanke/ronn-ng/tree/0.10.1
|
||||
.TH "GIT\-DELETE\-MERGED\-BRANCHES" "1" "March 2026" "" "Git Extras"
|
||||
.SH "NAME"
|
||||
\fBgit\-delete\-merged\-branches\fR \- Delete merged branches
|
||||
.
|
||||
.SH "SYNOPSIS"
|
||||
\fBgit\-delete\-merged\-branches\fR
|
||||
.
|
||||
.SH "DESCRIPTION"
|
||||
Deletes all branches merged in to current HEAD\. Does not delete \fImaster\fR, even if run from a branch that is a descendant of \fImaster\fR\.
|
||||
.
|
||||
Deletes all branches merged in to current HEAD\. Does not delete the default branch, even if run from a branch that is a descendant of it\.
|
||||
.SH "EXAMPLES"
|
||||
.
|
||||
.nf
|
||||
|
||||
$ git delete\-merged\-branches
|
||||
.
|
||||
.fi
|
||||
.
|
||||
.SH "AUTHOR"
|
||||
Written by Jesús Espino <\fIjespinog@gmail\.com\fR>
|
||||
.
|
||||
.SH "REPORTING BUGS"
|
||||
<\fIhttps://github\.com/tj/git\-extras/issues\fR>
|
||||
.
|
||||
.SH "SEE ALSO"
|
||||
<\fIhttps://github\.com/tj/git\-extras\fR>
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv='content-type' value='text/html;charset=utf8'>
|
||||
<meta name='generator' value='Ronn/v0.7.3 (http://github.com/rtomayko/ronn/tree/0.7.3)'>
|
||||
<meta http-equiv='content-type' content='text/html;charset=utf-8'>
|
||||
<meta name='generator' content='Ronn-NG/v0.10.1 (http://github.com/apjanke/ronn-ng/tree/0.10.1)'>
|
||||
<title>git-delete-merged-branches(1) - Delete merged branches</title>
|
||||
<style type='text/css' media='all'>
|
||||
/* style: man */
|
||||
|
|
@ -68,19 +68,20 @@
|
|||
<li class='tr'>git-delete-merged-branches(1)</li>
|
||||
</ol>
|
||||
|
||||
<h2 id="NAME">NAME</h2>
|
||||
|
||||
|
||||
<h2 id="NAME">NAME</h2>
|
||||
<p class="man-name">
|
||||
<code>git-delete-merged-branches</code> - <span class="man-whatis">Delete merged branches</span>
|
||||
</p>
|
||||
|
||||
<h2 id="SYNOPSIS">SYNOPSIS</h2>
|
||||
|
||||
<p><code>git-delete-merged-branches</code></p>
|
||||
|
||||
<h2 id="DESCRIPTION">DESCRIPTION</h2>
|
||||
|
||||
<p> Deletes all branches merged in to current HEAD. Does not delete <em>master</em>, even if run from a branch that is
|
||||
a descendant of <em>master</em>.</p>
|
||||
<p>Deletes all branches merged in to current HEAD. Does not delete the default branch, even if run from a branch that is
|
||||
a descendant of it.</p>
|
||||
|
||||
<h2 id="EXAMPLES">EXAMPLES</h2>
|
||||
|
||||
|
|
@ -89,7 +90,7 @@
|
|||
|
||||
<h2 id="AUTHOR">AUTHOR</h2>
|
||||
|
||||
<p>Written by Jesús Espino <<a href="mailto:jespinog@gmail.com" data-bare-link="true">jespinog@gmail.com</a>></p>
|
||||
<p>Written by Jesús Espino <<a href="mailto:jespinog@gmail.com" data-bare-link="true">jespinog@gmail.com</a>></p>
|
||||
|
||||
<h2 id="REPORTING-BUGS">REPORTING BUGS</h2>
|
||||
|
||||
|
|
@ -99,10 +100,9 @@
|
|||
|
||||
<p><<a href="https://github.com/tj/git-extras" data-bare-link="true">https://github.com/tj/git-extras</a>></p>
|
||||
|
||||
|
||||
<ol class='man-decor man-foot man foot'>
|
||||
<li class='tl'></li>
|
||||
<li class='tc'>October 2017</li>
|
||||
<li class='tc'>March 2026</li>
|
||||
<li class='tr'>git-delete-merged-branches(1)</li>
|
||||
</ol>
|
||||
|
||||
|
|
|
|||
|
|
@ -7,8 +7,8 @@ git-delete-merged-branches(1) -- Delete merged branches
|
|||
|
||||
## DESCRIPTION
|
||||
|
||||
Deletes all branches merged in to current HEAD. Does not delete *master*, even if run from a branch that is
|
||||
a descendant of *master*.
|
||||
Deletes all branches merged in to current HEAD. Does not delete the default branch, even if run from a branch that is
|
||||
a descendant of it.
|
||||
|
||||
## EXAMPLES
|
||||
|
||||
|
|
|
|||
|
|
@ -1,48 +1,29 @@
|
|||
.\" generated with Ronn/v0.7.3
|
||||
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
||||
.
|
||||
.TH "GIT\-DELTA" "1" "October 2017" "" "Git Extras"
|
||||
.
|
||||
.\" generated with Ronn-NG/v0.10.1
|
||||
.\" http://github.com/apjanke/ronn-ng/tree/0.10.1
|
||||
.TH "GIT\-DELTA" "1" "March 2026" "" "Git Extras"
|
||||
.SH "NAME"
|
||||
\fBgit\-delta\fR \- Lists changed files
|
||||
.
|
||||
.SH "SYNOPSIS"
|
||||
\fBgit\-delta\fR [<branch>] [<filter>]
|
||||
.
|
||||
.SH "DESCRIPTION"
|
||||
Lists all files that differ from a branch\. By default, lists files that have been added, copied, or modified as compared to the \fBmaster\fR branch\.
|
||||
.
|
||||
Lists all files that differ from a branch\. By default, lists files that have been added, copied, or modified as compared to the configured default branch\.
|
||||
.SH "EXAMPLES"
|
||||
Lists all modified and renamed files vs\. \fBmaster\fR:
|
||||
.
|
||||
Lists all modified and renamed files vs\. \fBmain\fR:
|
||||
.IP "" 4
|
||||
.
|
||||
.nf
|
||||
|
||||
$ git delta master MR
|
||||
.
|
||||
$ git delta main MR
|
||||
.fi
|
||||
.
|
||||
.IP "" 0
|
||||
.
|
||||
.P
|
||||
Lists all deleted files vs\. \fBexample\fR:
|
||||
.
|
||||
.IP "" 4
|
||||
.
|
||||
.nf
|
||||
|
||||
$ git delta example D
|
||||
.
|
||||
.fi
|
||||
.
|
||||
.IP "" 0
|
||||
.
|
||||
.SH "AUTHOR"
|
||||
Written by Ivan Malopinsky <\fIhello@imsky\.co\fR>
|
||||
.
|
||||
.SH "REPORTING BUGS"
|
||||
<\fIhttps://github\.com/tj/git\-extras/issues\fR>
|
||||
.
|
||||
.SH "SEE ALSO"
|
||||
<\fIhttps://github\.com/tj/git\-extras\fR>
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv='content-type' value='text/html;charset=utf8'>
|
||||
<meta name='generator' value='Ronn/v0.7.3 (http://github.com/rtomayko/ronn/tree/0.7.3)'>
|
||||
<meta http-equiv='content-type' content='text/html;charset=utf-8'>
|
||||
<meta name='generator' content='Ronn-NG/v0.10.1 (http://github.com/apjanke/ronn-ng/tree/0.10.1)'>
|
||||
<title>git-delta(1) - Lists changed files</title>
|
||||
<style type='text/css' media='all'>
|
||||
/* style: man */
|
||||
|
|
@ -68,34 +68,35 @@
|
|||
<li class='tr'>git-delta(1)</li>
|
||||
</ol>
|
||||
|
||||
<h2 id="NAME">NAME</h2>
|
||||
|
||||
|
||||
<h2 id="NAME">NAME</h2>
|
||||
<p class="man-name">
|
||||
<code>git-delta</code> - <span class="man-whatis">Lists changed files</span>
|
||||
</p>
|
||||
|
||||
<h2 id="SYNOPSIS">SYNOPSIS</h2>
|
||||
|
||||
<p><code>git-delta</code> [<branch>] [<filter>]</p>
|
||||
|
||||
<h2 id="DESCRIPTION">DESCRIPTION</h2>
|
||||
|
||||
<p>Lists all files that differ from a branch. By default, lists files that have been added, copied, or modified as compared to the <code>master</code> branch.</p>
|
||||
<p>Lists all files that differ from a branch. By default, lists files that have been added, copied, or modified as compared to the configured default branch.</p>
|
||||
|
||||
<h2 id="EXAMPLES">EXAMPLES</h2>
|
||||
|
||||
<p> Lists all modified and renamed files vs. <code>master</code>:</p>
|
||||
<p>Lists all modified and renamed files vs. <code>main</code>:</p>
|
||||
|
||||
<pre><code>$ git delta master MR
|
||||
<pre><code>$ git delta main MR
|
||||
</code></pre>
|
||||
|
||||
<p> Lists all deleted files vs. <code>example</code>:</p>
|
||||
<p>Lists all deleted files vs. <code>example</code>:</p>
|
||||
|
||||
<pre><code>$ git delta example D
|
||||
</code></pre>
|
||||
|
||||
<h2 id="AUTHOR">AUTHOR</h2>
|
||||
|
||||
<p>Written by Ivan Malopinsky <<a href="mailto:hello@imsky.co" data-bare-link="true">hello@imsky.co</a>></p>
|
||||
<p>Written by Ivan Malopinsky <<a href="mailto:hello@imsky.co" data-bare-link="true">hello@imsky.co</a>></p>
|
||||
|
||||
<h2 id="REPORTING-BUGS">REPORTING BUGS</h2>
|
||||
|
||||
|
|
@ -105,10 +106,9 @@
|
|||
|
||||
<p><<a href="https://github.com/tj/git-extras" data-bare-link="true">https://github.com/tj/git-extras</a>></p>
|
||||
|
||||
|
||||
<ol class='man-decor man-foot man foot'>
|
||||
<li class='tl'></li>
|
||||
<li class='tc'>October 2017</li>
|
||||
<li class='tc'>March 2026</li>
|
||||
<li class='tr'>git-delta(1)</li>
|
||||
</ol>
|
||||
|
||||
|
|
|
|||
|
|
@ -7,13 +7,13 @@ git-delta(1) -- Lists changed files
|
|||
|
||||
## DESCRIPTION
|
||||
|
||||
Lists all files that differ from a branch. By default, lists files that have been added, copied, or modified as compared to the `master` branch.
|
||||
Lists all files that differ from a branch. By default, lists files that have been added, copied, or modified as compared to the configured default branch.
|
||||
|
||||
## EXAMPLES
|
||||
|
||||
Lists all modified and renamed files vs. `master`:
|
||||
Lists all modified and renamed files vs. `main`:
|
||||
|
||||
$ git delta master MR
|
||||
$ git delta main MR
|
||||
|
||||
Lists all deleted files vs. `example`:
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
.\" generated with Ronn-NG/v0.10.1
|
||||
.\" http://github.com/apjanke/ronn-ng/tree/0.10.1
|
||||
.TH "GIT\-EXTRAS" "1" "May 2025" "" "Git Extras"
|
||||
.TH "GIT\-EXTRAS" "1" "May 2026" "" "Git Extras"
|
||||
.SH "NAME"
|
||||
\fBgit\-extras\fR \- Awesome GIT utilities
|
||||
.SH "SYNOPSIS"
|
||||
|
|
@ -31,9 +31,9 @@ Change the default branch to \fB$BRANCH\fR\. If \fBgit\-extras\.default\-branch\
|
|||
.IP "\(bu" 4
|
||||
\fBgit\-authors(1)\fR Generate authors report
|
||||
.IP "\(bu" 4
|
||||
\fBgit\-browse\-ci(1)\fR \fIView the web page for the current repository\fR
|
||||
\fBgit\-browse\-ci(1)\fR View the CI page for the current repository
|
||||
.IP "\(bu" 4
|
||||
\fBgit\-browse(1)\fR \fIView the web page for the current repository\fR
|
||||
\fBgit\-browse(1)\fR View the web page for the current repository
|
||||
.IP "\(bu" 4
|
||||
\fBgit\-brv(1)\fR List branches sorted by their last commit date
|
||||
.IP "\(bu" 4
|
||||
|
|
|
|||
|
|
@ -111,11 +111,9 @@
|
|||
<li>
|
||||
<strong><a class="man-ref" href="git-authors.html">git-authors<span class="s">(1)</span></a></strong> Generate authors report</li>
|
||||
<li>
|
||||
<strong><a class="man-ref" href="git-browse-ci.html">git-browse-ci<span class="s">(1)</span></a></strong> <var>View the web page for the current repository</var>
|
||||
</li>
|
||||
<strong><a class="man-ref" href="git-browse-ci.html">git-browse-ci<span class="s">(1)</span></a></strong> View the CI page for the current repository</li>
|
||||
<li>
|
||||
<strong><a class="man-ref" href="git-browse.html">git-browse<span class="s">(1)</span></a></strong> <var>View the web page for the current repository</var>
|
||||
</li>
|
||||
<strong><a class="man-ref" href="git-browse.html">git-browse<span class="s">(1)</span></a></strong> View the web page for the current repository</li>
|
||||
<li>
|
||||
<strong><a class="man-ref" href="git-brv.html">git-brv<span class="s">(1)</span></a></strong> List branches sorted by their last commit date</li>
|
||||
<li>
|
||||
|
|
@ -273,7 +271,7 @@
|
|||
|
||||
<ol class='man-decor man-foot man foot'>
|
||||
<li class='tl'></li>
|
||||
<li class='tc'>May 2025</li>
|
||||
<li class='tc'>May 2026</li>
|
||||
<li class='tr'>git-extras(1)</li>
|
||||
</ol>
|
||||
|
||||
|
|
|
|||
|
|
@ -31,8 +31,8 @@ git-extras(1) -- Awesome GIT utilities
|
|||
- **git-alias(1)** Define, search and show aliases
|
||||
- **git-archive-file(1)** Export the current HEAD of the git repository to an archive
|
||||
- **git-authors(1)** Generate authors report
|
||||
- **git-browse-ci(1)** <View the web page for the current repository>
|
||||
- **git-browse(1)** <View the web page for the current repository>
|
||||
- **git-browse-ci(1)** View the CI page for the current repository
|
||||
- **git-browse(1)** View the web page for the current repository
|
||||
- **git-brv(1)** List branches sorted by their last commit date
|
||||
- **git-bulk(1)** Run git commands on multiple repositories
|
||||
- **git-changelog(1)** Generate a changelog report
|
||||
|
|
@ -46,6 +46,7 @@ git-extras(1) -- Awesome GIT utilities
|
|||
- **git-cp(1)** Copy a file keeping its history
|
||||
- **git-create-branch(1)** Create branches
|
||||
- **git-delete-branch(1)** Delete branches
|
||||
- **git-delete-gone-branches(1)** Delete branches whose remote is gone
|
||||
- **git-delete-merged-branches(1)** Delete merged branches
|
||||
- **git-delete-squashed-branches(1)** Delete branches that were squashed
|
||||
- **git-delete-submodule(1)** Delete submodules
|
||||
|
|
@ -61,7 +62,7 @@ git-extras(1) -- Awesome GIT utilities
|
|||
- **git-graft(1)** Merge and destroy a given branch
|
||||
- **git-guilt(1)** calculate change between two revisions
|
||||
- **git-ignore-io(1)** Get sample gitignore file
|
||||
- **git-ignore(1)** Add .gitignore patterns
|
||||
- **git-ignore(1)** Modify or display .gitignore files
|
||||
- **git-info(1)** Returns information on current repository
|
||||
- **git-local-commits(1)** List local commits
|
||||
- **git-lock(1)** Lock a file excluded from version control
|
||||
|
|
|
|||
|
|
@ -1,33 +1,33 @@
|
|||
.\" generated with Ronn-NG/v0.9.1
|
||||
.\" http://github.com/apjanke/ronn-ng/tree/0.9.1
|
||||
.TH "GIT\-FORCE\-CLONE" "1" "August 2021" "" "Git Extras"
|
||||
.\" generated with Ronn-NG/v0.10.1
|
||||
.\" http://github.com/apjanke/ronn-ng/tree/0.10.1
|
||||
.TH "GIT\-FORCE\-CLONE" "1" "March 2026" "" "Git Extras"
|
||||
.SH "NAME"
|
||||
\fBgit\-force\-clone\fR \- overwrite local repositories with clone
|
||||
.SH "SYNOPSIS"
|
||||
\fBforce\-clone \-\-help\fR
|
||||
\fBgit\-force\-clone \-\-help\fR
|
||||
.br
|
||||
\fBforce\-clone {remote_url} {destination_path}\fR
|
||||
\fBgit\-force\-clone {remote_url} {destination_path}\fR
|
||||
.br
|
||||
\fBforce\-clone \-\-branch {branch_name} {remote_url} {destination_path}\fR
|
||||
\fBgit\-force\-clone \-\-branch {branch_name} {remote_url} {destination_path}\fR
|
||||
.SH "DESCRIPTION"
|
||||
Provides the basic functionality of \fBgit clone\fR, but if the destination git repository already exists it will force\-reset it to resemble a clone of the remote\.
|
||||
.P
|
||||
Because it doesn\'t actually delete the directory, it is usually significantly faster than the alternative of deleting the directory and cloning the repository from scratch\.
|
||||
Because it doesn't actually delete the directory, it is usually significantly faster than the alternative of deleting the directory and cloning the repository from scratch\.
|
||||
.P
|
||||
\fBCAUTION\fR: If the repository exists, this will destroy \fIall\fR local work: changed files will be reset, local branches and other remotes will be removed\.
|
||||
.SH "PROCESS"
|
||||
If \fBtarget\-directory\fR doesn\'t exist or isn\'t a git repository then the arguments will simply be passed through to \fBgit clone\fR\.
|
||||
If \fBtarget\-directory\fR doesn't exist or isn't a git repository then the arguments will simply be passed through to \fBgit clone\fR\.
|
||||
.P
|
||||
If \fBtarget\-directory\fR exists and is a git repository then this will:
|
||||
.IP "\[ci]" 4
|
||||
.IP "\(bu" 4
|
||||
Remove all remotes
|
||||
.IP "\[ci]" 4
|
||||
.IP "\(bu" 4
|
||||
Set the origin remote to \fB{remote_url}\fR and fetch the remote
|
||||
.IP "\[ci]" 4
|
||||
.IP "\(bu" 4
|
||||
Discover the default branch, if no branch was specified
|
||||
.IP "\[ci]" 4
|
||||
.IP "\(bu" 4
|
||||
Check out the selected branch
|
||||
.IP "\[ci]" 4
|
||||
.IP "\(bu" 4
|
||||
Delete all other local branches
|
||||
.IP "" 0
|
||||
.SH "OPTIONS"
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv='content-type' content='text/html;charset=utf8'>
|
||||
<meta name='generator' content='Ronn-NG/v0.9.1 (http://github.com/apjanke/ronn-ng/tree/0.9.1)'>
|
||||
<meta http-equiv='content-type' content='text/html;charset=utf-8'>
|
||||
<meta name='generator' content='Ronn-NG/v0.10.1 (http://github.com/apjanke/ronn-ng/tree/0.10.1)'>
|
||||
<title>git-force-clone(1) - overwrite local repositories with clone</title>
|
||||
<style type='text/css' media='all'>
|
||||
/* style: man */
|
||||
|
|
@ -78,9 +78,9 @@
|
|||
</p>
|
||||
<h2 id="SYNOPSIS">SYNOPSIS</h2>
|
||||
|
||||
<p><code>force-clone --help</code><br>
|
||||
<code>force-clone {remote_url} {destination_path}</code><br>
|
||||
<code>force-clone --branch {branch_name} {remote_url} {destination_path}</code></p>
|
||||
<p><code>git-force-clone --help</code><br>
|
||||
<code>git-force-clone {remote_url} {destination_path}</code><br>
|
||||
<code>git-force-clone --branch {branch_name} {remote_url} {destination_path}</code></p>
|
||||
|
||||
<h2 id="DESCRIPTION">DESCRIPTION</h2>
|
||||
|
||||
|
|
@ -134,7 +134,7 @@ arguments will simply be passed through to <code>git clone</code>.</p>
|
|||
|
||||
<ol class='man-decor man-foot man foot'>
|
||||
<li class='tl'></li>
|
||||
<li class='tc'>August 2021</li>
|
||||
<li class='tc'>March 2026</li>
|
||||
<li class='tr'>git-force-clone(1)</li>
|
||||
</ol>
|
||||
|
||||
|
|
|
|||
|
|
@ -3,9 +3,9 @@ git-force-clone(1) -- overwrite local repositories with clone
|
|||
|
||||
## SYNOPSIS
|
||||
|
||||
`force-clone --help`
|
||||
`force-clone {remote_url} {destination_path}`
|
||||
`force-clone --branch {branch_name} {remote_url} {destination_path}`
|
||||
`git-force-clone --help`
|
||||
`git-force-clone {remote_url} {destination_path}`
|
||||
`git-force-clone --branch {branch_name} {remote_url} {destination_path}`
|
||||
|
||||
## DESCRIPTION
|
||||
|
||||
|
|
|
|||
|
|
@ -1,10 +1,10 @@
|
|||
.\" generated with Ronn-NG/v0.9.1
|
||||
.\" http://github.com/apjanke/ronn-ng/tree/0.9.1
|
||||
.TH "GIT\-GET" "1" "May 2023" "" "Git Extras"
|
||||
.\" generated with Ronn-NG/v0.10.1
|
||||
.\" http://github.com/apjanke/ronn-ng/tree/0.10.1
|
||||
.TH "GIT\-GET" "1" "March 2026" "" "Git Extras"
|
||||
.SH "NAME"
|
||||
\fBgit\-get\fR \- Clone a Git repository under a directory
|
||||
\fBgit\-get\fR \- Clone a Git repository under a configured directory
|
||||
.SH "SYNOPSIS"
|
||||
\fBgit\-get\fR
|
||||
\fBgit\-get\fR <url>
|
||||
.SH "DESCRIPTION"
|
||||
Clones a Git repository under the directory specified by the Git configuration \fBgit\-extras\.get\.clone\-path\fR
|
||||
.SH "EXAMPLES"
|
||||
|
|
|
|||
|
|
@ -1,9 +1,9 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv='content-type' content='text/html;charset=utf8'>
|
||||
<meta name='generator' content='Ronn-NG/v0.9.1 (http://github.com/apjanke/ronn-ng/tree/0.9.1)'>
|
||||
<title>git-get(1) - Clone a Git repository under a directory</title>
|
||||
<meta http-equiv='content-type' content='text/html;charset=utf-8'>
|
||||
<meta name='generator' content='Ronn-NG/v0.10.1 (http://github.com/apjanke/ronn-ng/tree/0.10.1)'>
|
||||
<title>git-get(1) - Clone a Git repository under a configured directory</title>
|
||||
<style type='text/css' media='all'>
|
||||
/* style: man */
|
||||
body#manpage {margin:0}
|
||||
|
|
@ -72,11 +72,11 @@
|
|||
|
||||
<h2 id="NAME">NAME</h2>
|
||||
<p class="man-name">
|
||||
<code>git-get</code> - <span class="man-whatis">Clone a Git repository under a directory</span>
|
||||
<code>git-get</code> - <span class="man-whatis">Clone a Git repository under a configured directory</span>
|
||||
</p>
|
||||
<h2 id="SYNOPSIS">SYNOPSIS</h2>
|
||||
|
||||
<p><code>git-get</code></p>
|
||||
<p><code>git-get</code> <url></p>
|
||||
|
||||
<h2 id="DESCRIPTION">DESCRIPTION</h2>
|
||||
|
||||
|
|
@ -110,7 +110,7 @@ $
|
|||
|
||||
<ol class='man-decor man-foot man foot'>
|
||||
<li class='tl'></li>
|
||||
<li class='tc'>May 2023</li>
|
||||
<li class='tc'>March 2026</li>
|
||||
<li class='tr'>git-get(1)</li>
|
||||
</ol>
|
||||
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ git-get(1) -- Clone a Git repository under a configured directory
|
|||
|
||||
## SYNOPSIS
|
||||
|
||||
`git-get`
|
||||
`git-get` <url>
|
||||
|
||||
## DESCRIPTION
|
||||
|
||||
|
|
|
|||
186
man/git-ignore.1
186
man/git-ignore.1
|
|
@ -1,77 +1,88 @@
|
|||
.\" generated with Ronn/v0.7.3
|
||||
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
||||
.
|
||||
.TH "GIT\-IGNORE" "1" "April 2018" "" "Git Extras"
|
||||
.
|
||||
.\" generated with Ronn-NG/v0.10.1
|
||||
.\" http://github.com/apjanke/ronn-ng/tree/0.10.1
|
||||
.TH "GIT\-IGNORE" "1" "June 2026" "" "Git Extras"
|
||||
.SH "NAME"
|
||||
\fBgit\-ignore\fR \- Add \.gitignore patterns
|
||||
.
|
||||
\fBgit\-ignore\fR \- Modify or display \.gitignore files
|
||||
.SH "SYNOPSIS"
|
||||
\fBgit\-ignore\fR [<context>] [<pattern> [<pattern>]\.\.\.]
|
||||
.
|
||||
\fBgit\-ignore\fR [<context>] [<action>] [\-\-] [<pattern> [<pattern>]\|\.\|\.\|\.]
|
||||
.SH "DESCRIPTION"
|
||||
Adds the given _pattern_s to a \.gitignore file if it doesn\'t already exist\.
|
||||
.
|
||||
Modifies or shows \.gitignore of selected \fIcontext\fR\.
|
||||
.P
|
||||
Possible actions are: addition of new \fIpattern\fRs, removal of existing \fIpattern\fRs from gitignore files, opening these files in text editor or simply displaying their contents in current terminal (for details see flags/usage)\.
|
||||
.P
|
||||
Contexts are global (e\.g\. $HOME/\.gitignore or $HOME/\.local/\.git/\.gitignore), private (e\.g\. \|\.\|\.\|\./project/\.git/info/exclude) and local (e\.g\. \|\.\|\.\|\./project/\.gitignore)
|
||||
.P
|
||||
Adding only happens for \fIpattern\fRs that don't already exist in the file; removing \fIpattern\fRs that are not present does not do anything; editing fails if the file is not yet present\.
|
||||
.P
|
||||
At most 1 \fIcontext\fR and 1 \fIaction\fR matter for the program, the ones selected are the latest encountered in the flag list\.
|
||||
.P
|
||||
Default behavior:
|
||||
.IP "\(bu" 4
|
||||
If no flags or arguments are passed, prints gitignores of all 3 \fIcontext\fRs\.
|
||||
.IP "\(bu" 4
|
||||
Passing arguments with no \fIaction\fR implies addition of \fIpattern\fRs to gitignore\.
|
||||
.IP "\(bu" 4
|
||||
If an \fIaction\fR is chosen, but not \fIcontext\fR, \fIaction\fR is performed on local gitignore\.
|
||||
.IP "\(bu" 4
|
||||
If \fIcontext\fR is chosen but not action (not even implied), gitignore of chosen \fIcontext\fR is printed\.
|
||||
.IP "" 0
|
||||
.SH "OPTIONS"
|
||||
<context>
|
||||
.
|
||||
.P
|
||||
\-l, \-\-local
|
||||
.
|
||||
.P
|
||||
Sets the context to the \.gitignore file in the current working directory\. (default)
|
||||
.
|
||||
.P
|
||||
\-g, \-\-global
|
||||
.
|
||||
.P
|
||||
Sets the context to the global gitignore file for the current user\.
|
||||
.
|
||||
.P
|
||||
\-p, \-\-private
|
||||
.
|
||||
.P
|
||||
Sets the context to the private exclude file for the repository (\fB\.git/info/exclude\fR)\.
|
||||
.
|
||||
.P
|
||||
<action>
|
||||
.P
|
||||
\-e, \-\-edit
|
||||
.P
|
||||
Sets action to edit\. This will open gitignore in a text editor (editor selection is the same as for git commit)\. If no \fIcontext\fR is provided local is assumed\. Any \fIpattern\fR; provided in additional arguments is silently omitted\.
|
||||
.P
|
||||
\-r, \-\-remove
|
||||
.P
|
||||
Sets action to remove\. This will look for \fIpattern\fRs in gitignore of selected \fIcontext\fR and remove if finds them\. If no \fIpattern\fR is provided does nothing\. All characters in \fIpattern\fR are treated literally, no interpretation of metacharacters is performed as would be, for example, for a regex pattern\.
|
||||
.P
|
||||
<pattern>
|
||||
.
|
||||
.P
|
||||
A space delimited list of patterns to append to the file in context\.
|
||||
.
|
||||
.P
|
||||
\-\-
|
||||
.P
|
||||
End of options delimeter\. Everything to the right of it is treated as positional arguments or more precisely a \fIpattern\fR\.
|
||||
.P
|
||||
\-h, \-\-help
|
||||
.P
|
||||
Print a brief usage summary\.
|
||||
.SS "PATTERN FORMAT"
|
||||
Pattern format as described in the git manual
|
||||
.
|
||||
.IP "\(bu" 4
|
||||
A blank line matches no files, so it can serve as a separator for readability\. To append a blank line use empty quotes ""\.
|
||||
.
|
||||
.IP "\(bu" 4
|
||||
A line starting with # serves as a comment\. For example, "# This is a comment"
|
||||
.
|
||||
.IP "\(bu" 4
|
||||
An optional prefix ! which negates the pattern; any matching file excluded by a previous pattern will become included again\. If a negated pattern matches, this will override lower precedence patterns sources\. To use an exclamation ! as command line argument it is best placed between single quotes \'\'\. For example, \'!src\'
|
||||
.
|
||||
An optional prefix ! which negates the pattern; any matching file excluded by a previous pattern will become included again\. If a negated pattern matches, this will override lower precedence patterns sources\. To use an exclamation ! as command line argument it is best placed between single quotes ''\. For example, '!src'
|
||||
.IP "\(bu" 4
|
||||
If the pattern ends with a slash, it is removed for the purpose of the following description, but it would only find a match with a directory\. In other words, foo/ will match a directory foo and paths underneath it, but will not match a regular file or a symbolic link foo (this is consistent with the way how pathspec works in general in git)\.
|
||||
.
|
||||
.IP "\(bu" 4
|
||||
If the pattern does not contain a slash /, git treats it as a shell glob pattern and checks for a match against the pathname relative to the location of the \.gitignore file (relative to the top level of the work tree if not from a \.gitignore file)\.
|
||||
.
|
||||
.IP "\(bu" 4
|
||||
Otherwise, git treats the pattern as a shell glob suitable for consumption by fnmatch(3) with the FNM_PATHNAME flag: wildcards in the pattern will not match a / in the pathname\. For example, "Documentation/*\.html" matches "Documentation/git\.html" but not "Documentation/ppc/ppc\.html" or "tools/perf/Documentation/perf\.html"\.
|
||||
.
|
||||
.IP "\(bu" 4
|
||||
A leading slash matches the beginning of the pathname\. For example, "/*\.c" matches "cat\-file\.c" but not "mozilla\-sha1/sha1\.c"\.
|
||||
.
|
||||
.IP "" 0
|
||||
.
|
||||
.SH "EXAMPLES"
|
||||
All arguments are optional so calling git\-ignore alone will display first the global then the local gitignore files:
|
||||
.
|
||||
All arguments are optional so calling git\-ignore alone will display global, local and private gitignore files in order:
|
||||
.IP "" 4
|
||||
.
|
||||
.nf
|
||||
|
||||
$ git ignore
|
||||
Global gitignore: /home/alice/\.gitignore
|
||||
# Numerous always\-ignore extensions
|
||||
|
|
@ -86,92 +97,101 @@ Global gitignore: /home/alice/\.gitignore
|
|||
*\.sass\-cache
|
||||
|
||||
# OS or Editor folders
|
||||
\.DS_Store
|
||||
\.Trashes
|
||||
\._*
|
||||
\&\.DS_Store
|
||||
\&\.Trashes
|
||||
\&\._*
|
||||
Thumbs\.db
|
||||
\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-
|
||||
Local gitignore: \.gitignore
|
||||
\.cache
|
||||
\.project
|
||||
\.settings
|
||||
\.tmproj
|
||||
\&\.cache
|
||||
\&\.project
|
||||
\&\.settings
|
||||
\&\.tmproj
|
||||
nbproject
|
||||
.
|
||||
\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-
|
||||
Private gitignore: \.git/info/exclude
|
||||
notes\.txt
|
||||
test\.sh
|
||||
\&\.env\.local
|
||||
config\.json
|
||||
.fi
|
||||
.
|
||||
.IP "" 0
|
||||
.
|
||||
.P
|
||||
If you only want to see the global context use the \-\-global argument (for local use \-\-local):
|
||||
.
|
||||
If you only want to see the global context use the \-\-global argument (for local use \-\-local, for private use \-\-private):
|
||||
.IP "" 4
|
||||
.
|
||||
.nf
|
||||
|
||||
$ git ignore
|
||||
Global gitignore: /home/alice/\.gitignore
|
||||
\.DS_Store
|
||||
\.Trashes
|
||||
\._*
|
||||
\&\.DS_Store
|
||||
\&\.Trashes
|
||||
\&\._*
|
||||
Thumbs\.db
|
||||
.
|
||||
.fi
|
||||
.
|
||||
.IP "" 0
|
||||
.
|
||||
.P
|
||||
To quickly append a new pattern to the default/local context simply:
|
||||
.
|
||||
.IP "" 4
|
||||
.
|
||||
.nf
|
||||
|
||||
$ git ignore *\.log
|
||||
Adding pattern(s) to: \.gitignore
|
||||
\.\.\. adding \'*\.log\'
|
||||
.
|
||||
\|\.\|\.\|\. adding '*\.log'
|
||||
.fi
|
||||
.
|
||||
.IP "" 0
|
||||
.
|
||||
.P
|
||||
You can now configure any patterns without ever using an editor, with a context and pattern arguments: The resulting configuration is also returned for your convenience\.
|
||||
.
|
||||
You can now configure any patterns without ever using an editor (or use a shortcut to open file in editor when needed), with a context and pattern arguments: The resulting configuration is also returned for your convenience\.
|
||||
.IP "" 4
|
||||
.
|
||||
.nf
|
||||
|
||||
$ git ignore \-\-local "" "# Temporary files" *\.tmp "*\.log" tmp/* "" "# Files I\'d like to keep" \'!work\' ""
|
||||
$ git ignore \-\-local "" "# Temporary files" *\.tmp "*\.log" tmp/* "" "# Files I'd like to keep" '!work' ""
|
||||
Adding pattern(s) to: \.gitignore
|
||||
\.\.\. adding \'\'
|
||||
\.\.\. adding \'# Temporary files\'
|
||||
\.\.\. adding \'index\.tmp\'
|
||||
\.\.\. adding \'*\.log\'
|
||||
\.\.\. adding \'tmp/*\'
|
||||
\.\.\. adding \'\'
|
||||
\.\.\. adding \'# Files I\'d like to keep\'
|
||||
\.\.\. adding \'!work\'
|
||||
\.\.\. adding \'\'
|
||||
\|\.\|\.\|\. adding ''
|
||||
\|\.\|\.\|\. adding '# Temporary files'
|
||||
\|\.\|\.\|\. adding '*\.tmp'
|
||||
\|\.\|\.\|\. adding '*\.log'
|
||||
\|\.\|\.\|\. adding 'tmp/*'
|
||||
\|\.\|\.\|\. adding ''
|
||||
\|\.\|\.\|\. adding '# Files I'd like to keep'
|
||||
\|\.\|\.\|\. adding '!work'
|
||||
\|\.\|\.\|\. adding ''
|
||||
|
||||
Local gitignore: \.gitignore
|
||||
|
||||
# Temporary files
|
||||
index\.tmp
|
||||
*\.tmp
|
||||
*\.log
|
||||
tmp/*
|
||||
|
||||
# Files I\'d like to keep
|
||||
# Files I'd like to keep
|
||||
!work
|
||||
.
|
||||
.fi
|
||||
.
|
||||
.IP "" 0
|
||||
.
|
||||
.P
|
||||
Removing patterns works in a similar way\. Select context and pass patterns to be removed from the gitignore file\.
|
||||
.IP "" 4
|
||||
.nf
|
||||
$ git ignore \-l \-r "*\.log"
|
||||
Removing patterns from local gitignore: \.gitignore
|
||||
\|\.\|\.\|\. removing '*\.log'
|
||||
|
||||
Local gitignore: \.gitignore
|
||||
|
||||
# Temporary files
|
||||
*\.tmp
|
||||
tmp/*
|
||||
|
||||
# Files I'd like to keep
|
||||
!work
|
||||
.fi
|
||||
.IP "" 0
|
||||
.P
|
||||
If you want to open gitignore in an editor and do changes manually pass \-e flag:
|
||||
.IP "" 4
|
||||
.nf
|
||||
$ git ignore \-p \-e
|
||||
.fi
|
||||
.IP "" 0
|
||||
.SH "AUTHOR"
|
||||
Written by Tj Holowaychuk <\fItj@vision\-media\.ca\fR> and Tema Bolshakov <\fItweekane@gmail\.com\fR> and Nick Lombard <\fIgithub@jigsoft\.co\.za\fR>
|
||||
.
|
||||
Written by Tj Holowaychuk <\fItj@vision\-media\.ca\fR> and Tema Bolshakov <\fItweekane@gmail\.com\fR> and Nick Lombard <\fIgithub@jigsoft\.co\.za\fR> and Kirill Dergachev <\fIkdergachev1062@gmail\.com\fR>
|
||||
.SH "REPORTING BUGS"
|
||||
<\fIhttps://github\.com/tj/git\-extras/issues\fR>
|
||||
.
|
||||
.SH "SEE ALSO"
|
||||
<\fIhttps://github\.com/tj/git\-extras\fR>
|
||||
|
|
|
|||
|
|
@ -1,9 +1,9 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv='content-type' value='text/html;charset=utf8'>
|
||||
<meta name='generator' value='Ronn/v0.7.3 (http://github.com/rtomayko/ronn/tree/0.7.3)'>
|
||||
<title>git-ignore(1) - Add .gitignore patterns</title>
|
||||
<meta http-equiv='content-type' content='text/html;charset=utf-8'>
|
||||
<meta name='generator' content='Ronn-NG/v0.10.1 (http://github.com/apjanke/ronn-ng/tree/0.10.1)'>
|
||||
<title>git-ignore(1) - Modify or display .gitignore files</title>
|
||||
<style type='text/css' media='all'>
|
||||
/* style: man */
|
||||
body#manpage {margin:0}
|
||||
|
|
@ -69,57 +69,114 @@
|
|||
<li class='tr'>git-ignore(1)</li>
|
||||
</ol>
|
||||
|
||||
<h2 id="NAME">NAME</h2>
|
||||
<p class="man-name">
|
||||
<code>git-ignore</code> - <span class="man-whatis">Add .gitignore patterns</span>
|
||||
</p>
|
||||
|
||||
|
||||
<h2 id="NAME">NAME</h2>
|
||||
<p class="man-name">
|
||||
<code>git-ignore</code> - <span class="man-whatis">Modify or display .gitignore files</span>
|
||||
</p>
|
||||
<h2 id="SYNOPSIS">SYNOPSIS</h2>
|
||||
|
||||
<p><code>git-ignore</code> [<context>] [<pattern> [<pattern>]...]</p>
|
||||
<p><code>git-ignore</code> [<context>] [<action>] [--] [<pattern> [<pattern>]...]</p>
|
||||
|
||||
<h2 id="DESCRIPTION">DESCRIPTION</h2>
|
||||
|
||||
<p>Adds the given _pattern_s to a .gitignore file if it doesn't already exist.</p>
|
||||
<p>Modifies or shows .gitignore of selected <em>context</em>.</p>
|
||||
|
||||
<p>Possible actions are: addition of new <em>pattern</em>s, removal of existing <em>pattern</em>s from gitignore files, opening these files in text editor or simply displaying their contents in current terminal (for details see flags/usage).</p>
|
||||
|
||||
<p>Contexts are global (e.g. $HOME/.gitignore or $HOME/.local/.git/.gitignore), private (e.g. .../project/.git/info/exclude) and local (e.g. .../project/.gitignore)</p>
|
||||
|
||||
<p>Adding only happens for <em>pattern</em>s that don't already exist in the file; removing <em>pattern</em>s that are not present does not do anything; editing fails if the file is not yet present.</p>
|
||||
|
||||
<p>At most 1 <em>context</em> and 1 <em>action</em> matter for the program, the ones selected are the latest encountered in the flag list.</p>
|
||||
|
||||
<p>Default behavior:</p>
|
||||
|
||||
<ul>
|
||||
<li>
|
||||
<p>If no flags or arguments are passed, prints gitignores of all 3 <em>context</em>s.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>Passing arguments with no <em>action</em> implies addition of <em>pattern</em>s to gitignore.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>If an <em>action</em> is chosen, but not <em>context</em>, <em>action</em> is performed on local gitignore.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>If <em>context</em> is chosen but not action (not even implied), gitignore of chosen <em>context</em> is printed.</p>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h2 id="OPTIONS">OPTIONS</h2>
|
||||
|
||||
<p> <context></p>
|
||||
<p><context></p>
|
||||
|
||||
<p> -l, --local</p>
|
||||
<p>-l, --local</p>
|
||||
|
||||
<p> Sets the context to the .gitignore file in the current working directory. (default)</p>
|
||||
<p>Sets the context to the .gitignore file in the current working directory. (default)</p>
|
||||
|
||||
<p> -g, --global</p>
|
||||
<p>-g, --global</p>
|
||||
|
||||
<p> Sets the context to the global gitignore file for the current user.</p>
|
||||
<p>Sets the context to the global gitignore file for the current user.</p>
|
||||
|
||||
<p> -p, --private</p>
|
||||
<p>-p, --private</p>
|
||||
|
||||
<p> Sets the context to the private exclude file for the repository (<code>.git/info/exclude</code>).</p>
|
||||
<p>Sets the context to the private exclude file for the repository (<code>.git/info/exclude</code>).</p>
|
||||
|
||||
<p> <pattern></p>
|
||||
<p><action></p>
|
||||
|
||||
<p> A space delimited list of patterns to append to the file in context.</p>
|
||||
<p>-e, --edit</p>
|
||||
|
||||
<p>Sets action to edit. This will open gitignore in a text editor (editor selection is the same as for git commit). If no <em>context</em> is provided local is assumed. Any <em>pattern</em>; provided in additional arguments is silently omitted.</p>
|
||||
|
||||
<p>-r, --remove</p>
|
||||
|
||||
<p>Sets action to remove. This will look for <em>pattern</em>s in gitignore of selected <em>context</em> and remove if finds them. If no <em>pattern</em> is provided does nothing. All characters in <em>pattern</em> are treated literally, no interpretation of metacharacters is performed as would be, for example, for a regex pattern.</p>
|
||||
|
||||
<p><pattern></p>
|
||||
|
||||
<p>A space delimited list of patterns to append to the file in context.</p>
|
||||
|
||||
<p>--</p>
|
||||
|
||||
<p>End of options delimeter. Everything to the right of it is treated as positional arguments or more precisely a <em>pattern</em>.</p>
|
||||
|
||||
<p>-h, --help</p>
|
||||
|
||||
<p>Print a brief usage summary.</p>
|
||||
|
||||
<h3 id="PATTERN-FORMAT">PATTERN FORMAT</h3>
|
||||
|
||||
<p>Pattern format as described in the git manual</p>
|
||||
|
||||
<ul>
|
||||
<li><p>A blank line matches no files, so it can serve as a separator for readability. To append a blank line use empty quotes "".</p></li>
|
||||
<li><p>A line starting with # serves as a comment. For example, "# This is a comment"</p></li>
|
||||
<li><p>An optional prefix ! which negates the pattern; any matching file excluded by a previous pattern will become included again. If a negated pattern matches, this will override lower precedence patterns sources. To use an exclamation ! as command line argument it is best placed between single quotes ''. For example, '!src'</p></li>
|
||||
<li><p>If the pattern ends with a slash, it is removed for the purpose of the following description, but it would only find a match with a directory. In other words, foo/ will match a directory foo and paths underneath it, but will not match a regular file or a symbolic link foo (this is consistent with the way how pathspec works in general in git).</p></li>
|
||||
<li><p>If the pattern does not contain a slash /, git treats it as a shell glob pattern and checks for a match against the pathname relative to the location of the .gitignore file (relative to the top level of the work tree if not from a .gitignore file).</p></li>
|
||||
<li><p>Otherwise, git treats the pattern as a shell glob suitable for consumption by <span class="man-ref">fnmatch<span class="s">(3)</span></span> with the FNM_PATHNAME flag: wildcards in the pattern will not match a / in the pathname. For example, "Documentation/*.html" matches "Documentation/git.html" but not "Documentation/ppc/ppc.html" or "tools/perf/Documentation/perf.html".</p></li>
|
||||
<li><p>A leading slash matches the beginning of the pathname. For example, "/*.c" matches "cat-file.c" but not "mozilla-sha1/sha1.c".</p></li>
|
||||
<li>
|
||||
<p>A blank line matches no files, so it can serve as a separator for readability. To append a blank line use empty quotes "".</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>A line starting with # serves as a comment. For example, "# This is a comment"</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>An optional prefix ! which negates the pattern; any matching file excluded by a previous pattern will become included again. If a negated pattern matches, this will override lower precedence patterns sources. To use an exclamation ! as command line argument it is best placed between single quotes ''. For example, '!src'</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>If the pattern ends with a slash, it is removed for the purpose of the following description, but it would only find a match with a directory. In other words, foo/ will match a directory foo and paths underneath it, but will not match a regular file or a symbolic link foo (this is consistent with the way how pathspec works in general in git).</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>If the pattern does not contain a slash /, git treats it as a shell glob pattern and checks for a match against the pathname relative to the location of the .gitignore file (relative to the top level of the work tree if not from a .gitignore file).</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>Otherwise, git treats the pattern as a shell glob suitable for consumption by <span class="man-ref">fnmatch<span class="s">(3)</span></span> with the FNM_PATHNAME flag: wildcards in the pattern will not match a / in the pathname. For example, "Documentation/*.html" matches "Documentation/git.html" but not "Documentation/ppc/ppc.html" or "tools/perf/Documentation/perf.html".</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>A leading slash matches the beginning of the pathname. For example, "/*.c" matches "cat-file.c" but not "mozilla-sha1/sha1.c".</p>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<h2 id="EXAMPLES">EXAMPLES</h2>
|
||||
|
||||
<p> All arguments are optional so calling git-ignore alone will display first the global then the local gitignore files:</p>
|
||||
<p>All arguments are optional so calling git-ignore alone will display global, local and private gitignore files in order:</p>
|
||||
|
||||
<pre><code>$ git ignore
|
||||
Global gitignore: /home/alice/.gitignore
|
||||
|
|
@ -146,9 +203,15 @@ Local gitignore: .gitignore
|
|||
.settings
|
||||
.tmproj
|
||||
nbproject
|
||||
---------------------------------
|
||||
Private gitignore: .git/info/exclude
|
||||
notes.txt
|
||||
test.sh
|
||||
.env.local
|
||||
config.json
|
||||
</code></pre>
|
||||
|
||||
<p>If you only want to see the global context use the --global argument (for local use --local):</p>
|
||||
<p>If you only want to see the global context use the --global argument (for local use --local, for private use --private):</p>
|
||||
|
||||
<pre><code>$ git ignore
|
||||
Global gitignore: /home/alice/.gitignore
|
||||
|
|
@ -165,14 +228,14 @@ Adding pattern(s) to: .gitignore
|
|||
... adding '*.log'
|
||||
</code></pre>
|
||||
|
||||
<p>You can now configure any patterns without ever using an editor, with a context and pattern arguments:
|
||||
<p>You can now configure any patterns without ever using an editor (or use a shortcut to open file in editor when needed), with a context and pattern arguments:
|
||||
The resulting configuration is also returned for your convenience.</p>
|
||||
|
||||
<pre><code>$ git ignore --local "" "# Temporary files" *.tmp "*.log" tmp/* "" "# Files I'd like to keep" '!work' ""
|
||||
Adding pattern(s) to: .gitignore
|
||||
... adding ''
|
||||
... adding '# Temporary files'
|
||||
... adding 'index.tmp'
|
||||
... adding '*.tmp'
|
||||
... adding '*.log'
|
||||
... adding 'tmp/*'
|
||||
... adding ''
|
||||
|
|
@ -183,17 +246,39 @@ Adding pattern(s) to: .gitignore
|
|||
Local gitignore: .gitignore
|
||||
|
||||
# Temporary files
|
||||
index.tmp
|
||||
*.tmp
|
||||
*.log
|
||||
tmp/*
|
||||
|
||||
# Files I'd like to keep
|
||||
!work
|
||||
</code></pre>
|
||||
|
||||
<p>Removing patterns works in a similar way. Select context and pass patterns to be removed from the gitignore file.</p>
|
||||
|
||||
<pre><code>$ git ignore -l -r "*.log"
|
||||
Removing patterns from local gitignore: .gitignore
|
||||
... removing '*.log'
|
||||
|
||||
Local gitignore: .gitignore
|
||||
|
||||
# Temporary files
|
||||
*.tmp
|
||||
tmp/*
|
||||
|
||||
# Files I'd like to keep
|
||||
!work
|
||||
</code></pre>
|
||||
|
||||
<p>If you want to open gitignore in an editor and do changes manually pass -e flag:</p>
|
||||
|
||||
<pre><code>$ git ignore -p -e
|
||||
</code></pre>
|
||||
|
||||
<h2 id="AUTHOR">AUTHOR</h2>
|
||||
|
||||
<p>Written by Tj Holowaychuk <<a href="mailto:tj@vision-media.ca" data-bare-link="true">tj@vision-media.ca</a>> and Tema Bolshakov <<a href="mailto:tweekane@gmail.com" data-bare-link="true">tweekane@gmail.com</a>>
|
||||
and Nick Lombard <<a href="mailto:github@jigsoft.co.za" data-bare-link="true">github@jigsoft.co.za</a>></p>
|
||||
<p>Written by Tj Holowaychuk <<a href="mailto:tj@vision-media.ca" data-bare-link="true">tj@vision-media.ca</a>> and Tema Bolshakov <<a href="mailto:tweekane@gmail.com" data-bare-link="true">tweekane@gmail.com</a>>
|
||||
and Nick Lombard <<a href="mailto:github@jigsoft.co.za" data-bare-link="true">github@jigsoft.co.za</a>&gt and Kirill Dergachev <<a href="mailto:kdergachev1062@gmail.com" data-bare-link="true">kdergachev1062@gmail.com</a>></p>
|
||||
|
||||
<h2 id="REPORTING-BUGS">REPORTING BUGS</h2>
|
||||
|
||||
|
|
@ -203,10 +288,9 @@ and Nick Lombard <<a href="mailto:g

|
|||
|
||||
<p><<a href="https://github.com/tj/git-extras" data-bare-link="true">https://github.com/tj/git-extras</a>></p>
|
||||
|
||||
|
||||
<ol class='man-decor man-foot man foot'>
|
||||
<li class='tl'></li>
|
||||
<li class='tc'>April 2018</li>
|
||||
<li class='tc'>June 2026</li>
|
||||
<li class='tr'>git-ignore(1)</li>
|
||||
</ol>
|
||||
|
||||
|
|
|
|||
|
|
@ -1,13 +1,31 @@
|
|||
git-ignore(1) -- Add .gitignore patterns
|
||||
git-ignore(1) -- Modify or display .gitignore files
|
||||
========================================
|
||||
|
||||
## SYNOPSIS
|
||||
|
||||
`git-ignore` [<context>] [<pattern> [<pattern>]...]
|
||||
`git-ignore` [<context>] [<action>] [--] [<pattern> [<pattern>]...]
|
||||
|
||||
## DESCRIPTION
|
||||
|
||||
Adds the given _pattern_s to a .gitignore file if it doesn't already exist.
|
||||
Modifies or shows .gitignore of selected *context*.
|
||||
|
||||
Possible actions are: addition of new *pattern*s, removal of existing *pattern*s from gitignore files, opening these files in text editor or simply displaying their contents in current terminal (for details see flags/usage).
|
||||
|
||||
Contexts are global (e.g. $HOME/.gitignore or $HOME/.local/.git/.gitignore), private (e.g. .../project/.git/info/exclude) and local (e.g. .../project/.gitignore)
|
||||
|
||||
Adding only happens for *pattern*s that don't already exist in the file; removing *pattern*s that are not present does not do anything; editing fails if the file is not yet present.
|
||||
|
||||
At most 1 *context* and 1 *action* matter for the program, the ones selected are the latest encountered in the flag list.
|
||||
|
||||
Default behavior:
|
||||
|
||||
* If no flags or arguments are passed, prints gitignores of all 3 *context*s.
|
||||
|
||||
* Passing arguments with no *action* implies addition of *pattern*s to gitignore.
|
||||
|
||||
* If an *action* is chosen, but not *context*, *action* is performed on local gitignore.
|
||||
|
||||
* If *context* is chosen but not action (not even implied), gitignore of chosen *context* is printed.
|
||||
|
||||
## OPTIONS
|
||||
|
||||
|
|
@ -25,10 +43,28 @@ Adds the given _pattern_s to a .gitignore file if it doesn't already exist.
|
|||
|
||||
Sets the context to the private exclude file for the repository (`.git/info/exclude`).
|
||||
|
||||
<action>
|
||||
|
||||
-e, --edit
|
||||
|
||||
Sets action to edit. This will open gitignore in a text editor (editor selection is the same as for git commit). If no *context* is provided local is assumed. Any *pattern*; provided in additional arguments is silently omitted.
|
||||
|
||||
-r, --remove
|
||||
|
||||
Sets action to remove. This will look for *pattern*s in gitignore of selected *context* and remove if finds them. If no *pattern* is provided does nothing. All characters in *pattern* are treated literally, no interpretation of metacharacters is performed as would be, for example, for a regex pattern.
|
||||
|
||||
<pattern>
|
||||
|
||||
A space delimited list of patterns to append to the file in context.
|
||||
|
||||
--
|
||||
|
||||
End of options delimiter. Everything to the right of it is treated as positional arguments or more precisely a *pattern*.
|
||||
|
||||
-h, --help
|
||||
|
||||
Print a brief usage summary.
|
||||
|
||||
### PATTERN FORMAT
|
||||
|
||||
Pattern format as described in the git manual
|
||||
|
|
@ -43,14 +79,14 @@ Pattern format as described in the git manual
|
|||
|
||||
* If the pattern does not contain a slash /, git treats it as a shell glob pattern and checks for a match against the pathname relative to the location of the .gitignore file (relative to the top level of the work tree if not from a .gitignore file).
|
||||
|
||||
* Otherwise, git treats the pattern as a shell glob suitable for consumption by fnmatch(3) with the FNM_PATHNAME flag: wildcards in the pattern will not match a / in the pathname. For example, "Documentation/*.html" matches "Documentation/git.html" but not "Documentation/ppc/ppc.html" or "tools/perf/Documentation/perf.html".
|
||||
* Otherwise, git treats the pattern as a shell glob suitable for consumption by fnmatch(3) with the FNM\_PATHNAME flag: wildcards in the pattern will not match a / in the pathname. For example, "Documentation/\*.html" matches "Documentation/git.html" but not "Documentation/ppc/ppc.html" or "tools/perf/Documentation/perf.html".
|
||||
|
||||
* A leading slash matches the beginning of the pathname. For example, "/*.c" matches "cat-file.c" but not "mozilla-sha1/sha1.c".
|
||||
* A leading slash matches the beginning of the pathname. For example, "/\*.c" matches "cat-file.c" but not "mozilla-sha1/sha1.c".
|
||||
|
||||
|
||||
## EXAMPLES
|
||||
|
||||
All arguments are optional so calling git-ignore alone will display first the global then the local gitignore files:
|
||||
All arguments are optional so calling git-ignore alone will display global, local and private gitignore files in order:
|
||||
|
||||
$ git ignore
|
||||
Global gitignore: /home/alice/.gitignore
|
||||
|
|
@ -77,8 +113,14 @@ Pattern format as described in the git manual
|
|||
.settings
|
||||
.tmproj
|
||||
nbproject
|
||||
---------------------------------
|
||||
Private gitignore: .git/info/exclude
|
||||
notes.txt
|
||||
test.sh
|
||||
.env.local
|
||||
config.json
|
||||
|
||||
If you only want to see the global context use the --global argument (for local use --local):
|
||||
If you only want to see the global context use the --global argument (for local use --local, for private use --private):
|
||||
|
||||
$ git ignore
|
||||
Global gitignore: /home/alice/.gitignore
|
||||
|
|
@ -93,34 +135,55 @@ To quickly append a new pattern to the default/local context simply:
|
|||
Adding pattern(s) to: .gitignore
|
||||
... adding '*.log'
|
||||
|
||||
You can now configure any patterns without ever using an editor, with a context and pattern arguments:
|
||||
You can now configure any patterns without ever using an editor (or use a shortcut to open file in editor when needed), with a context and pattern arguments:
|
||||
The resulting configuration is also returned for your convenience.
|
||||
|
||||
$ git ignore --local "" "# Temporary files" *.tmp "*.log" tmp/* "" "# Files I'd like to keep" '!work' ""
|
||||
Adding pattern(s) to: .gitignore
|
||||
... adding ''
|
||||
... adding '# Temporary files'
|
||||
... adding 'index.tmp'
|
||||
... adding '*.tmp'
|
||||
... adding '*.log'
|
||||
... adding 'tmp/*'
|
||||
... adding ''
|
||||
... adding '# Files I'd like to keep'
|
||||
... adding '!work'
|
||||
... adding ''
|
||||
|
||||
|
||||
Local gitignore: .gitignore
|
||||
|
||||
|
||||
# Temporary files
|
||||
index.tmp
|
||||
*.tmp
|
||||
*.log
|
||||
tmp/*
|
||||
|
||||
# Files I'd like to keep
|
||||
!work
|
||||
|
||||
Removing patterns works in a similar way. Select context and pass patterns to be removed from the gitignore file.
|
||||
|
||||
$ git ignore -l -r "*.log"
|
||||
Removing patterns from local gitignore: .gitignore
|
||||
... removing '*.log'
|
||||
|
||||
Local gitignore: .gitignore
|
||||
|
||||
# Temporary files
|
||||
*.tmp
|
||||
tmp/*
|
||||
|
||||
# Files I'd like to keep
|
||||
!work
|
||||
|
||||
If you want to open gitignore in an editor and do changes manually pass -e flag:
|
||||
|
||||
$ git ignore -p -e
|
||||
|
||||
|
||||
## AUTHOR
|
||||
|
||||
Written by Tj Holowaychuk <<tj@vision-media.ca>> and Tema Bolshakov <<tweekane@gmail.com>>
|
||||
and Nick Lombard <<github@jigsoft.co.za>>
|
||||
and Nick Lombard <<github@jigsoft.co.za>> and Kirill Dergachev <<kdergachev1062@gmail.com>>
|
||||
|
||||
## REPORTING BUGS
|
||||
|
||||
|
|
|
|||
173
man/git-magic.1
173
man/git-magic.1
|
|
@ -1,102 +1,71 @@
|
|||
.\" generated with Ronn/v0.7.3
|
||||
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
||||
.
|
||||
.TH "GIT\-MAGIC" "1" "May 2023" "" "Git Extras"
|
||||
.
|
||||
.SH "NAME"
|
||||
\fBgit\-magic\fR \- Automate add/commit/push routines
|
||||
.
|
||||
.SH "SYNOPSIS"
|
||||
\fBgit\-magic\fR [\-a] [\-m \fImsg\fR] [\-e] [\-p] [\-f]
|
||||
.
|
||||
.SH "DESCRIPTION"
|
||||
Produces summary of changes for commit message from \fBgit status \-\-porcelain\fR output\. Commits staged changes with the generated commit message and opens editor to modify generated commit message optionally\. Also staging and pushing can be automated optionally\.
|
||||
.
|
||||
.SH "OPTIONS"
|
||||
\-a
|
||||
.
|
||||
.P
|
||||
Adds everything including untracked files\.
|
||||
.
|
||||
.P
|
||||
\-m \fImsg\fR
|
||||
.
|
||||
.P
|
||||
Use the given \fImsg\fR as the commit message\. If multiple \-m options are given, their values are concatenated as separate paragraphs\. Passed to git commit command\. The generated is appended to user\-given messages\.
|
||||
.
|
||||
.P
|
||||
\-e
|
||||
.
|
||||
.P
|
||||
This option lets you further edit the generated message\. Passed to git commit command\.
|
||||
.
|
||||
.P
|
||||
\-p
|
||||
.
|
||||
.P
|
||||
Runs \fBgit push\fR after commit\.
|
||||
.
|
||||
.P
|
||||
\-f
|
||||
.
|
||||
.P
|
||||
Adds \fB\-f\fR option to \fBgit push\fR command\.
|
||||
.
|
||||
.P
|
||||
\-h
|
||||
.
|
||||
.P
|
||||
Prints synopsis\.
|
||||
.
|
||||
.SH "EXAMPLES"
|
||||
This example stages all changes then commits with automatic commit message\.
|
||||
.
|
||||
.IP "" 4
|
||||
.
|
||||
.nf
|
||||
|
||||
$ git magic \-a
|
||||
[feature/magic dc2a11e] A man/git\-magic\.md
|
||||
1 file changed, 37 insertions(+)
|
||||
create mode 100644 man/git\-auto\.md
|
||||
# git log
|
||||
Author: overengineer <54alpersaid@gmail\.com>
|
||||
Date: Thu Sep 30 20:14:22 2021 +0300
|
||||
|
||||
M man/git\-magic\.md
|
||||
.
|
||||
.fi
|
||||
.
|
||||
.IP "" 0
|
||||
.
|
||||
.P
|
||||
\fB\-m\fR option PREPENDS generated message\.
|
||||
.
|
||||
.IP "" 4
|
||||
.
|
||||
.nf
|
||||
|
||||
$ git magic \-am "Added documentation for git magic"
|
||||
[feature/magic dc2a11e] Added documentation for git magic
|
||||
1 file changed, 42 insertions(+), 0 deletions(\-)
|
||||
create mode 100644 A man/git\-auto\.md
|
||||
$ git log
|
||||
Author: overengineer <54alpersaid@gmail\.com>
|
||||
Date: Thu Sep 30 20:14:22 2021 +0300
|
||||
|
||||
Added documentation for git magic
|
||||
|
||||
M man/git\-magic\.md
|
||||
.
|
||||
.fi
|
||||
.
|
||||
.IP "" 0
|
||||
.
|
||||
.SH "AUTHOR"
|
||||
Written by Alper S\. Soylu <54alpersaid@gmail\.com>
|
||||
.
|
||||
.SH "REPORTING BUGS"
|
||||
<\fIhttps://github\.com/tj/git\-extras/issues\fR>
|
||||
.
|
||||
.SH "SEE ALSO"
|
||||
<\fIhttps://github\.com/tj/git\-extras\fR>
|
||||
.\" generated with Ronn-NG/v0.10.1
|
||||
.\" http://github.com/apjanke/ronn-ng/tree/0.10.1
|
||||
.TH "GIT\-MAGIC" "1" "September 2025" "" "Git Extras"
|
||||
.SH "NAME"
|
||||
\fBgit\-magic\fR \- Automate add/commit/push routines
|
||||
.SH "SYNOPSIS"
|
||||
\fBgit\-magic\fR [\-a] [\-m \fImsg\fR] [\-e] [\-p] [\-f]
|
||||
.SH "DESCRIPTION"
|
||||
Produces summary of changes for commit message from \fBgit status \-\-porcelain\fR output\. Commits staged changes with the generated commit message and opens editor to modify generated commit message optionally\. Also staging and pushing can be automated optionally\.
|
||||
.SH "OPTIONS"
|
||||
\-a
|
||||
.P
|
||||
Adds everything including untracked files\.
|
||||
.P
|
||||
\-m \fImsg\fR
|
||||
.P
|
||||
Use the given \fImsg\fR as the commit message\. If multiple \-m options are given, their values are concatenated as separate paragraphs\. Passed to git commit command\. The generated is appended to user\-given messages\.
|
||||
.P
|
||||
\-e
|
||||
.P
|
||||
This option lets you further edit the generated message\. Passed to git commit command\.
|
||||
.P
|
||||
\-p
|
||||
.P
|
||||
Runs \fBgit push\fR after commit\.
|
||||
.P
|
||||
\-f
|
||||
.P
|
||||
Adds \fB\-\-force\-with\-lease\fR option to \fBgit push\fR command for safer force pushing\.
|
||||
.P
|
||||
\-h
|
||||
.P
|
||||
Prints synopsis\.
|
||||
.SH "EXAMPLES"
|
||||
This example stages all changes then commits with automatic commit message\.
|
||||
.IP "" 4
|
||||
.nf
|
||||
$ git magic \-a
|
||||
[feature/magic dc2a11e] A man/git\-magic\.md
|
||||
1 file changed, 37 insertions(+)
|
||||
create mode 100644 man/git\-auto\.md
|
||||
# git log
|
||||
Author: overengineer <54alpersaid@gmail\.com>
|
||||
Date: Thu Sep 30 20:14:22 2021 +0300
|
||||
|
||||
M man/git\-magic\.md
|
||||
.fi
|
||||
.IP "" 0
|
||||
.P
|
||||
\fB\-m\fR option PREPENDS generated message\.
|
||||
.IP "" 4
|
||||
.nf
|
||||
$ git magic \-am "Added documentation for git magic"
|
||||
[feature/magic dc2a11e] Added documentation for git magic
|
||||
1 file changed, 42 insertions(+), 0 deletions(\-)
|
||||
create mode 100644 A man/git\-auto\.md
|
||||
$ git log
|
||||
Author: overengineer <54alpersaid@gmail\.com>
|
||||
Date: Thu Sep 30 20:14:22 2021 +0300
|
||||
|
||||
Added documentation for git magic
|
||||
|
||||
M man/git\-magic\.md
|
||||
.fi
|
||||
.IP "" 0
|
||||
.SH "AUTHOR"
|
||||
Written by Alper S\. Soylu \fI54alpersaid@gmail\.com\fR
|
||||
.SH "REPORTING BUGS"
|
||||
<\fIhttps://github\.com/tj/git\-extras/issues\fR>
|
||||
.SH "SEE ALSO"
|
||||
<\fIhttps://github\.com/tj/git\-extras\fR>
|
||||
|
|
|
|||
|
|
@ -1,167 +1,167 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv='content-type' value='text/html;charset=utf8'>
|
||||
<meta name='generator' value='Ronn/v0.7.3 (http://github.com/rtomayko/ronn/tree/0.7.3)'>
|
||||
<title>git-magic(1) - Automate add/commit/push routines</title>
|
||||
<style type='text/css' media='all'>
|
||||
/* style: man */
|
||||
body#manpage {margin:0}
|
||||
.mp {max-width:100ex;padding:0 9ex 1ex 4ex}
|
||||
.mp p,.mp pre,.mp ul,.mp ol,.mp dl {margin:0 0 20px 0}
|
||||
.mp h2 {margin:10px 0 0 0}
|
||||
.mp > p,.mp > pre,.mp > ul,.mp > ol,.mp > dl {margin-left:8ex}
|
||||
.mp h3 {margin:0 0 0 4ex}
|
||||
.mp dt {margin:0;clear:left}
|
||||
.mp dt.flush {float:left;width:8ex}
|
||||
.mp dd {margin:0 0 0 9ex}
|
||||
.mp h1,.mp h2,.mp h3,.mp h4 {clear:left}
|
||||
.mp pre {margin-bottom:20px}
|
||||
.mp pre+h2,.mp pre+h3 {margin-top:22px}
|
||||
.mp h2+pre,.mp h3+pre {margin-top:5px}
|
||||
.mp img {display:block;margin:auto}
|
||||
.mp h1.man-title {display:none}
|
||||
.mp,.mp code,.mp pre,.mp tt,.mp kbd,.mp samp,.mp h3,.mp h4 {font-family:monospace;font-size:14px;line-height:1.42857142857143}
|
||||
.mp h2 {font-size:16px;line-height:1.25}
|
||||
.mp h1 {font-size:20px;line-height:2}
|
||||
.mp {text-align:justify;background:#fff}
|
||||
.mp,.mp code,.mp pre,.mp pre code,.mp tt,.mp kbd,.mp samp {color:#131211}
|
||||
.mp h1,.mp h2,.mp h3,.mp h4 {color:#030201}
|
||||
.mp u {text-decoration:underline}
|
||||
.mp code,.mp strong,.mp b {font-weight:bold;color:#131211}
|
||||
.mp em,.mp var {font-style:italic;color:#232221;text-decoration:none}
|
||||
.mp a,.mp a:link,.mp a:hover,.mp a code,.mp a pre,.mp a tt,.mp a kbd,.mp a samp {color:#0000ff}
|
||||
.mp b.man-ref {font-weight:normal;color:#434241}
|
||||
.mp pre {padding:0 4ex}
|
||||
.mp pre code {font-weight:normal;color:#434241}
|
||||
.mp h2+pre,h3+pre {padding-left:0}
|
||||
ol.man-decor,ol.man-decor li {margin:3px 0 10px 0;padding:0;float:left;width:33%;list-style-type:none;text-transform:uppercase;color:#999;letter-spacing:1px}
|
||||
ol.man-decor {width:100%}
|
||||
ol.man-decor li.tl {text-align:left}
|
||||
ol.man-decor li.tc {text-align:center;letter-spacing:4px}
|
||||
ol.man-decor li.tr {text-align:right;float:right}
|
||||
</style>
|
||||
</head>
|
||||
<!--
|
||||
The following styles are deprecated and will be removed at some point:
|
||||
div#man, div#man ol.man, div#man ol.head, div#man ol.man.
|
||||
|
||||
The .man-page, .man-decor, .man-head, .man-foot, .man-title, and
|
||||
.man-navigation should be used instead.
|
||||
-->
|
||||
<body id='manpage'>
|
||||
<div class='mp' id='man'>
|
||||
|
||||
<div class='man-navigation' style='display:none'>
|
||||
<a href="#NAME">NAME</a>
|
||||
<a href="#SYNOPSIS">SYNOPSIS</a>
|
||||
<a href="#DESCRIPTION">DESCRIPTION</a>
|
||||
<a href="#OPTIONS">OPTIONS</a>
|
||||
<a href="#EXAMPLES">EXAMPLES</a>
|
||||
<a href="#AUTHOR">AUTHOR</a>
|
||||
<a href="#REPORTING-BUGS">REPORTING BUGS</a>
|
||||
<a href="#SEE-ALSO">SEE ALSO</a>
|
||||
</div>
|
||||
|
||||
<ol class='man-decor man-head man head'>
|
||||
<li class='tl'>git-magic(1)</li>
|
||||
<li class='tc'>Git Extras</li>
|
||||
<li class='tr'>git-magic(1)</li>
|
||||
</ol>
|
||||
|
||||
<h2 id="NAME">NAME</h2>
|
||||
<p class="man-name">
|
||||
<code>git-magic</code> - <span class="man-whatis">Automate add/commit/push routines</span>
|
||||
</p>
|
||||
|
||||
<h2 id="SYNOPSIS">SYNOPSIS</h2>
|
||||
|
||||
<p><code>git-magic</code> [-a] [-m <var>msg</var>] [-e] [-p] [-f]</p>
|
||||
|
||||
<h2 id="DESCRIPTION">DESCRIPTION</h2>
|
||||
|
||||
<p>Produces summary of changes for commit message from <code>git status --porcelain</code> output.
|
||||
Commits staged changes with the generated commit message and
|
||||
opens editor to modify generated commit message optionally.
|
||||
Also staging and pushing can be automated optionally.</p>
|
||||
|
||||
<h2 id="OPTIONS">OPTIONS</h2>
|
||||
|
||||
<p>-a</p>
|
||||
|
||||
<p>Adds everything including untracked files.</p>
|
||||
|
||||
<p>-m <var>msg</var></p>
|
||||
|
||||
<p>Use the given <var>msg</var> as the commit message. If multiple -m options are given, their values are concatenated as separate paragraphs.
|
||||
Passed to git commit command. The generated is appended to user-given messages.</p>
|
||||
|
||||
<p>-e</p>
|
||||
|
||||
<p>This option lets you further edit the generated message.
|
||||
Passed to git commit command.</p>
|
||||
|
||||
<p>-p</p>
|
||||
|
||||
<p>Runs <code>git push</code> after commit.</p>
|
||||
|
||||
<p>-f</p>
|
||||
|
||||
<p>Adds <code>-f</code> option to <code>git push</code> command.</p>
|
||||
|
||||
<p>-h</p>
|
||||
|
||||
<p>Prints synopsis.</p>
|
||||
|
||||
<h2 id="EXAMPLES">EXAMPLES</h2>
|
||||
|
||||
<p>This example stages all changes then commits with automatic commit message.</p>
|
||||
|
||||
<pre><code>$ git magic -a
|
||||
[feature/magic dc2a11e] A man/git-magic.md
|
||||
1 file changed, 37 insertions(+)
|
||||
create mode 100644 man/git-auto.md
|
||||
# git log
|
||||
Author: overengineer <54alpersaid@gmail.com>
|
||||
Date: Thu Sep 30 20:14:22 2021 +0300
|
||||
|
||||
M man/git-magic.md
|
||||
</code></pre>
|
||||
|
||||
<p><code>-m</code> option PREPENDS generated message.</p>
|
||||
|
||||
<pre><code>$ git magic -am "Added documentation for git magic"
|
||||
[feature/magic dc2a11e] Added documentation for git magic
|
||||
1 file changed, 42 insertions(+), 0 deletions(-)
|
||||
create mode 100644 A man/git-auto.md
|
||||
$ git log
|
||||
Author: overengineer <54alpersaid@gmail.com>
|
||||
Date: Thu Sep 30 20:14:22 2021 +0300
|
||||
|
||||
Added documentation for git magic
|
||||
|
||||
M man/git-magic.md
|
||||
</code></pre>
|
||||
|
||||
<h2 id="AUTHOR">AUTHOR</h2>
|
||||
|
||||
<p>Written by Alper S. Soylu <54alpersaid@gmail.com></p>
|
||||
|
||||
<h2 id="REPORTING-BUGS">REPORTING BUGS</h2>
|
||||
|
||||
<p><<a href="https://github.com/tj/git-extras/issues" data-bare-link="true">https://github.com/tj/git-extras/issues</a>></p>
|
||||
|
||||
<h2 id="SEE-ALSO">SEE ALSO</h2>
|
||||
|
||||
<p><<a href="https://github.com/tj/git-extras" data-bare-link="true">https://github.com/tj/git-extras</a>></p>
|
||||
|
||||
|
||||
<ol class='man-decor man-foot man foot'>
|
||||
<li class='tl'></li>
|
||||
<li class='tc'>May 2023</li>
|
||||
<li class='tr'>git-magic(1)</li>
|
||||
</ol>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv='content-type' content='text/html;charset=utf-8'>
|
||||
<meta name='generator' content='Ronn-NG/v0.10.1 (http://github.com/apjanke/ronn-ng/tree/0.10.1)'>
|
||||
<title>git-magic(1) - Automate add/commit/push routines</title>
|
||||
<style type='text/css' media='all'>
|
||||
/* style: man */
|
||||
body#manpage {margin:0}
|
||||
.mp {max-width:100ex;padding:0 9ex 1ex 4ex}
|
||||
.mp p,.mp pre,.mp ul,.mp ol,.mp dl {margin:0 0 20px 0}
|
||||
.mp h2 {margin:10px 0 0 0}
|
||||
.mp > p,.mp > pre,.mp > ul,.mp > ol,.mp > dl {margin-left:8ex}
|
||||
.mp h3 {margin:0 0 0 4ex}
|
||||
.mp dt {margin:0;clear:left}
|
||||
.mp dt.flush {float:left;width:8ex}
|
||||
.mp dd {margin:0 0 0 9ex}
|
||||
.mp h1,.mp h2,.mp h3,.mp h4 {clear:left}
|
||||
.mp pre {margin-bottom:20px}
|
||||
.mp pre+h2,.mp pre+h3 {margin-top:22px}
|
||||
.mp h2+pre,.mp h3+pre {margin-top:5px}
|
||||
.mp img {display:block;margin:auto}
|
||||
.mp h1.man-title {display:none}
|
||||
.mp,.mp code,.mp pre,.mp tt,.mp kbd,.mp samp,.mp h3,.mp h4 {font-family:monospace;font-size:14px;line-height:1.42857142857143}
|
||||
.mp h2 {font-size:16px;line-height:1.25}
|
||||
.mp h1 {font-size:20px;line-height:2}
|
||||
.mp {text-align:justify;background:#fff}
|
||||
.mp,.mp code,.mp pre,.mp pre code,.mp tt,.mp kbd,.mp samp {color:#131211}
|
||||
.mp h1,.mp h2,.mp h3,.mp h4 {color:#030201}
|
||||
.mp u {text-decoration:underline}
|
||||
.mp code,.mp strong,.mp b {font-weight:bold;color:#131211}
|
||||
.mp em,.mp var {font-style:italic;color:#232221;text-decoration:none}
|
||||
.mp a,.mp a:link,.mp a:hover,.mp a code,.mp a pre,.mp a tt,.mp a kbd,.mp a samp {color:#0000ff}
|
||||
.mp b.man-ref {font-weight:normal;color:#434241}
|
||||
.mp pre {padding:0 4ex}
|
||||
.mp pre code {font-weight:normal;color:#434241}
|
||||
.mp h2+pre,h3+pre {padding-left:0}
|
||||
ol.man-decor,ol.man-decor li {margin:3px 0 10px 0;padding:0;float:left;width:33%;list-style-type:none;text-transform:uppercase;color:#999;letter-spacing:1px}
|
||||
ol.man-decor {width:100%}
|
||||
ol.man-decor li.tl {text-align:left}
|
||||
ol.man-decor li.tc {text-align:center;letter-spacing:4px}
|
||||
ol.man-decor li.tr {text-align:right;float:right}
|
||||
</style>
|
||||
</head>
|
||||
<!--
|
||||
The following styles are deprecated and will be removed at some point:
|
||||
div#man, div#man ol.man, div#man ol.head, div#man ol.man.
|
||||
|
||||
The .man-page, .man-decor, .man-head, .man-foot, .man-title, and
|
||||
.man-navigation should be used instead.
|
||||
-->
|
||||
<body id='manpage'>
|
||||
<div class='mp' id='man'>
|
||||
|
||||
<div class='man-navigation' style='display:none'>
|
||||
<a href="#NAME">NAME</a>
|
||||
<a href="#SYNOPSIS">SYNOPSIS</a>
|
||||
<a href="#DESCRIPTION">DESCRIPTION</a>
|
||||
<a href="#OPTIONS">OPTIONS</a>
|
||||
<a href="#EXAMPLES">EXAMPLES</a>
|
||||
<a href="#AUTHOR">AUTHOR</a>
|
||||
<a href="#REPORTING-BUGS">REPORTING BUGS</a>
|
||||
<a href="#SEE-ALSO">SEE ALSO</a>
|
||||
</div>
|
||||
|
||||
<ol class='man-decor man-head man head'>
|
||||
<li class='tl'>git-magic(1)</li>
|
||||
<li class='tc'>Git Extras</li>
|
||||
<li class='tr'>git-magic(1)</li>
|
||||
</ol>
|
||||
|
||||
|
||||
|
||||
<h2 id="NAME">NAME</h2>
|
||||
<p class="man-name">
|
||||
<code>git-magic</code> - <span class="man-whatis">Automate add/commit/push routines</span>
|
||||
</p>
|
||||
<h2 id="SYNOPSIS">SYNOPSIS</h2>
|
||||
|
||||
<p><code>git-magic</code> [-a] [-m <var>msg</var>] [-e] [-p] [-f]</p>
|
||||
|
||||
<h2 id="DESCRIPTION">DESCRIPTION</h2>
|
||||
|
||||
<p>Produces summary of changes for commit message from <code>git status --porcelain</code> output.
|
||||
Commits staged changes with the generated commit message and
|
||||
opens editor to modify generated commit message optionally.
|
||||
Also staging and pushing can be automated optionally.</p>
|
||||
|
||||
<h2 id="OPTIONS">OPTIONS</h2>
|
||||
|
||||
<p>-a</p>
|
||||
|
||||
<p>Adds everything including untracked files.</p>
|
||||
|
||||
<p>-m <var>msg</var></p>
|
||||
|
||||
<p>Use the given <var>msg</var> as the commit message. If multiple -m options are given, their values are concatenated as separate paragraphs.
|
||||
Passed to git commit command. The generated is appended to user-given messages.</p>
|
||||
|
||||
<p>-e</p>
|
||||
|
||||
<p>This option lets you further edit the generated message.
|
||||
Passed to git commit command.</p>
|
||||
|
||||
<p>-p</p>
|
||||
|
||||
<p>Runs <code>git push</code> after commit.</p>
|
||||
|
||||
<p>-f</p>
|
||||
|
||||
<p>Adds <code>--force-with-lease</code> option to <code>git push</code> command for safer force pushing.</p>
|
||||
|
||||
<p>-h</p>
|
||||
|
||||
<p>Prints synopsis.</p>
|
||||
|
||||
<h2 id="EXAMPLES">EXAMPLES</h2>
|
||||
|
||||
<p>This example stages all changes then commits with automatic commit message.</p>
|
||||
|
||||
<pre><code>$ git magic -a
|
||||
[feature/magic dc2a11e] A man/git-magic.md
|
||||
1 file changed, 37 insertions(+)
|
||||
create mode 100644 man/git-auto.md
|
||||
# git log
|
||||
Author: overengineer <54alpersaid@gmail.com>
|
||||
Date: Thu Sep 30 20:14:22 2021 +0300
|
||||
|
||||
M man/git-magic.md
|
||||
</code></pre>
|
||||
|
||||
<p><code>-m</code> option PREPENDS generated message.</p>
|
||||
|
||||
<pre><code>$ git magic -am "Added documentation for git magic"
|
||||
[feature/magic dc2a11e] Added documentation for git magic
|
||||
1 file changed, 42 insertions(+), 0 deletions(-)
|
||||
create mode 100644 A man/git-auto.md
|
||||
$ git log
|
||||
Author: overengineer <54alpersaid@gmail.com>
|
||||
Date: Thu Sep 30 20:14:22 2021 +0300
|
||||
|
||||
Added documentation for git magic
|
||||
|
||||
M man/git-magic.md
|
||||
</code></pre>
|
||||
|
||||
<h2 id="AUTHOR">AUTHOR</h2>
|
||||
|
||||
<p>Written by Alper S. Soylu <a href="mailto:54alpersaid@gmail.com" data-bare-link="true">54alpersaid@gmail.com</a></p>
|
||||
|
||||
<h2 id="REPORTING-BUGS">REPORTING BUGS</h2>
|
||||
|
||||
<p><<a href="https://github.com/tj/git-extras/issues" data-bare-link="true">https://github.com/tj/git-extras/issues</a>></p>
|
||||
|
||||
<h2 id="SEE-ALSO">SEE ALSO</h2>
|
||||
|
||||
<p><<a href="https://github.com/tj/git-extras" data-bare-link="true">https://github.com/tj/git-extras</a>></p>
|
||||
|
||||
<ol class='man-decor man-foot man foot'>
|
||||
<li class='tl'></li>
|
||||
<li class='tc'>September 2025</li>
|
||||
<li class='tr'>git-magic(1)</li>
|
||||
</ol>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ Runs `git push` after commit.
|
|||
|
||||
-f
|
||||
|
||||
Adds `-f` option to `git push` command.
|
||||
Adds `--force-with-lease` option to `git push` command for safer force pushing.
|
||||
|
||||
-h
|
||||
|
||||
|
|
|
|||
18
man/git-mr.1
18
man/git-mr.1
|
|
@ -28,7 +28,7 @@ The name of the remote to fetch from\. Defaults to \fBorigin\fR\.
|
|||
<url>
|
||||
.
|
||||
.P
|
||||
GitLab merge request URL in the format \fBhttps://gitlab\.tld/owner/repository/merge_requests/453\fR\.
|
||||
GitLab merge request URL in the format \fBhttps://gitlab\.tld/owner/repository/merge_requests/453\fR, or a Forgejo/Codeberg pull request URL in the format \fBhttps://codeberg\.tld/owner/repository/pulls/453\fR\.
|
||||
.
|
||||
.SH "EXAMPLES"
|
||||
This checks out merge request \fB!51\fR from remote \fBorigin\fR to branch \fBmr/51\fR\.
|
||||
|
|
@ -46,6 +46,22 @@ Switched to branch \'mr/51\'
|
|||
.
|
||||
.IP "" 0
|
||||
.
|
||||
.P
|
||||
This checks out pull request \fB#51\fR from a Forgejo/Codeberg URL to branch \fBmr/51\fR\.
|
||||
.
|
||||
.IP "" 4
|
||||
.
|
||||
.nf
|
||||
|
||||
$ git mr https://codeberg\.org/owner/repository/pulls/51
|
||||
From codeberg\.org:owner/repository
|
||||
* [new ref] refs/pull/51/head \-> mr/51
|
||||
Switched to branch \'mr/51\'
|
||||
.
|
||||
.fi
|
||||
.
|
||||
.IP "" 0
|
||||
.
|
||||
.SH "AUTHOR"
|
||||
Written by Étienne BERSAC \fIbersace03@gmail\.com\fR from git\-pr(1)\.
|
||||
.
|
||||
|
|
|
|||
|
|
@ -94,7 +94,9 @@
|
|||
<p> <url></p>
|
||||
|
||||
<p> GitLab merge request URL in the format
|
||||
<code>https://gitlab.tld/owner/repository/merge_requests/453</code>.</p>
|
||||
<code>https://gitlab.tld/owner/repository/merge_requests/453</code>, or a
|
||||
Forgejo/Codeberg pull request URL in the format
|
||||
<code>https://codeberg.tld/owner/repository/pulls/453</code>.</p>
|
||||
|
||||
<h2 id="EXAMPLES">EXAMPLES</h2>
|
||||
|
||||
|
|
@ -106,6 +108,14 @@ From gitlab.com:owner/repository
|
|||
Switched to branch 'mr/51'
|
||||
</code></pre>
|
||||
|
||||
<p>This checks out pull request <code>#51</code> from a Forgejo/Codeberg URL to branch <code>mr/51</code>.</p>
|
||||
|
||||
<pre><code>$ git mr https://codeberg.org/owner/repository/pulls/51
|
||||
From codeberg.org:owner/repository
|
||||
* [new ref] refs/pull/51/head -> mr/51
|
||||
Switched to branch 'mr/51'
|
||||
</code></pre>
|
||||
|
||||
<h2 id="AUTHOR">AUTHOR</h2>
|
||||
|
||||
<p>Written by Étienne BERSAC <a href="mailto:bersace03@gmail.com" data-bare-link="true">bersace03@gmail.com</a> from <a class="man-ref" href="git-pr.html">git-pr<span class="s">(1)</span></a>.</p>
|
||||
|
|
|
|||
|
|
@ -21,7 +21,9 @@ git-mr(1) -- Checks out a merge request locally
|
|||
<url>
|
||||
|
||||
GitLab merge request URL in the format
|
||||
`https://gitlab.tld/owner/repository/merge_requests/453`.
|
||||
`https://gitlab.tld/owner/repository/merge_requests/453`, or a
|
||||
Forgejo/Codeberg pull request URL in the format
|
||||
`https://codeberg.tld/owner/repository/pulls/453`.
|
||||
|
||||
|
||||
## EXAMPLES
|
||||
|
|
@ -33,6 +35,13 @@ This checks out merge request `!51` from remote `origin` to branch `mr/51`.
|
|||
* [new ref] refs/merge-requests/51/head -> mr/51
|
||||
Switched to branch 'mr/51'
|
||||
|
||||
This checks out pull request `#51` from a Forgejo/Codeberg URL to branch `mr/51`.
|
||||
|
||||
$ git mr https://codeberg.org/owner/repository/pulls/51
|
||||
From codeberg.org:owner/repository
|
||||
* [new ref] refs/pull/51/head -> mr/51
|
||||
Switched to branch 'mr/51'
|
||||
|
||||
## AUTHOR
|
||||
|
||||
Written by Étienne BERSAC <bersace03@gmail.com> from git-pr(1).
|
||||
|
|
|
|||
|
|
@ -1,58 +1,41 @@
|
|||
.\" generated with Ronn/v0.7.3
|
||||
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
||||
.
|
||||
.TH "GIT\-PULL\-REQUEST" "1" "August 2020" "" "Git Extras"
|
||||
.
|
||||
.\" generated with Ronn-NG/v0.10.1
|
||||
.\" http://github.com/apjanke/ronn-ng/tree/0.10.1
|
||||
.TH "GIT\-PULL\-REQUEST" "1" "March 2026" "" "Git Extras"
|
||||
.SH "NAME"
|
||||
\fBgit\-pull\-request\fR \- Create pull request for GitHub project
|
||||
.
|
||||
.SH "SYNOPSIS"
|
||||
\fBgit\-pull\-request\fR [<target branch>]
|
||||
.
|
||||
\fBgit\-pull\-request\fR [<branch>]
|
||||
.SH "DESCRIPTION"
|
||||
Create pull request for a project on GitHub via command line\.
|
||||
.
|
||||
.P
|
||||
A personal access token is required for making the API call to open the pull request(s) in GitHub\. API Documentation here \fIhttps://docs\.github\.com/en/rest/reference/pulls#create\-a\-pull\-request\fR
|
||||
.
|
||||
.P
|
||||
Make sure the personal access token has the right \fBOAuth\fR scopes for the repo(s)
|
||||
.
|
||||
.P
|
||||
Use \fBGITHUB_TOKEN\fR environment variable, or \fBgit config \-\-global \-\-add git\-extras\.github\-personal\-access\-token <your\-personal\-access\-token>\fR
|
||||
.
|
||||
.P
|
||||
If using multiple accounts, override the global value in the specific repo using \fBgit config git\-extras\.github\-personal\-access\-token <other\-acc\-personal\-access\-token>\fR
|
||||
.
|
||||
.SH "OPTIONS"
|
||||
<target branch>
|
||||
.
|
||||
<branch>
|
||||
.P
|
||||
The target branch you want to send pull request to\.
|
||||
.
|
||||
The local branch to push and use as the pull request head\. The base branch is prompted separately\.
|
||||
.SH "EXAMPLES"
|
||||
.
|
||||
.nf
|
||||
|
||||
$ git pull\-request master
|
||||
Everything up\-to\-date
|
||||
|
||||
create pull\-request for spacewander/spacewander\-toolbox \'master\'
|
||||
create pull\-request for spacewander/spacewander\-toolbox 'master'
|
||||
|
||||
title: test
|
||||
body:
|
||||
base [master]:
|
||||
GitHub two\-factor authentication code (leave blank if not set up):
|
||||
|
||||
\.\.\.
|
||||
.
|
||||
\|\.\|\.\|\.
|
||||
.fi
|
||||
.
|
||||
.SH "AUTHOR"
|
||||
Written by Tj Holowaychuk <\fItj@vision\-media\.ca\fR>
|
||||
.
|
||||
.SH "REPORTING BUGS"
|
||||
<\fIhttps://github\.com/tj/git\-extras/issues\fR>
|
||||
.
|
||||
.SH "SEE ALSO"
|
||||
<\fIhttps://github\.com/tj/git\-extras\fR>
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv='content-type' value='text/html;charset=utf8'>
|
||||
<meta name='generator' value='Ronn/v0.7.3 (http://github.com/rtomayko/ronn/tree/0.7.3)'>
|
||||
<meta http-equiv='content-type' content='text/html;charset=utf-8'>
|
||||
<meta name='generator' content='Ronn-NG/v0.10.1 (http://github.com/apjanke/ronn-ng/tree/0.10.1)'>
|
||||
<title>git-pull-request(1) - Create pull request for GitHub project</title>
|
||||
<style type='text/css' media='all'>
|
||||
/* style: man */
|
||||
|
|
@ -69,14 +69,15 @@
|
|||
<li class='tr'>git-pull-request(1)</li>
|
||||
</ol>
|
||||
|
||||
<h2 id="NAME">NAME</h2>
|
||||
|
||||
|
||||
<h2 id="NAME">NAME</h2>
|
||||
<p class="man-name">
|
||||
<code>git-pull-request</code> - <span class="man-whatis">Create pull request for GitHub project</span>
|
||||
</p>
|
||||
|
||||
<h2 id="SYNOPSIS">SYNOPSIS</h2>
|
||||
|
||||
<p><code>git-pull-request</code> [<target branch>]</p>
|
||||
<p><code>git-pull-request</code> [<branch>]</p>
|
||||
|
||||
<h2 id="DESCRIPTION">DESCRIPTION</h2>
|
||||
|
||||
|
|
@ -86,15 +87,15 @@
|
|||
|
||||
<p>Make sure the personal access token has the right <code>OAuth</code> scopes for the repo(s)</p>
|
||||
|
||||
<p>Use <code>GITHUB_TOKEN</code> environment variable, or <code>git config --global --add git-extras.github-personal-access-token <your-personal-access-token></code></p>
|
||||
<p>Use <code>GITHUB_TOKEN</code> environment variable, or <code>git config --global --add git-extras.github-personal-access-token <your-personal-access-token></code></p>
|
||||
|
||||
<p>If using multiple accounts, override the global value in the specific repo using <code>git config git-extras.github-personal-access-token <other-acc-personal-access-token></code></p>
|
||||
<p>If using multiple accounts, override the global value in the specific repo using <code>git config git-extras.github-personal-access-token <other-acc-personal-access-token></code></p>
|
||||
|
||||
<h2 id="OPTIONS">OPTIONS</h2>
|
||||
|
||||
<p><target branch></p>
|
||||
<p><branch></p>
|
||||
|
||||
<p>The target branch you want to send pull request to.</p>
|
||||
<p>The local branch to push and use as the pull request head. The base branch is prompted separately.</p>
|
||||
|
||||
<h2 id="EXAMPLES">EXAMPLES</h2>
|
||||
|
||||
|
|
@ -104,16 +105,16 @@ Everything up-to-date
|
|||
create pull-request for spacewander/spacewander-toolbox 'master'
|
||||
|
||||
title: test
|
||||
body:
|
||||
base [master]:
|
||||
GitHub two-factor authentication code (leave blank if not set up):
|
||||
body:
|
||||
base [master]:
|
||||
GitHub two-factor authentication code (leave blank if not set up):
|
||||
|
||||
...
|
||||
</code></pre>
|
||||
|
||||
<h2 id="AUTHOR">AUTHOR</h2>
|
||||
|
||||
<p>Written by Tj Holowaychuk <<a href="mailto:tj@vision-media.ca" data-bare-link="true">tj@vision-media.ca</a>></p>
|
||||
<p>Written by Tj Holowaychuk <<a href="mailto:tj@vision-media.ca" data-bare-link="true">tj@vision-media.ca</a>></p>
|
||||
|
||||
<h2 id="REPORTING-BUGS">REPORTING BUGS</h2>
|
||||
|
||||
|
|
@ -123,10 +124,9 @@ Everything up-to-date
|
|||
|
||||
<p><<a href="https://github.com/tj/git-extras" data-bare-link="true">https://github.com/tj/git-extras</a>></p>
|
||||
|
||||
|
||||
<ol class='man-decor man-foot man foot'>
|
||||
<li class='tl'></li>
|
||||
<li class='tc'>August 2020</li>
|
||||
<li class='tc'>March 2026</li>
|
||||
<li class='tr'>git-pull-request(1)</li>
|
||||
</ol>
|
||||
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ git-pull-request(1) -- Create pull request for GitHub project
|
|||
|
||||
## SYNOPSIS
|
||||
|
||||
`git-pull-request` [<target branch>]
|
||||
`git-pull-request` [<branch>]
|
||||
|
||||
## DESCRIPTION
|
||||
|
||||
|
|
@ -19,9 +19,9 @@ If using multiple accounts, override the global value in the specific repo using
|
|||
|
||||
## OPTIONS
|
||||
|
||||
<target branch>
|
||||
<branch>
|
||||
|
||||
The target branch you want to send pull request to.
|
||||
The local branch to push and use as the pull request head. The base branch is prompted separately.
|
||||
|
||||
## EXAMPLES
|
||||
|
||||
|
|
|
|||
|
|
@ -1,131 +1,90 @@
|
|||
.\" generated with Ronn/v0.7.3
|
||||
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
||||
.
|
||||
.TH "GIT\-RELEASE" "1" "April 2022" "" "Git Extras"
|
||||
.
|
||||
.\" generated with Ronn-NG/v0.10.1
|
||||
.\" http://github.com/apjanke/ronn-ng/tree/0.10.1
|
||||
.TH "GIT\-RELEASE" "1" "March 2026" "" "Git Extras"
|
||||
.SH "NAME"
|
||||
\fBgit\-release\fR \- Commit, tag and push changes to the repository
|
||||
.
|
||||
.SH "SYNOPSIS"
|
||||
\fBgit\-release\fR [<tagname> | \-\-semver <name>] [\-r <remote>] [\-m <commit info>] [\-\-no\-empty\-commit] [\-c] [\-s] [\-u <key\-id>] [\-\-prefix <tag prefix>] [[\-\-] <hook arguments\.\.\.>]
|
||||
.
|
||||
.TS
|
||||
allbox;
|
||||
\fBgit\-release\fR [<tagname> \-\-semver <name>] [\-r <remote>] [\-m <commit info>] [\-\-no\-empty\-commit] [\-c] [\-s] [\-u <key\-id>] [\-\-prefix <tag prefix>] [[\-\-] <hook arguments\|\.\|\.\|\.>]
|
||||
.TE
|
||||
.SH "DESCRIPTION"
|
||||
Commits changes with message "Release <tagname>" or custom commit information, tags with the given <tagname> and pushes the branch / tags\.
|
||||
.
|
||||
.P
|
||||
This command always creates a release commit, which could be empty if nothing changed\. It works like \fBgit merge \-\-no\-ff\fR\. If you don\'t like the behavior, you could add \fB\-\-no\-empty\-commit\fR to skip it\.
|
||||
.
|
||||
This command always creates a release commit, which could be empty if nothing changed\. It works like \fBgit merge \-\-no\-ff\fR\. If you don't like the behavior, you could add \fB\-\-no\-empty\-commit\fR to skip it\.
|
||||
.P
|
||||
Optionally it generates a changelog (see git\-changelog) and a remote can be defined\. The order of first \-c or \-r does not matter\.
|
||||
.
|
||||
.P
|
||||
If \fB\.git/hook/pre\-release\fR or \fB\.git/hook/post\-release\fR exist, they will be triggered with \fBtagname\fR and extra hook arguments before/after the release\.
|
||||
.
|
||||
If \fB\.git/hooks/pre\-release\fR or \fB\.git/hooks/post\-release\fR exist, they will be triggered with \fBtagname\fR and extra hook arguments before/after the release\.
|
||||
.SH "OPTIONS"
|
||||
\-\-semver <name>
|
||||
.
|
||||
.P
|
||||
If the latest tag in your repo matches the semver format requirement, you could increase part of it as the new release tag with this option\. The name must be one of the \fBmajor\fR, \fBminor\fR, \fBpatch\fR\. For example, assumed the latest tag is \fB4\.4\.0\fR, with \fBgit release \-\-semver minor\fR you will make a new release with tag \fB4\.5\.0\fR\. Use \fB\-\-prefix\fR if tag has a character before semver\.
|
||||
.
|
||||
.P
|
||||
<tagname>
|
||||
.
|
||||
.P
|
||||
The name of the newly created tag\. Also used in tag comment\.
|
||||
.
|
||||
.P
|
||||
\-\-prefix <tag prefix>
|
||||
.
|
||||
.P
|
||||
Use a prefix with a semver tag\. \fBgit release \-\-semver minor \-\-prefix r\fR would increment the latest tag r4\.4\.0 to r4\.5\.0\. This prefix can be any length, without spaces\.
|
||||
.
|
||||
.P
|
||||
\-r <remote>
|
||||
.
|
||||
.P
|
||||
The "remote" repository that is destination of a push operation: it is passed to git push\.
|
||||
.
|
||||
.P
|
||||
\-m <commit info>
|
||||
.
|
||||
.P
|
||||
use the custom commit information instead of the default message "Release <tagname>" \.
|
||||
.
|
||||
.P
|
||||
\-\-no\-empty\-commit
|
||||
.
|
||||
.P
|
||||
Avoid creating empty commit if nothing could be committed\.
|
||||
.
|
||||
.P
|
||||
\-c
|
||||
.
|
||||
.P
|
||||
Generates or populates the changelog with all commit message since the last tag\. For more info see git\-changelog\.\.
|
||||
.
|
||||
.P
|
||||
\-s
|
||||
.
|
||||
.P
|
||||
Create a signed and annotated tag\.
|
||||
.
|
||||
.P
|
||||
\-u <key\-id>
|
||||
.
|
||||
.P
|
||||
Create a tag, annotated and signed with the given key\.
|
||||
.
|
||||
.P
|
||||
[\-\-] hook arguments\.\.\.
|
||||
.
|
||||
[\-\-] hook arguments\|\.\|\.\|\.
|
||||
.P
|
||||
The arguments listed after "\-\-" separator will be passed to pre/post\-release hook following the \fBtagname\fR\.
|
||||
.
|
||||
.SH "EXAMPLES"
|
||||
.
|
||||
.IP "\(bu" 4
|
||||
Release commit with the given <tagname>\.
|
||||
.
|
||||
.IP
|
||||
$ git release 0\.1\.0
|
||||
.
|
||||
.IP "\(bu" 4
|
||||
Release commit with the given <tagname> and custom commit message\.
|
||||
.
|
||||
.IP
|
||||
$ git release 0\.1\.0 \-m "+ powerful feature added\."
|
||||
.
|
||||
.IP "\(bu" 4
|
||||
Release commit with the given <tagname> and push to specific remote\.
|
||||
.
|
||||
.IP
|
||||
$ git release 0\.1\.0 \-r github
|
||||
.
|
||||
.IP "\(bu" 4
|
||||
Release commit with the given <tagname> and populate changelog\.
|
||||
.
|
||||
.IP
|
||||
$ git release 0\.1\.0 \-c
|
||||
.
|
||||
.IP "\(bu" 4
|
||||
Release commit with the given <tagname>, populate changelog, and push to specific remote\.
|
||||
.
|
||||
.IP
|
||||
$ git release 0\.1\.0 \-r github \-c
|
||||
.
|
||||
.IP "\(bu" 4
|
||||
Release commit with the given <tagname>, pass <tagname> and extra argument to release hook, populate changelog, and push to specific remote\.
|
||||
.
|
||||
.IP
|
||||
$ git release 0\.1\.0 \-r github \-c \-\- \-\-signature\-required
|
||||
.
|
||||
.IP "" 0
|
||||
.
|
||||
.SH "AUTHOR"
|
||||
Written by Tj Holowaychuk <\fItj@vision\-media\.ca\fR> Extended by David Hartmann <\fIdh@tsl\.io\fR>
|
||||
.
|
||||
.SH "REPORTING BUGS"
|
||||
<\fIhttps://github\.com/tj/git\-extras/issues\fR>
|
||||
.
|
||||
.SH "SEE ALSO"
|
||||
<\fIhttps://github\.com/tj/git\-extras\fR>
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv='content-type' value='text/html;charset=utf8'>
|
||||
<meta name='generator' value='Ronn/v0.7.3 (http://github.com/rtomayko/ronn/tree/0.7.3)'>
|
||||
<meta http-equiv='content-type' content='text/html;charset=utf-8'>
|
||||
<meta name='generator' content='Ronn-NG/v0.10.1 (http://github.com/apjanke/ronn-ng/tree/0.10.1)'>
|
||||
<title>git-release(1) - Commit, tag and push changes to the repository</title>
|
||||
<style type='text/css' media='all'>
|
||||
/* style: man */
|
||||
|
|
@ -69,99 +69,119 @@
|
|||
<li class='tr'>git-release(1)</li>
|
||||
</ol>
|
||||
|
||||
<h2 id="NAME">NAME</h2>
|
||||
|
||||
|
||||
<h2 id="NAME">NAME</h2>
|
||||
<p class="man-name">
|
||||
<code>git-release</code> - <span class="man-whatis">Commit, tag and push changes to the repository</span>
|
||||
</p>
|
||||
|
||||
<h2 id="SYNOPSIS">SYNOPSIS</h2>
|
||||
|
||||
<p><code>git-release</code> [<tagname> | --semver <name>] [-r <remote>] [-m <commit info>] [--no-empty-commit] [-c] [-s] [-u <key-id>] [--prefix <tag prefix>] [[--] <hook arguments...>]</p>
|
||||
<table>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<code>git-release</code> [<tagname></td>
|
||||
<td>--semver <name>] [-r <remote>] [-m <commit info>] [--no-empty-commit] [-c] [-s] [-u <key-id>] [--prefix <tag prefix>] [[--] <hook arguments...>]</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<h2 id="DESCRIPTION">DESCRIPTION</h2>
|
||||
|
||||
<p> Commits changes with message "Release <tagname>" or custom commit information, tags with the given <tagname> and pushes the branch / tags.</p>
|
||||
<p>Commits changes with message "Release <tagname>" or custom commit information, tags with the given <tagname> and pushes the branch / tags.</p>
|
||||
|
||||
<p> This command always creates a release commit, which could be empty if nothing changed. It works like <code>git merge --no-ff</code>. If you don't like the behavior, you could add <code>--no-empty-commit</code> to skip it.</p>
|
||||
<p>This command always creates a release commit, which could be empty if nothing changed. It works like <code>git merge --no-ff</code>. If you don't like the behavior, you could add <code>--no-empty-commit</code> to skip it.</p>
|
||||
|
||||
<p> Optionally it generates a changelog (see git-changelog) and a remote can be defined. The order of first -c or -r does not matter.</p>
|
||||
<p>Optionally it generates a changelog (see git-changelog) and a remote can be defined. The order of first -c or -r does not matter.</p>
|
||||
|
||||
<p> If <code>.git/hook/pre-release</code> or <code>.git/hook/post-release</code> exist, they will be triggered with <code>tagname</code> and extra hook arguments before/after the release.</p>
|
||||
<p>If <code>.git/hooks/pre-release</code> or <code>.git/hooks/post-release</code> exist, they will be triggered with <code>tagname</code> and extra hook arguments before/after the release.</p>
|
||||
|
||||
<h2 id="OPTIONS">OPTIONS</h2>
|
||||
|
||||
<p> --semver <name></p>
|
||||
<p>--semver <name></p>
|
||||
|
||||
<p> If the latest tag in your repo matches the semver format requirement, you could increase part of it as the new release tag
|
||||
<p>If the latest tag in your repo matches the semver format requirement, you could increase part of it as the new release tag
|
||||
with this option. The name must be one of the <code>major</code>, <code>minor</code>, <code>patch</code>. For example, assumed the latest tag is <code>4.4.0</code>, with
|
||||
<code>git release --semver minor</code> you will make a new release with tag <code>4.5.0</code>. Use <code>--prefix</code> if tag has a character before semver.</p>
|
||||
|
||||
<p> <tagname></p>
|
||||
<p><tagname></p>
|
||||
|
||||
<p> The name of the newly created tag. Also used in tag comment.</p>
|
||||
<p>The name of the newly created tag. Also used in tag comment.</p>
|
||||
|
||||
<p> --prefix <tag prefix></p>
|
||||
<p>--prefix <tag prefix></p>
|
||||
|
||||
<p> Use a prefix with a semver tag. <code>git release --semver minor --prefix r</code> would increment the latest tag r4.4.0 to r4.5.0. This prefix
|
||||
<p>Use a prefix with a semver tag. <code>git release --semver minor --prefix r</code> would increment the latest tag r4.4.0 to r4.5.0. This prefix
|
||||
can be any length, without spaces.</p>
|
||||
|
||||
<p> -r <remote></p>
|
||||
<p>-r <remote></p>
|
||||
|
||||
<p> The "remote" repository that is destination of a push operation: it is passed to git push.</p>
|
||||
<p>The "remote" repository that is destination of a push operation: it is passed to git push.</p>
|
||||
|
||||
<p> -m <commit info></p>
|
||||
<p>-m <commit info></p>
|
||||
|
||||
<p> use the custom commit information instead of the default message "Release <tagname>" .</p>
|
||||
<p>use the custom commit information instead of the default message "Release <tagname>" .</p>
|
||||
|
||||
<p> --no-empty-commit</p>
|
||||
<p>--no-empty-commit</p>
|
||||
|
||||
<p> Avoid creating empty commit if nothing could be committed.</p>
|
||||
<p>Avoid creating empty commit if nothing could be committed.</p>
|
||||
|
||||
<p> -c</p>
|
||||
<p>-c</p>
|
||||
|
||||
<p> Generates or populates the changelog with all commit message since the last tag. For more info see git-changelog..</p>
|
||||
<p>Generates or populates the changelog with all commit message since the last tag. For more info see git-changelog..</p>
|
||||
|
||||
<p> -s</p>
|
||||
<p>-s</p>
|
||||
|
||||
<p> Create a signed and annotated tag.</p>
|
||||
<p>Create a signed and annotated tag.</p>
|
||||
|
||||
<p> -u <key-id></p>
|
||||
<p>-u <key-id></p>
|
||||
|
||||
<p> Create a tag, annotated and signed with the given key.</p>
|
||||
<p>Create a tag, annotated and signed with the given key.</p>
|
||||
|
||||
<p> [--] hook arguments...</p>
|
||||
<p>[--] hook arguments...</p>
|
||||
|
||||
<p> The arguments listed after "--" separator will be passed to pre/post-release hook following the <code>tagname</code>.</p>
|
||||
<p>The arguments listed after "--" separator will be passed to pre/post-release hook following the <code>tagname</code>.</p>
|
||||
|
||||
<h2 id="EXAMPLES">EXAMPLES</h2>
|
||||
|
||||
<ul>
|
||||
<li><p>Release commit with the given <tagname>.</p>
|
||||
<li>
|
||||
<p>Release commit with the given <tagname>.</p>
|
||||
|
||||
<p>$ git release 0.1.0</p></li>
|
||||
<li><p>Release commit with the given <tagname> and custom commit message.</p>
|
||||
<p>$ git release 0.1.0</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>Release commit with the given <tagname> and custom commit message.</p>
|
||||
|
||||
<p>$ git release 0.1.0 -m "+ powerful feature added."</p></li>
|
||||
<li><p>Release commit with the given <tagname> and push to specific remote.</p>
|
||||
<p>$ git release 0.1.0 -m "+ powerful feature added."</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>Release commit with the given <tagname> and push to specific remote.</p>
|
||||
|
||||
<p>$ git release 0.1.0 -r github</p></li>
|
||||
<li><p>Release commit with the given <tagname> and populate changelog.</p>
|
||||
<p>$ git release 0.1.0 -r github</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>Release commit with the given <tagname> and populate changelog.</p>
|
||||
|
||||
<p>$ git release 0.1.0 -c</p></li>
|
||||
<li><p>Release commit with the given <tagname>, populate changelog, and push to specific remote.</p>
|
||||
<p>$ git release 0.1.0 -c</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>Release commit with the given <tagname>, populate changelog, and push to specific remote.</p>
|
||||
|
||||
<p>$ git release 0.1.0 -r github -c</p></li>
|
||||
<li><p>Release commit with the given <tagname>, pass <tagname> and extra argument to release hook,
|
||||
<p>$ git release 0.1.0 -r github -c</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>Release commit with the given <tagname>, pass <tagname> and extra argument to release hook,
|
||||
populate changelog, and push to specific remote.</p>
|
||||
|
||||
<p>$ git release 0.1.0 -r github -c -- --signature-required</p></li>
|
||||
<p>$ git release 0.1.0 -r github -c -- --signature-required</p>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<h2 id="AUTHOR">AUTHOR</h2>
|
||||
|
||||
<p>Written by Tj Holowaychuk <<a href="mailto:tj@vision-media.ca" data-bare-link="true">tj@vision-media.ca</a>>
|
||||
Extended by David Hartmann <<a href="mailto:dh@tsl.io" data-bare-link="true">dh@tsl.io</a>></p>
|
||||
<p>Written by Tj Holowaychuk <<a href="mailto:tj@vision-media.ca" data-bare-link="true">tj@vision-media.ca</a>>
|
||||
Extended by David Hartmann <<a href="mailto:dh@tsl.io" data-bare-link="true">dh@tsl.io</a>></p>
|
||||
|
||||
<h2 id="REPORTING-BUGS">REPORTING BUGS</h2>
|
||||
|
||||
|
|
@ -171,10 +191,9 @@ Extended by David Hartmann <<a href="mailto
|
|||
|
||||
<p><<a href="https://github.com/tj/git-extras" data-bare-link="true">https://github.com/tj/git-extras</a>></p>
|
||||
|
||||
|
||||
<ol class='man-decor man-foot man foot'>
|
||||
<li class='tl'></li>
|
||||
<li class='tc'>April 2022</li>
|
||||
<li class='tc'>March 2026</li>
|
||||
<li class='tr'>git-release(1)</li>
|
||||
</ol>
|
||||
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ git-release(1) -- Commit, tag and push changes to the repository
|
|||
|
||||
Optionally it generates a changelog (see git-changelog) and a remote can be defined. The order of first -c or -r does not matter.
|
||||
|
||||
If `.git/hook/pre-release` or `.git/hook/post-release` exist, they will be triggered with `tagname` and extra hook arguments before/after the release.
|
||||
If `.git/hooks/pre-release` or `.git/hooks/post-release` exist, they will be triggered with `tagname` and extra hook arguments before/after the release.
|
||||
|
||||
## OPTIONS
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
.\" generated with Ronn/v0.7.3
|
||||
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
||||
.
|
||||
.TH "GIT\-RENAME\-BRANCH" "1" "July 2019" "" "Git Extras"
|
||||
.TH "GIT\-RENAME\-BRANCH" "1" "September 2025" "" "Git Extras"
|
||||
.
|
||||
.SH "NAME"
|
||||
\fBgit\-rename\-branch\fR \- rename local branch and push to remote
|
||||
|
|
@ -10,26 +10,19 @@
|
|||
\fBgit\-rename\-branch\fR <old\-branch> <new\-branch>
|
||||
.
|
||||
.SH "DESCRIPTION"
|
||||
.
|
||||
.nf
|
||||
|
||||
Rename local branch and push the new branch to remote
|
||||
.
|
||||
.fi
|
||||
.
|
||||
.SH "OPTIONS"
|
||||
<old\-branch>
|
||||
.
|
||||
.nf
|
||||
|
||||
<old\-branch>
|
||||
|
||||
.P
|
||||
Old branch whose has to be renamed\. This is an optional parameter\. If no value is supplied then the current branch will be renamed\.
|
||||
|
||||
<new\-branch>
|
||||
|
||||
New branch name
|
||||
.
|
||||
.fi
|
||||
.P
|
||||
<new\-branch>
|
||||
.
|
||||
.P
|
||||
New branch name
|
||||
.
|
||||
.SH "EXAMPLES"
|
||||
.
|
||||
|
|
|
|||
|
|
@ -80,19 +80,17 @@
|
|||
|
||||
<h2 id="DESCRIPTION">DESCRIPTION</h2>
|
||||
|
||||
<pre><code>Rename local branch and push the new branch to remote
|
||||
</code></pre>
|
||||
<p> Rename local branch and push the new branch to remote</p>
|
||||
|
||||
<h2 id="OPTIONS">OPTIONS</h2>
|
||||
|
||||
<pre><code>&lt;old-branch&gt;
|
||||
<p> <old-branch></p>
|
||||
|
||||
Old branch whose has to be renamed. This is an optional parameter. If no value is supplied then the current branch will be renamed.
|
||||
<p> Old branch whose has to be renamed. This is an optional parameter. If no value is supplied then the current branch will be renamed.</p>
|
||||
|
||||
&lt;new-branch&gt;
|
||||
<p> <new-branch></p>
|
||||
|
||||
New branch name
|
||||
</code></pre>
|
||||
<p> New branch name</p>
|
||||
|
||||
<h2 id="EXAMPLES">EXAMPLES</h2>
|
||||
|
||||
|
|
@ -103,7 +101,7 @@ $ git rename-branch new-name
|
|||
|
||||
<h2 id="AUTHOR">AUTHOR</h2>
|
||||
|
||||
<p>Written by Hozefa Jodiawalla <<a href="mailto:hozefarules@gmail.com" data-bare-link="true">hozefarules@gmail.com</a>></p>
|
||||
<p>Written by Hozefa Jodiawalla <<a href="mailto:hozefarules@gmail.com" data-bare-link="true">hozefarules@gmail.com</a>></p>
|
||||
|
||||
<h2 id="REPORTING-BUGS">REPORTING BUGS</h2>
|
||||
|
||||
|
|
@ -116,7 +114,7 @@ $ git rename-branch new-name
|
|||
|
||||
<ol class='man-decor man-foot man foot'>
|
||||
<li class='tl'></li>
|
||||
<li class='tc'>July 2019</li>
|
||||
<li class='tc'>September 2025</li>
|
||||
<li class='tr'>git-rename-branch(1)</li>
|
||||
</ol>
|
||||
|
||||
|
|
|
|||
|
|
@ -7,17 +7,17 @@ git-rename-branch(1) -- rename local branch and push to remote
|
|||
|
||||
## DESCRIPTION
|
||||
|
||||
Rename local branch and push the new branch to remote
|
||||
Rename local branch and push the new branch to remote
|
||||
|
||||
## OPTIONS
|
||||
|
||||
<old-branch>
|
||||
<old-branch>
|
||||
|
||||
Old branch whose has to be renamed. This is an optional parameter. If no value is supplied then the current branch will be renamed.
|
||||
Old branch whose has to be renamed. This is an optional parameter. If no value is supplied then the current branch will be renamed.
|
||||
|
||||
<new-branch>
|
||||
<new-branch>
|
||||
|
||||
New branch name
|
||||
New branch name
|
||||
|
||||
## EXAMPLES
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
.\" generated with Ronn-NG/v0.9.1
|
||||
.\" http://github.com/apjanke/ronn-ng/tree/0.9.1
|
||||
.TH "GIT\-REPL" "1" "September 2024" "" "Git Extras"
|
||||
.\" generated with Ronn-NG/v0.10.1
|
||||
.\" http://github.com/apjanke/ronn-ng/tree/0.10.1
|
||||
.TH "GIT\-REPL" "1" "February 2026" "" "Git Extras"
|
||||
.SH "NAME"
|
||||
\fBgit\-repl\fR \- git read\-eval\-print\-loop
|
||||
.SH "SYNOPSIS"
|
||||
|
|
@ -31,6 +31,28 @@ Equivalent of 'git ls\-files'\.
|
|||
exit|quit|q
|
||||
.P
|
||||
Ends the repl session\.
|
||||
.SH "CONFIGURATION"
|
||||
Commands entered in a repl session will be saved to a history file and be available in future sessions, similar to a shell or programming language repl\. By default, the global history file is at \fB~/\.local/state/git_extras_repl_history\fR\. You can specify that your projects each have their own independent history file\. This file will be saved in \.git_repl_history at the top level of the repo, and will need to be added to the repo or global \.gitignore\.
|
||||
.IP "" 4
|
||||
.nf
|
||||
# remove the \-\-global flag to configure only an individual project to have its own history file
|
||||
git config \-\-global git\-extras\.repl\.use\-local\-history "true"
|
||||
.fi
|
||||
.IP "" 0
|
||||
.P
|
||||
You can specify a default command to run when hitting enter:
|
||||
.P
|
||||
\fBgit config \-\-global git\-extras\.repl\.on\-enter\-command "git status \-sb"\fR
|
||||
.P
|
||||
You can configure which character is used at the end of the prompt (default \fB>\fR):
|
||||
.P
|
||||
\fBgit config \-\-global git\-extras\.repl\.prompt\-character "±"\fR
|
||||
.P
|
||||
You can specify the prefix for the prompt (default \fBgit\fR): \fBgit config \-\-global git\-extras\.repl\.prefix ""\fR
|
||||
.P
|
||||
You can have the name of the current git repo shown in the prompt (default \fBfalse\fR):
|
||||
.P
|
||||
\fBgit config \-\-global git\-extras\.repl\.show\-project\-name "true"\fR
|
||||
.SH "EXAMPLES"
|
||||
.nf
|
||||
$ git repl
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv='content-type' content='text/html;charset=utf8'>
|
||||
<meta name='generator' content='Ronn-NG/v0.9.1 (http://github.com/apjanke/ronn-ng/tree/0.9.1)'>
|
||||
<meta http-equiv='content-type' content='text/html;charset=utf-8'>
|
||||
<meta name='generator' content='Ronn-NG/v0.10.1 (http://github.com/apjanke/ronn-ng/tree/0.10.1)'>
|
||||
<title>git-repl(1) - git read-eval-print-loop</title>
|
||||
<style type='text/css' media='all'>
|
||||
/* style: man */
|
||||
|
|
@ -57,6 +57,7 @@
|
|||
<a href="#SYNOPSIS">SYNOPSIS</a>
|
||||
<a href="#DESCRIPTION">DESCRIPTION</a>
|
||||
<a href="#COMMANDS">COMMANDS</a>
|
||||
<a href="#CONFIGURATION">CONFIGURATION</a>
|
||||
<a href="#EXAMPLES">EXAMPLES</a>
|
||||
<a href="#AUTHOR">AUTHOR</a>
|
||||
<a href="#REPORTING-BUGS">REPORTING BUGS</a>
|
||||
|
|
@ -112,6 +113,35 @@
|
|||
|
||||
<p>Ends the repl session.</p>
|
||||
|
||||
<h2 id="CONFIGURATION">CONFIGURATION</h2>
|
||||
|
||||
<p>Commands entered in a repl session will be saved to a history file and be available in
|
||||
future sessions, similar to a shell or programming language repl. By default,
|
||||
the global history file is at <code>~/.local/state/git_extras_repl_history</code>. You can specify that your projects
|
||||
each have their own independent history file. This file will be saved in .git_repl_history
|
||||
at the top level of the repo, and will need to be added to the repo or global .gitignore.</p>
|
||||
|
||||
<pre><code class="language-bash"> # remove the --global flag to configure only an individual project to have its own history file
|
||||
git config --global git-extras.repl.use-local-history "true"
|
||||
</code></pre>
|
||||
|
||||
<p>You can specify a default command to run when hitting enter:</p>
|
||||
|
||||
<p><code>git config --global git-extras.repl.on-enter-command "git status -sb"</code></p>
|
||||
|
||||
<p>You can configure which character is used at the end of the prompt
|
||||
(default <code>></code>):</p>
|
||||
|
||||
<p><code>git config --global git-extras.repl.prompt-character "±"</code></p>
|
||||
|
||||
<p>You can specify the prefix for the prompt (default <code>git</code>):
|
||||
<code>git config --global git-extras.repl.prefix ""</code></p>
|
||||
|
||||
<p>You can have the name of the current git repo shown in the prompt
|
||||
(default <code>false</code>):</p>
|
||||
|
||||
<p><code>git config --global git-extras.repl.show-project-name "true"</code></p>
|
||||
|
||||
<h2 id="EXAMPLES">EXAMPLES</h2>
|
||||
|
||||
<pre><code>$ git repl
|
||||
|
|
@ -150,7 +180,7 @@ git (master)> quit
|
|||
|
||||
<ol class='man-decor man-foot man foot'>
|
||||
<li class='tl'></li>
|
||||
<li class='tc'>September 2024</li>
|
||||
<li class='tc'>February 2026</li>
|
||||
<li class='tr'>git-repl(1)</li>
|
||||
</ol>
|
||||
|
||||
|
|
|
|||
|
|
@ -38,6 +38,36 @@ git-repl(1) -- git read-eval-print-loop
|
|||
|
||||
Ends the repl session.
|
||||
|
||||
## CONFIGURATION
|
||||
|
||||
Commands entered in a repl session will be saved to a history file and be available in
|
||||
future sessions, similar to a shell or programming language repl. By default,
|
||||
the global history file is at `~/.local/state/git_extras_repl_history`. You can specify that your projects
|
||||
each have their own independent history file. This file will be saved in .git_repl_history
|
||||
at the top level of the repo, and will need to be added to the repo or global .gitignore.
|
||||
|
||||
```bash
|
||||
# remove the --global flag to configure only an individual project to have its own history file
|
||||
git config --global git-extras.repl.use-local-history "true"
|
||||
```
|
||||
|
||||
You can specify a default command to run when hitting enter:
|
||||
|
||||
`git config --global git-extras.repl.on-enter-command "git status -sb"`
|
||||
|
||||
You can configure which character is used at the end of the prompt
|
||||
(default `>`):
|
||||
|
||||
`git config --global git-extras.repl.prompt-character "±"`
|
||||
|
||||
You can specify the prefix for the prompt (default `git`):
|
||||
`git config --global git-extras.repl.prefix ""`
|
||||
|
||||
You can have the name of the current git repo shown in the prompt
|
||||
(default `false`):
|
||||
|
||||
`git config --global git-extras.repl.show-project-name "true"`
|
||||
|
||||
|
||||
## EXAMPLES
|
||||
|
||||
|
|
|
|||
|
|
@ -1,60 +1,37 @@
|
|||
.\" generated with Ronn/v0.7.3
|
||||
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
||||
.
|
||||
.TH "GIT\-RESET\-FILE" "1" "October 2017" "" "Git Extras"
|
||||
.
|
||||
.\" generated with Ronn-NG/v0.10.1
|
||||
.\" http://github.com/apjanke/ronn-ng/tree/0.10.1
|
||||
.TH "GIT\-RESET\-FILE" "1" "March 2026" "" "Git Extras"
|
||||
.SH "NAME"
|
||||
\fBgit\-reset\-file\fR \- Reset one file
|
||||
.
|
||||
.SH "SYNOPSIS"
|
||||
\fBgit\-reset\-file\fR [<filename>] commit\-hash
|
||||
.
|
||||
\fBgit\-reset\-file\fR <filename> [<commit\-hash>]
|
||||
.SH "DESCRIPTION"
|
||||
Reset one file to HEAD or certain commit\-hash
|
||||
.
|
||||
.SH "OPTIONS"
|
||||
<filename>
|
||||
.
|
||||
.P
|
||||
The name of the file to reset\.
|
||||
.
|
||||
.P
|
||||
<commit\-hash>
|
||||
.
|
||||
.P
|
||||
(Optional) Hash of commit to reset the file to\. Defaults to HEAD\.
|
||||
.
|
||||
.SH "EXAMPLES"
|
||||
Reset one file to HEAD
|
||||
.
|
||||
.IP "" 4
|
||||
.
|
||||
.nf
|
||||
|
||||
$ git reset\-file \.htaccess
|
||||
.
|
||||
.fi
|
||||
.
|
||||
.IP "" 0
|
||||
.
|
||||
.P
|
||||
or reset one file to certain commit
|
||||
.
|
||||
.IP "" 4
|
||||
.
|
||||
.nf
|
||||
|
||||
$ git reset\-file \.htaccess dc82b19
|
||||
.
|
||||
.fi
|
||||
.
|
||||
.IP "" 0
|
||||
.
|
||||
.SH "AUTHOR"
|
||||
Written by Sasha Khamkov <\fIsanusart@gmail\.com\fR>
|
||||
.
|
||||
.SH "REPORTING BUGS"
|
||||
<\fIhttps://github\.com/tj/git\-extras/issues\fR>
|
||||
.
|
||||
.SH "SEE ALSO"
|
||||
<\fIhttps://github\.com/tj/git\-extras\fR>
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv='content-type' value='text/html;charset=utf8'>
|
||||
<meta name='generator' value='Ronn/v0.7.3 (http://github.com/rtomayko/ronn/tree/0.7.3)'>
|
||||
<meta http-equiv='content-type' content='text/html;charset=utf-8'>
|
||||
<meta name='generator' content='Ronn-NG/v0.10.1 (http://github.com/apjanke/ronn-ng/tree/0.10.1)'>
|
||||
<title>git-reset-file(1) - Reset one file</title>
|
||||
<style type='text/css' media='all'>
|
||||
/* style: man */
|
||||
|
|
@ -69,44 +69,45 @@
|
|||
<li class='tr'>git-reset-file(1)</li>
|
||||
</ol>
|
||||
|
||||
<h2 id="NAME">NAME</h2>
|
||||
|
||||
|
||||
<h2 id="NAME">NAME</h2>
|
||||
<p class="man-name">
|
||||
<code>git-reset-file</code> - <span class="man-whatis">Reset one file</span>
|
||||
</p>
|
||||
|
||||
<h2 id="SYNOPSIS">SYNOPSIS</h2>
|
||||
|
||||
<p><code>git-reset-file</code> [<filename>] commit-hash</p>
|
||||
<p><code>git-reset-file</code> <filename> [<commit-hash>]</p>
|
||||
|
||||
<h2 id="DESCRIPTION">DESCRIPTION</h2>
|
||||
|
||||
<p> Reset one file to HEAD or certain commit-hash</p>
|
||||
<p>Reset one file to HEAD or certain commit-hash</p>
|
||||
|
||||
<h2 id="OPTIONS">OPTIONS</h2>
|
||||
|
||||
<p> <filename></p>
|
||||
<p><filename></p>
|
||||
|
||||
<p> The name of the file to reset.</p>
|
||||
<p>The name of the file to reset.</p>
|
||||
|
||||
<p> <commit-hash></p>
|
||||
<p><commit-hash></p>
|
||||
|
||||
<p> (Optional) Hash of commit to reset the file to. Defaults to HEAD.</p>
|
||||
<p>(Optional) Hash of commit to reset the file to. Defaults to HEAD.</p>
|
||||
|
||||
<h2 id="EXAMPLES">EXAMPLES</h2>
|
||||
|
||||
<p> Reset one file to HEAD</p>
|
||||
<p>Reset one file to HEAD</p>
|
||||
|
||||
<pre><code>$ git reset-file .htaccess
|
||||
</code></pre>
|
||||
|
||||
<p> or reset one file to certain commit</p>
|
||||
<p>or reset one file to certain commit</p>
|
||||
|
||||
<pre><code>$ git reset-file .htaccess dc82b19
|
||||
</code></pre>
|
||||
|
||||
<h2 id="AUTHOR">AUTHOR</h2>
|
||||
|
||||
<p>Written by Sasha Khamkov <<a href="mailto:sanusart@gmail.com" data-bare-link="true">sanusart@gmail.com</a>></p>
|
||||
<p>Written by Sasha Khamkov <<a href="mailto:sanusart@gmail.com" data-bare-link="true">sanusart@gmail.com</a>></p>
|
||||
|
||||
<h2 id="REPORTING-BUGS">REPORTING BUGS</h2>
|
||||
|
||||
|
|
@ -116,10 +117,9 @@
|
|||
|
||||
<p><<a href="https://github.com/tj/git-extras" data-bare-link="true">https://github.com/tj/git-extras</a>></p>
|
||||
|
||||
|
||||
<ol class='man-decor man-foot man foot'>
|
||||
<li class='tl'></li>
|
||||
<li class='tc'>October 2017</li>
|
||||
<li class='tc'>March 2026</li>
|
||||
<li class='tr'>git-reset-file(1)</li>
|
||||
</ol>
|
||||
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ git-reset-file(1) -- Reset one file
|
|||
|
||||
## SYNOPSIS
|
||||
|
||||
`git-reset-file` [<filename>] commit-hash
|
||||
`git-reset-file` <filename> [<commit-hash>]
|
||||
|
||||
## DESCRIPTION
|
||||
|
||||
|
|
|
|||
|
|
@ -4,8 +4,8 @@ git-scp(1) -- Copy files to SSH compatible `git-remote`
|
|||
## SYNOPSIS
|
||||
|
||||
`git scp` -h|help|?
|
||||
`git scp` <remote> [<commits>...|<path>...]
|
||||
`git rscp` <remote> <path>
|
||||
`git scp` [options] <remote> [<commits>...|<path>...]
|
||||
`git rscp` [options] <remote> <path>
|
||||
|
||||
## DESCRIPTION
|
||||
|
||||
|
|
@ -29,6 +29,18 @@ Internally this script uses `rsync` and not `scp` as the name suggests.
|
|||
|
||||
The <paths> parameters, when given, are used to limit the diff to the named paths (you can give directory names and get diff for all files under them).
|
||||
|
||||
-v, --verbose
|
||||
|
||||
Print what will be synced before syncing: the diff for `git scp`, or a preview (rsync dry-run) for `git rscp`.
|
||||
|
||||
-i, --interactive
|
||||
|
||||
Same as `--verbose`, but also prompt for confirmation before syncing. Implies `--verbose`
|
||||
|
||||
-n, --dry-run
|
||||
|
||||
Show what would be synced, change nothing. Implies `--verbose`, and no staging or remote writes/deletes happen.
|
||||
|
||||
## GIT CONFIGS
|
||||
|
||||
To sanitize files using `dos2unix` before copying files
|
||||
|
|
|
|||
|
|
@ -1,36 +1,27 @@
|
|||
.\" generated with Ronn/v0.7.3
|
||||
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
||||
.
|
||||
.TH "GIT\-SETUP" "1" "October 2017" "" "Git Extras"
|
||||
.
|
||||
.\" generated with Ronn-NG/v0.10.1
|
||||
.\" http://github.com/apjanke/ronn-ng/tree/0.10.1
|
||||
.TH "GIT\-SETUP" "1" "March 2026" "" "Git Extras"
|
||||
.SH "NAME"
|
||||
\fBgit\-setup\fR \- Set up a git repository
|
||||
.
|
||||
.SH "SYNOPSIS"
|
||||
\fBgit\-setup\fR [<directory>]
|
||||
.
|
||||
\fBgit\-setup\fR [\-m <message>] [<directory>]
|
||||
.SH "DESCRIPTION"
|
||||
Set up a git repository if one doesn\'t exist, add all files and make an initial commit\.
|
||||
.
|
||||
Set up a git repository if one doesn't exist, add all files and make an initial commit\.
|
||||
.SH "OPTIONS"
|
||||
\-m <message>
|
||||
.P
|
||||
Use <message> as the initial commit message\.
|
||||
.P
|
||||
<directory>
|
||||
.
|
||||
.P
|
||||
The name of a new directory to setup\. By default, the current working directory\.
|
||||
.
|
||||
.SH "EXAMPLES"
|
||||
.
|
||||
.nf
|
||||
|
||||
$ git setup path/to/repository
|
||||
.
|
||||
.fi
|
||||
.
|
||||
.SH "AUTHOR"
|
||||
Written by Aggelos Orfanakos <\fIagorf@agorf\.gr\fR>
|
||||
.
|
||||
.SH "REPORTING BUGS"
|
||||
<\fIhttps://github\.com/tj/git\-extras/issues\fR>
|
||||
.
|
||||
.SH "SEE ALSO"
|
||||
<\fIhttps://github\.com/tj/git\-extras\fR>
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv='content-type' value='text/html;charset=utf8'>
|
||||
<meta name='generator' value='Ronn/v0.7.3 (http://github.com/rtomayko/ronn/tree/0.7.3)'>
|
||||
<meta http-equiv='content-type' content='text/html;charset=utf-8'>
|
||||
<meta name='generator' content='Ronn-NG/v0.10.1 (http://github.com/apjanke/ronn-ng/tree/0.10.1)'>
|
||||
<title>git-setup(1) - Set up a git repository</title>
|
||||
<style type='text/css' media='all'>
|
||||
/* style: man */
|
||||
|
|
@ -69,14 +69,15 @@
|
|||
<li class='tr'>git-setup(1)</li>
|
||||
</ol>
|
||||
|
||||
<h2 id="NAME">NAME</h2>
|
||||
|
||||
|
||||
<h2 id="NAME">NAME</h2>
|
||||
<p class="man-name">
|
||||
<code>git-setup</code> - <span class="man-whatis">Set up a git repository</span>
|
||||
</p>
|
||||
|
||||
<h2 id="SYNOPSIS">SYNOPSIS</h2>
|
||||
|
||||
<p><code>git-setup</code> [<directory>]</p>
|
||||
<p><code>git-setup</code> [-m <message>] [<directory>]</p>
|
||||
|
||||
<h2 id="DESCRIPTION">DESCRIPTION</h2>
|
||||
|
||||
|
|
@ -84,9 +85,13 @@
|
|||
|
||||
<h2 id="OPTIONS">OPTIONS</h2>
|
||||
|
||||
<p> <directory></p>
|
||||
<p>-m <message></p>
|
||||
|
||||
<p> The name of a new directory to setup. By default, the current working directory.</p>
|
||||
<p>Use <message> as the initial commit message.</p>
|
||||
|
||||
<p><directory></p>
|
||||
|
||||
<p>The name of a new directory to setup. By default, the current working directory.</p>
|
||||
|
||||
<h2 id="EXAMPLES">EXAMPLES</h2>
|
||||
|
||||
|
|
@ -95,7 +100,7 @@
|
|||
|
||||
<h2 id="AUTHOR">AUTHOR</h2>
|
||||
|
||||
<p>Written by Aggelos Orfanakos <<a href="mailto:agorf@agorf.gr" data-bare-link="true">agorf@agorf.gr</a>></p>
|
||||
<p>Written by Aggelos Orfanakos <<a href="mailto:agorf@agorf.gr" data-bare-link="true">agorf@agorf.gr</a>></p>
|
||||
|
||||
<h2 id="REPORTING-BUGS">REPORTING BUGS</h2>
|
||||
|
||||
|
|
@ -105,10 +110,9 @@
|
|||
|
||||
<p><<a href="https://github.com/tj/git-extras" data-bare-link="true">https://github.com/tj/git-extras</a>></p>
|
||||
|
||||
|
||||
<ol class='man-decor man-foot man foot'>
|
||||
<li class='tl'></li>
|
||||
<li class='tc'>October 2017</li>
|
||||
<li class='tc'>March 2026</li>
|
||||
<li class='tr'>git-setup(1)</li>
|
||||
</ol>
|
||||
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ git-setup(1) -- Set up a git repository
|
|||
|
||||
## SYNOPSIS
|
||||
|
||||
`git-setup` [<directory>]
|
||||
`git-setup` [-m <message>] [<directory>]
|
||||
|
||||
## DESCRIPTION
|
||||
|
||||
|
|
@ -11,6 +11,10 @@ Set up a git repository if one doesn't exist, add all files and make an initial
|
|||
|
||||
## OPTIONS
|
||||
|
||||
-m <message>
|
||||
|
||||
Use <message> as the initial commit message.
|
||||
|
||||
<directory>
|
||||
|
||||
The name of a new directory to setup. By default, the current working directory.
|
||||
|
|
|
|||
|
|
@ -1,30 +1,19 @@
|
|||
.\" generated with Ronn/v0.7.3
|
||||
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
||||
.
|
||||
.TH "GIT\-SHOW\-MERGED\-BRANCHES" "1" "October 2017" "" "Git Extras"
|
||||
.
|
||||
.\" generated with Ronn-NG/v0.10.1
|
||||
.\" http://github.com/apjanke/ronn-ng/tree/0.10.1
|
||||
.TH "GIT\-SHOW\-MERGED\-BRANCHES" "1" "March 2026" "" "Git Extras"
|
||||
.SH "NAME"
|
||||
\fBgit\-show\-merged\-branches\fR \- Show merged branches
|
||||
.
|
||||
.SH "SYNOPSIS"
|
||||
\fBgit\-show\-merged\-branches\fR
|
||||
.
|
||||
.SH "DESCRIPTION"
|
||||
Show all branches merged in to current HEAD\.
|
||||
.
|
||||
Show branches merged in to current HEAD, excluding the default branch\.
|
||||
.SH "EXAMPLES"
|
||||
.
|
||||
.nf
|
||||
|
||||
$ git show\-merged\-branches
|
||||
.
|
||||
.fi
|
||||
.
|
||||
.SH "AUTHOR"
|
||||
Written by Paul Schreiber <\fIpaulschreiber@gmail\.com\fR>
|
||||
.
|
||||
.SH "REPORTING BUGS"
|
||||
<\fIhttps://github\.com/tj/git\-extras/issues\fR>
|
||||
.
|
||||
.SH "SEE ALSO"
|
||||
<\fIhttps://github\.com/tj/git\-extras\fR>
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv='content-type' value='text/html;charset=utf8'>
|
||||
<meta name='generator' value='Ronn/v0.7.3 (http://github.com/rtomayko/ronn/tree/0.7.3)'>
|
||||
<meta http-equiv='content-type' content='text/html;charset=utf-8'>
|
||||
<meta name='generator' content='Ronn-NG/v0.10.1 (http://github.com/apjanke/ronn-ng/tree/0.10.1)'>
|
||||
<title>git-show-merged-branches(1) - Show merged branches</title>
|
||||
<style type='text/css' media='all'>
|
||||
/* style: man */
|
||||
|
|
@ -68,18 +68,19 @@
|
|||
<li class='tr'>git-show-merged-branches(1)</li>
|
||||
</ol>
|
||||
|
||||
<h2 id="NAME">NAME</h2>
|
||||
|
||||
|
||||
<h2 id="NAME">NAME</h2>
|
||||
<p class="man-name">
|
||||
<code>git-show-merged-branches</code> - <span class="man-whatis">Show merged branches</span>
|
||||
</p>
|
||||
|
||||
<h2 id="SYNOPSIS">SYNOPSIS</h2>
|
||||
|
||||
<p><code>git-show-merged-branches</code></p>
|
||||
|
||||
<h2 id="DESCRIPTION">DESCRIPTION</h2>
|
||||
|
||||
<p> Show all branches merged in to current HEAD.</p>
|
||||
<p>Show branches merged in to current HEAD, excluding the default branch.</p>
|
||||
|
||||
<h2 id="EXAMPLES">EXAMPLES</h2>
|
||||
|
||||
|
|
@ -88,7 +89,7 @@
|
|||
|
||||
<h2 id="AUTHOR">AUTHOR</h2>
|
||||
|
||||
<p>Written by Paul Schreiber <<a href="mailto:paulschreiber@gmail.com" data-bare-link="true">paulschreiber@gmail.com</a>></p>
|
||||
<p>Written by Paul Schreiber <<a href="mailto:paulschreiber@gmail.com" data-bare-link="true">paulschreiber@gmail.com</a>></p>
|
||||
|
||||
<h2 id="REPORTING-BUGS">REPORTING BUGS</h2>
|
||||
|
||||
|
|
@ -98,10 +99,9 @@
|
|||
|
||||
<p><<a href="https://github.com/tj/git-extras" data-bare-link="true">https://github.com/tj/git-extras</a>></p>
|
||||
|
||||
|
||||
<ol class='man-decor man-foot man foot'>
|
||||
<li class='tl'></li>
|
||||
<li class='tc'>October 2017</li>
|
||||
<li class='tc'>March 2026</li>
|
||||
<li class='tr'>git-show-merged-branches(1)</li>
|
||||
</ol>
|
||||
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ git-show-merged-branches(1) -- Show merged branches
|
|||
|
||||
## DESCRIPTION
|
||||
|
||||
Show all branches merged in to current HEAD.
|
||||
Show branches merged in to current HEAD, excluding the default branch.
|
||||
|
||||
## EXAMPLES
|
||||
|
||||
|
|
|
|||
|
|
@ -1,30 +1,19 @@
|
|||
.\" generated with Ronn/v0.7.3
|
||||
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
||||
.
|
||||
.TH "GIT\-SHOW\-UNMERGED\-BRANCHES" "1" "October 2017" "" "Git Extras"
|
||||
.
|
||||
.\" generated with Ronn-NG/v0.10.1
|
||||
.\" http://github.com/apjanke/ronn-ng/tree/0.10.1
|
||||
.TH "GIT\-SHOW\-UNMERGED\-BRANCHES" "1" "March 2026" "" "Git Extras"
|
||||
.SH "NAME"
|
||||
\fBgit\-show\-unmerged\-branches\fR \- Show unmerged branches
|
||||
.
|
||||
.SH "SYNOPSIS"
|
||||
\fBgit\-show\-unmerged\-branches\fR
|
||||
.
|
||||
.SH "DESCRIPTION"
|
||||
Show all branches not merged in to current HEAD\.
|
||||
.
|
||||
Show branches not merged in to current HEAD, excluding the default branch\.
|
||||
.SH "EXAMPLES"
|
||||
.
|
||||
.nf
|
||||
|
||||
$ git show\-unmerged\-branches
|
||||
.
|
||||
.fi
|
||||
.
|
||||
.SH "AUTHOR"
|
||||
Written by Paul Schreiber <\fIpaulschreiber@gmail\.com\fR>
|
||||
.
|
||||
.SH "REPORTING BUGS"
|
||||
<\fIhttps://github\.com/tj/git\-extras/issues\fR>
|
||||
.
|
||||
.SH "SEE ALSO"
|
||||
<\fIhttps://github\.com/tj/git\-extras\fR>
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv='content-type' value='text/html;charset=utf8'>
|
||||
<meta name='generator' value='Ronn/v0.7.3 (http://github.com/rtomayko/ronn/tree/0.7.3)'>
|
||||
<meta http-equiv='content-type' content='text/html;charset=utf-8'>
|
||||
<meta name='generator' content='Ronn-NG/v0.10.1 (http://github.com/apjanke/ronn-ng/tree/0.10.1)'>
|
||||
<title>git-show-unmerged-branches(1) - Show unmerged branches</title>
|
||||
<style type='text/css' media='all'>
|
||||
/* style: man */
|
||||
|
|
@ -68,18 +68,19 @@
|
|||
<li class='tr'>git-show-unmerged-branches(1)</li>
|
||||
</ol>
|
||||
|
||||
<h2 id="NAME">NAME</h2>
|
||||
|
||||
|
||||
<h2 id="NAME">NAME</h2>
|
||||
<p class="man-name">
|
||||
<code>git-show-unmerged-branches</code> - <span class="man-whatis">Show unmerged branches</span>
|
||||
</p>
|
||||
|
||||
<h2 id="SYNOPSIS">SYNOPSIS</h2>
|
||||
|
||||
<p><code>git-show-unmerged-branches</code></p>
|
||||
|
||||
<h2 id="DESCRIPTION">DESCRIPTION</h2>
|
||||
|
||||
<p> Show all branches not merged in to current HEAD.</p>
|
||||
<p>Show branches not merged in to current HEAD, excluding the default branch.</p>
|
||||
|
||||
<h2 id="EXAMPLES">EXAMPLES</h2>
|
||||
|
||||
|
|
@ -88,7 +89,7 @@
|
|||
|
||||
<h2 id="AUTHOR">AUTHOR</h2>
|
||||
|
||||
<p>Written by Paul Schreiber <<a href="mailto:paulschreiber@gmail.com" data-bare-link="true">paulschreiber@gmail.com</a>></p>
|
||||
<p>Written by Paul Schreiber <<a href="mailto:paulschreiber@gmail.com" data-bare-link="true">paulschreiber@gmail.com</a>></p>
|
||||
|
||||
<h2 id="REPORTING-BUGS">REPORTING BUGS</h2>
|
||||
|
||||
|
|
@ -98,10 +99,9 @@
|
|||
|
||||
<p><<a href="https://github.com/tj/git-extras" data-bare-link="true">https://github.com/tj/git-extras</a>></p>
|
||||
|
||||
|
||||
<ol class='man-decor man-foot man foot'>
|
||||
<li class='tl'></li>
|
||||
<li class='tc'>October 2017</li>
|
||||
<li class='tc'>March 2026</li>
|
||||
<li class='tr'>git-show-unmerged-branches(1)</li>
|
||||
</ol>
|
||||
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ git-show-unmerged-branches(1) -- Show unmerged branches
|
|||
|
||||
## DESCRIPTION
|
||||
|
||||
Show all branches not merged in to current HEAD.
|
||||
Show branches not merged in to current HEAD, excluding the default branch.
|
||||
|
||||
## EXAMPLES
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
.\" generated with Ronn-NG/v0.9.1
|
||||
.\" http://github.com/apjanke/ronn-ng/tree/0.9.1
|
||||
.TH "GIT\-STANDUP" "1" "July 2022" "" "Git Extras"
|
||||
.\" generated with Ronn-NG/v0.10.1
|
||||
.\" http://github.com/apjanke/ronn-ng/tree/0.10.1
|
||||
.TH "GIT\-STANDUP" "1" "March 2026" "" "Git Extras"
|
||||
.SH "NAME"
|
||||
\fBgit\-standup\fR \- Recall the commit history
|
||||
.SH "SYNOPSIS"
|
||||
|
|
@ -55,13 +55,13 @@ Limit the number of commits displayed per group\. By default, the limitation is
|
|||
\-F \fIgpg|authordate\fR
|
||||
.P
|
||||
Change how the commits are formatted\. Takes an argument, can be specified multiple times\.
|
||||
.IP "\[ci]" 4
|
||||
.IP "\(bu" 4
|
||||
\fB\-F gpg\fR: Display if commit is GPG signed (G) or not (N)\.
|
||||
.IP "\[ci]" 4
|
||||
.IP "\(bu" 4
|
||||
\fB\-F authordate\fR: Print the author date instead of the commit date\.
|
||||
.IP "" 0
|
||||
.SH "GIT CONFIGS"
|
||||
You can configure a implicit \-w \fIweekstart\-weekend\fR, which is superseded if \-w or \-d is given on the command line\. Note that the \fIweekstart\-weekend\fR must be specified, they don\'t have any default values as the \fB\-w\fR flag has\.
|
||||
You can configure a implicit \-w \fIweekstart\-weekend\fR, which is superseded if \-w or \-d is given on the command line\. Note that the \fIweekstart\-weekend\fR must be specified, they don't have any default values as the \fB\-w\fR flag has\.
|
||||
.IP "" 4
|
||||
.nf
|
||||
$ git config \-\-global git\-extras\.standup\.implicit\-week "Mon\-Fri"
|
||||
|
|
@ -77,7 +77,7 @@ a26d1f9 \- add profile hook (69 minutes ago) <spacewander>
|
|||
.fi
|
||||
.IP "" 0
|
||||
.P
|
||||
This shows the author\'s commits since last week:
|
||||
This shows the author's commits since last week:
|
||||
.IP "" 4
|
||||
.nf
|
||||
$ git standup \-a spacewander \-d 7
|
||||
|
|
@ -104,7 +104,7 @@ someProject/
|
|||
.fi
|
||||
.IP "" 0
|
||||
.P
|
||||
By specifying the \fB\-B\fR option, git\-standuo will group the commits in branches:
|
||||
By specifying the \fB\-B\fR option, git\-standup will group the commits in branches:
|
||||
.IP "" 4
|
||||
.nf
|
||||
$ git standup \-B \-a spacewander \-d 7
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv='content-type' content='text/html;charset=utf8'>
|
||||
<meta name='generator' content='Ronn-NG/v0.9.1 (http://github.com/apjanke/ronn-ng/tree/0.9.1)'>
|
||||
<meta http-equiv='content-type' content='text/html;charset=utf-8'>
|
||||
<meta name='generator' content='Ronn-NG/v0.10.1 (http://github.com/apjanke/ronn-ng/tree/0.10.1)'>
|
||||
<title>git-standup(1) - Recall the commit history</title>
|
||||
<style type='text/css' media='all'>
|
||||
/* style: man */
|
||||
|
|
@ -191,7 +191,7 @@ someProject/
|
|||
46fef1d - use tinyXML to configure (7 days ago) <spacewander>
|
||||
</code></pre>
|
||||
|
||||
<p>By specifying the <code>-B</code> option, git-standuo will group the commits in branches:</p>
|
||||
<p>By specifying the <code>-B</code> option, git-standup will group the commits in branches:</p>
|
||||
|
||||
<pre><code>$ git standup -B -a spacewander -d 7
|
||||
|
||||
|
|
@ -221,7 +221,7 @@ master
|
|||
|
||||
<ol class='man-decor man-foot man foot'>
|
||||
<li class='tl'></li>
|
||||
<li class='tc'>July 2022</li>
|
||||
<li class='tc'>March 2026</li>
|
||||
<li class='tr'>git-standup(1)</li>
|
||||
</ol>
|
||||
|
||||
|
|
|
|||
|
|
@ -108,7 +108,7 @@ If current directory is not a git repo, git-standup will fetch data from all top
|
|||
8e4182a - add watermark.png (7 days ago) <spacewander>
|
||||
46fef1d - use tinyXML to configure (7 days ago) <spacewander>
|
||||
|
||||
By specifying the `-B` option, git-standuo will group the commits in branches:
|
||||
By specifying the `-B` option, git-standup will group the commits in branches:
|
||||
|
||||
$ git standup -B -a spacewander -d 7
|
||||
|
||||
|
|
|
|||
|
|
@ -1,92 +1,55 @@
|
|||
.\" generated with Ronn/v0.7.3
|
||||
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
||||
.
|
||||
.TH "GIT\-SYNC" "1" "August 2022" "" "Git Extras"
|
||||
.
|
||||
.\" generated with Ronn-NG/v0.10.1
|
||||
.\" http://github.com/apjanke/ronn-ng/tree/0.10.1
|
||||
.TH "GIT\-SYNC" "1" "March 2026" "" "Git Extras"
|
||||
.SH "NAME"
|
||||
\fBgit\-sync\fR \- Sync local branch with remote branch
|
||||
.
|
||||
.SH "SYNOPSIS"
|
||||
\fBgit sync\fR [\-\-soft] [\-\-force] [ <remote> <branch> ]
|
||||
.
|
||||
.SH "DESCRIPTION"
|
||||
Sync local branch with <remote>/<branch>\.
|
||||
.
|
||||
.P
|
||||
When <remote> and <branch> are not specified on the command line, upstream of local branch will be used by default\.
|
||||
.
|
||||
.P
|
||||
All changes and untracked files and directories will be removed unless you add \-s(\-\-soft)\.
|
||||
.
|
||||
Tracked changes will be reset, and untracked files and directories will be removed unless you add \-s(\-\-soft)\.
|
||||
.SH "OPTIONS"
|
||||
\-\-soft or \-s
|
||||
.
|
||||
.P
|
||||
Add this flag if you want to preserve untracked files\.
|
||||
.
|
||||
Add this flag if you want to preserve untracked files and directories\.
|
||||
.P
|
||||
\-\-force or \-f
|
||||
.
|
||||
.P
|
||||
Add this flag to disable interaction\.
|
||||
.
|
||||
.SH "EXAMPLES"
|
||||
Sync local branch with its upstream
|
||||
.
|
||||
.IP "" 4
|
||||
.
|
||||
.nf
|
||||
|
||||
$ git sync
|
||||
.
|
||||
.fi
|
||||
.
|
||||
.IP "" 0
|
||||
.
|
||||
.P
|
||||
Sync local branch with origin/master
|
||||
.
|
||||
.IP "" 4
|
||||
.
|
||||
.nf
|
||||
|
||||
$ git sync origin master
|
||||
.
|
||||
.fi
|
||||
.
|
||||
.IP "" 0
|
||||
.
|
||||
.P
|
||||
Sync without cleaning untracked files:
|
||||
.
|
||||
.IP "" 4
|
||||
.
|
||||
.nf
|
||||
|
||||
$ git sync \-s origin master
|
||||
.
|
||||
.fi
|
||||
.
|
||||
.IP "" 0
|
||||
.
|
||||
.P
|
||||
Sync without interaction:
|
||||
.
|
||||
.IP "" 4
|
||||
.
|
||||
.nf
|
||||
|
||||
$ git sync \-f
|
||||
.
|
||||
.fi
|
||||
.
|
||||
.IP "" 0
|
||||
.
|
||||
.SH "AUTHOR"
|
||||
Written by Takuma Yamaguchi <\fIkumon0587@gmail\.com\fR>
|
||||
.
|
||||
.SH "REPORTING BUGS"
|
||||
<\fIhttps://github\.com/tj/git\-extras/issues\fR>
|
||||
.
|
||||
.SH "SEE ALSO"
|
||||
<\fIhttps://github\.com/tj/git\-extras\fR>
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv='content-type' value='text/html;charset=utf8'>
|
||||
<meta name='generator' value='Ronn/v0.7.3 (http://github.com/rtomayko/ronn/tree/0.7.3)'>
|
||||
<meta http-equiv='content-type' content='text/html;charset=utf-8'>
|
||||
<meta name='generator' content='Ronn-NG/v0.10.1 (http://github.com/apjanke/ronn-ng/tree/0.10.1)'>
|
||||
<title>git-sync(1) - Sync local branch with remote branch</title>
|
||||
<style type='text/css' media='all'>
|
||||
/* style: man */
|
||||
|
|
@ -69,58 +69,59 @@
|
|||
<li class='tr'>git-sync(1)</li>
|
||||
</ol>
|
||||
|
||||
<h2 id="NAME">NAME</h2>
|
||||
|
||||
|
||||
<h2 id="NAME">NAME</h2>
|
||||
<p class="man-name">
|
||||
<code>git-sync</code> - <span class="man-whatis">Sync local branch with remote branch</span>
|
||||
</p>
|
||||
|
||||
<h2 id="SYNOPSIS">SYNOPSIS</h2>
|
||||
|
||||
<p> <code>git sync</code> [--soft] [--force] [ <remote> <branch> ]</p>
|
||||
<p><code>git sync</code> [--soft] [--force] [ <remote> <branch> ]</p>
|
||||
|
||||
<h2 id="DESCRIPTION">DESCRIPTION</h2>
|
||||
|
||||
<p> Sync local branch with <remote>/<branch>.</p>
|
||||
<p>Sync local branch with <remote>/<branch>.</p>
|
||||
|
||||
<p> When <remote> and <branch> are not specified on the command line, upstream of local branch will be used by default.</p>
|
||||
<p>When <remote> and <branch> are not specified on the command line, upstream of local branch will be used by default.</p>
|
||||
|
||||
<p> All changes and untracked files and directories will be removed unless you add -s(--soft).</p>
|
||||
<p>Tracked changes will be reset, and untracked files and directories will be removed unless you add -s(--soft).</p>
|
||||
|
||||
<h2 id="OPTIONS">OPTIONS</h2>
|
||||
|
||||
<p> --soft or -s</p>
|
||||
<p>--soft or -s</p>
|
||||
|
||||
<p> Add this flag if you want to preserve untracked files.</p>
|
||||
<p>Add this flag if you want to preserve untracked files and directories.</p>
|
||||
|
||||
<p> --force or -f</p>
|
||||
<p>--force or -f</p>
|
||||
|
||||
<p> Add this flag to disable interaction.</p>
|
||||
<p>Add this flag to disable interaction.</p>
|
||||
|
||||
<h2 id="EXAMPLES">EXAMPLES</h2>
|
||||
|
||||
<p> Sync local branch with its upstream</p>
|
||||
<p>Sync local branch with its upstream</p>
|
||||
|
||||
<pre><code>$ git sync
|
||||
</code></pre>
|
||||
|
||||
<p> Sync local branch with origin/master</p>
|
||||
<p>Sync local branch with origin/master</p>
|
||||
|
||||
<pre><code>$ git sync origin master
|
||||
</code></pre>
|
||||
|
||||
<p> Sync without cleaning untracked files:</p>
|
||||
<p>Sync without cleaning untracked files:</p>
|
||||
|
||||
<pre><code>$ git sync -s origin master
|
||||
</code></pre>
|
||||
|
||||
<p> Sync without interaction:</p>
|
||||
<p>Sync without interaction:</p>
|
||||
|
||||
<pre><code>$ git sync -f
|
||||
</code></pre>
|
||||
|
||||
<h2 id="AUTHOR">AUTHOR</h2>
|
||||
|
||||
<p>Written by Takuma Yamaguchi <<a href="mailto:kumon0587@gmail.com" data-bare-link="true">kumon0587@gmail.com</a>></p>
|
||||
<p>Written by Takuma Yamaguchi <<a href="mailto:kumon0587@gmail.com" data-bare-link="true">kumon0587@gmail.com</a>></p>
|
||||
|
||||
<h2 id="REPORTING-BUGS">REPORTING BUGS</h2>
|
||||
|
||||
|
|
@ -130,10 +131,9 @@
|
|||
|
||||
<p><<a href="https://github.com/tj/git-extras" data-bare-link="true">https://github.com/tj/git-extras</a>></p>
|
||||
|
||||
|
||||
<ol class='man-decor man-foot man foot'>
|
||||
<li class='tl'></li>
|
||||
<li class='tc'>August 2022</li>
|
||||
<li class='tc'>March 2026</li>
|
||||
<li class='tr'>git-sync(1)</li>
|
||||
</ol>
|
||||
|
||||
|
|
|
|||
|
|
@ -11,13 +11,13 @@ git-sync(1) -- Sync local branch with remote branch
|
|||
|
||||
When <remote> and <branch> are not specified on the command line, upstream of local branch will be used by default.
|
||||
|
||||
All changes and untracked files and directories will be removed unless you add -s(--soft).
|
||||
Tracked changes will be reset, and untracked files and directories will be removed unless you add -s(--soft).
|
||||
|
||||
## OPTIONS
|
||||
|
||||
--soft or -s
|
||||
|
||||
Add this flag if you want to preserve untracked files.
|
||||
Add this flag if you want to preserve untracked files and directories.
|
||||
|
||||
--force or -f
|
||||
|
||||
|
|
|
|||
|
|
@ -18,6 +18,7 @@ git-count(1) git-count
|
|||
git-cp(1) git-cp
|
||||
git-create-branch(1) git-create-branch
|
||||
git-delete-branch(1) git-delete-branch
|
||||
git-delete-gone-branches(1) git-delete-gone-branches
|
||||
git-delete-merged-branches(1) git-delete-merged-branches
|
||||
git-delete-squashed-branches(1) git-delete-squashed-branches
|
||||
git-delete-submodule(1) git-delete-submodule
|
||||
|
|
|
|||
|
|
@ -1,9 +1,11 @@
|
|||
#!/usr/bin/env python3
|
||||
import re
|
||||
import os
|
||||
import argparse
|
||||
import os
|
||||
import re
|
||||
import sys
|
||||
from collections.abc import Callable # compat
|
||||
from pathlib import Path
|
||||
from typing import Callable, List, Dict, Any # compat
|
||||
from typing import Any
|
||||
|
||||
# This file checks Bash and Shell scripts for violations not found with
|
||||
# shellcheck or existing methods. You can use it in several ways:
|
||||
|
|
@ -21,7 +23,7 @@ from typing import Callable, List, Dict, Any # compat
|
|||
# Check to ensure all regular expressions are working as intended:
|
||||
# $ ./scripts/checkstyle.py --internal-test-regex
|
||||
|
||||
Rule = Dict[str, Any]
|
||||
Rule = dict[str, Any]
|
||||
|
||||
class c:
|
||||
RED = '\033[91m'
|
||||
|
|
@ -91,7 +93,7 @@ def noVerboseRedirectionFixer(line: str, m: Any) -> str:
|
|||
|
||||
return f'{prestr}&>/dev/null{poststr}'
|
||||
|
||||
def lintfile(file: Path, rules: List[Rule], options: Dict[str, Any]):
|
||||
def lintfile(file: Path, rules: list[Rule], options: dict[str, Any]):
|
||||
content_arr = file.read_text().split('\n')
|
||||
|
||||
for line_i, line in enumerate(content_arr):
|
||||
|
|
@ -100,15 +102,15 @@ def lintfile(file: Path, rules: List[Rule], options: Dict[str, Any]):
|
|||
|
||||
for rule in rules:
|
||||
should_run = False
|
||||
if 'sh' in rule['fileTypes']:
|
||||
if file.name.endswith('.sh'):
|
||||
should_run = True
|
||||
if 'bash' in rule['fileTypes']:
|
||||
if file.name.endswith('.bash') or file.name.endswith('.bats') or file.name.startswith('git-'):
|
||||
should_run = True
|
||||
if 'sh' in rule['fileTypes'] and file.name.endswith('.sh'):
|
||||
should_run = True
|
||||
if 'bash' in rule['fileTypes'] and (
|
||||
file.name.endswith('.bash') or file.name.endswith('.bats') or file.name.startswith('git-')
|
||||
):
|
||||
should_run = True
|
||||
|
||||
if options['verbose']:
|
||||
print(f'{str(file)}: {should_run}')
|
||||
print(f'{file!s}: {should_run}')
|
||||
|
||||
if not should_run:
|
||||
continue
|
||||
|
|
@ -134,7 +136,7 @@ def lintfile(file: Path, rules: List[Rule], options: Dict[str, Any]):
|
|||
file.write_text('\n'.join(content_arr))
|
||||
|
||||
def main():
|
||||
rules: List[Rule] = [
|
||||
rules: list[Rule] = [
|
||||
{
|
||||
'name': 'no-pwd-capture',
|
||||
'regex': '(?P<match>\\$\\(pwd\\))',
|
||||
|
|
@ -238,7 +240,12 @@ def main():
|
|||
lintfile(p, rules, options)
|
||||
else:
|
||||
for file in Path.cwd().glob('**/*'):
|
||||
if '.git' in str(file.absolute()):
|
||||
skip = False
|
||||
for name in ('.git', 'vendor', '__pycache__'):
|
||||
if name in str(file.absolute()):
|
||||
skip = True
|
||||
break
|
||||
if skip:
|
||||
continue
|
||||
|
||||
if file.is_file():
|
||||
|
|
@ -255,8 +262,8 @@ def main():
|
|||
|
||||
# exit
|
||||
if grand_total == 0:
|
||||
exit(0)
|
||||
sys.exit(0)
|
||||
else:
|
||||
exit(2)
|
||||
sys.exit(2)
|
||||
|
||||
main()
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
# Testing
|
||||
|
||||
Originally, the tests were written in pytest. However, tests are in the process of being converted to Bats so coverage can be calculated.
|
||||
Tests are written in Bats so coverage can be calculated for shell commands.
|
||||
|
||||
## Bats Testing
|
||||
|
||||
|
|
@ -10,7 +10,7 @@ We require a somewhat recent version of Bats. Version v1.8.1 is tested in CI. On
|
|||
bats ./tests
|
||||
```
|
||||
|
||||
We highly recommend adding tests for new features and fixes.
|
||||
We highly recommend adding Bats tests for new features and fixes.
|
||||
|
||||
### Code Coverage
|
||||
|
||||
|
|
@ -21,49 +21,3 @@ bashcov -- bats ./tests
|
|||
```
|
||||
|
||||
By default, the report will be generated in `./coverage/index.html`.
|
||||
|
||||
## Python Testing
|
||||
|
||||
The test part depends on:
|
||||
|
||||
* python >= 3.11
|
||||
* poetry >= 1.8.0
|
||||
* pytest >= 8.1.2
|
||||
* gitpython >= 3.1.43
|
||||
|
||||
So the versions are higher than above is recommended.
|
||||
|
||||
### How to run the tests
|
||||
|
||||
1. Install `poetry`
|
||||
2. Install the dependencies via `poetry install`
|
||||
3. Run `poetry run pytest`
|
||||
|
||||
It is done or go without `poetry`,
|
||||
|
||||
1. Install python >= 3.11
|
||||
2. Install pytest >= 8.1.2
|
||||
3. Install gitpython >= 3.1.43
|
||||
4. Install testpath >= 0.6.0
|
||||
5. Run `pytest`
|
||||
|
||||
The second way maybe blocked the some missing dependencies at someday, so the first one is recommended.
|
||||
|
||||
### What and how to create a unit test
|
||||
|
||||
One command has a unit test, because one `git-*` command is just do one thing, so we can eat a piece of `git-*` command in one time.
|
||||
|
||||
For example,
|
||||
|
||||
1. The `git-alias` should have a test suite, so create `test_git_alias.py` in the directory `test`
|
||||
2. Create a test class `TestGitAlias` in the `test_git_alias.py`
|
||||
3. Create a test case `test_init`, and some test fixtures can be used, `temp_repo`, `named_temp_repo` etc.
|
||||
* `temp_repo` is module scoped fixture which create a temporary directory and available in the test suite `test_git_alias.py`.
|
||||
* `named_temp_repo` is just same as `temp_repo` except the custom directory renaming.
|
||||
4. Loop the third step until the 100% coverage of the function of the `git-alias`
|
||||
|
||||
### References
|
||||
|
||||
* [poetry](https://github.com/python-poetry/poetry)
|
||||
* [pytest](https://github.com/pytest-dev/pytest/)
|
||||
* [git python](https://github.com/gitpython-developers/GitPython)
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue