Made Git Magic use --force-with-lease (#1218)

This change simply overwrites the usage of `-f` with
`--force-with-lease` in git-magic because `--force-with-lease` is a
safer alternative.
This commit is contained in:
Hugo Ruiz-Mireles 2025-10-21 20:49:27 -07:00 committed by GitHub
parent eb34655aea
commit daf9d4148e
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 240 additions and 271 deletions

View file

@ -30,7 +30,7 @@ while getopts "m:eapfh" arg; do
PUSH=true
;;
f)
FORCE='-f'
FORCE='--force-with-lease'
;;
h)
echo "$USAGE"

View file

@ -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>

View file

@ -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 &lt;54alpersaid@gmail.com&gt;
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 &lt;54alpersaid@gmail.com&gt;
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 &lt;54alpersaid@gmail.com></p>
<h2 id="REPORTING-BUGS">REPORTING BUGS</h2>
<p>&lt;<a href="https://github.com/tj/git-extras/issues" data-bare-link="true">https://github.com/tj/git-extras/issues</a>&gt;</p>
<h2 id="SEE-ALSO">SEE ALSO</h2>
<p>&lt;<a href="https://github.com/tj/git-extras" data-bare-link="true">https://github.com/tj/git-extras</a>&gt;</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 &lt;54alpersaid@gmail.com&gt;
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 &lt;54alpersaid@gmail.com&gt;
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>&lt;<a href="https://github.com/tj/git-extras/issues" data-bare-link="true">https://github.com/tj/git-extras/issues</a>&gt;</p>
<h2 id="SEE-ALSO">SEE ALSO</h2>
<p>&lt;<a href="https://github.com/tj/git-extras" data-bare-link="true">https://github.com/tj/git-extras</a>&gt;</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>

View file

@ -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