From 32a4c0dddc20f75b484ffb4a85c5374215416829 Mon Sep 17 00:00:00 2001 From: johannst Date: Sun, 3 Oct 2021 12:24:21 +0000 Subject: deploy: d646cf94c0cbe74baef5e5711a3cd3f53afc096d --- tools/git.html | 72 +++++++++++++++++++++++++++++++++++----------------------- 1 file changed, 44 insertions(+), 28 deletions(-) (limited to 'tools/git.html') 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 - -

Resetting

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

Tags

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

Diff

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

Log

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

File history

-
  git log -p <file> ......... show commit history + diffs for <file>
+

Log & Commit History

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

Diff & Commit Info

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

Patching

  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
 
+

Resetting

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

Submodules

  git submodule add <url> [<path>] .......... add new submodule to current project
   git clone --recursive <url> ............... clone project and recursively all
-- 
cgit v1.2.3