diff options
author | johannst <johannst@users.noreply.github.com> | 2021-10-03 12:24:21 +0000 |
---|---|---|
committer | johannst <johannst@users.noreply.github.com> | 2021-10-03 12:24:21 +0000 |
commit | 32a4c0dddc20f75b484ffb4a85c5374215416829 (patch) | |
tree | 16b80f10b4b57bfb0d6ade13258c772fb2fe49dc /tools | |
parent | 7e48cdeb627a59d267407936097914b92c1eee8d (diff) | |
download | notes-32a4c0dddc20f75b484ffb4a85c5374215416829.tar.gz notes-32a4c0dddc20f75b484ffb4a85c5374215416829.zip |
deploy: d646cf94c0cbe74baef5e5711a3cd3f53afc096d
Diffstat (limited to 'tools')
-rw-r--r-- | tools/git.html | 72 |
1 files changed, 44 insertions, 28 deletions
diff --git a/tools/git.html b/tools/git.html index a1871cd..a140a9a 100644 --- a/tools/git.html +++ b/tools/git.html @@ -166,23 +166,18 @@ remote branches git branch -vv ................. list branch & annotate with head sha1 & remote tracking branch - git branch <bname> ............. create branch with name <bname> + git branch <bname> ............. create local branch with name <bname> + git branch -d <bname> .......... delete local branch with name <bname> git checkout <bname> ........... switch to branch with name <bname> git checkout --track <branch> .. start to locally track a remote branch - git push -u origin <rbname> .... push branch to origin (or other remote), and - setup <rbname> as tracking branch -</code></pre> -<h2><a class="header" href="#resetting" id="resetting">Resetting</a></h2> -<pre><code class="language-markdown"> git reset [opt] <ref|commit> - opt: - --mixed .................... resets index, but not working tree - --hard ..................... matches the working tree and index to that - of the tree being switched to any changes to - tracked files in the working tree since - <commit> are lost - git reset HEAD <file> .......... remove file from staging - git reset --soft HEAD~1 ........ delete most recent commit but keep work - git reset --hard HEAD~1 ........ delete most recent commit and delete work + + # Remote + + git push -u origin <rbname> ........ push local branch to origin (or other + remote), and setup <rbname> as tracking + branch + git push origin --delete <rbname> .. delete branch <rbname> from origin (or + other remote) </code></pre> <h2><a class="header" href="#tags" id="tags">Tags</a></h2> <pre><code class="language-markdown"> git tag -a <tname> -m "descr" ........ creates an annotated tag (full object @@ -190,22 +185,31 @@ git tag -l ........................... list available tags git checkout tag/<tname> ............. checkout specific tag git checkout tag/<tname> -b <bname> .. checkout specific tag in a new branch + + # Remote + + git push origin --tags .... push local tags to origin (or other remote) </code></pre> -<h2><a class="header" href="#diff" id="diff">Diff</a></h2> -<pre><code class="language-markdown"> git diff HEAD:<fname> origin/HEAD:<fname> ... diff files for different refs - git diff -U$(wc -l <fname>) <fname> ......... shows complete file with diffs - instead of usual diff snippets -</code></pre> -<h2><a class="header" href="#log" id="log">Log</a></h2> -<pre><code class="language-markdown"> git log --oneline .... shows log in single line per commit -> alias for - '--pretty=oneline --abbrev-commit' - git log --graph ...... text based graph of commit history - git log --decorate ... decorate log with REFs -</code></pre> -<h2><a class="header" href="#file-history" id="file-history">File history</a></h2> -<pre><code class="language-markdown"> git log -p <file> ......... show commit history + diffs for <file> +<h2><a class="header" href="#log--commit-history" id="log--commit-history">Log & Commit History</a></h2> +<pre><code class="language-markdown"> git log --oneline ......... shows log in single line per commit -> alias for + '--pretty=oneline --abbrev-commit' + git log --graph ........... text based graph of commit history + git log --decorate ........ decorate log with REFs + + git log -p <file> ......... show commit history + diffs for <file> git log --oneline <file> .. show commit history for <file> in compact format </code></pre> +<h2><a class="header" href="#diff--commit-info" id="diff--commit-info">Diff & Commit Info</a></h2> +<pre><code class="language-markdown"> git diff <commit>..<commit> [<file>] .... show changes between two arbitrary + commits. If one <commit> is omitted + it is if HEAD is specified. + git diff -U$(wc -l <file>) <file> ....... shows complete file with diffs + instead of usual diff snippets + git diff --staged ....................... show diffs of staged files + + git show --stat <commit> ................ show files changed by <commit> + git show <commit> [<file>] .............. show diffs for <commit> +</code></pre> <h2><a class="header" href="#patching" id="patching">Patching</a></h2> <pre><code class="language-markdown"> git format-patch <opt> <since>/<revision range> opt: @@ -230,6 +234,18 @@ # generate single patch file from a certain commit/ref git format-patch <COMMIT/REF> --stdout > my-patch.patch </code></pre> +<h2><a class="header" href="#resetting" id="resetting">Resetting</a></h2> +<pre><code class="language-markdown"> git reset [opt] <ref|commit> + opt: + --mixed .................... resets index, but not working tree + --hard ..................... matches the working tree and index to that + of the tree being switched to any changes to + tracked files in the working tree since + <commit> are lost + git reset HEAD <file> .......... remove file from staging + git reset --soft HEAD~1 ........ delete most recent commit but keep work + git reset --hard HEAD~1 ........ delete most recent commit and delete work +</code></pre> <h2><a class="header" href="#submodules" id="submodules">Submodules</a></h2> <pre><code class="language-markdown"> git submodule add <url> [<path>] .......... add new submodule to current project git clone --recursive <url> ............... clone project and recursively all |