The page introduces concepts/terminologies in a pedagogically sound order, so if you read through the links to all the concepts in order, the likelihood of needing concepts you have never encountered before is minimized.
The page illustrates command options and their combinations/interactions with examples so that you can get a better feel for what each option does.
When you click a command's link, options appear on the left panel and examples appear on the right panel.
The page groups command options into intuitive categories for easy discovery, rather than arranging everything in a simple list in alphabetical order.
If the command you want to know is not illustrated here, please refer to the official documentation.
Documentation:
Reference:
types of links:
progress of features:
These concepts help you understand Git internals: how to configure Git, Git's object model, how to manage working trees and files within them. These are the basis of the source code management layer. (In theory, you can use those underlying commands to implement a revision control system yourself.)
These concepts help you understand Git interface.
refs: lightweight named pointers to an object or another ref.
Specify objects (especially commits) more easily in the presence of refs.
Init and sync repos.
Bundle files in the working tree into commits, move refs between commits.
View commit history and differences between commits.
Merge history and rewrite history.
https://git-scm.com/docs/git-ls-remote
List references in a remote repository.
https://git-scm.com/docs/git-init
Create an empty Git repository or reinitialize an existing one.
https://git-scm.com/docs/git-clone
Clone a repository into a new directory.
https://git-scm.com/docs/git-pull
Fetch from and integrate with another repository or a local branch.
https://git-scm.com/docs/git-push
Update remote refs along with associated objects.
https://git-scm.com/docs/git-ls-files
Show information about files in the index and the working tree.
https://git-scm.com/docs/git-diff
Show changes between commits, commit and working tree, etc.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/ %cd%=C:\Program Files\Git
$ git version
git version 2.54.0.windows.1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/ %cd%=C:\Program Files\Git
$ git version --build-options
git version 2.54.0.windows.1
cpu: x86_64
built from commit: 2b8a3ab140826ac423c2845ef81d4c6ac4f7bf3c
sizeof-long: 4
sizeof-size_t: 8
shell-path: D:/git-sdk-64-build-installers/usr/bin/sh
rust: disabled
feature: fsmonitor--daemon
gettext: enabled
libcurl: 8.19.0
OpenSSL: OpenSSL 3.5.6 7 Apr 2026
zlib: 1.3.2
SHA-1: SHA1_DC
SHA-256: SHA256_BLK
default-ref-format: files
default-hash: sha1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/ %cd%=C:\Program Files\Git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config set --file='./config.txt' 'section1.ke_y1' 'value1'
error: invalid key: section1.ke_y1
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config set --file='./config.txt' 'section2.ke-y2' 'value2'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config set --file='./config.txt' 'section3.3key' 'value3'
error: invalid key: section3.3key
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config set --file='./config.txt' 'section4.-key4' 'value4'
error: invalid key: section4.-key4
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config set --file='./config.txt' 's_ection5.key5' 'value5'
error: invalid key: s_ection5.key5
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config set --file='./config.txt' 's-ection6.key6' 'value6'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config set --file='./config.txt' '7section.key7' 'value7'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config set --file='./config.txt' -- '-section81.key81' 'value81'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config set --file='./config.txt' --end-of-options '-section82.key82' 'value82'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config set --file='./config.txt' 'section.'$'\x01\x02\x03\x04\x05\x06\x07\x08\x09''.key' 'value'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config set --file='./config.txt' 'section.'$'\x0B\x0C\x0D\x0E\x0F\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1A\x1B\x1C\x1D\x1E\x1F\x20"\\\x7F''.key' 'value'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config set --file='./config.txt' 'section.subse.ction.key' 'value'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex '.'
./ d/0o040/directory rwxr-xr-x/0o755
├╴config.txt -/0o100/regular file rw-r--r--/0o644
│ 1 [section2]\n
│ 2 \tke-y2 = value2\n
│ 3 [s-ection6]\n
│ 4 \tkey6 = value6\n
│ 5 [7section]\n
│ 6 \tkey7 = value7\n
│ 7 [-section81]\n
│ 8 \tkey81 = value81\n
│ 9 [-section82]\n
│ 10 \tkey82 = value82\n
│ 11 [section "\x01\x02\x03\x04\x05\x06\a\b\t"]\n
│ 12 \tkey = value\n
│ 13 [section "\v\f\r
│ 14 \x0E\x0F\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1A\e\x1C\x1D\x1E\x1F \\"\\\\\x7F"]\n
│ 15 \tkey = value\n
│ 16 [section "subse.ction"]\n
│ 17 \tkey = value\n
│ 18
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config list --file='./config.txt' | special_character_to_escape_sequence_preserve_line_ending | cat_with_line_number
1 section2.ke-y2=value2\n
2 s-ection6.key6=value6\n
3 7section.key7=value7\n
4 -section81.key81=value81\n
5 -section82.key82=value82\n
6 section.\x01\x02\x03\x04\x05\x06\a\b\t.key=value\n
7 section.\v\f\r
8 \x0E\x0F\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1A\e\x1C\x1D\x1E\x1F "\\\x7F.key=value\n
9 section.subse.ction.key=value\n
10
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -n -e '[section "a\0b\0c"]
> key = value
> ' >>'./config.txt'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex '.'
./ d/0o040/directory rwxr-xr-x/0o755
├╴config.txt -/0o100/regular file rw-r--r--/0o644
│ 1 [section2]\n
│ 2 \tke-y2 = value2\n
│ 3 [s-ection6]\n
│ 4 \tkey6 = value6\n
│ 5 [7section]\n
│ 6 \tkey7 = value7\n
│ 7 [-section81]\n
│ 8 \tkey81 = value81\n
│ 9 [-section82]\n
│ 10 \tkey82 = value82\n
│ 11 [section "\x01\x02\x03\x04\x05\x06\a\b\t"]\n
│ 12 \tkey = value\n
│ 13 [section "\v\f\r
│ 14 \x0E\x0F\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1A\e\x1C\x1D\x1E\x1F \\"\\\\\x7F"]\n
│ 15 \tkey = value\n
│ 16 [section "subse.ction"]\n
│ 17 \tkey = value\n
│ 18 [section "a\0b\0c"]\n
│ 19 \tkey = value\n
│ 20
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config list --file='./config.txt' | special_character_to_escape_sequence_preserve_line_ending | cat_with_line_number
1 section2.ke-y2=value2\n
2 s-ection6.key6=value6\n
3 7section.key7=value7\n
4 -section81.key81=value81\n
5 -section82.key82=value82\n
6 section.\x01\x02\x03\x04\x05\x06\a\b\t.key=value\n
7 section.\v\f\r
8 \x0E\x0F\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1A\e\x1C\x1D\x1E\x1F "\\\x7F.key=value\n
9 section.subse.ction.key=value\n
10 section.a=value\n
11
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -n -e '[section "a\\nb\\nc"]
> key = value
> ' >>'./config.txt'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex '.'
./ d/0o040/directory rwxr-xr-x/0o755
├╴config.txt -/0o100/regular file rw-r--r--/0o644
│ 1 [section2]\n
│ 2 \tke-y2 = value2\n
│ 3 [s-ection6]\n
│ 4 \tkey6 = value6\n
│ 5 [7section]\n
│ 6 \tkey7 = value7\n
│ 7 [-section81]\n
│ 8 \tkey81 = value81\n
│ 9 [-section82]\n
│ 10 \tkey82 = value82\n
│ 11 [section "\x01\x02\x03\x04\x05\x06\a\b\t"]\n
│ 12 \tkey = value\n
│ 13 [section "\v\f\r
│ 14 \x0E\x0F\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1A\e\x1C\x1D\x1E\x1F \\"\\\\\x7F"]\n
│ 15 \tkey = value\n
│ 16 [section "subse.ction"]\n
│ 17 \tkey = value\n
│ 18 [section "a\0b\0c"]\n
│ 19 \tkey = value\n
│ 20 [section "a\\nb\\nc"]\n
│ 21 \tkey = value\n
│ 22
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config list --file='./config.txt' | special_character_to_escape_sequence_preserve_line_ending | cat_with_line_number
1 section2.ke-y2=value2\n
2 s-ection6.key6=value6\n
3 7section.key7=value7\n
4 -section81.key81=value81\n
5 -section82.key82=value82\n
6 section.\x01\x02\x03\x04\x05\x06\a\b\t.key=value\n
7 section.\v\f\r
8 \x0E\x0F\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1A\e\x1C\x1D\x1E\x1F "\\\x7F.key=value\n
9 section.subse.ction.key=value\n
10 section.a=value\n
11 section.anbnc.key=value\n
12
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -n -e '[section "a\nb\nc"]
> key = value
> ' >>'./config.txt'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex '.'
./ d/0o040/directory rwxr-xr-x/0o755
├╴config.txt -/0o100/regular file rw-r--r--/0o644
│ 1 [section2]\n
│ 2 \tke-y2 = value2\n
│ 3 [s-ection6]\n
│ 4 \tkey6 = value6\n
│ 5 [7section]\n
│ 6 \tkey7 = value7\n
│ 7 [-section81]\n
│ 8 \tkey81 = value81\n
│ 9 [-section82]\n
│ 10 \tkey82 = value82\n
│ 11 [section "\x01\x02\x03\x04\x05\x06\a\b\t"]\n
│ 12 \tkey = value\n
│ 13 [section "\v\f\r
│ 14 \x0E\x0F\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1A\e\x1C\x1D\x1E\x1F \\"\\\\\x7F"]\n
│ 15 \tkey = value\n
│ 16 [section "subse.ction"]\n
│ 17 \tkey = value\n
│ 18 [section "a\0b\0c"]\n
│ 19 \tkey = value\n
│ 20 [section "a\\nb\\nc"]\n
│ 21 \tkey = value\n
│ 22 [section "a\n
│ 23 b\n
│ 24 c"]\n
│ 25 \tkey = value\n
│ 26
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config list --file='./config.txt' | special_character_to_escape_sequence_preserve_line_ending | cat_with_line_number
fatal: bad config line 21 in file ./config.txt
1 section2.ke-y2=value2\n
2 s-ection6.key6=value6\n
3 7section.key7=value7\n
4 -section81.key81=value81\n
5 -section82.key82=value82\n
6 section.\x01\x02\x03\x04\x05\x06\a\b\t.key=value\n
7 section.\v\f\r
8 \x0E\x0F\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1A\e\x1C\x1D\x1E\x1F "\\\x7F.key=value\n
9 section.subse.ction.key=value\n
10 section.a=value\n
11 section.anbnc.key=value\n
12
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config set --file='./config.txt' 'section.key'
error: wrong number of arguments, should be 2
jhcarl0814@jhcarl0814 MINGW64 $?=129 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config set --file='./config.txt' 'section.key0' ''
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config set --file='./config.txt' 'section.key1' 'value'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config set --file='./config.txt' 'section.key2' ' val
> ue '
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config set --file='./config.txt' 'section.key3' $'\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0A\x0B\x0C\x0D\x0E\x0F\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1A\x1B\x1C\x1D\x1E\x1F\x20"\\\x7F'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex '.'
./ d/0o040/directory rwxr-xr-x/0o755
├╴config.txt -/0o100/regular file rw-r--r--/0o644
│ 1 [section]\n
│ 2 \tkey0 = \n
│ 3 \tkey1 = value\n
│ 4 \tkey2 = " val\\nue "\n
│ 5 \tkey3 = "\x01\x02\x03\x04\x05\x06\a\b\\t\\n\v\f\r
│ 6 \x0E\x0F\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1A\e\x1C\x1D\x1E\x1F \\"\\\\\x7F"\n
│ 7
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config list --file='./config.txt' | special_character_to_escape_sequence_preserve_line_ending | cat_with_line_number
1 section.key0=\n
2 section.key1=value\n
3 section.key2= val\n
4 ue \n
5 section.key3=\x01\x02\x03\x04\x05\x06\a\b\t\n
6 \v\f\r
7 \x0E\x0F\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1A\e\x1C\x1D\x1E\x1F "\\\x7F\n
8
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -n -e '[section]
> key = v\0al\0ue
> ' >>'./config.txt'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex '.'
./ d/0o040/directory rwxr-xr-x/0o755
├╴config.txt -/0o100/regular file rw-r--r--/0o644
│ 1 [section]\n
│ 2 \tkey0 = \n
│ 3 \tkey1 = value\n
│ 4 \tkey2 = " val\\nue "\n
│ 5 \tkey3 = "\x01\x02\x03\x04\x05\x06\a\b\\t\\n\v\f\r
│ 6 \x0E\x0F\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1A\e\x1C\x1D\x1E\x1F \\"\\\\\x7F"\n
│ 7 [section]\n
│ 8 \tkey = v\0al\0ue\n
│ 9
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config list --file='./config.txt' | special_character_to_escape_sequence_preserve_line_ending | cat_with_line_number
1 section.key0=\n
2 section.key1=value\n
3 section.key2= val\n
4 ue \n
5 section.key3=\x01\x02\x03\x04\x05\x06\a\b\t\n
6 \v\f\r
7 \x0E\x0F\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1A\e\x1C\x1D\x1E\x1F "\\\x7F\n
8 section.key=v\n
9
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -n -e '[section]
> key = v\\0al\\0ue
> ' >>'./config.txt'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex '.'
./ d/0o040/directory rwxr-xr-x/0o755
├╴config.txt -/0o100/regular file rw-r--r--/0o644
│ 1 [section]\n
│ 2 \tkey0 = \n
│ 3 \tkey1 = value\n
│ 4 \tkey2 = " val\\nue "\n
│ 5 \tkey3 = "\x01\x02\x03\x04\x05\x06\a\b\\t\\n\v\f\r
│ 6 \x0E\x0F\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1A\e\x1C\x1D\x1E\x1F \\"\\\\\x7F"\n
│ 7 [section]\n
│ 8 \tkey = v\0al\0ue\n
│ 9 [section]\n
│ 10 \tkey = v\\0al\\0ue\n
│ 11
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config list --file='./config.txt' | special_character_to_escape_sequence_preserve_line_ending | cat_with_line_number
fatal: bad config line 9 in file ./config.txt
1 section.key0=\n
2 section.key1=value\n
3 section.key2= val\n
4 ue \n
5 section.key3=\x01\x02\x03\x04\x05\x06\a\b\t\n
6 \v\f\r
7 \x0E\x0F\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1A\e\x1C\x1D\x1E\x1F "\\\x7F\n
8 section.key=v\n
9
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex '.'
./ d/0o040/directory rwxr-xr-x/0o755
├╴config.txt -/0o100/regular file rw-r--r--/0o644
│ 1 [section]\n
│ 2 \tkey = value52\n
│ 3 \tkey = value62\n
│ 4
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -c section.key=value7 -c section.key=value8 config list --show-origin --show-scope
system file:C:/Program Files/Git/etc/gitconfig diff.astextplain.textconv=astextplain
system file:C:/Program Files/Git/etc/gitconfig filter.lfs.clean=git-lfs clean -- %f
system file:C:/Program Files/Git/etc/gitconfig filter.lfs.smudge=git-lfs smudge -- %f
system file:C:/Program Files/Git/etc/gitconfig filter.lfs.process=git-lfs filter-process
system file:C:/Program Files/Git/etc/gitconfig filter.lfs.required=true
system file:C:/Program Files/Git/etc/gitconfig http.sslbackend=openssl
system file:C:/Program Files/Git/etc/gitconfig http.sslcainfo=C:/Program Files/Git/mingw64/etc/ssl/certs/ca-bundle.crt
system file:C:/Program Files/Git/etc/gitconfig core.autocrlf=true
system file:C:/Program Files/Git/etc/gitconfig core.fscache=true
system file:C:/Program Files/Git/etc/gitconfig core.symlinks=true
system file:C:/Program Files/Git/etc/gitconfig core.editor="C:\\Program Files\\Notepad++\\notepad++.exe" -multiInst -notabbar -nosession -noPlugin
system file:C:/Program Files/Git/etc/gitconfig pull.ff=only
system file:C:/Program Files/Git/etc/gitconfig credential.helper=manager
system file:C:/Program Files/Git/etc/gitconfig credential.https://dev.azure.com.usehttppath=true
system file:C:/Program Files/Git/etc/gitconfig init.defaultbranch=master
system file:C:/Program Files/Git/etc/gitconfig section.key=value1
system file:C:/Program Files/Git/etc/gitconfig section.key=value2
global file:C:/Users/jhcar/.gitconfig user.name=Han Jiang
global file:C:/Users/jhcar/.gitconfig user.email=jhcarl0814@gmail.com
global file:C:/Users/jhcar/.gitconfig alias.lg=log --graph --abbrev-commit --decorate=full --date=format:'%Y-%m-%d %H:%M' --format=tformat:'%C(bold green)%h%C(reset) - %C(bold blue)%ad (%ar)%C(reset) %C(white)%s%C(reset) %C(dim white)- %an%C(reset)%C(auto)%d%C(reset)'
global file:C:/Users/jhcar/.gitconfig gui.encoding=utf-8
global file:C:/Users/jhcar/.gitconfig gui.tabsize=4
global file:C:/Users/jhcar/.gitconfig diff.tool=kdiff3
global file:C:/Users/jhcar/.gitconfig difftool.kdiff3.path=C:/Program Files/KDiff3/bin/kdiff3.exe
global file:C:/Users/jhcar/.gitconfig difftool.kdiff3.trustexitcode=false
global file:C:/Users/jhcar/.gitconfig filter.lfs.clean=git-lfs clean -- %f
global file:C:/Users/jhcar/.gitconfig filter.lfs.smudge=git-lfs smudge -- %f
global file:C:/Users/jhcar/.gitconfig filter.lfs.process=git-lfs filter-process
global file:C:/Users/jhcar/.gitconfig filter.lfs.required=true
global file:C:/Users/jhcar/.gitconfig section.key=value3
global file:C:/Users/jhcar/.gitconfig section.key=value4
command command line: section.key=value7
command command line: section.key=value8
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -c section.key=value7 -c section.key=value8 config get --show-origin --show-scope --all 'section.key'
system file:C:/Program Files/Git/etc/gitconfig value1
system file:C:/Program Files/Git/etc/gitconfig value2
global file:C:/Users/jhcar/.gitconfig value3
global file:C:/Users/jhcar/.gitconfig value4
command command line: value7
command command line: value8
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config list --system --show-origin --show-scope
system file:C:/Program Files/Git/etc/gitconfig diff.astextplain.textconv=astextplain
system file:C:/Program Files/Git/etc/gitconfig filter.lfs.clean=git-lfs clean -- %f
system file:C:/Program Files/Git/etc/gitconfig filter.lfs.smudge=git-lfs smudge -- %f
system file:C:/Program Files/Git/etc/gitconfig filter.lfs.process=git-lfs filter-process
system file:C:/Program Files/Git/etc/gitconfig filter.lfs.required=true
system file:C:/Program Files/Git/etc/gitconfig http.sslbackend=openssl
system file:C:/Program Files/Git/etc/gitconfig http.sslcainfo=C:/Program Files/Git/mingw64/etc/ssl/certs/ca-bundle.crt
system file:C:/Program Files/Git/etc/gitconfig core.autocrlf=true
system file:C:/Program Files/Git/etc/gitconfig core.fscache=true
system file:C:/Program Files/Git/etc/gitconfig core.symlinks=true
system file:C:/Program Files/Git/etc/gitconfig core.editor="C:\\Program Files\\Notepad++\\notepad++.exe" -multiInst -notabbar -nosession -noPlugin
system file:C:/Program Files/Git/etc/gitconfig pull.ff=only
system file:C:/Program Files/Git/etc/gitconfig credential.helper=manager
system file:C:/Program Files/Git/etc/gitconfig credential.https://dev.azure.com.usehttppath=true
system file:C:/Program Files/Git/etc/gitconfig init.defaultbranch=master
system file:C:/Program Files/Git/etc/gitconfig section.key=value1
system file:C:/Program Files/Git/etc/gitconfig section.key=value2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config get --system --show-origin --show-scope --all 'section.key'
system file:C:/Program Files/Git/etc/gitconfig value1
system file:C:/Program Files/Git/etc/gitconfig value2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config list --global --show-origin --show-scope
global file:C:/Users/jhcar/.gitconfig user.name=Han Jiang
global file:C:/Users/jhcar/.gitconfig user.email=jhcarl0814@gmail.com
global file:C:/Users/jhcar/.gitconfig alias.lg=log --graph --abbrev-commit --decorate=full --date=format:'%Y-%m-%d %H:%M' --format=tformat:'%C(bold green)%h%C(reset) - %C(bold blue)%ad (%ar)%C(reset) %C(white)%s%C(reset) %C(dim white)- %an%C(reset)%C(auto)%d%C(reset)'
global file:C:/Users/jhcar/.gitconfig gui.encoding=utf-8
global file:C:/Users/jhcar/.gitconfig gui.tabsize=4
global file:C:/Users/jhcar/.gitconfig diff.tool=kdiff3
global file:C:/Users/jhcar/.gitconfig difftool.kdiff3.path=C:/Program Files/KDiff3/bin/kdiff3.exe
global file:C:/Users/jhcar/.gitconfig difftool.kdiff3.trustexitcode=false
global file:C:/Users/jhcar/.gitconfig filter.lfs.clean=git-lfs clean -- %f
global file:C:/Users/jhcar/.gitconfig filter.lfs.smudge=git-lfs smudge -- %f
global file:C:/Users/jhcar/.gitconfig filter.lfs.process=git-lfs filter-process
global file:C:/Users/jhcar/.gitconfig filter.lfs.required=true
global file:C:/Users/jhcar/.gitconfig section.key=value3
global file:C:/Users/jhcar/.gitconfig section.key=value4
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config get --global --show-origin --show-scope --all 'section.key'
global file:C:/Users/jhcar/.gitconfig value3
global file:C:/Users/jhcar/.gitconfig value4
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config list --file='./config.txt' --show-origin --show-scope
command file:./config.txt section.key=value52
command file:./config.txt section.key=value62
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config get --file='./config.txt' --show-origin --show-scope --all 'section.key'
command file:./config.txt value52
command file:./config.txt value62
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -c section.key=value7 -c section.key=value8 config list --show-origin --show-scope <<'EOF'
> [section]
> key = value51
> key = value61
> EOF
system file:C:/Program Files/Git/etc/gitconfig diff.astextplain.textconv=astextplain
system file:C:/Program Files/Git/etc/gitconfig filter.lfs.clean=git-lfs clean -- %f
system file:C:/Program Files/Git/etc/gitconfig filter.lfs.smudge=git-lfs smudge -- %f
system file:C:/Program Files/Git/etc/gitconfig filter.lfs.process=git-lfs filter-process
system file:C:/Program Files/Git/etc/gitconfig filter.lfs.required=true
system file:C:/Program Files/Git/etc/gitconfig http.sslbackend=openssl
system file:C:/Program Files/Git/etc/gitconfig http.sslcainfo=C:/Program Files/Git/mingw64/etc/ssl/certs/ca-bundle.crt
system file:C:/Program Files/Git/etc/gitconfig core.autocrlf=true
system file:C:/Program Files/Git/etc/gitconfig core.fscache=true
system file:C:/Program Files/Git/etc/gitconfig core.symlinks=true
system file:C:/Program Files/Git/etc/gitconfig core.editor="C:\\Program Files\\Notepad++\\notepad++.exe" -multiInst -notabbar -nosession -noPlugin
system file:C:/Program Files/Git/etc/gitconfig pull.ff=only
system file:C:/Program Files/Git/etc/gitconfig credential.helper=manager
system file:C:/Program Files/Git/etc/gitconfig credential.https://dev.azure.com.usehttppath=true
system file:C:/Program Files/Git/etc/gitconfig init.defaultbranch=master
system file:C:/Program Files/Git/etc/gitconfig section.key=value1
system file:C:/Program Files/Git/etc/gitconfig section.key=value2
global file:C:/Users/jhcar/.gitconfig user.name=Han Jiang
global file:C:/Users/jhcar/.gitconfig user.email=jhcarl0814@gmail.com
global file:C:/Users/jhcar/.gitconfig alias.lg=log --graph --abbrev-commit --decorate=full --date=format:'%Y-%m-%d %H:%M' --format=tformat:'%C(bold green)%h%C(reset) - %C(bold blue)%ad (%ar)%C(reset) %C(white)%s%C(reset) %C(dim white)- %an%C(reset)%C(auto)%d%C(reset)'
global file:C:/Users/jhcar/.gitconfig gui.encoding=utf-8
global file:C:/Users/jhcar/.gitconfig gui.tabsize=4
global file:C:/Users/jhcar/.gitconfig diff.tool=kdiff3
global file:C:/Users/jhcar/.gitconfig difftool.kdiff3.path=C:/Program Files/KDiff3/bin/kdiff3.exe
global file:C:/Users/jhcar/.gitconfig difftool.kdiff3.trustexitcode=false
global file:C:/Users/jhcar/.gitconfig filter.lfs.clean=git-lfs clean -- %f
global file:C:/Users/jhcar/.gitconfig filter.lfs.smudge=git-lfs smudge -- %f
global file:C:/Users/jhcar/.gitconfig filter.lfs.process=git-lfs filter-process
global file:C:/Users/jhcar/.gitconfig filter.lfs.required=true
global file:C:/Users/jhcar/.gitconfig section.key=value3
global file:C:/Users/jhcar/.gitconfig section.key=value4
command command line: section.key=value7
command command line: section.key=value8
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -c section.key=value7 -c section.key=value8 config get --show-origin --show-scope --all 'section.key' <<'EOF'
> [section]
> key = value51
> key = value61
> EOF
system file:C:/Program Files/Git/etc/gitconfig value1
system file:C:/Program Files/Git/etc/gitconfig value2
global file:C:/Users/jhcar/.gitconfig value3
global file:C:/Users/jhcar/.gitconfig value4
command command line: value7
command command line: value8
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config list --file='-' --show-origin --show-scope <<'EOF'
> [section]
> key = value51
> key = value61
> EOF
command standard input: section.key=value51
command standard input: section.key=value61
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config get --file='-' --show-origin --show-scope --all 'section.key' <<'EOF'
> [section]
> key = value51
> key = value61
> EOF
command standard input: value51
command standard input: value61
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config list --file='./config.txt' --file='-' --show-origin --show-scope <<'EOF'
> [section]
> key = value51
> key = value61
> EOF
command standard input: section.key=value51
command standard input: section.key=value61
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config get --file='./config.txt' --file='-' --show-origin --show-scope --all 'section.key' <<'EOF'
> [section]
> key = value51
> key = value61
> EOF
command standard input: value51
command standard input: value61
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config list --file='-' --file='./config.txt' --show-origin --show-scope <<'EOF'
> [section]
> key = value51
> key = value61
> EOF
command file:./config.txt section.key=value52
command file:./config.txt section.key=value62
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config get --file='-' --file='./config.txt' --show-origin --show-scope --all 'section.key' <<'EOF'
> [section]
> key = value51
> key = value61
> EOF
command file:./config.txt value52
command file:./config.txt value62
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -c section.key=value7 -c section.key=value8 config list --system --global --file='-' --show-origin --show-scope <<'EOF'
> [section]
> key = value51
> key = value61
> EOF
error: only one config file at a time
jhcarl0814@jhcarl0814 MINGW64 $?=129 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -c section.key=value7 -c section.key=value8 config get --system --global --file='-' --show-origin --show-scope --all 'section.key' <<'EOF'
> [section]
> key = value51
> key = value61
> EOF
error: only one config file at a time
jhcarl0814@jhcarl0814 MINGW64 $?=129 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -c section.key=value7 -c section.key=value8 config list --system --global --file='./config.txt' --show-origin --show-scope
error: only one config file at a time
jhcarl0814@jhcarl0814 MINGW64 $?=129 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -c section.key=value7 -c section.key=value8 config get --system --global --file='./config.txt' --show-origin --show-scope --all 'section.key'
error: only one config file at a time
jhcarl0814@jhcarl0814 MINGW64 $?=129 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' init
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' config set --local --all 'section.key' 'value5'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' config set --local --append 'section.key' 'value6'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' -c section.key=value9 -c section.key=value10 config list --show-scope --show-origin
system file:C:/Program Files/Git/etc/gitconfig diff.astextplain.textconv=astextplain
system file:C:/Program Files/Git/etc/gitconfig filter.lfs.clean=git-lfs clean -- %f
system file:C:/Program Files/Git/etc/gitconfig filter.lfs.smudge=git-lfs smudge -- %f
system file:C:/Program Files/Git/etc/gitconfig filter.lfs.process=git-lfs filter-process
system file:C:/Program Files/Git/etc/gitconfig filter.lfs.required=true
system file:C:/Program Files/Git/etc/gitconfig http.sslbackend=openssl
system file:C:/Program Files/Git/etc/gitconfig http.sslcainfo=C:/Program Files/Git/mingw64/etc/ssl/certs/ca-bundle.crt
system file:C:/Program Files/Git/etc/gitconfig core.autocrlf=true
system file:C:/Program Files/Git/etc/gitconfig core.fscache=true
system file:C:/Program Files/Git/etc/gitconfig core.symlinks=true
system file:C:/Program Files/Git/etc/gitconfig core.editor="C:\\Program Files\\Notepad++\\notepad++.exe" -multiInst -notabbar -nosession -noPlugin
system file:C:/Program Files/Git/etc/gitconfig pull.ff=only
system file:C:/Program Files/Git/etc/gitconfig credential.helper=manager
system file:C:/Program Files/Git/etc/gitconfig credential.https://dev.azure.com.usehttppath=true
system file:C:/Program Files/Git/etc/gitconfig init.defaultbranch=master
global file:C:/Users/jhcar/.gitconfig user.name=Han Jiang
global file:C:/Users/jhcar/.gitconfig user.email=jhcarl0814@gmail.com
global file:C:/Users/jhcar/.gitconfig alias.lg=log --graph --abbrev-commit --decorate=full --date=format:'%Y-%m-%d %H:%M' --format=tformat:'%C(bold green)%h%C(reset) - %C(bold blue)%ad (%ar)%C(reset) %C(white)%s%C(reset) %C(dim white)- %an%C(reset)%C(auto)%d%C(reset)'
global file:C:/Users/jhcar/.gitconfig gui.encoding=utf-8
global file:C:/Users/jhcar/.gitconfig gui.tabsize=4
global file:C:/Users/jhcar/.gitconfig diff.tool=kdiff3
global file:C:/Users/jhcar/.gitconfig difftool.kdiff3.path=C:/Program Files/KDiff3/bin/kdiff3.exe
global file:C:/Users/jhcar/.gitconfig difftool.kdiff3.trustexitcode=false
global file:C:/Users/jhcar/.gitconfig filter.lfs.clean=git-lfs clean -- %f
global file:C:/Users/jhcar/.gitconfig filter.lfs.smudge=git-lfs smudge -- %f
global file:C:/Users/jhcar/.gitconfig filter.lfs.process=git-lfs filter-process
global file:C:/Users/jhcar/.gitconfig filter.lfs.required=true
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config section.key=value5
local file:.git/config section.key=value6
command command line: section.key=value9
command command line: section.key=value10
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' -c section.key=value9 -c section.key=value10 config get --show-origin --show-scope --all 'section.key'
local file:.git/config value5
local file:.git/config value6
command command line: value9
command command line: value10
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' config list --local --show-origin --show-scope
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config section.key=value5
local file:.git/config section.key=value6
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' config get --local --show-origin --show-scope --all 'section.key'
local file:.git/config value5
local file:.git/config value6
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' config list --worktree --show-origin --show-scope
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config section.key=value5
local file:.git/config section.key=value6
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' config get --worktree --show-origin --show-scope --all 'section.key'
local file:.git/config value5
local file:.git/config value6
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree add '../worktree1'
No possible source branch, inferring '--orphan'
Preparing worktree (new branch 'worktree1')
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' config --local extensions.worktreeConfig true
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' rev-parse --path-format=absolute --absolute-git-dir --git-common-dir --show-toplevel
C:/Program Files/Git/test_git/repo/.git
C:/Program Files/Git/test_git/repo/.git
C:/Program Files/Git/test_git/repo
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' rev-parse --path-format=absolute --absolute-git-dir --git-common-dir --show-toplevel
C:/Program Files/Git/test_git/repo/.git/worktrees/worktree1
C:/Program Files/Git/test_git/repo/.git
C:/Program Files/Git/test_git/worktree1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' config list --local --show-origin --show-scope
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config section.key=value5
local file:.git/config section.key=value6
local file:.git/config extensions.worktreeconfig=true
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' config get --local --show-origin --show-scope --all 'section.key'
local file:.git/config value5
local file:.git/config value6
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' config list --worktree --show-origin --show-scope
fatal: unable to read config file '.git/config.worktree': No such file or directory
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' config get --worktree --show-origin --show-scope --all 'section.key'
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' config list --local --show-origin --show-scope
local file:C:/Program Files/Git/test_git/repo/.git/config core.repositoryformatversion=0
local file:C:/Program Files/Git/test_git/repo/.git/config core.filemode=false
local file:C:/Program Files/Git/test_git/repo/.git/config core.bare=false
local file:C:/Program Files/Git/test_git/repo/.git/config core.logallrefupdates=true
local file:C:/Program Files/Git/test_git/repo/.git/config core.ignorecase=true
local file:C:/Program Files/Git/test_git/repo/.git/config section.key=value5
local file:C:/Program Files/Git/test_git/repo/.git/config section.key=value6
local file:C:/Program Files/Git/test_git/repo/.git/config extensions.worktreeconfig=true
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' config get --local --show-origin --show-scope --all 'section.key'
local file:C:/Program Files/Git/test_git/repo/.git/config value5
local file:C:/Program Files/Git/test_git/repo/.git/config value6
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' config list --worktree --show-origin --show-scope
fatal: unable to read config file 'C:/Program Files/Git/test_git/repo/.git/worktrees/worktree1/config.worktree': No such file or directory
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' config get --worktree --show-origin --show-scope --all 'section.key'
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' config set --worktree --all 'section.key' 'value71'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' config set --worktree --append 'section.key' 'value81'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' config list --worktree --show-origin --show-scope
local file:.git/config.worktree section.key=value71
local file:.git/config.worktree section.key=value81
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' config get --worktree --show-origin --show-scope --all 'section.key'
local file:.git/config.worktree value71
local file:.git/config.worktree value81
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' config list --worktree --show-origin --show-scope
fatal: unable to read config file 'C:/Program Files/Git/test_git/repo/.git/worktrees/worktree1/config.worktree': No such file or directory
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' config get --worktree --show-origin --show-scope --all 'section.key'
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' config set --worktree --all 'section.key' 'value72'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' config set --worktree --append 'section.key' 'value82'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' config list --worktree --show-origin --show-scope
local file:.git/config.worktree section.key=value71
local file:.git/config.worktree section.key=value81
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' config get --worktree --show-origin --show-scope --all 'section.key'
local file:.git/config.worktree value71
local file:.git/config.worktree value81
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' config list --worktree --show-origin --show-scope
local file:C:/Program Files/Git/test_git/repo/.git/worktrees/worktree1/config.worktree section.key=value72
local file:C:/Program Files/Git/test_git/repo/.git/worktrees/worktree1/config.worktree section.key=value82
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' config get --worktree --show-origin --show-scope --all 'section.key'
local file:C:/Program Files/Git/test_git/repo/.git/worktrees/worktree1/config.worktree value72
local file:C:/Program Files/Git/test_git/repo/.git/worktrees/worktree1/config.worktree value82
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/ %cd%=C:\Program Files\Git
$ git config list --show-origin --show-scope | special_character_to_escape_sequence_preserve_line_ending | cat_with_line_number
1 system\tfile:C:/Program Files/Git/etc/gitconfig\tdiff.astextplain.textconv=astextplain\n
2 system\tfile:C:/Program Files/Git/etc/gitconfig\tfilter.lfs.clean=git-lfs clean -- %f\n
3 system\tfile:C:/Program Files/Git/etc/gitconfig\tfilter.lfs.smudge=git-lfs smudge -- %f\n
4 system\tfile:C:/Program Files/Git/etc/gitconfig\tfilter.lfs.process=git-lfs filter-process\n
5 system\tfile:C:/Program Files/Git/etc/gitconfig\tfilter.lfs.required=true\n
6 system\tfile:C:/Program Files/Git/etc/gitconfig\thttp.sslbackend=openssl\n
7 system\tfile:C:/Program Files/Git/etc/gitconfig\thttp.sslcainfo=C:/Program Files/Git/mingw64/etc/ssl/certs/ca-bundle.crt\n
8 system\tfile:C:/Program Files/Git/etc/gitconfig\tcore.autocrlf=true\n
9 system\tfile:C:/Program Files/Git/etc/gitconfig\tcore.fscache=true\n
10 system\tfile:C:/Program Files/Git/etc/gitconfig\tcore.symlinks=true\n
11 system\tfile:C:/Program Files/Git/etc/gitconfig\tcore.editor="C:\\\\Program Files\\\\Notepad++\\\\notepad++.exe" -multiInst -notabbar -nosession -noPlugin\n
12 system\tfile:C:/Program Files/Git/etc/gitconfig\tpull.ff=only\n
13 system\tfile:C:/Program Files/Git/etc/gitconfig\tcredential.helper=manager\n
14 system\tfile:C:/Program Files/Git/etc/gitconfig\tcredential.https://dev.azure.com.usehttppath=true\n
15 system\tfile:C:/Program Files/Git/etc/gitconfig\tinit.defaultbranch=master\n
16 system\tfile:C:/Program Files/Git/etc/gitconfig\tsection.key=value1\n
17 system\tfile:C:/Program Files/Git/etc/gitconfig\tsection.key=value2\n
18 global\tfile:C:/Users/jhcar/.gitconfig\tuser.name=Han Jiang\n
19 global\tfile:C:/Users/jhcar/.gitconfig\tuser.email=jhcarl0814@gmail.com\n
20 global\tfile:C:/Users/jhcar/.gitconfig\talias.lg=log --graph --abbrev-commit --decorate=full --date=format:'%Y-%m-%d %H:%M' --format=tformat:'%C(bold green)%h%C(reset) - %C(bold blue)%ad (%ar)%C(reset) %C(white)%s%C(reset) %C(dim white)- %an%C(reset)%C(auto)%d%C(reset)'\n
21 global\tfile:C:/Users/jhcar/.gitconfig\tgui.encoding=utf-8\n
22 global\tfile:C:/Users/jhcar/.gitconfig\tgui.tabsize=4\n
23 global\tfile:C:/Users/jhcar/.gitconfig\tdiff.tool=kdiff3\n
24 global\tfile:C:/Users/jhcar/.gitconfig\tdifftool.kdiff3.path=C:/Program Files/KDiff3/bin/kdiff3.exe\n
25 global\tfile:C:/Users/jhcar/.gitconfig\tdifftool.kdiff3.trustexitcode=false\n
26 global\tfile:C:/Users/jhcar/.gitconfig\tfilter.lfs.clean=git-lfs clean -- %f\n
27 global\tfile:C:/Users/jhcar/.gitconfig\tfilter.lfs.smudge=git-lfs smudge -- %f\n
28 global\tfile:C:/Users/jhcar/.gitconfig\tfilter.lfs.process=git-lfs filter-process\n
29 global\tfile:C:/Users/jhcar/.gitconfig\tfilter.lfs.required=true\n
30 global\tfile:C:/Users/jhcar/.gitconfig\tsection.key=value3\n
31 global\tfile:C:/Users/jhcar/.gitconfig\tsection.key=value4\n
32
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/ %cd%=C:\Program Files\Git
$ git config list --show-origin --show-scope --null | special_character_to_escape_sequence_preserve_line_ending | cat_with_line_number
1 system\0file:C:/Program Files/Git/etc/gitconfig\0diff.astextplain.textconv\n
2 astextplain\0system\0file:C:/Program Files/Git/etc/gitconfig\0filter.lfs.clean\n
3 git-lfs clean -- %f\0system\0file:C:/Program Files/Git/etc/gitconfig\0filter.lfs.smudge\n
4 git-lfs smudge -- %f\0system\0file:C:/Program Files/Git/etc/gitconfig\0filter.lfs.process\n
5 git-lfs filter-process\0system\0file:C:/Program Files/Git/etc/gitconfig\0filter.lfs.required\n
6 true\0system\0file:C:/Program Files/Git/etc/gitconfig\0http.sslbackend\n
7 openssl\0system\0file:C:/Program Files/Git/etc/gitconfig\0http.sslcainfo\n
8 C:/Program Files/Git/mingw64/etc/ssl/certs/ca-bundle.crt\0system\0file:C:/Program Files/Git/etc/gitconfig\0core.autocrlf\n
9 true\0system\0file:C:/Program Files/Git/etc/gitconfig\0core.fscache\n
10 true\0system\0file:C:/Program Files/Git/etc/gitconfig\0core.symlinks\n
11 true\0system\0file:C:/Program Files/Git/etc/gitconfig\0core.editor\n
12 "C:\\\\Program Files\\\\Notepad++\\\\notepad++.exe" -multiInst -notabbar -nosession -noPlugin\0system\0file:C:/Program Files/Git/etc/gitconfig\0pull.ff\n
13 only\0system\0file:C:/Program Files/Git/etc/gitconfig\0credential.helper\n
14 manager\0system\0file:C:/Program Files/Git/etc/gitconfig\0credential.https://dev.azure.com.usehttppath\n
15 true\0system\0file:C:/Program Files/Git/etc/gitconfig\0init.defaultbranch\n
16 master\0system\0file:C:/Program Files/Git/etc/gitconfig\0section.key\n
17 value1\0system\0file:C:/Program Files/Git/etc/gitconfig\0section.key\n
18 value2\0global\0file:C:/Users/jhcar/.gitconfig\0user.name\n
19 Han Jiang\0global\0file:C:/Users/jhcar/.gitconfig\0user.email\n
20 jhcarl0814@gmail.com\0global\0file:C:/Users/jhcar/.gitconfig\0alias.lg\n
21 log --graph --abbrev-commit --decorate=full --date=format:'%Y-%m-%d %H:%M' --format=tformat:'%C(bold green)%h%C(reset) - %C(bold blue)%ad (%ar)%C(reset) %C(white)%s%C(reset) %C(dim white)- %an%C(reset)%C(auto)%d%C(reset)'\0global\0file:C:/Users/jhcar/.gitconfig\0gui.encoding\n
22 utf-8\0global\0file:C:/Users/jhcar/.gitconfig\0gui.tabsize\n
23 4\0global\0file:C:/Users/jhcar/.gitconfig\0diff.tool\n
24 kdiff3\0global\0file:C:/Users/jhcar/.gitconfig\0difftool.kdiff3.path\n
25 C:/Program Files/KDiff3/bin/kdiff3.exe\0global\0file:C:/Users/jhcar/.gitconfig\0difftool.kdiff3.trustexitcode\n
26 false\0global\0file:C:/Users/jhcar/.gitconfig\0filter.lfs.clean\n
27 git-lfs clean -- %f\0global\0file:C:/Users/jhcar/.gitconfig\0filter.lfs.smudge\n
28 git-lfs smudge -- %f\0global\0file:C:/Users/jhcar/.gitconfig\0filter.lfs.process\n
29 git-lfs filter-process\0global\0file:C:/Users/jhcar/.gitconfig\0filter.lfs.required\n
30 true\0global\0file:C:/Users/jhcar/.gitconfig\0section.key\n
31 value3\0global\0file:C:/Users/jhcar/.gitconfig\0section.key\n
32 value4\0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/ %cd%=C:\Program Files\Git
$ git config list --show-origin --show-scope --name-only | special_character_to_escape_sequence_preserve_line_ending | cat_with_line_number
1 system\tfile:C:/Program Files/Git/etc/gitconfig\tdiff.astextplain.textconv\n
2 system\tfile:C:/Program Files/Git/etc/gitconfig\tfilter.lfs.clean\n
3 system\tfile:C:/Program Files/Git/etc/gitconfig\tfilter.lfs.smudge\n
4 system\tfile:C:/Program Files/Git/etc/gitconfig\tfilter.lfs.process\n
5 system\tfile:C:/Program Files/Git/etc/gitconfig\tfilter.lfs.required\n
6 system\tfile:C:/Program Files/Git/etc/gitconfig\thttp.sslbackend\n
7 system\tfile:C:/Program Files/Git/etc/gitconfig\thttp.sslcainfo\n
8 system\tfile:C:/Program Files/Git/etc/gitconfig\tcore.autocrlf\n
9 system\tfile:C:/Program Files/Git/etc/gitconfig\tcore.fscache\n
10 system\tfile:C:/Program Files/Git/etc/gitconfig\tcore.symlinks\n
11 system\tfile:C:/Program Files/Git/etc/gitconfig\tcore.editor\n
12 system\tfile:C:/Program Files/Git/etc/gitconfig\tpull.ff\n
13 system\tfile:C:/Program Files/Git/etc/gitconfig\tcredential.helper\n
14 system\tfile:C:/Program Files/Git/etc/gitconfig\tcredential.https://dev.azure.com.usehttppath\n
15 system\tfile:C:/Program Files/Git/etc/gitconfig\tinit.defaultbranch\n
16 system\tfile:C:/Program Files/Git/etc/gitconfig\tsection.key\n
17 system\tfile:C:/Program Files/Git/etc/gitconfig\tsection.key\n
18 global\tfile:C:/Users/jhcar/.gitconfig\tuser.name\n
19 global\tfile:C:/Users/jhcar/.gitconfig\tuser.email\n
20 global\tfile:C:/Users/jhcar/.gitconfig\talias.lg\n
21 global\tfile:C:/Users/jhcar/.gitconfig\tgui.encoding\n
22 global\tfile:C:/Users/jhcar/.gitconfig\tgui.tabsize\n
23 global\tfile:C:/Users/jhcar/.gitconfig\tdiff.tool\n
24 global\tfile:C:/Users/jhcar/.gitconfig\tdifftool.kdiff3.path\n
25 global\tfile:C:/Users/jhcar/.gitconfig\tdifftool.kdiff3.trustexitcode\n
26 global\tfile:C:/Users/jhcar/.gitconfig\tfilter.lfs.clean\n
27 global\tfile:C:/Users/jhcar/.gitconfig\tfilter.lfs.smudge\n
28 global\tfile:C:/Users/jhcar/.gitconfig\tfilter.lfs.process\n
29 global\tfile:C:/Users/jhcar/.gitconfig\tfilter.lfs.required\n
30 global\tfile:C:/Users/jhcar/.gitconfig\tsection.key\n
31 global\tfile:C:/Users/jhcar/.gitconfig\tsection.key\n
32
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/ %cd%=C:\Program Files\Git
$ git config list --show-origin --show-scope --null --name-only | special_character_to_escape_sequence_preserve_line_ending | cat_with_line_number
1 system\0file:C:/Program Files/Git/etc/gitconfig\0diff.astextplain.textconv\0system\0file:C:/Program Files/Git/etc/gitconfig\0filter.lfs.clean\0system\0file:C:/Program Files/Git/etc/gitconfig\0filter.lfs.smudge\0system\0file:C:/Program Files/Git/etc/gitconfig\0filter.lfs.process\0system\0file:C:/Program Files/Git/etc/gitconfig\0filter.lfs.required\0system\0file:C:/Program Files/Git/etc/gitconfig\0http.sslbackend\0system\0file:C:/Program Files/Git/etc/gitconfig\0http.sslcainfo\0system\0file:C:/Program Files/Git/etc/gitconfig\0core.autocrlf\0system\0file:C:/Program Files/Git/etc/gitconfig\0core.fscache\0system\0file:C:/Program Files/Git/etc/gitconfig\0core.symlinks\0system\0file:C:/Program Files/Git/etc/gitconfig\0core.editor\0system\0file:C:/Program Files/Git/etc/gitconfig\0pull.ff\0system\0file:C:/Program Files/Git/etc/gitconfig\0credential.helper\0system\0file:C:/Program Files/Git/etc/gitconfig\0credential.https://dev.azure.com.usehttppath\0system\0file:C:/Program Files/Git/etc/gitconfig\0init.defaultbranch\0system\0file:C:/Program Files/Git/etc/gitconfig\0section.key\0system\0file:C:/Program Files/Git/etc/gitconfig\0section.key\0global\0file:C:/Users/jhcar/.gitconfig\0user.name\0global\0file:C:/Users/jhcar/.gitconfig\0user.email\0global\0file:C:/Users/jhcar/.gitconfig\0alias.lg\0global\0file:C:/Users/jhcar/.gitconfig\0gui.encoding\0global\0file:C:/Users/jhcar/.gitconfig\0gui.tabsize\0global\0file:C:/Users/jhcar/.gitconfig\0diff.tool\0global\0file:C:/Users/jhcar/.gitconfig\0difftool.kdiff3.path\0global\0file:C:/Users/jhcar/.gitconfig\0difftool.kdiff3.trustexitcode\0global\0file:C:/Users/jhcar/.gitconfig\0filter.lfs.clean\0global\0file:C:/Users/jhcar/.gitconfig\0filter.lfs.smudge\0global\0file:C:/Users/jhcar/.gitconfig\0filter.lfs.process\0global\0file:C:/Users/jhcar/.gitconfig\0filter.lfs.required\0global\0file:C:/Users/jhcar/.gitconfig\0section.key\0global\0file:C:/Users/jhcar/.gitconfig\0section.key\0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/ %cd%=C:\Program Files\Git
$ git config get --show-origin --show-scope --all 'section.key' | special_character_to_escape_sequence_preserve_line_ending | cat_with_line_number
1 system\tfile:C:/Program Files/Git/etc/gitconfig\tvalue1\n
2 system\tfile:C:/Program Files/Git/etc/gitconfig\tvalue2\n
3 global\tfile:C:/Users/jhcar/.gitconfig\tvalue3\n
4 global\tfile:C:/Users/jhcar/.gitconfig\tvalue4\n
5
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/ %cd%=C:\Program Files\Git
$ git config get --show-origin --show-scope --null --all 'section.key' | special_character_to_escape_sequence_preserve_line_ending | cat_with_line_number
1 system\0file:C:/Program Files/Git/etc/gitconfig\0value1\0system\0file:C:/Program Files/Git/etc/gitconfig\0value2\0global\0file:C:/Users/jhcar/.gitconfig\0value3\0global\0file:C:/Users/jhcar/.gitconfig\0value4\0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/ %cd%=C:\Program Files\Git
$ git config get --show-origin --show-scope --name-only --all 'section.key' | special_character_to_escape_sequence_preserve_line_ending | cat_with_line_number
1 system\tfile:C:/Program Files/Git/etc/gitconfig\t\n
2 system\tfile:C:/Program Files/Git/etc/gitconfig\t\n
3 global\tfile:C:/Users/jhcar/.gitconfig\t\n
4 global\tfile:C:/Users/jhcar/.gitconfig\t\n
5
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/ %cd%=C:\Program Files\Git
$ git config get --show-origin --show-scope --null --name-only --all 'section.key' | special_character_to_escape_sequence_preserve_line_ending | cat_with_line_number
1 system\0file:C:/Program Files/Git/etc/gitconfig\0\0system\0file:C:/Program Files/Git/etc/gitconfig\0\0global\0file:C:/Users/jhcar/.gitconfig\0\0global\0file:C:/Users/jhcar/.gitconfig\0\0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/ %cd%=C:\Program Files\Git
$ git config get --show-origin --show-scope --show-names --all 'section.key' | special_character_to_escape_sequence_preserve_line_ending | cat_with_line_number
1 system\tfile:C:/Program Files/Git/etc/gitconfig\tsection.key value1\n
2 system\tfile:C:/Program Files/Git/etc/gitconfig\tsection.key value2\n
3 global\tfile:C:/Users/jhcar/.gitconfig\tsection.key value3\n
4 global\tfile:C:/Users/jhcar/.gitconfig\tsection.key value4\n
5
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/ %cd%=C:\Program Files\Git
$ git config get --show-origin --show-scope --show-names --null --all 'section.key' | special_character_to_escape_sequence_preserve_line_ending | cat_with_line_number
1 system\0file:C:/Program Files/Git/etc/gitconfig\0section.key\n
2 value1\0system\0file:C:/Program Files/Git/etc/gitconfig\0section.key\n
3 value2\0global\0file:C:/Users/jhcar/.gitconfig\0section.key\n
4 value3\0global\0file:C:/Users/jhcar/.gitconfig\0section.key\n
5 value4\0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/ %cd%=C:\Program Files\Git
$ git config get --show-origin --show-scope --show-names --name-only --all 'section.key' | special_character_to_escape_sequence_preserve_line_ending | cat_with_line_number
1 system\tfile:C:/Program Files/Git/etc/gitconfig\tsection.key\n
2 system\tfile:C:/Program Files/Git/etc/gitconfig\tsection.key\n
3 global\tfile:C:/Users/jhcar/.gitconfig\tsection.key\n
4 global\tfile:C:/Users/jhcar/.gitconfig\tsection.key\n
5
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/ %cd%=C:\Program Files\Git
$ git config get --show-origin --show-scope --show-names --null --name-only --all 'section.key' | special_character_to_escape_sequence_preserve_line_ending | cat_with_line_number
1 system\0file:C:/Program Files/Git/etc/gitconfig\0section.key\0system\0file:C:/Program Files/Git/etc/gitconfig\0section.key\0global\0file:C:/Users/jhcar/.gitconfig\0section.key\0global\0file:C:/Users/jhcar/.gitconfig\0section.key\0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/ %cd%=C:\Program Files\Git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -c section.key=value1 -c section.key=value4 config get --show-origin --show-scope --all 'section.key'
system file:C:/Program Files/Git/etc/gitconfig value1
system file:C:/Program Files/Git/etc/gitconfig value2
global file:C:/Users/jhcar/.gitconfig value1
global file:C:/Users/jhcar/.gitconfig value3
command command line: value1
command command line: value4
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -c section.key=value1 -c section.key=value4 config get --show-origin --show-scope 'section.key'
command command line: value4
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -c section.key=value1 -c section.key=value4 config get --show-origin --show-scope --all --regexp 'section.k[aeiou]y'
system file:C:/Program Files/Git/etc/gitconfig value1
system file:C:/Program Files/Git/etc/gitconfig value2
global file:C:/Users/jhcar/.gitconfig value1
global file:C:/Users/jhcar/.gitconfig value3
command command line: value1
command command line: value4
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -c section.key=value1 -c section.key=value4 config get --show-origin --show-scope --regexp 'section.k[aeiou]y'
command command line: value4
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -c section.key=value1 -c section.key=value4 config get --show-origin --show-scope --all --value='[13579]' 'section.key'
system file:C:/Program Files/Git/etc/gitconfig value1
global file:C:/Users/jhcar/.gitconfig value1
global file:C:/Users/jhcar/.gitconfig value3
command command line: value1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -c section.key=value1 -c section.key=value4 config get --show-origin --show-scope --value='[13579]' 'section.key'
command command line: value1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -c section.key=value1 -c section.key=value4 config get --show-origin --show-scope --all --value='[13579]' --fixed-value 'section.key'
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -c section.key=value1 -c section.key=value4 config get --show-origin --show-scope --all --value='1' --fixed-value 'section.key'
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -c section.key=value1 -c section.key=value4 config get --show-origin --show-scope --all --value='value1' --fixed-value 'section.key'
system file:C:/Program Files/Git/etc/gitconfig value1
global file:C:/Users/jhcar/.gitconfig value1
command command line: value1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -c section.key=value1 -c section.key=value4 config get --show-origin --show-scope --value='[13579]' --fixed-value 'section.key'
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -c section.key=value1 -c section.key=value4 config get --show-origin --show-scope --value='1' --fixed-value 'section.key'
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -c section.key=value1 -c section.key=value4 config get --show-origin --show-scope --value='value1' --fixed-value 'section.key'
command command line: value1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex '.'
./ d/0o040/directory rwxr-xr-x/0o755
├╴config.txt -/0o100/regular file rw-r--r--/0o644
│ 1 [section]\n
│ 2 \tkey1 = value1\n
│ 3 \tkey2\n
│ 4 \tkey3 =\n
│ 5 \tkey4 = ""\n
│ 6
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config get --file='./config.txt' --show-origin --show-scope --default='default_value' 'section.key'
command command line: default_value
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config get --file='./config.txt' --show-origin --show-scope --default='default_value' 'section.key1'
command file:./config.txt value1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config get --file='./config.txt' --show-origin --show-scope --default='default_value' 'section.key2'
command file:./config.txt
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config get --file='./config.txt' --show-origin --show-scope --default='default_value' 'section.key3'
command file:./config.txt
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config get --file='./config.txt' --show-origin --show-scope --default='default_value' 'section.key4'
command file:./config.txt
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -c section.key5=value5 -c section.key6 -c section.key7= config get --show-origin --show-scope --default='default_value' 'section.key'
command command line: default_value
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -c section.key5=value5 -c section.key6 -c section.key7= config get --show-origin --show-scope --default='default_value' 'section.key5'
command command line: value5
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -c section.key5=value5 -c section.key6 -c section.key7= config get --show-origin --show-scope --default='default_value' 'section.key6'
command command line:
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -c section.key5=value5 -c section.key6 -c section.key7= config get --show-origin --show-scope --default='default_value' 'section.key7'
command command line:
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config get --file='./config.txt' --show-origin --show-scope --default='default_value1' --value='[13579]' 'section.key1'
command file:./config.txt value1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config get --file='./config.txt' --show-origin --show-scope --default='default_value1' --value='[02468]' 'section.key1'
command command line: default_value1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config get --file='./config.txt' --show-origin --show-scope --default='default_value1' --value='[13579]' --fixed-value 'section.key1'
command command line: default_value1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config get --file='./config.txt' --show-origin --show-scope --default='default_value1' --value='[02468]' --fixed-value 'section.key1'
command command line: default_value1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config get --file='./config.txt' --show-origin --show-scope --default='tRuE' --value='[02468]' --type=bool 'section.key1'
command command line: true
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config get --file='./config.txt' --show-origin --show-scope --default='tRuE' --value='[13579]' --fixed-value --type=bool 'section.key1'
command command line: true
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config get --file='./config.txt' --show-origin --show-scope --default='tRuE' --value='[02468]' --fixed-value --type=bool 'section.key1'
command command line: true
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config get --file='./config.txt' --show-origin --show-scope --default='default_value2' --value='' 'section.key2'
command file:./config.txt
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config get --file='./config.txt' --show-origin --show-scope --default='default_value2' --value='^$' 'section.key2'
command file:./config.txt
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config get --file='./config.txt' --show-origin --show-scope --default='default_value2' --value='' --fixed-value 'section.key2'
command file:./config.txt
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config get --file='./config.txt' --show-origin --show-scope --default='default_value2' --value='^$' --fixed-value 'section.key2'
command command line: default_value2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config get --file='./config.txt' --show-origin --show-scope --default='fAlSe' --value='' --type=bool 'section.key2'
command file:./config.txt true
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config get --file='./config.txt' --show-origin --show-scope --default='fAlSe' --value='^$' --type=bool 'section.key2'
command file:./config.txt true
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config get --file='./config.txt' --show-origin --show-scope --default='fAlSe' --value='' --fixed-value --type=bool 'section.key2'
command file:./config.txt true
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config get --file='./config.txt' --show-origin --show-scope --default='fAlSe' --value='^$' --fixed-value --type=bool 'section.key2'
command command line: false
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config get --file='./config.txt' --show-origin --show-scope --default='default_value3' --value='' 'section.key3'
command file:./config.txt
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config get --file='./config.txt' --show-origin --show-scope --default='default_value3' --value='^$' 'section.key3'
command file:./config.txt
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config get --file='./config.txt' --show-origin --show-scope --default='default_value3' --value='' --fixed-value 'section.key3'
command file:./config.txt
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config get --file='./config.txt' --show-origin --show-scope --default='default_value3' --value='^$' --fixed-value 'section.key3'
command command line: default_value3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config get --file='./config.txt' --show-origin --show-scope --default='tRuE' --value='' --type=bool 'section.key3'
command file:./config.txt false
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config get --file='./config.txt' --show-origin --show-scope --default='tRuE' --value='^$' --type=bool 'section.key3'
command file:./config.txt false
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config get --file='./config.txt' --show-origin --show-scope --default='tRuE' --value='' --fixed-value --type=bool 'section.key3'
command file:./config.txt false
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config get --file='./config.txt' --show-origin --show-scope --default='tRuE' --value='^$' --fixed-value --type=bool 'section.key3'
command command line: true
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config get --file='./config.txt' --show-origin --show-scope --default='default_value4' --value='' 'section.key4'
command file:./config.txt
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config get --file='./config.txt' --show-origin --show-scope --default='default_value4' --value='^$' 'section.key4'
command file:./config.txt
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config get --file='./config.txt' --show-origin --show-scope --default='default_value4' --value='' --fixed-value 'section.key4'
command file:./config.txt
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config get --file='./config.txt' --show-origin --show-scope --default='default_value4' --value='^$' --fixed-value 'section.key4'
command command line: default_value4
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config get --file='./config.txt' --show-origin --show-scope --default='tRuE' --value='' --type=bool 'section.key4'
command file:./config.txt false
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config get --file='./config.txt' --show-origin --show-scope --default='tRuE' --value='^$' --type=bool 'section.key4'
command file:./config.txt false
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config get --file='./config.txt' --show-origin --show-scope --default='tRuE' --value='' --fixed-value --type=bool 'section.key4'
command file:./config.txt false
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config get --file='./config.txt' --show-origin --show-scope --default='tRuE' --value='^$' --fixed-value --type=bool 'section.key4'
command command line: true
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -c section.key5=value5 -c section.key6 -c section.key7= config get --show-origin --show-scope --default='default_value5' --value='[13579]' 'section.key5'
command command line: value5
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -c section.key5=value5 -c section.key6 -c section.key7= config get --show-origin --show-scope --default='default_value5' --value='[02468]' 'section.key5'
command command line: default_value5
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -c section.key5=value5 -c section.key6 -c section.key7= config get --show-origin --show-scope --default='default_value5' --value='[13579]' --fixed-value 'section.key5'
command command line: default_value5
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -c section.key5=value5 -c section.key6 -c section.key7= config get --show-origin --show-scope --default='default_value5' --value='[02468]' --fixed-value 'section.key5'
command command line: default_value5
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -c section.key5=value5 -c section.key6 -c section.key7= config get --show-origin --show-scope --default='tRuE' --value='[02468]' --type=bool 'section.key5'
command command line: true
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -c section.key5=value5 -c section.key6 -c section.key7= config get --show-origin --show-scope --default='tRuE' --value='[13579]' --fixed-value --type=bool 'section.key5'
command command line: true
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -c section.key5=value5 -c section.key6 -c section.key7= config get --show-origin --show-scope --default='tRuE' --value='[02468]' --fixed-value --type=bool 'section.key5'
command command line: true
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -c section.key5=value5 -c section.key6 -c section.key7= config get --show-origin --show-scope --default='default_value6' --value='' 'section.key6'
command command line:
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -c section.key5=value5 -c section.key6 -c section.key7= config get --show-origin --show-scope --default='default_value6' --value='^$' 'section.key6'
command command line:
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -c section.key5=value5 -c section.key6 -c section.key7= config get --show-origin --show-scope --default='default_value6' --value='' --fixed-value 'section.key6'
command command line:
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -c section.key5=value5 -c section.key6 -c section.key7= config get --show-origin --show-scope --default='default_value6' --value='^$' --fixed-value 'section.key6'
command command line: default_value6
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -c section.key5=value5 -c section.key6 -c section.key7= config get --show-origin --show-scope --default='fAlSe' --value='' --type=bool 'section.key6'
command command line: true
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -c section.key5=value5 -c section.key6 -c section.key7= config get --show-origin --show-scope --default='fAlSe' --value='^$' --type=bool 'section.key6'
command command line: true
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -c section.key5=value5 -c section.key6 -c section.key7= config get --show-origin --show-scope --default='fAlSe' --value='' --fixed-value --type=bool 'section.key6'
command command line: true
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -c section.key5=value5 -c section.key6 -c section.key7= config get --show-origin --show-scope --default='fAlSe' --value='^$' --fixed-value --type=bool 'section.key6'
command command line: false
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -c section.key5=value5 -c section.key6 -c section.key7= config get --show-origin --show-scope --default='default_value7' --value='' 'section.key7'
command command line:
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -c section.key5=value5 -c section.key6 -c section.key7= config get --show-origin --show-scope --default='default_value7' --value='^$' 'section.key7'
command command line:
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -c section.key5=value5 -c section.key6 -c section.key7= config get --show-origin --show-scope --default='default_value7' --value='' --fixed-value 'section.key7'
command command line:
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -c section.key5=value5 -c section.key6 -c section.key7= config get --show-origin --show-scope --default='default_value7' --value='^$' --fixed-value 'section.key7'
command command line: default_value7
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -c section.key5=value5 -c section.key6 -c section.key7= config get --show-origin --show-scope --default='tRuE' --value='' --type=bool 'section.key7'
command command line: false
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -c section.key5=value5 -c section.key6 -c section.key7= config get --show-origin --show-scope --default='tRuE' --value='^$' --type=bool 'section.key7'
command command line: false
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -c section.key5=value5 -c section.key6 -c section.key7= config get --show-origin --show-scope --default='tRuE' --value='' --fixed-value --type=bool 'section.key7'
command command line: false
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -c section.key5=value5 -c section.key6 -c section.key7= config get --show-origin --show-scope --default='tRuE' --value='^$' --fixed-value --type=bool 'section.key7'
command command line: true
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex '.'
./ d/0o040/directory rwxr-xr-x/0o755
├╴config.txt -/0o100/regular file rw-r--r--/0o644
│ 1 [section]\n
│ 2 \tkey1 = value1\n
│ 3 \tkey2 = value2\n
│ 4 [section "scheme://authority/path1"]\n
│ 5 \tkey1 = value3\n
│ 6 \tkey2 = value4\n
│ 7 [section "scheme://authority/path1/"]\n
│ 8 \tkey1 = value5\n
│ 9 \tkey2 = value6\n
│ 10 [section "scheme://authority/path1?query#fragment"]\n
│ 11 \tkey1 = value7\n
│ 12 \tkey2 = value8\n
│ 13 [section "scheme://authority/path1/?query#fragment"]\n
│ 14 \tkey1 = value9\n
│ 15 \tkey2 = value10\n
│ 16 [section "scheme://authority/path1/path2"]\n
│ 17 \tkey1 = value11\n
│ 18 \tkey2 = value12\n
│ 19 [section "scheme://authority/path1/path2/"]\n
│ 20 \tkey1 = value13\n
│ 21 \tkey2 = value14\n
│ 22 [section "scheme://authority/path1/path2?query#fragment"]\n
│ 23 \tkey1 = value15\n
│ 24 \tkey2 = value16\n
│ 25 [section "scheme://authority/path1/path2/?query#fragment"]\n
│ 26 \tkey1 = value17\n
│ 27 \tkey2 = value18\n
│ 28 [section "scheme://authority/path1/path2/path3"]\n
│ 29 \tkey1 = value19\n
│ 30 \tkey2 = value20\n
│ 31 [section "scheme://authority/path1/path2/path3/"]\n
│ 32 \tkey1 = value21\n
│ 33 \tkey2 = value22\n
│ 34 [section "scheme://authority/path1/path2/path3?query#fragment"]\n
│ 35 \tkey1 = value23\n
│ 36 \tkey2 = value24\n
│ 37 [section "scheme://authority/path1/path2/path3/?query#fragment"]\n
│ 38 \tkey1 = value25\n
│ 39 \tkey2 = value26\n
│ 40
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config get --file='./config.txt' --all 'section'
error: key does not contain a section: section
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config get --file='./config.txt' --all 'section.key2'
value2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config get --file='./config.txt' --url='scheme://authority/path1' 'section'
section.key1 value5
section.key2 value6
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config get --file='./config.txt' --url='scheme://authority/path1' 'section.key2'
value6
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config get --file='./config.txt' --url='scheme://authority/path1/' 'section'
section.key1 value5
section.key2 value6
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config get --file='./config.txt' --url='scheme://authority/path1/' 'section.key2'
value6
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config get --file='./config.txt' --url='scheme://authority/path1?query' 'section'
section.key1 value1
section.key2 value2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config get --file='./config.txt' --url='scheme://authority/path1?query' 'section.key2'
value2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config get --file='./config.txt' --url='scheme://authority/path1/?query' 'section'
section.key1 value5
section.key2 value6
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config get --file='./config.txt' --url='scheme://authority/path1/?query' 'section.key2'
value6
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config get --file='./config.txt' --url='scheme://authority/path1?query#fragment' 'section'
section.key1 value7
section.key2 value8
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config get --file='./config.txt' --url='scheme://authority/path1?query#fragment' 'section.key2'
value8
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config get --file='./config.txt' --url='scheme://authority/path1/?query#fragment' 'section'
section.key1 value9
section.key2 value10
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config get --file='./config.txt' --url='scheme://authority/path1/?query#fragment' 'section.key2'
value10
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config get --file='./config.txt' --url='scheme://authority/path1/path2' 'section'
section.key1 value13
section.key2 value14
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config get --file='./config.txt' --url='scheme://authority/path1/path2' 'section.key2'
value14
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config get --file='./config.txt' --url='scheme://authority/path1/path2/' 'section'
section.key1 value13
section.key2 value14
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config get --file='./config.txt' --url='scheme://authority/path1/path2/' 'section.key2'
value14
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config get --file='./config.txt' --url='scheme://authority/path1/path2?query' 'section'
section.key1 value5
section.key2 value6
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config get --file='./config.txt' --url='scheme://authority/path1/path2?query' 'section.key2'
value6
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config get --file='./config.txt' --url='scheme://authority/path1/path2/?query' 'section'
section.key1 value13
section.key2 value14
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config get --file='./config.txt' --url='scheme://authority/path1/path2/?query' 'section.key2'
value14
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config get --file='./config.txt' --url='scheme://authority/path1/path2?query#fragment' 'section'
section.key1 value15
section.key2 value16
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config get --file='./config.txt' --url='scheme://authority/path1/path2?query#fragment' 'section.key2'
value16
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config get --file='./config.txt' --url='scheme://authority/path1/path2/?query#fragment' 'section'
section.key1 value17
section.key2 value18
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config get --file='./config.txt' --url='scheme://authority/path1/path2/?query#fragment' 'section.key2'
value18
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex '.'
./ d/0o040/directory rwxr-xr-x/0o755
├╴config.txt -/0o100/regular file rw-r--r--/0o644
│ 1 [section]\n
│ 2 \tkey-bool\n
│ 3 \tkey-bool = yEs\n
│ 4 \tkey-bool = oN\n
│ 5 \tkey-bool = tRuE\n
│ 6 \tkey-bool = 1\n
│ 7 \tkey-bool = nO\n
│ 8 \tkey-bool = oFf\n
│ 9 \tkey-bool = fAlSe\n
│ 10 \tkey-bool = 0\n
│ 11 \tkey-bool =\n
│ 12 \tkey-bool = ""\n
│ 13 \n
│ 14 \tkey-int = 1\n
│ 15 \tkey-int = 2k\n
│ 16 \tkey-int = 3K\n
│ 17 \tkey-int = 4m\n
│ 18 \tkey-int = 5M\n
│ 19 \tkey-int = 6g\n
│ 20 \tkey-int = 7G\n
│ 21 \t#key-int = 8t\n
│ 22 \t#key-int = 9T\n
│ 23 \n
│ 24 \tkey-bool-or-int\n
│ 25 \tkey-bool-or-int = yEs\n
│ 26 \tkey-bool-or-int = oN\n
│ 27 \tkey-bool-or-int = tRuE\n
│ 28 \tkey-bool-or-int = 1\n
│ 29 \tkey-bool-or-int = nO\n
│ 30 \tkey-bool-or-int = oFf\n
│ 31 \tkey-bool-or-int = fAlSe\n
│ 32 \tkey-bool-or-int = 0\n
│ 33 \tkey-bool-or-int =\n
│ 34 \tkey-bool-or-int = ""\n
│ 35 \tkey-bool-or-int = 1\n
│ 36 \tkey-bool-or-int = 2k\n
│ 37 \tkey-bool-or-int = 3K\n
│ 38 \tkey-bool-or-int = 4m\n
│ 39 \tkey-bool-or-int = 5M\n
│ 40 \t#key-bool-or-int = 6g\n
│ 41 \t#key-bool-or-int = 7G\n
│ 42 \t#key-bool-or-int = 8t\n
│ 43 \t#key-bool-or-int = 9T\n
│ 44 \n
│ 45 \t#key-path\n
│ 46 \tkey-path =\n
│ 47 \tkey-path = ""\n
│ 48 \tkey-path = "/"\n
│ 49 \tkey-path = "//"\n
│ 50 \tkey-path = "///"\n
│ 51 \tkey-path = "////"\n
│ 52 \tkey-path = "~"\n
│ 53 \tkey-path = "~/"\n
│ 54 \tkey-path = "~//"\n
│ 55 \tkey-path = "~///"\n
│ 56 \tkey-path = "~////"\n
│ 57 \tkey-path = "%(prefix)"\n
│ 58 \tkey-path = "%(prefix)/"\n
│ 59 \tkey-path = "%(prefix)//"\n
│ 60 \tkey-path = "%(prefix)///"\n
│ 61 \tkey-path = "%(prefix)////"\n
│ 62 \n
│ 63 \t#key-color\n
│ 64 \tkey-color =\n
│ 65 \tkey-color = ""\n
│ 66 \tkey-color = "reset"\n
│ 67 \tkey-color = "blue reverse"\n
│ 68
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config get --file='./config.txt' --show-origin --show-scope --all 'section.key-bool'
command file:./config.txt
command file:./config.txt yEs
command file:./config.txt oN
command file:./config.txt tRuE
command file:./config.txt 1
command file:./config.txt nO
command file:./config.txt oFf
command file:./config.txt fAlSe
command file:./config.txt 0
command file:./config.txt
command file:./config.txt
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config get --file='./config.txt' --show-origin --show-scope --all --value='' 'section.key-bool'
command file:./config.txt
command file:./config.txt yEs
command file:./config.txt oN
command file:./config.txt tRuE
command file:./config.txt 1
command file:./config.txt nO
command file:./config.txt oFf
command file:./config.txt fAlSe
command file:./config.txt 0
command file:./config.txt
command file:./config.txt
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config get --file='./config.txt' --show-origin --show-scope --all --value='^$' 'section.key-bool'
command file:./config.txt
command file:./config.txt
command file:./config.txt
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config get --file='./config.txt' --show-origin --show-scope --all --value='true' 'section.key-bool'
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config get --file='./config.txt' --show-origin --show-scope --all --value='tRuE' 'section.key-bool'
command file:./config.txt tRuE
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config get --file='./config.txt' --show-origin --show-scope --all --type=bool 'section.key-bool'
command file:./config.txt true
command file:./config.txt true
command file:./config.txt true
command file:./config.txt true
command file:./config.txt true
command file:./config.txt false
command file:./config.txt false
command file:./config.txt false
command file:./config.txt false
command file:./config.txt false
command file:./config.txt false
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config get --file='./config.txt' --show-origin --show-scope --all --type=bool --value='' 'section.key-bool'
command file:./config.txt true
command file:./config.txt true
command file:./config.txt true
command file:./config.txt true
command file:./config.txt true
command file:./config.txt false
command file:./config.txt false
command file:./config.txt false
command file:./config.txt false
command file:./config.txt false
command file:./config.txt false
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config get --file='./config.txt' --show-origin --show-scope --all --type=bool --value='^$' 'section.key-bool'
command file:./config.txt true
command file:./config.txt false
command file:./config.txt false
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config get --file='./config.txt' --show-origin --show-scope --all --type=bool --value='true' 'section.key-bool'
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config get --file='./config.txt' --show-origin --show-scope --all --type=bool --value='tRuE' 'section.key-bool'
command file:./config.txt true
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config get --file='./config.txt' --show-origin --show-scope --all 'section.key-int'
command file:./config.txt 1
command file:./config.txt 2k
command file:./config.txt 3K
command file:./config.txt 4m
command file:./config.txt 5M
command file:./config.txt 6g
command file:./config.txt 7G
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config get --file='./config.txt' --show-origin --show-scope --all --type=int 'section.key-int'
command file:./config.txt 1
command file:./config.txt 2048
command file:./config.txt 3072
command file:./config.txt 4194304
command file:./config.txt 5242880
command file:./config.txt 6442450944
command file:./config.txt 7516192768
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config get --file='./config.txt' --show-origin --show-scope --all 'section.key-bool-or-int'
command file:./config.txt
command file:./config.txt yEs
command file:./config.txt oN
command file:./config.txt tRuE
command file:./config.txt 1
command file:./config.txt nO
command file:./config.txt oFf
command file:./config.txt fAlSe
command file:./config.txt 0
command file:./config.txt
command file:./config.txt
command file:./config.txt 1
command file:./config.txt 2k
command file:./config.txt 3K
command file:./config.txt 4m
command file:./config.txt 5M
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config get --file='./config.txt' --show-origin --show-scope --all --type=bool-or-int 'section.key-bool-or-int'
command file:./config.txt true
command file:./config.txt true
command file:./config.txt true
command file:./config.txt true
command file:./config.txt 1
command file:./config.txt false
command file:./config.txt false
command file:./config.txt false
command file:./config.txt 0
command file:./config.txt false
command file:./config.txt false
command file:./config.txt 1
command file:./config.txt 2048
command file:./config.txt 3072
command file:./config.txt 4194304
command file:./config.txt 5242880
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config get --file='./config.txt' --show-origin --show-scope --all 'section.key-path'
command file:./config.txt
command file:./config.txt
command file:./config.txt /
command file:./config.txt //
command file:./config.txt ///
command file:./config.txt ////
command file:./config.txt ~
command file:./config.txt ~/
command file:./config.txt ~//
command file:./config.txt ~///
command file:./config.txt ~////
command file:./config.txt %(prefix)
command file:./config.txt %(prefix)/
command file:./config.txt %(prefix)//
command file:./config.txt %(prefix)///
command file:./config.txt %(prefix)////
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config get --file='./config.txt' --show-origin --show-scope --all --type=path 'section.key-path'
command file:./config.txt
command file:./config.txt
command file:./config.txt /
command file:./config.txt //
command file:./config.txt ///
command file:./config.txt ////
command file:./config.txt C:/Users/jhcar
command file:./config.txt C:/Users/jhcar/
command file:./config.txt C:/Users/jhcar//
command file:./config.txt C:/Users/jhcar///
command file:./config.txt C:/Users/jhcar////
command file:./config.txt %(prefix)
command file:./config.txt C:/Program Files/Git/mingw64/
command file:./config.txt /
command file:./config.txt //
command file:./config.txt ///
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -c 'section.key-path='"~$USERNAME" -c 'section.key-path='"~$USERNAME/" -c 'section.key-path='"~$USERNAME//" -c 'section.key-path='"~$USERNAME///" -c 'section.key-path='"~$USERNAME////" config get --show-origin --show-scope --all 'section.key-path'
command command line: ~jhcarl0814
command command line: ~jhcarl0814/
command command line: ~jhcarl0814//
command command line: ~jhcarl0814///
command command line: ~jhcarl0814////
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -c 'section.key-path='"~$USERNAME" -c 'section.key-path='"~$USERNAME/" -c 'section.key-path='"~$USERNAME//" -c 'section.key-path='"~$USERNAME///" -c 'section.key-path='"~$USERNAME////" config get --show-origin --show-scope --all --type=path 'section.key-path'
fatal: failed to expand user dir in: '~jhcarl0814'
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -c 'section.key-path='"~$(basename "$HOME")" -c 'section.key-path='"~$(basename "$HOME")/" -c 'section.key-path='"~$(basename "$HOME")//" -c 'section.key-path='"~$(basename "$HOME")///" -c 'section.key-path='"~$(basename "$HOME")////" config get --show-origin --show-scope --all 'section.key-path'
command command line: ~jhcar
command command line: ~jhcar/
command command line: ~jhcar//
command command line: ~jhcar///
command command line: ~jhcar////
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -c 'section.key-path='"~$(basename "$HOME")" -c 'section.key-path='"~$(basename "$HOME")/" -c 'section.key-path='"~$(basename "$HOME")//" -c 'section.key-path='"~$(basename "$HOME")///" -c 'section.key-path='"~$(basename "$HOME")////" config get --show-origin --show-scope --all --type=path 'section.key-path'
fatal: failed to expand user dir in: '~jhcar'
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -c 'section.key-path='":(optional)" -c 'section.key-path='":(optional)/" -c 'section.key-path='":(optional)//" -c 'section.key-path='":(optional)///" -c 'section.key-path='":(optional)////" config get --show-origin --show-scope --all 'section.key-path'
command command line: :(optional)
command command line: :(optional)/
command command line: :(optional)//
command command line: :(optional)///
command command line: :(optional)////
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -c 'section.key-path='":(optional)" -c 'section.key-path='":(optional)/" -c 'section.key-path='":(optional)//" -c 'section.key-path='":(optional)///" -c 'section.key-path='":(optional)////" config get --show-origin --show-scope --all --type=path 'section.key-path'
fatal: could not stat //: Invalid argument
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -c 'section.key-path='":(optional)" -c 'section.key-path='":(optional)/" config get --show-origin --show-scope --all --type=path 'section.key-path'
command command line: /
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -c 'section.key-path='":(optional)//" config get --show-origin --show-scope --all --type=path 'section.key-path'
fatal: could not stat //: Invalid argument
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -c 'section.key-path='":(optional)nonexistent" -c 'section.key-path='":(optional)/nonexistent" -c 'section.key-path='":(optional)//nonexistent" -c 'section.key-path='":(optional)///nonexistent" -c 'section.key-path='":(optional)////nonexistent" config get --show-origin --show-scope --all 'section.key-path'
command command line: :(optional)nonexistent
command command line: :(optional)/nonexistent
command command line: :(optional)//nonexistent
command command line: :(optional)///nonexistent
command command line: :(optional)////nonexistent
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -c 'section.key-path='":(optional)nonexistent" -c 'section.key-path='":(optional)/nonexistent" -c 'section.key-path='":(optional)//nonexistent" -c 'section.key-path='":(optional)///nonexistent" -c 'section.key-path='":(optional)////nonexistent" config get --show-origin --show-scope --all --type=path 'section.key-path'
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config get --file='./config.txt' --show-origin --show-scope --all 'section.key-color'
command file:./config.txt
command file:./config.txt
command file:./config.txt reset
command file:./config.txt blue reverse
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config get --file='./config.txt' --show-origin --show-scope --all --type=color 'section.key-color' | special_character_to_escape_sequence_preserve_line_ending | cat_with_line_number
1 command\tfile:./config.txt\t\n
2 command\tfile:./config.txt\t\n
3 command\tfile:./config.txt\t\e[m\n
4 command\tfile:./config.txt\t\e[7;34m\n
5
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/ %cd%=C:\Program Files\Git
$ echo "$(git -c 'a.b=brightblue normal' config get --type=color 'a.b')fg_brightblue\
> $(git -c 'a.b=blue normal' config get --type=color 'a.b')fg_blue\
> $(git -c 'a.b=normal cyan' config get --type=color 'a.b')bg_cyan\
> $(git -c 'a.b=normal brightcyan' config get --type=color 'a.b')bg_brightcyan\
> $(git -c 'a.b=118 34' config get --type=color 'a.b')fg_118_bg_34\
> $(git -c 'a.b=#0000FF #00FFFF' config get --type=color 'a.b')fg_0000FF_bg_00FFFF\
> $(git -c 'a.b=normal default' config get --type=color 'a.b')bg_default\
> $(git -c 'a.b=default normal' config get --type=color 'a.b')fg_default\
> $(git -c 'a.b=reset' config get --type=color 'a.b')reset"
fg_brightbluefg_bluebg_cyanbg_brightcyanfg_118_bg_34fg_0000FF_bg_00FFFFbg_defaultfg_defaultreset
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/ %cd%=C:\Program Files\Git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/ %cd%=C:\Program Files\Git
$ echo "$(git -c 'a.b=normal bold normal' config get --type=color 'a.b')bold\
> $(git -c 'a.b=normal ul italic normal' config get --type=color 'a.b')ul italic\
> $(git -c 'a.b=normal no-bold no-ul normal' config get --type=color 'a.b')no-bold no-ul\
> $(git -c 'a.b=normal reset strike dim normal' config get --type=color 'a.b')reset strike dim\
> $(git -c 'a.b=normal no-dim reverse normal' config get --type=color 'a.b')no-dim reverse\
> $(git -c 'a.b=normal blink normal' config get --type=color 'a.b')blink\
> $(git -c 'a.b=reset' config get --type=color 'a.b')reset"
boldul italicno-bold no-ulreset strike dimno-dim reverseblinkreset
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/ %cd%=C:\Program Files\Git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' init
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree add '../worktree1'
No possible source branch, inferring '--orphan'
Preparing worktree (new branch 'worktree1')
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' config --local extensions.worktreeConfig true
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' rev-parse --path-format=absolute --absolute-git-dir --git-common-dir --show-toplevel
C:/Program Files/Git/test_git/repo/.git
C:/Program Files/Git/test_git/repo/.git
C:/Program Files/Git/test_git/repo
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' rev-parse --path-format=absolute --absolute-git-dir --git-common-dir --show-toplevel
C:/Program Files/Git/test_git/repo/.git/worktrees/worktree1
C:/Program Files/Git/test_git/repo/.git
C:/Program Files/Git/test_git/worktree1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' config set --system 'section.key' 'value11'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' config set --global 'section.key' 'value21'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' config set --local 'section.key' 'value31'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' config set --worktree 'section.key' 'value411'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' config set --worktree 'section.key' 'value412'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' config get --show-origin --show-scope --all 'section.key'
system file:C:/Program Files/Git/etc/gitconfig value11
global file:C:/Users/jhcar/.gitconfig value21
local file:.git/config value31
worktree file:.git/config.worktree value411
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' config get --show-origin --show-scope 'section.key'
worktree file:.git/config.worktree value411
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' config get --show-origin --show-scope --all 'section.key'
system file:C:/Program Files/Git/etc/gitconfig value11
global file:C:/Users/jhcar/.gitconfig value21
local file:C:/Program Files/Git/test_git/repo/.git/config value31
worktree file:C:/Program Files/Git/test_git/repo/.git/worktrees/worktree1/config.worktree value412
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' config get --show-origin --show-scope 'section.key'
worktree file:C:/Program Files/Git/test_git/repo/.git/worktrees/worktree1/config.worktree value412
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config set --file='./config.txt' 'section.key' 'value31'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config get --file='./config.txt' --show-origin --show-scope --all 'section.key'
command file:./config.txt value31
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config get --file='./config.txt' --show-origin --show-scope 'section.key'
command file:./config.txt value31
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' config set --system 'section.key' 'value12'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' config set --global 'section.key' 'value22'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' config set --local 'section.key' 'value32'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' config set --worktree 'section.key' 'value421'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' config set --worktree 'section.key' 'value422'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' config get --show-origin --show-scope --all 'section.key'
system file:C:/Program Files/Git/etc/gitconfig value12
global file:C:/Users/jhcar/.gitconfig value22
local file:.git/config value32
worktree file:.git/config.worktree value421
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' config get --show-origin --show-scope 'section.key'
worktree file:.git/config.worktree value421
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' config get --show-origin --show-scope --all 'section.key'
system file:C:/Program Files/Git/etc/gitconfig value12
global file:C:/Users/jhcar/.gitconfig value22
local file:C:/Program Files/Git/test_git/repo/.git/config value32
worktree file:C:/Program Files/Git/test_git/repo/.git/worktrees/worktree1/config.worktree value422
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' config get --show-origin --show-scope 'section.key'
worktree file:C:/Program Files/Git/test_git/repo/.git/worktrees/worktree1/config.worktree value422
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config set --file='./config.txt' 'section.key' 'value32'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config get --file='./config.txt' --show-origin --show-scope --all 'section.key'
command file:./config.txt value32
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config get --file='./config.txt' --show-origin --show-scope 'section.key'
command file:./config.txt value32
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' config set --system --append 'section.key' 'value13'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' config set --global --append 'section.key' 'value23'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' config set --local --append 'section.key' 'value33'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' config set --worktree --append 'section.key' 'value431'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' config set --worktree --append 'section.key' 'value432'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' config get --show-origin --show-scope --all 'section.key'
system file:C:/Program Files/Git/etc/gitconfig value12
system file:C:/Program Files/Git/etc/gitconfig value13
global file:C:/Users/jhcar/.gitconfig value22
global file:C:/Users/jhcar/.gitconfig value23
local file:.git/config value32
local file:.git/config value33
worktree file:.git/config.worktree value421
worktree file:.git/config.worktree value431
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' config get --show-origin --show-scope 'section.key'
worktree file:.git/config.worktree value431
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' config get --show-origin --show-scope --all 'section.key'
system file:C:/Program Files/Git/etc/gitconfig value12
system file:C:/Program Files/Git/etc/gitconfig value13
global file:C:/Users/jhcar/.gitconfig value22
global file:C:/Users/jhcar/.gitconfig value23
local file:C:/Program Files/Git/test_git/repo/.git/config value32
local file:C:/Program Files/Git/test_git/repo/.git/config value33
worktree file:C:/Program Files/Git/test_git/repo/.git/worktrees/worktree1/config.worktree value422
worktree file:C:/Program Files/Git/test_git/repo/.git/worktrees/worktree1/config.worktree value432
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' config get --show-origin --show-scope 'section.key'
worktree file:C:/Program Files/Git/test_git/repo/.git/worktrees/worktree1/config.worktree value432
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config set --file='./config.txt' --append 'section.key' 'value33'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config get --file='./config.txt' --show-origin --show-scope --all 'section.key'
command file:./config.txt value32
command file:./config.txt value33
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config get --file='./config.txt' --show-origin --show-scope 'section.key'
command file:./config.txt value33
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' config set --system 'section.key' 'value14'
warning: section.key has multiple values
error: cannot overwrite multiple values with a single value
Use --value=<pattern>, --append or --all to change section.key.
jhcarl0814@jhcarl0814 MINGW64 $?=5 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' config set --system --all 'section.key' 'value14'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' config set --global 'section.key' 'value24'
warning: section.key has multiple values
error: cannot overwrite multiple values with a single value
Use --value=<pattern>, --append or --all to change section.key.
jhcarl0814@jhcarl0814 MINGW64 $?=5 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' config set --global --all 'section.key' 'value24'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' config set --local 'section.key' 'value34'
warning: section.key has multiple values
error: cannot overwrite multiple values with a single value
Use --value=<pattern>, --append or --all to change section.key.
jhcarl0814@jhcarl0814 MINGW64 $?=5 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' config set --local --all 'section.key' 'value34'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' config set --worktree 'section.key' 'value441'
warning: section.key has multiple values
error: cannot overwrite multiple values with a single value
Use --value=<pattern>, --append or --all to change section.key.
jhcarl0814@jhcarl0814 MINGW64 $?=5 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' config set --worktree --all 'section.key' 'value441'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' config set --worktree 'section.key' 'value442'
warning: section.key has multiple values
error: cannot overwrite multiple values with a single value
Use --value=<pattern>, --append or --all to change section.key.
jhcarl0814@jhcarl0814 MINGW64 $?=5 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' config set --worktree --all 'section.key' 'value442'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' config get --show-origin --show-scope --all 'section.key'
system file:C:/Program Files/Git/etc/gitconfig value14
global file:C:/Users/jhcar/.gitconfig value24
local file:.git/config value34
worktree file:.git/config.worktree value441
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' config get --show-origin --show-scope 'section.key'
worktree file:.git/config.worktree value441
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' config get --show-origin --show-scope --all 'section.key'
system file:C:/Program Files/Git/etc/gitconfig value14
global file:C:/Users/jhcar/.gitconfig value24
local file:C:/Program Files/Git/test_git/repo/.git/config value34
worktree file:C:/Program Files/Git/test_git/repo/.git/worktrees/worktree1/config.worktree value442
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' config get --show-origin --show-scope 'section.key'
worktree file:C:/Program Files/Git/test_git/repo/.git/worktrees/worktree1/config.worktree value442
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config set --file='./config.txt' 'section.key' 'value34'
warning: section.key has multiple values
error: cannot overwrite multiple values with a single value
Use --value=<pattern>, --append or --all to change section.key.
jhcarl0814@jhcarl0814 MINGW64 $?=5 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config set --file='./config.txt' --all 'section.key' 'value34'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config get --file='./config.txt' --show-origin --show-scope --all 'section.key'
command file:./config.txt value34
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config get --file='./config.txt' --show-origin --show-scope 'section.key'
command file:./config.txt value34
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' config unset --system 'section.key'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' config unset --global 'section.key'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' config unset --local 'section.key'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' config unset --worktree 'section.key'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' config unset --worktree 'section.key'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' config get --show-origin --show-scope --all 'section.key'
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' config get --show-origin --show-scope 'section.key'
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' config get --show-origin --show-scope --all 'section.key'
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' config get --show-origin --show-scope 'section.key'
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config unset --file='./config.txt' 'section.key'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config get --file='./config.txt' --show-origin --show-scope --all 'section.key'
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config get --file='./config.txt' --show-origin --show-scope 'section.key'
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' config set --system --append 'section.key' 'value15'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' config set --system --append 'section.key' 'value16'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' config set --global --append 'section.key' 'value25'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' config set --global --append 'section.key' 'value26'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' config set --local --append 'section.key' 'value35'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' config set --local --append 'section.key' 'value36'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' config set --worktree --append 'section.key' 'value451'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' config set --worktree --append 'section.key' 'value461'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' config set --worktree --append 'section.key' 'value452'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' config set --worktree --append 'section.key' 'value462'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' config get --show-origin --show-scope --all 'section.key'
system file:C:/Program Files/Git/etc/gitconfig value15
system file:C:/Program Files/Git/etc/gitconfig value16
global file:C:/Users/jhcar/.gitconfig value25
global file:C:/Users/jhcar/.gitconfig value26
local file:.git/config value35
local file:.git/config value36
worktree file:.git/config.worktree value451
worktree file:.git/config.worktree value461
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' config get --show-origin --show-scope 'section.key'
worktree file:.git/config.worktree value461
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' config get --show-origin --show-scope --all 'section.key'
system file:C:/Program Files/Git/etc/gitconfig value15
system file:C:/Program Files/Git/etc/gitconfig value16
global file:C:/Users/jhcar/.gitconfig value25
global file:C:/Users/jhcar/.gitconfig value26
local file:C:/Program Files/Git/test_git/repo/.git/config value35
local file:C:/Program Files/Git/test_git/repo/.git/config value36
worktree file:C:/Program Files/Git/test_git/repo/.git/worktrees/worktree1/config.worktree value452
worktree file:C:/Program Files/Git/test_git/repo/.git/worktrees/worktree1/config.worktree value462
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' config get --show-origin --show-scope 'section.key'
worktree file:C:/Program Files/Git/test_git/repo/.git/worktrees/worktree1/config.worktree value462
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config set --file='./config.txt' --append 'section.key' 'value35'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config set --file='./config.txt' --append 'section.key' 'value36'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config get --file='./config.txt' --show-origin --show-scope --all 'section.key'
command file:./config.txt value35
command file:./config.txt value36
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config get --file='./config.txt' --show-origin --show-scope 'section.key'
command file:./config.txt value36
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' config unset --system 'section.key'
warning: section.key has multiple values
jhcarl0814@jhcarl0814 MINGW64 $?=5 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' config unset --system --all 'section.key'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' config unset --global 'section.key'
warning: section.key has multiple values
jhcarl0814@jhcarl0814 MINGW64 $?=5 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' config unset --global --all 'section.key'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' config unset --local 'section.key'
warning: section.key has multiple values
jhcarl0814@jhcarl0814 MINGW64 $?=5 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' config unset --local --all 'section.key'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' config unset --worktree 'section.key'
warning: section.key has multiple values
jhcarl0814@jhcarl0814 MINGW64 $?=5 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' config unset --worktree --all 'section.key'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' config unset --worktree 'section.key'
warning: section.key has multiple values
jhcarl0814@jhcarl0814 MINGW64 $?=5 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' config unset --worktree --all 'section.key'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' config get --show-origin --show-scope --all 'section.key'
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' config get --show-origin --show-scope 'section.key'
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' config get --show-origin --show-scope --all 'section.key'
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' config get --show-origin --show-scope 'section.key'
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config unset --file='./config.txt' 'section.key'
warning: section.key has multiple values
jhcarl0814@jhcarl0814 MINGW64 $?=5 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config unset --file='./config.txt' --all 'section.key'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config get --file='./config.txt' --show-origin --show-scope --all 'section.key'
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config get --file='./config.txt' --show-origin --show-scope 'section.key'
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex .
./ d/0o040/directory rwxr-xr-x/0o755
├╴config.txt -/0o100/regular file rw-r--r--/0o644
│ 1 [section]\n
│ 2 \tkey\n
│ 3 \tkey =\n
│ 4 \tkey = value1\n
│ 5 \tkey = value2\n
│ 6 \tkey = value3\n
│ 7 \tkey = value4\n
│ 8
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config set --file='./config.txt' --value='[13579]' 'section.key' 'value5'
warning: section.key has multiple values
jhcarl0814@jhcarl0814 MINGW64 $?=5 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config get --file='./config.txt' --show-origin --show-scope --all 'section.key'
command file:./config.txt
command file:./config.txt
command file:./config.txt value1
command file:./config.txt value2
command file:./config.txt value3
command file:./config.txt value4
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config get --file='./config.txt' --show-origin --show-scope 'section.key'
command file:./config.txt value4
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config set --file='./config.txt' --value='[1]' 'section.key' 'value5'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config get --file='./config.txt' --show-origin --show-scope --all 'section.key'
command file:./config.txt
command file:./config.txt
command file:./config.txt value5
command file:./config.txt value2
command file:./config.txt value3
command file:./config.txt value4
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config get --file='./config.txt' --show-origin --show-scope 'section.key'
command file:./config.txt value4
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config set --file='./config.txt' --value='[2]' --fixed-value 'section.key' 'value6'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config get --file='./config.txt' --show-origin --show-scope --all 'section.key'
command file:./config.txt value6
command file:./config.txt
command file:./config.txt value5
command file:./config.txt value2
command file:./config.txt value3
command file:./config.txt value4
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config get --file='./config.txt' --show-origin --show-scope 'section.key'
command file:./config.txt value4
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config set --file='./config.txt' --value='2' --fixed-value 'section.key' 'value7'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config get --file='./config.txt' --show-origin --show-scope --all 'section.key'
command file:./config.txt value6
command file:./config.txt
command file:./config.txt value5
command file:./config.txt value2
command file:./config.txt value3
command file:./config.txt value4
command file:./config.txt value7
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config get --file='./config.txt' --show-origin --show-scope 'section.key'
command file:./config.txt value7
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config set --file='./config.txt' --value='value2' --fixed-value 'section.key' 'value8'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config get --file='./config.txt' --show-origin --show-scope --all 'section.key'
command file:./config.txt value6
command file:./config.txt
command file:./config.txt value5
command file:./config.txt value8
command file:./config.txt value3
command file:./config.txt value4
command file:./config.txt value7
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config get --file='./config.txt' --show-origin --show-scope 'section.key'
command file:./config.txt value7
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config set --file='./config.txt' --value='abcdefg' 'section.key' 'value9'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config get --file='./config.txt' --show-origin --show-scope --all 'section.key'
command file:./config.txt value6
command file:./config.txt
command file:./config.txt value5
command file:./config.txt value8
command file:./config.txt value3
command file:./config.txt value4
command file:./config.txt value7
command file:./config.txt value9
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config get --file='./config.txt' --show-origin --show-scope 'section.key'
command file:./config.txt value9
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ cat >'./config.txt' <<'EOF'
> [section]
> key
> key =
> key = value1
> key = value2
> EOF
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config set --file='./config.txt' --value='^$' 'section.key' 'value3'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config get --file='./config.txt' --show-origin --show-scope --all 'section.key'
command file:./config.txt
command file:./config.txt value3
command file:./config.txt value1
command file:./config.txt value2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config get --file='./config.txt' --show-origin --show-scope 'section.key'
command file:./config.txt value2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ cat >'./config.txt' <<'EOF'
> [section]
> key
> key =
> key = value1
> key = value2
> EOF
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config set --file='./config.txt' --value='^$' --fixed-value 'section.key' 'value4'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config get --file='./config.txt' --show-origin --show-scope --all 'section.key'
command file:./config.txt value4
command file:./config.txt
command file:./config.txt value1
command file:./config.txt value2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config get --file='./config.txt' --show-origin --show-scope 'section.key'
command file:./config.txt value2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ cat >'./config.txt' <<'EOF'
> [section]
> key
> key =
> key = value1
> key = value2
> EOF
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config set --file='./config.txt' --value='' 'section.key' 'value5'
warning: section.key has multiple values
jhcarl0814@jhcarl0814 MINGW64 $?=5 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config get --file='./config.txt' --show-origin --show-scope --all 'section.key'
command file:./config.txt
command file:./config.txt
command file:./config.txt value1
command file:./config.txt value2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config get --file='./config.txt' --show-origin --show-scope 'section.key'
command file:./config.txt value2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ cat >'./config.txt' <<'EOF'
> [section]
> key
> key =
> key = value1
> key = value2
> EOF
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config set --file='./config.txt' --value='' --fixed-value 'section.key' 'value6'
warning: section.key has multiple values
jhcarl0814@jhcarl0814 MINGW64 $?=5 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config get --file='./config.txt' --show-origin --show-scope --all 'section.key'
command file:./config.txt
command file:./config.txt
command file:./config.txt value1
command file:./config.txt value2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config get --file='./config.txt' --show-origin --show-scope 'section.key'
command file:./config.txt value2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ cat >'./config.txt' <<'EOF'
> [section]
> key
> key =
> key = value1
> key = value2
> EOF
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config set --file='./config.txt' --value='!' 'section.key' 'value7'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config get --file='./config.txt' --show-origin --show-scope --all 'section.key'
command file:./config.txt value7
command file:./config.txt
command file:./config.txt value1
command file:./config.txt value2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config get --file='./config.txt' --show-origin --show-scope 'section.key'
command file:./config.txt value2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex .
./ d/0o040/directory rwxr-xr-x/0o755
├╴config.txt -/0o100/regular file rw-r--r--/0o644
│ 1 [section1]\n
│ 2 \tkey1 = value1\n
│ 3 \tkey2 = value2\n
│ 4 [section2]\n
│ 5 \tkey1 = value1\n
│ 6 \tkey3 = value3\n
│ 7 [section3]\n
│ 8 \tkey1 = value1\n
│ 9 \tkey4 = value4\n
│ 10
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config rename-section --file='./config.txt' 'section4' 'section5'
fatal: no such section: section4
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config rename-section --file='./config.txt' 'section4' 'section3'
fatal: no such section: section4
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config rename-section --file='./config.txt' 'section1' 'section4'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex .
./ d/0o040/directory rwxr-xr-x/0o755
├╴config.txt -/0o100/regular file rw-r--r--/0o644
│ 1 [section4]\n
│ 2 \tkey1 = value1\n
│ 3 \tkey2 = value2\n
│ 4 [section2]\n
│ 5 \tkey1 = value1\n
│ 6 \tkey3 = value3\n
│ 7 [section3]\n
│ 8 \tkey1 = value1\n
│ 9 \tkey4 = value4\n
│ 10
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config rename-section --file='./config.txt' 'section4' 'section2'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex .
./ d/0o040/directory rwxr-xr-x/0o755
├╴config.txt -/0o100/regular file rw-r--r--/0o644
│ 1 [section2]\n
│ 2 \tkey1 = value1\n
│ 3 \tkey2 = value2\n
│ 4 [section2]\n
│ 5 \tkey1 = value1\n
│ 6 \tkey3 = value3\n
│ 7 [section3]\n
│ 8 \tkey1 = value1\n
│ 9 \tkey4 = value4\n
│ 10
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config rename-section --file='./config.txt' 'section2' 'section5'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex .
./ d/0o040/directory rwxr-xr-x/0o755
├╴config.txt -/0o100/regular file rw-r--r--/0o644
│ 1 [section5]\n
│ 2 \tkey1 = value1\n
│ 3 \tkey2 = value2\n
│ 4 [section5]\n
│ 5 \tkey1 = value1\n
│ 6 \tkey3 = value3\n
│ 7 [section3]\n
│ 8 \tkey1 = value1\n
│ 9 \tkey4 = value4\n
│ 10
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config remove-section --file='./config.txt' 'section3'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex .
./ d/0o040/directory rwxr-xr-x/0o755
├╴config.txt -/0o100/regular file rw-r--r--/0o644
│ 1 [section5]\n
│ 2 \tkey1 = value1\n
│ 3 \tkey2 = value2\n
│ 4 [section5]\n
│ 5 \tkey1 = value1\n
│ 6 \tkey3 = value3\n
│ 7
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config remove-section --file='./config.txt' 'section5'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex .
./ d/0o040/directory rwxr-xr-x/0o755
├╴config.txt -/0o100/regular empty file rw-r--r--/0o644
│ 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex .
./ d/0o040/directory rwxr-xr-x/0o755
├╴config.txt -/0o100/regular file rw-r--r--/0o644
│ 1 [section]\n
│ 2 \tkey1\n
│ 3 \tkey2 =\n
│ 4 \tkey3 = false\n
│ 5 \tkey4 = never\n
│ 6 \tkey5 = true\n
│ 7 \tkey6 = auto\n
│ 8 \tkey7 = always\n
│ 9
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ test -t 0
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config --file='./config.txt' --get-colorbool 'section.key1'; echo "$?"
0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config --file='./config.txt' --get-colorbool 'section.key2'; echo "$?"
1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config --file='./config.txt' --get-colorbool 'section.key3'; echo "$?"
1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config --file='./config.txt' --get-colorbool 'section.key4'; echo "$?"
1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config --file='./config.txt' --get-colorbool 'section.key5'; echo "$?"
0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config --file='./config.txt' --get-colorbool 'section.key6'; echo "$?"
0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config --file='./config.txt' --get-colorbool 'section.key7'; echo "$?"
0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config --file='./config.txt' --get-colorbool 'section.key1' false
false
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config --file='./config.txt' --get-colorbool 'section.key2' false
false
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config --file='./config.txt' --get-colorbool 'section.key3' false
false
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config --file='./config.txt' --get-colorbool 'section.key4' false
false
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config --file='./config.txt' --get-colorbool 'section.key5' false
false
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config --file='./config.txt' --get-colorbool 'section.key6' false
false
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config --file='./config.txt' --get-colorbool 'section.key7' false
true
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config --file='./config.txt' --get-colorbool 'section.key1' true
true
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config --file='./config.txt' --get-colorbool 'section.key2' true
false
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config --file='./config.txt' --get-colorbool 'section.key3' true
false
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config --file='./config.txt' --get-colorbool 'section.key4' true
false
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config --file='./config.txt' --get-colorbool 'section.key5' true
true
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config --file='./config.txt' --get-colorbool 'section.key6' true
true
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config --file='./config.txt' --get-colorbool 'section.key7' true
true
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config set --file='./config.txt' 'color.ui' 'never'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config --file='./config.txt' --get-colorbool 'section.key'; echo "$?"
1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config set --file='./config.txt' 'color.ui' 'auto'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config --file='./config.txt' --get-colorbool 'section.key'; echo "$?"
0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config set --file='./config.txt' 'color.ui' 'always'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config --file='./config.txt' --get-colorbool 'section.key'; echo "$?"
0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/ %cd%=C:\Program Files\Git
$ git var -l
diff.astextplain.textconv=astextplain
filter.lfs.clean=git-lfs clean -- %f
filter.lfs.smudge=git-lfs smudge -- %f
filter.lfs.process=git-lfs filter-process
filter.lfs.required=true
http.sslbackend=openssl
http.sslcainfo=C:/Program Files/Git/mingw64/etc/ssl/certs/ca-bundle.crt
core.autocrlf=true
core.fscache=true
core.symlinks=true
core.editor="C:\\Program Files\\Notepad++\\notepad++.exe" -multiInst -notabbar -nosession -noPlugin
pull.ff=only
credential.helper=manager
credential.https://dev.azure.com.usehttppath=true
init.defaultbranch=master
user.name=Han Jiang
user.email=jhcarl0814@gmail.com
alias.lg=log --graph --abbrev-commit --decorate=full --date=format:'%Y-%m-%d %H:%M' --format=tformat:'%C(bold green)%h%C(reset) - %C(bold blue)%ad (%ar)%C(reset) %C(white)%s%C(reset) %C(dim white)- %an%C(reset)%C(auto)%d%C(reset)'
gui.encoding=utf-8
gui.tabsize=4
diff.tool=kdiff3
difftool.kdiff3.path=C:/Program Files/KDiff3/bin/kdiff3.exe
difftool.kdiff3.trustexitcode=false
filter.lfs.clean=git-lfs clean -- %f
filter.lfs.smudge=git-lfs smudge -- %f
filter.lfs.process=git-lfs filter-process
filter.lfs.required=true
GIT_COMMITTER_IDENT=Han Jiang <jhcarl0814@gmail.com> 1780113079 +1200
GIT_AUTHOR_IDENT=Han Jiang <jhcarl0814@gmail.com> 1780113079 +1200
GIT_EDITOR="C:\\Program Files\\Notepad++\\notepad++.exe" -multiInst -notabbar -nosession -noPlugin
GIT_SEQUENCE_EDITOR="C:\\Program Files\\Notepad++\\notepad++.exe" -multiInst -notabbar -nosession -noPlugin
GIT_PAGER=cat
GIT_DEFAULT_BRANCH=master
GIT_SHELL_PATH=C:/Program Files/Git/usr/bin/sh.exe
GIT_ATTR_SYSTEM=C:/Program Files/Git/etc/gitattributes
GIT_ATTR_GLOBAL=C:/Users/jhcar/.config/git/attributes
GIT_CONFIG_SYSTEM=C:/Program Files/Git/etc/gitconfig
GIT_CONFIG_GLOBAL=C:/Users/jhcar/.config/git/config
GIT_CONFIG_GLOBAL=C:/Users/jhcar/.gitconfig
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/ %cd%=C:\Program Files\Git
$ git var GIT_CONFIG_SYSTEM
C:/Program Files/Git/etc/gitconfig
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/ %cd%=C:\Program Files\Git
$ git var GIT_CONFIG_GLOBAL
C:/Users/jhcar/.config/git/config
C:/Users/jhcar/.gitconfig
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/ %cd%=C:\Program Files\Git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/ %cd%=C:\Program Files\Git
$ git --version
git version 2.54.0.windows.1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/ %cd%=C:\Program Files\Git
$ git --version --build-options
git version 2.54.0.windows.1
cpu: x86_64
built from commit: 2b8a3ab140826ac423c2845ef81d4c6ac4f7bf3c
sizeof-long: 4
sizeof-size_t: 8
shell-path: D:/git-sdk-64-build-installers/usr/bin/sh
rust: disabled
feature: fsmonitor--daemon
gettext: enabled
libcurl: 8.19.0
OpenSSL: OpenSSL 3.5.6 7 Apr 2026
zlib: 1.3.2
SHA-1: SHA1_DC
SHA-256: SHA256_BLK
default-ref-format: files
default-hash: sha1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/ %cd%=C:\Program Files\Git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/ %cd%=C:\Program Files\Git
$ git --exec-path
C:/Program Files/Git/mingw64/libexec/git-core
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/ %cd%=C:\Program Files\Git
$ ls --group-directories-first --escape --classify --quoting-style=shell-escape-always -- "$(git --exec-path)"
'mergetools'/ 'git-merge-octopus'*
'Atlassian.Bitbucket.dll'* 'git-merge-one-file'*
'Avalonia.Base.dll'* 'git-merge-resolve'*
'Avalonia.Controls.dll'* 'git-mergetool'*
'Avalonia.DesignerSupport.dll'* 'git-mergetool--lib'
'Avalonia.Dialogs.dll'* 'git-quiltimport'*
'Avalonia.Markup.Xaml.dll'* 'git-remote-ftp.exe'*
'Avalonia.Markup.dll'* 'git-remote-ftps.exe'*
'Avalonia.Metal.dll'* 'git-remote-http.exe'*
'Avalonia.MicroCom.dll'* 'git-remote-https.exe'*
'Avalonia.OpenGL.dll'* 'git-request-pull'*
'Avalonia.Remote.Protocol.dll'* 'git-send-email'*
'Avalonia.Skia.dll'* 'git-sh-i18n'
'Avalonia.Themes.Fluent.dll'* 'git-sh-i18n--envsubst.exe'*
'Avalonia.Vulkan.dll'* 'git-sh-setup'
'Avalonia.Win32.dll'* 'git-submodule'*
'Avalonia.dll'* 'git-subtree'*
'GitHub.dll'* 'git-update'*
'GitLab.dll'* 'git-web--browse'*
'HarfBuzzSharp.dll'* 'git.exe'*
'MicroCom.Runtime.dll'* 'headless-git.exe'*
'Microsoft.AzureRepos.dll'* 'libHarfBuzzSharp.dll'*
'Microsoft.Bcl.AsyncInterfaces.dll'* 'libSkiaSharp.dll'*
'Microsoft.Identity.Client.Broker.dll'* 'libbrotlicommon.dll'*
'Microsoft.Identity.Client.Extensions.Msal.dll'* 'libbrotlidec.dll'*
'Microsoft.Identity.Client.NativeInterop.dll'* 'libbrotlienc.dll'*
'Microsoft.Identity.Client.dll'* 'libbz2-1.dll'*
'Microsoft.IdentityModel.Abstractions.dll'* 'libcares-2.dll'*
'SkiaSharp.dll'* 'libcrypto-3-x64.dll'*
'System.Buffers.dll'* 'libcurl-4.dll'*
'System.CommandLine.dll'* 'libcurl-openssl-4.dll'*
'System.ComponentModel.Annotations.dll'* 'libexpat-1.dll'*
'System.Diagnostics.DiagnosticSource.dll'* 'libffi-8.dll'*
'System.IO.FileSystem.AccessControl.dll'* 'libgcc_s_seh-1.dll'*
'System.Memory.dll'* 'libgmp-10.dll'*
'System.Numerics.Vectors.dll'* 'libhogweed-6.dll'*
'System.Runtime.CompilerServices.Unsafe.dll'* 'libiconv-2.dll'*
'System.Security.AccessControl.dll'* 'libidn2-0.dll'*
'System.Security.Cryptography.ProtectedData.dll'* 'libintl-8.dll'*
'System.Security.Principal.Windows.dll'* 'liblzma-5.dll'*
'System.Text.Encodings.Web.dll'* 'libnettle-8.dll'*
'System.Text.Json.dll'* 'libnghttp2-14.dll'*
'System.Threading.Tasks.Extensions.dll'* 'libp11-kit-0.dll'*
'System.ValueTuple.dll'* 'libpcre2-8-0.dll'*
'av_libglesv2.dll'* 'libpcre2-posix-3.dll'*
'edit.dll'* 'libpsl-5.dll'*
'gcmcore.dll'* 'libssh2-1.dll'*
'git-citool'* 'libssl-3-x64.dll'*
'git-credential-wincred.exe'* 'libstdc++-6.dll'*
'git-daemon.exe'* 'libtasn1-6.dll'*
'git-difftool--helper'* 'libtre-5.dll'*
'git-filter-branch'* 'libunistring-5.dll'*
'git-gui'* 'libwinpthread-1.dll'*
'git-gui--askpass'* 'libzstd.dll'*
'git-gui--askyesno'* 'msalruntime.dll'*
'git-gui.tcl'* 'msalruntime_x86.dll'*
'git-http-backend.exe'* 'scalar.exe'*
'git-http-fetch.exe'* 'tcl86.dll'*
'git-http-push.exe'* 'tk86.dll'*
'git-imap-send.exe'* 'zlib1.dll'*
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/ %cd%=C:\Program Files\Git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/ %cd%=C:\Program Files\Git
$ git --html-path
C:/Program Files/Git/mingw64/share/doc/git-doc
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/ %cd%=C:\Program Files\Git
$ git --man-path
C:/Program Files/Git/mingw64/share/man
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/ %cd%=C:\Program Files\Git
$ git --info-path
C:/Program Files/Git/mingw64/share/info
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/ %cd%=C:\Program Files\Git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/ %cd%=C:\Program Files\Git
$ git
usage: git [-v | --version] [-h | --help] [-C <path>] [-c <name>=<value>]
[--exec-path[=<path>]] [--html-path] [--man-path] [--info-path]
[-p | --paginate | -P | --no-pager] [--no-replace-objects] [--no-lazy-fetch]
[--no-optional-locks] [--no-advice] [--bare] [--git-dir=<path>]
[--work-tree=<path>] [--namespace=<name>] [--config-env=<name>=<envvar>]
<command> [<args>]
These are common Git commands used in various situations:
start a working area (see also: git help tutorial)
clone Clone a repository into a new directory
init Create an empty Git repository or reinitialize an existing one
work on the current change (see also: git help everyday)
add Add file contents to the index
mv Move or rename a file, a directory, or a symlink
restore Restore working tree files
rm Remove files from the working tree and from the index
examine the history and state (see also: git help revisions)
bisect Use binary search to find the commit that introduced a bug
diff Show changes between commits, commit and working tree, etc
grep Print lines matching a pattern
log Show commit logs
show Show various types of objects
status Show the working tree status
grow, mark and tweak your common history
backfill Download missing objects in a partial clone
branch List, create, or delete branches
commit Record changes to the repository
history EXPERIMENTAL: Rewrite history
merge Join two or more development histories together
rebase Reapply commits on top of another base tip
reset Set `HEAD` or the index to a known state
switch Switch branches
tag Create, list, delete or verify tags
collaborate (see also: git help workflows)
fetch Download objects and refs from another repository
pull Fetch from and integrate with another repository or a local branch
push Update remote refs along with associated objects
'git help -a' and 'git help -g' list available subcommands and some
concept guides. See 'git help <command>' or 'git help <concept>'
to read about a specific subcommand or concept.
See 'git help git' for an overview of the system.
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/ %cd%=C:\Program Files\Git
$ git --help
usage: git [-v | --version] [-h | --help] [-C <path>] [-c <name>=<value>]
[--exec-path[=<path>]] [--html-path] [--man-path] [--info-path]
[-p | --paginate | -P | --no-pager] [--no-replace-objects] [--no-lazy-fetch]
[--no-optional-locks] [--no-advice] [--bare] [--git-dir=<path>]
[--work-tree=<path>] [--namespace=<name>] [--config-env=<name>=<envvar>]
<command> [<args>]
These are common Git commands used in various situations:
start a working area (see also: git help tutorial)
clone Clone a repository into a new directory
init Create an empty Git repository or reinitialize an existing one
work on the current change (see also: git help everyday)
add Add file contents to the index
mv Move or rename a file, a directory, or a symlink
restore Restore working tree files
rm Remove files from the working tree and from the index
examine the history and state (see also: git help revisions)
bisect Use binary search to find the commit that introduced a bug
diff Show changes between commits, commit and working tree, etc
grep Print lines matching a pattern
log Show commit logs
show Show various types of objects
status Show the working tree status
grow, mark and tweak your common history
backfill Download missing objects in a partial clone
branch List, create, or delete branches
commit Record changes to the repository
history EXPERIMENTAL: Rewrite history
merge Join two or more development histories together
rebase Reapply commits on top of another base tip
reset Set `HEAD` or the index to a known state
switch Switch branches
tag Create, list, delete or verify tags
collaborate (see also: git help workflows)
fetch Download objects and refs from another repository
pull Fetch from and integrate with another repository or a local branch
push Update remote refs along with associated objects
'git help -a' and 'git help -g' list available subcommands and some
concept guides. See 'git help <command>' or 'git help <concept>'
to read about a specific subcommand or concept.
See 'git help git' for an overview of the system.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/ %cd%=C:\Program Files\Git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/ %cd%=C:\Program Files\Git
$ git --help --all
See 'git help <command>' to read about a specific subcommand
Main Porcelain Commands
add Add file contents to the index
am Apply a series of patches from a mailbox
archive Create an archive of files from a named tree
backfill Download missing objects in a partial clone
bisect Use binary search to find the commit that introduced a bug
branch List, create, or delete branches
bundle Move objects and refs by archive
checkout Switch branches or restore working tree files
cherry-pick Apply the changes introduced by some existing commits
citool Graphical alternative to git-commit
clean Remove untracked files from the working tree
clone Clone a repository into a new directory
commit Record changes to the repository
describe Give an object a human readable name based on an available ref
diff Show changes between commits, commit and working tree, etc
fetch Download objects and refs from another repository
format-patch Prepare patches for e-mail submission
gc Cleanup unnecessary files and optimize the local repository
gitk The Git repository browser
grep Print lines matching a pattern
gui A portable graphical interface to Git
history EXPERIMENTAL: Rewrite history
init Create an empty Git repository or reinitialize an existing one
log Show commit logs
maintenance Run tasks to optimize Git repository data
merge Join two or more development histories together
mv Move or rename a file, a directory, or a symlink
notes Add or inspect object notes
pull Fetch from and integrate with another repository or a local branch
push Update remote refs along with associated objects
range-diff Compare two commit ranges (e.g. two versions of a branch)
rebase Reapply commits on top of another base tip
reset Set `HEAD` or the index to a known state
restore Restore working tree files
revert Revert some existing commits
rm Remove files from the working tree and from the index
scalar A tool for managing large Git repositories
shortlog Summarize 'git log' output
show Show various types of objects
sparse-checkout Reduce your working tree to a subset of tracked files
stash Stash the changes in a dirty working directory away
status Show the working tree status
submodule Initialize, update or inspect submodules
survey EXPERIMENTAL: Measure various repository dimensions of scale
switch Switch branches
tag Create, list, delete or verify tags
worktree Manage multiple working trees
Ancillary Commands / Manipulators
config Get and set repository or global options
fast-export Git data exporter
fast-import Backend for fast Git data importers
filter-branch Rewrite branches
mergetool Run merge conflict resolution tools to resolve merge conflicts
pack-refs Pack heads and tags for efficient repository access
prune Prune all unreachable objects from the object database
reflog Manage reflog information
refs Low-level access to refs
remote Manage set of tracked repositories
repack Pack unpacked objects in a repository
replace Create, list, delete refs to replace objects
Ancillary Commands / Interrogators
annotate Annotate file lines with commit information
blame Show what revision and author last modified each line of a file
bugreport Collect information for user to file a bug report
count-objects Count unpacked number of objects and their disk consumption
diagnose Generate a zip archive of diagnostic information
difftool Show changes using common diff tools
fsck Verifies the connectivity and validity of the objects in the database
gitweb Git web interface (web frontend to Git repositories)
help Display help information about Git
instaweb Instantly browse your working repository in gitweb
merge-tree Perform merge without touching index or working tree
rerere Reuse recorded resolution of conflicted merges
show-branch Show branches and their commits
verify-commit Check the GPG signature of commits
verify-tag Check the GPG signature of tags
version Display version information about Git
whatchanged Show logs with differences each commit introduces
Interacting with Others
archimport Import a GNU Arch repository into Git
cvsexportcommit Export a single commit to a CVS checkout
cvsimport Salvage your data out of another SCM people love to hate
cvsserver A CVS server emulator for Git
imap-send Send a collection of patches from stdin to an IMAP folder
p4 Import from and submit to Perforce repositories
quiltimport Applies a quilt patchset onto the current branch
request-pull Generates a summary of pending changes
send-email Send a collection of patches as emails
svn Bidirectional operation between a Subversion repository and Git
Low-level Commands / Manipulators
apply Apply a patch to files and/or to the index
checkout-index Copy files from the index to the working tree
commit-graph Write and verify Git commit-graph files
commit-tree Create a new commit object
hash-object Compute object ID and optionally create an object from a file
index-pack Build pack index file for an existing packed archive
merge-file Run a three-way file merge
merge-index Run a merge for files needing merging
mktag Creates a tag object with extra validation
mktree Build a tree-object from ls-tree formatted text
multi-pack-index Write and verify multi-pack-indexes
pack-objects Create a packed archive of objects
prune-packed Remove extra objects that are already in pack files
read-tree Reads tree information into the index
replay EXPERIMENTAL: Replay commits on a new base, works with bare repos too
symbolic-ref Read, modify and delete symbolic refs
unpack-objects Unpack objects from a packed archive
update-index Register file contents in the working tree to the index
update-ref Update the object name stored in a ref safely
write-tree Create a tree object from the current index
Low-level Commands / Interrogators
cat-file Provide contents or details of repository objects
cherry Find commits yet to be applied to upstream
diff-files Compares files in the working tree and the index
diff-index Compare a tree to the working tree or index
diff-pairs Compare the content and mode of provided blob pairs
diff-tree Compares the content and mode of blobs found via two tree objects
for-each-ref Output information on each ref
for-each-repo Run a Git command on a list of repositories
get-tar-commit-id Extract commit ID from an archive created using git-archive
last-modified EXPERIMENTAL: Show when files were last modified
ls-files Show information about files in the index and the working tree
ls-remote List references in a remote repository
ls-tree List the contents of a tree object
merge-base Find as good common ancestors as possible for a merge
name-rev Find symbolic names for given revs
pack-redundant Find redundant pack files
repo Retrieve information about the repository
rev-list Lists commit objects in reverse chronological order
rev-parse Pick out and massage parameters
show-index Show packed archive index
show-ref List references in a local repository
unpack-file Creates a temporary file with a blob's contents
var Show a Git logical variable
verify-pack Validate packed Git archive files
Low-level Commands / Syncing Repositories
daemon A really simple server for Git repositories
fetch-pack Receive missing objects from another repository
http-backend Server side implementation of Git over HTTP
send-pack Push objects over Git protocol to another repository
update-server-info Update auxiliary info file to help dumb servers
Low-level Commands / Internal Helpers
check-attr Display gitattributes information
check-ignore Debug gitignore / exclude files
check-mailmap Show canonical names and email addresses of contacts
check-ref-format Ensures that a reference name is well formed
column Display data in columns
credential Retrieve and store user credentials
credential-cache Helper to temporarily store passwords in memory
credential-store Helper to store credentials on disk
fmt-merge-msg Produce a merge commit message
hook Run git hooks
interpret-trailers Add or parse structured information in commit messages
mailinfo Extracts patch and authorship from a single e-mail message
mailsplit Simple UNIX mbox splitter program
merge-one-file The standard helper program to use with git-merge-index
patch-id Compute unique IDs for patches
sh-i18n Git's i18n setup code for shell scripts
sh-setup Common Git shell script setup code
stripspace Remove unnecessary whitespace
User-facing repository, command and file interfaces
attributes Defining attributes per path
cli Git command-line interface and conventions
hooks Hooks used by Git
ignore Specifies intentionally untracked files to ignore
mailmap Map author/committer names and/or E-Mail addresses
modules Defining submodule properties
repository-layout Git Repository Layout
revisions Specifying revisions and ranges for Git
Developer-facing file formats, protocols and other interfaces
format-bundle The bundle file format
format-chunk Chunk-based file formats
format-commit-graph Git commit-graph format
format-index Git index format
format-pack Git pack format
format-signature Git cryptographic signature formats
protocol-capabilities Protocol v0 and v1 capabilities
protocol-common Things common to various protocols
protocol-http Git HTTP-based protocols
protocol-pack How packs are transferred over-the-wire
protocol-v2 Git Wire Protocol, Version 2
External commands
askpass
askyesno
clang-format
credential-helper-selector
credential-manager
lfs
update-git-for-windows
Command aliases
lg log --graph --abbrev-commit --decorate=full --date=format:'%Y-%m-%d %H:%M' --format=tformat:'%C(bold green)%h%C(reset) - %C(bold blue)%ad (%ar)%C(reset) %C(white)%s%C(reset) %C(dim white)- %an%C(reset)%C(auto)%d%C(reset)'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/ %cd%=C:\Program Files\Git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/ %cd%=C:\Program Files\Git
$ git --help --all --no-verbose
usage: git [-v | --version] [-h | --help] [-C <path>] [-c <name>=<value>]
[--exec-path[=<path>]] [--html-path] [--man-path] [--info-path]
[-p | --paginate | -P | --no-pager] [--no-replace-objects] [--no-lazy-fetch]
[--no-optional-locks] [--no-advice] [--bare] [--git-dir=<path>]
[--work-tree=<path>] [--namespace=<name>] [--config-env=<name>=<envvar>]
<command> [<args>]
available git commands in 'C:/Program Files/Git/mingw64/libexec/git-core'
add merge-one-file
am merge-ours
annotate merge-recursive
apply merge-recursive-ours
archive merge-recursive-theirs
backfill merge-resolve
bisect merge-subtree
blame merge-tree
branch mergetool
bugreport mktag
bundle mktree
cat-file multi-pack-index
check-attr mv
check-ignore name-rev
check-mailmap notes
check-ref-format pack-objects
checkout pack-redundant
checkout--worker pack-refs
checkout-index patch-id
cherry pickaxe
cherry-pick prune
citool prune-packed
clean pull
clone push
column quiltimport
commit range-diff
commit-graph read-tree
commit-tree rebase
config receive-pack
count-objects reflog
credential refs
credential-cache remote
credential-cache--daemon remote-ext
credential-store remote-fd
credential-wincred remote-ftp
daemon remote-ftps
describe remote-http
diagnose remote-https
diff repack
diff-files replace
diff-index replay
diff-pairs repo
diff-tree request-pull
difftool rerere
difftool--helper reset
fast-export restore
fast-import rev-list
fetch rev-parse
fetch-pack revert
filter-branch rm
fmt-merge-msg send-email
for-each-ref send-pack
for-each-repo sh-i18n--envsubst
format-patch shortlog
fsck show
fsck-objects show-branch
fsmonitor--daemon show-index
gc show-ref
get-tar-commit-id sparse-checkout
grep stage
gui stash
gui--askpass status
gui--askyesno stripspace
gui.tcl submodule
hash-object submodule--helper
help subtree
history survey
hook switch
http-backend symbolic-ref
http-fetch tag
http-push unpack-file
imap-send unpack-objects
index-pack update
init update-index
init-db update-ref
interpret-trailers update-server-info
last-modified upload-archive
log upload-archive--writer
ls-files upload-pack
ls-remote var
ls-tree verify-commit
mailinfo verify-pack
mailsplit verify-tag
maintenance version
merge web--browse
merge-base whatchanged
merge-file worktree
merge-index write-tree
merge-octopus
git commands available from elsewhere on your $PATH
askpass credential-manager
askyesno lfs
clang-format update-git-for-windows
credential-helper-selector
'git help -a' and 'git help -g' list available subcommands and some
concept guides. See 'git help <command>' or 'git help <concept>'
to read about a specific subcommand or concept.
See 'git help git' for an overview of the system.
usage: git [-v | --version] [-h | --help] [-C <path>] [-c <name>=<value>]
[--exec-path[=<path>]] [--html-path] [--man-path] [--info-path]
[-p | --paginate | -P | --no-pager] [--no-replace-objects] [--no-lazy-fetch]
[--no-optional-locks] [--no-advice] [--bare] [--git-dir=<path>]
[--work-tree=<path>] [--namespace=<name>] [--config-env=<name>=<envvar>]
<command> [<args>]
These are common Git commands used in various situations:
start a working area (see also: git help tutorial)
clone Clone a repository into a new directory
init Create an empty Git repository or reinitialize an existing one
work on the current change (see also: git help everyday)
add Add file contents to the index
mv Move or rename a file, a directory, or a symlink
restore Restore working tree files
rm Remove files from the working tree and from the index
examine the history and state (see also: git help revisions)
bisect Use binary search to find the commit that introduced a bug
diff Show changes between commits, commit and working tree, etc
grep Print lines matching a pattern
log Show commit logs
show Show various types of objects
status Show the working tree status
grow, mark and tweak your common history
backfill Download missing objects in a partial clone
branch List, create, or delete branches
commit Record changes to the repository
history EXPERIMENTAL: Rewrite history
merge Join two or more development histories together
rebase Reapply commits on top of another base tip
reset Set `HEAD` or the index to a known state
switch Switch branches
tag Create, list, delete or verify tags
collaborate (see also: git help workflows)
fetch Download objects and refs from another repository
pull Fetch from and integrate with another repository or a local branch
push Update remote refs along with associated objects
'git help -a' and 'git help -g' list available subcommands and some
concept guides. See 'git help <command>' or 'git help <concept>'
to read about a specific subcommand or concept.
See 'git help git' for an overview of the system.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/ %cd%=C:\Program Files\Git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/ %cd%=C:\Program Files\Git
$ git --help --guides
The Git concept guides are:
core-tutorial A Git core tutorial for developers
credentials Providing usernames and passwords to Git
cvs-migration Git for CVS users
diffcore Tweaking diff output
everyday A useful minimum set of commands for Everyday Git
faq Frequently asked questions about using Git
glossary A Git Glossary
namespaces Git namespaces
remote-helpers Helper programs to interact with remote repositories
submodules Mounting one repository inside another
tutorial A tutorial introduction to Git
tutorial-2 A tutorial introduction to Git: part two
workflows An overview of recommended workflows with Git
'git help -a' and 'git help -g' list available subcommands and some
concept guides. See 'git help <command>' or 'git help <concept>'
to read about a specific subcommand or concept.
See 'git help git' for an overview of the system.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/ %cd%=C:\Program Files\Git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/ %cd%=C:\Program Files\Git
$ git --help --config
add.ignoreErrors
advice.addEmbeddedRepo
advice.addEmptyPathspec
advice.addIgnoredFile
advice.amWorkDir
advice.ambiguousFetchRefspec
advice.checkoutAmbiguousRemoteBranchName
advice.commitBeforeMerge
advice.defaultBranchName
advice.detachedHead
advice.diverging
advice.fetchRemoteHEADWarn
advice.fetchShowForcedUpdates
advice.forceDeleteBranch
advice.graftFileDeprecated
advice.ignoredHook
advice.implicitIdentity
advice.mergeConflict
advice.nameTooLong
advice.nestedTag
advice.objectNameWarning
advice.pushAlreadyExists
advice.pushFetchFirst
advice.pushNeedsForce
advice.pushNonFFCurrent
advice.pushNonFFMatching
advice.pushNonFastForward
advice.pushRefNeedsUpdate
advice.pushUnqualifiedRefName
advice.pushUpdateRejected
advice.rebaseTodoError
advice.refSyntax
advice.resetNoRefresh
advice.resolveConflict
advice.rmHints
advice.sequencerInUse
advice.setUpstreamFailure
advice.skippedCherryPicks
advice.sparseIndexExpanded
advice.statusAheadBehindWarning
advice.statusHints
advice.statusUoption
advice.submoduleAlternateErrorStrategyDie
advice.submoduleMergeConflict
advice.submodulesNotUpdated
advice.suggestDetachingHead
advice.updateSparsePath
advice.useCoreFSMonitorConfig
advice.waitingForEditor
advice.worktreeAddOrphan
alias.*
alias.*.command
am.keepcr
am.messageId
am.threeWay
apply.ignoreWhitespace
apply.whitespace
attr.tree
author.email
author.name
bitmapPseudoMerge.<name>.decay
bitmapPseudoMerge.<name>.maxMerges
bitmapPseudoMerge.<name>.pattern
bitmapPseudoMerge.<name>.sampleRate
bitmapPseudoMerge.<name>.stableSize
bitmapPseudoMerge.<name>.stableThreshold
bitmapPseudoMerge.<name>.threshold
blame.blankBoundary
blame.coloring
blame.date
blame.ignoreRevsFile
blame.markIgnoredLines
blame.markUnblamableLines
blame.showEmail
blame.showRoot
branch.<name>.description
branch.<name>.merge
branch.<name>.mergeOptions
branch.<name>.pushRemote
branch.<name>.rebase
branch.<name>.remote
branch.autoSetupMerge
branch.autoSetupRebase
branch.sort
browser.<tool>.cmd
browser.<tool>.path
bundle.*
bundle.<id>.*
bundle.<id>.uri
bundle.heuristic
bundle.mode
bundle.version
checkout.defaultRemote
checkout.guess
checkout.thresholdForParallelism
checkout.workers
clean.requireForce
clone.defaultRemoteName
clone.filterSubmodules
clone.rejectShallow
color.advice
color.advice.hint
color.blame.highlightRecent
color.blame.repeatedLines
color.branch
color.branch.current
color.branch.local
color.branch.plain
color.branch.remote
color.branch.reset
color.branch.upstream
color.branch.worktree
color.decorate.HEAD
color.decorate.branch
color.decorate.grafted
color.decorate.remoteBranch
color.decorate.stash
color.decorate.tag
color.diff
color.diff.commit
color.diff.context
color.diff.contextBold
color.diff.contextDimmed
color.diff.frag
color.diff.func
color.diff.meta
color.diff.new
color.diff.newBold
color.diff.newDimmed
color.diff.newMoved
color.diff.newMovedAlternative
color.diff.newMovedAlternativeDimmed
color.diff.newMovedDimmed
color.diff.old
color.diff.oldBold
color.diff.oldDimmed
color.diff.oldMoved
color.diff.oldMovedAlternative
color.diff.oldMovedAlternativeDimmed
color.diff.oldMovedDimmed
color.diff.plain
color.diff.whitespace
color.grep
color.grep.column
color.grep.context
color.grep.filename
color.grep.function
color.grep.lineNumber
color.grep.match
color.grep.matchContext
color.grep.matchSelected
color.grep.selected
color.grep.separator
color.interactive
color.interactive.error
color.interactive.header
color.interactive.help
color.interactive.plain
color.interactive.prompt
color.interactive.reset
color.pager
color.push
color.push.error
color.remote
color.remote.error
color.remote.hint
color.remote.success
color.remote.warning
color.showBranch
color.status
color.status.added
color.status.branch
color.status.changed
color.status.header
color.status.localBranch
color.status.noBranch
color.status.remoteBranch
color.status.unmerged
color.status.untracked
color.status.updated
color.transport
color.transport.rejected
color.ui
column.branch
column.clean
column.status
column.tag
column.ui
commit.cleanup
commit.gpgSign
commit.status
commit.template
commit.verbose
commitGraph.changedPaths
commitGraph.changedPathsVersion
commitGraph.generationVersion
commitGraph.maxNewFilters
commitGraph.readChangedPaths
committer.email
committer.name
completion.commands
core.WSLCompat
core.abbrev
core.alternateRefsCommand
core.alternateRefsPrefixes
core.askPass
core.attributesFile
core.autocrlf
core.bare
core.bigFileThreshold
core.checkRoundtripEncoding
core.checkStat
core.commentChar
core.commentString
core.commitGraph
core.compression
core.createObject
core.deltaBaseCacheLimit
core.editor
core.eol
core.excludesFile
core.fileMode
core.filesRefLockTimeout
core.fscache
core.fsmonitor
core.fsmonitorHookVersion
core.fsync
core.fsyncMethod
core.fsyncObjectFiles
core.gitProxy
core.hideDotFiles
core.hooksPath
core.ignoreCase
core.ignoreStat
core.lockfilePid
core.logAllRefUpdates
core.longpaths
core.looseCompression
core.maxTreeDepth
core.multiPackIndex
core.notesRef
core.packedGitLimit
core.packedGitWindowSize
core.packedRefsTimeout
core.pager
core.precomposeUnicode
core.preferSymlinkRefs
core.preloadIndex
core.protectHFS
core.protectNTFS
core.quotePath
core.repositoryFormatVersion
core.safecrlf
core.sharedRepository
core.sparseCheckout
core.sparseCheckoutCone
core.splitIndex
core.sshCommand
core.symlinks
core.trustctime
core.unsetenvvars
core.untrackedCache
core.useReplaceRefs
core.warnAmbiguousRefs
core.whitespace
core.worktree
credential.<url>.*
credential.helper
credential.interactive
credential.protectProtocol
credential.sanitizePrompt
credential.useHttpPath
credential.username
credentialCache.ignoreSIGHUP
credentialStore.lockTimeoutMS
diff.<driver>.binary
diff.<driver>.cachetextconv
diff.<driver>.command
diff.<driver>.textconv
diff.<driver>.trustExitCode
diff.<driver>.wordRegex
diff.<driver>.xfuncname
diff.algorithm
diff.autoRefreshIndex
diff.colorMoved
diff.colorMovedWS
diff.context
diff.dirstat
diff.dstPrefix
diff.external
diff.guitool
diff.ignoreSubmodules
diff.indentHeuristic
diff.interHunkContext
diff.mnemonicPrefix
diff.noPrefix
diff.orderFile
diff.relative
diff.renameLimit
diff.renames
diff.srcPrefix
diff.statGraphWidth
diff.statNameWidth
diff.submodule
diff.suppressBlankEmpty
diff.tool
diff.trustExitCode
diff.wordRegex
diff.wsErrorHighlight
difftool.<tool>.cmd
difftool.<tool>.path
difftool.guiDefault
difftool.prompt
difftool.trustExitCode
extensions.*
fastimport.unpackLimit
feature.*
feature.experimental
feature.manyFiles
fetch.all
fetch.bundleCreationToken
fetch.bundleURI
fetch.fsck.<msg-id>
fetch.fsck.skipList
fetch.fsckObjects
fetch.negotiationAlgorithm
fetch.output
fetch.parallel
fetch.prune
fetch.pruneTags
fetch.recurseSubmodules
fetch.showForcedUpdates
fetch.unpackLimit
fetch.writeCommitGraph
filter.<driver>.clean
filter.<driver>.smudge
format.attach
format.cc
format.commitListFormat
format.coverFromDescription
format.coverLetter
format.encodeEmailHeaders
format.filenameMaxLength
format.forceInBodyFrom
format.from
format.headers
format.mboxrd
format.noprefix
format.notes
format.numbered
format.outputDirectory
format.pretty
format.signOff
format.signature
format.signatureFile
format.subjectPrefix
format.suffix
format.thread
format.to
format.useAutoBase
fsck.badDate
fsck.badDateOverflow
fsck.badEmail
fsck.badFilemode
fsck.badGpgsig
fsck.badHeadTarget
fsck.badHeaderContinuation
fsck.badName
fsck.badObjectSha1
fsck.badPackedRefEntry
fsck.badPackedRefHeader
fsck.badParentSha1
fsck.badRefContent
fsck.badRefFiletype
fsck.badRefName
fsck.badRefOid
fsck.badReferentName
fsck.badReftableTableName
fsck.badTagName
fsck.badTimezone
fsck.badTree
fsck.badTreeSha1
fsck.badType
fsck.duplicateEntries
fsck.emptyName
fsck.emptyPackedRefsFile
fsck.extraHeaderEntry
fsck.fullPathname
fsck.gitattributesBlob
fsck.gitattributesLarge
fsck.gitattributesLineLength
fsck.gitattributesMissing
fsck.gitattributesSymlink
fsck.gitignoreSymlink
fsck.gitmodulesBlob
fsck.gitmodulesLarge
fsck.gitmodulesMissing
fsck.gitmodulesName
fsck.gitmodulesParse
fsck.gitmodulesPath
fsck.gitmodulesSymlink
fsck.gitmodulesUpdate
fsck.gitmodulesUrl
fsck.hasDot
fsck.hasDotdot
fsck.hasDotgit
fsck.largePathname
fsck.mailmapSymlink
fsck.missingAuthor
fsck.missingCommitter
fsck.missingEmail
fsck.missingNameBeforeEmail
fsck.missingObject
fsck.missingSpaceBeforeDate
fsck.missingSpaceBeforeEmail
fsck.missingTag
fsck.missingTagEntry
fsck.missingTaggerEntry
fsck.missingTree
fsck.missingType
fsck.missingTypeEntry
fsck.multipleAuthors
fsck.nulInCommit
fsck.nulInHeader
fsck.nullSha1
fsck.packedRefEntryNotTerminated
fsck.packedRefUnsorted
fsck.refMissingNewline
fsck.skipList
fsck.symlinkRef
fsck.symrefTargetIsNotARef
fsck.trailingRefContent
fsck.treeNotSorted
fsck.unknownType
fsck.unterminatedHeader
fsck.zeroPaddedDate
fsck.zeroPaddedFilemode
fsmonitor.allowRemote
fsmonitor.socketDir
gc.<pattern>.reflogExpire
gc.<pattern>.reflogExpireUnreachable
gc.aggressiveDepth
gc.aggressiveWindow
gc.auto
gc.autoDetach
gc.autoPackLimit
gc.bigPackThreshold
gc.cruftPacks
gc.logExpiry
gc.maxCruftSize
gc.packRefs
gc.pruneExpire
gc.recentObjectsHook
gc.reflogExpire
gc.reflogExpireUnreachable
gc.repackFilter
gc.repackFilterTo
gc.rerereResolved
gc.rerereUnresolved
gc.worktreePruneExpire
gc.writeCommitGraph
gitcvs.allBinary
gitcvs.commitMsgAnnotation
gitcvs.dbDriver
gitcvs.dbName
gitcvs.dbPass
gitcvs.dbTableNamePrefix
gitcvs.dbUser
gitcvs.enabled
gitcvs.logFile
gitcvs.usecrlfattr
gitweb.avatar
gitweb.blame
gitweb.category
gitweb.description
gitweb.grep
gitweb.highlight
gitweb.owner
gitweb.patches
gitweb.pickaxe
gitweb.remote_heads
gitweb.showSizes
gitweb.snapshot
gitweb.url
gpg.<format>.program
gpg.format
gpg.minTrustLevel
gpg.program
gpg.ssh.allowedSignersFile
gpg.ssh.defaultKeyCommand
gpg.ssh.revocationFile
grep.column
grep.extendedRegexp
grep.fallbackToNoIndex
grep.fullName
grep.lineNumber
grep.patternType
grep.threads
gui.GCWarning
gui.blamehistoryctx
gui.commitMsgWidth
gui.copyBlameThreshold
gui.diffContext
gui.displayUntracked
gui.encoding
gui.fastCopyBlame
gui.matchTrackingBranch
gui.newBranchTemplate
gui.pruneDuringFetch
gui.spellingDictionary
gui.trustmtime
guitool.<name>.argPrompt
guitool.<name>.cmd
guitool.<name>.confirm
guitool.<name>.needsFile
guitool.<name>.noConsole
guitool.<name>.noRescan
guitool.<name>.prompt
guitool.<name>.revPrompt
guitool.<name>.revUnmerged
guitool.<name>.title
hasconfig:remote.*.url
help.autoCorrect
help.browser
help.format
help.htmlPath
hook.<friendly-name>.command
hook.<friendly-name>.enabled
hook.<friendly-name>.event
http.<url>.*
http.allowNTLMAuth
http.cookieFile
http.curloptResolve
http.delegation
http.emptyAuth
http.extraHeader
http.followRedirects
http.keepAliveCount
http.keepAliveIdle
http.keepAliveInterval
http.lowSpeedLimit
http.lowSpeedTime
http.maxRequests
http.maxRetries
http.maxRetryTime
http.minSessions
http.noEPSV
http.pinnedPubkey
http.postBuffer
http.proactiveAuth
http.proxy
http.proxyAuthMethod
http.proxySSLCAInfo
http.proxySSLCert
http.proxySSLCertPasswordProtected
http.proxySSLKey
http.retryAfter
http.saveCookies
http.schannelCheckRevoke
http.schannelUseSSLCAInfo
http.sslAutoClientCert
http.sslBackend
http.sslCAInfo
http.sslCAPath
http.sslCert
http.sslCertPasswordProtected
http.sslCertType
http.sslCipherList
http.sslKey
http.sslKeyType
http.sslTry
http.sslVerify
http.sslVersion
http.userAgent
http.version
i18n.commitEncoding
i18n.logOutputEncoding
imap.authMethod
imap.folder
imap.host
imap.pass
imap.port
imap.preformattedHTML
imap.sslverify
imap.tunnel
imap.user
include.path
includeIf.<condition>.path
index.recordEndOfIndexEntries
index.recordOffsetTable
index.skipHash
index.sparse
index.threads
index.version
init.defaultBranch
init.defaultObjectFormat
init.defaultRefFormat
init.defaultSubmodulePathConfig
init.templateDir
instaweb.browser
instaweb.httpd
instaweb.local
instaweb.modulePath
instaweb.port
interactive.diffFilter
interactive.singleKey
log.abbrevCommit
log.date
log.decorate
log.diffMerges
log.excludeDecoration
log.follow
log.graphColors
log.initialDecorationSet
log.mailmap
log.showRoot
log.showSignature
lsrefs.unborn
mailinfo.scissors
mailmap.blob
mailmap.file
maintenance.<task>.enabled
maintenance.<task>.schedule
maintenance.auto
maintenance.autoDetach
maintenance.commit-graph.auto
maintenance.geometric-repack.auto
maintenance.geometric-repack.splitFactor
maintenance.incremental-repack.auto
maintenance.loose-objects.auto
maintenance.loose-objects.batchSize
maintenance.reflog-expire.auto
maintenance.rerere-gc.auto
maintenance.strategy
maintenance.worktree-prune.auto
man.<tool>.cmd
man.<tool>.path
man.viewer
merge.<driver>.driver
merge.<driver>.name
merge.<driver>.recursive
merge.autoStash
merge.branchdesc
merge.conflictStyle
merge.defaultToUpstream
merge.directoryRenames
merge.ff
merge.guitool
merge.log
merge.renameLimit
merge.renames
merge.renormalize
merge.stat
merge.suppressDest
merge.tool
merge.verbosity
merge.verifySignatures
mergetool.<tool>.cmd
mergetool.<tool>.hideResolved
mergetool.<tool>.path
mergetool.<tool>.trustExitCode
mergetool.<variant>.layout
mergetool.guiDefault
mergetool.hideResolved
mergetool.keepBackup
mergetool.keepTemporaries
mergetool.meld.hasOutput
mergetool.meld.useAutoMerge
mergetool.prompt
mergetool.writeToTemp
notes.<name>.mergeStrategy
notes.displayRef
notes.mergeStrategy
notes.rewrite.<command>
notes.rewriteMode
notes.rewriteRef
pack.allowPackReuse
pack.compression
pack.deltaCacheLimit
pack.deltaCacheSize
pack.depth
pack.indexVersion
pack.island
pack.islandCore
pack.packSizeLimit
pack.preferBitmapTips
pack.readReverseIndex
pack.threads
pack.useBitmapBoundaryTraversal
pack.useBitmaps
pack.usePathWalk
pack.useSparse
pack.window
pack.windowMemory
pack.writeBitmapHashCache
pack.writeBitmapLookupTable
pack.writeReverseIndex
pager.<cmd>
pretty.<name>
promisor.acceptFromServer
promisor.advertise
promisor.checkFields
promisor.quiet
promisor.sendFields
promisor.storeFields
protocol.<name>.allow
protocol.allow
protocol.version
pull.autoStash
pull.ff
pull.octopus
pull.rebase
pull.twohead
push.autoSetupRemote
push.default
push.followTags
push.gpgSign
push.negotiate
push.pushOption
push.recurseSubmodules
push.useBitmaps
push.useForceIfIncludes
rebase.abbreviateCommands
rebase.autoSquash
rebase.autoStash
rebase.backend
rebase.forkPoint
rebase.instructionFormat
rebase.maxLabelLength
rebase.missingCommitsCheck
rebase.rebaseMerges
rebase.rescheduleFailedExec
rebase.stat
rebase.updateRefs
receive.advertiseAtomic
receive.advertisePushOptions
receive.autogc
receive.certNonceSeed
receive.certNonceSlop
receive.denyCurrentBranch
receive.denyDeleteCurrent
receive.denyDeletes
receive.denyNonFastForwards
receive.fsck.badDate
receive.fsck.badDateOverflow
receive.fsck.badEmail
receive.fsck.badFilemode
receive.fsck.badGpgsig
receive.fsck.badHeadTarget
receive.fsck.badHeaderContinuation
receive.fsck.badName
receive.fsck.badObjectSha1
receive.fsck.badPackedRefEntry
receive.fsck.badPackedRefHeader
receive.fsck.badParentSha1
receive.fsck.badRefContent
receive.fsck.badRefFiletype
receive.fsck.badRefName
receive.fsck.badRefOid
receive.fsck.badReferentName
receive.fsck.badReftableTableName
receive.fsck.badTagName
receive.fsck.badTimezone
receive.fsck.badTree
receive.fsck.badTreeSha1
receive.fsck.badType
receive.fsck.duplicateEntries
receive.fsck.emptyName
receive.fsck.emptyPackedRefsFile
receive.fsck.extraHeaderEntry
receive.fsck.fullPathname
receive.fsck.gitattributesBlob
receive.fsck.gitattributesLarge
receive.fsck.gitattributesLineLength
receive.fsck.gitattributesMissing
receive.fsck.gitattributesSymlink
receive.fsck.gitignoreSymlink
receive.fsck.gitmodulesBlob
receive.fsck.gitmodulesLarge
receive.fsck.gitmodulesMissing
receive.fsck.gitmodulesName
receive.fsck.gitmodulesParse
receive.fsck.gitmodulesPath
receive.fsck.gitmodulesSymlink
receive.fsck.gitmodulesUpdate
receive.fsck.gitmodulesUrl
receive.fsck.hasDot
receive.fsck.hasDotdot
receive.fsck.hasDotgit
receive.fsck.largePathname
receive.fsck.mailmapSymlink
receive.fsck.missingAuthor
receive.fsck.missingCommitter
receive.fsck.missingEmail
receive.fsck.missingNameBeforeEmail
receive.fsck.missingObject
receive.fsck.missingSpaceBeforeDate
receive.fsck.missingSpaceBeforeEmail
receive.fsck.missingTag
receive.fsck.missingTagEntry
receive.fsck.missingTaggerEntry
receive.fsck.missingTree
receive.fsck.missingType
receive.fsck.missingTypeEntry
receive.fsck.multipleAuthors
receive.fsck.nulInCommit
receive.fsck.nulInHeader
receive.fsck.nullSha1
receive.fsck.packedRefEntryNotTerminated
receive.fsck.packedRefUnsorted
receive.fsck.refMissingNewline
receive.fsck.skipList
receive.fsck.symlinkRef
receive.fsck.symrefTargetIsNotARef
receive.fsck.trailingRefContent
receive.fsck.treeNotSorted
receive.fsck.unknownType
receive.fsck.unterminatedHeader
receive.fsck.zeroPaddedDate
receive.fsck.zeroPaddedFilemode
receive.fsckObjects
receive.hideRefs
receive.keepAlive
receive.maxInputSize
receive.procReceiveRefs
receive.shallowUpdate
receive.unpackLimit
receive.updateServerInfo
reftable.blockSize
reftable.geometricFactor
reftable.indexObjects
reftable.lockTimeout
reftable.restartInterval
remote.<name>.fetch
remote.<name>.followRemoteHEAD
remote.<name>.mirror
remote.<name>.partialclonefilter
remote.<name>.promisor
remote.<name>.proxy
remote.<name>.proxyAuthMethod
remote.<name>.prune
remote.<name>.pruneTags
remote.<name>.push
remote.<name>.pushurl
remote.<name>.receivepack
remote.<name>.serverOption
remote.<name>.skipDefaultUpdate
remote.<name>.skipFetchAll
remote.<name>.tagOpt
remote.<name>.uploadpack
remote.<name>.url
remote.<name>.vcs
remote.pushDefault
remotes.<group>
repack.cruftDepth
repack.cruftThreads
repack.cruftWindow
repack.cruftWindowMemory
repack.midxMustContainCruft
repack.packKeptObjects
repack.updateServerInfo
repack.useDeltaBaseOffset
repack.useDeltaIslands
repack.writeBitmaps
replay.refAction
rerere.autoUpdate
rerere.enabled
revert.reference
safe.bareRepository
safe.directory
sendemail.<identity>.*
sendemail.aliasFileType
sendemail.aliasesFile
sendemail.annotate
sendemail.bcc
sendemail.cc
sendemail.ccCmd
sendemail.chainReplyTo
sendemail.confirm
sendemail.envelopeSender
sendemail.forbidSendmailVariables
sendemail.from
sendemail.headerCmd
sendemail.identity
sendemail.imapSentFolder
sendemail.mailmap
sendemail.mailmap.blob
sendemail.mailmap.file
sendemail.multiEdit
sendemail.outlookidfix
sendemail.signedOffByCc
sendemail.smtpBatchSize
sendemail.smtpDomain
sendemail.smtpEncryption
sendemail.smtpPass
sendemail.smtpReloginDelay
sendemail.smtpSSLCertPath
sendemail.smtpSSLClientCert
sendemail.smtpSSLClientKey
sendemail.smtpServer
sendemail.smtpServerOption
sendemail.smtpServerPort
sendemail.smtpUser
sendemail.suppressCc
sendemail.suppressFrom
sendemail.thread
sendemail.to
sendemail.toCmd
sendemail.transferEncoding
sendemail.useImapOnly
sendemail.validate
sendemail.xmailer
sendpack.sideband
sequence.editor
showBranch.default
sideband.allowControlCharacters
sparse.expectFilesOutsideOfPatterns
splitIndex.maxPercentChange
splitIndex.sharedIndexExpire
ssh.variant
stash.index
stash.showIncludeUntracked
stash.showPatch
stash.showStat
status.aheadBehind
status.branch
status.compareBranches
status.displayCommentPrefix
status.relativePaths
status.renameLimit
status.renames
status.short
status.showStash
status.showUntrackedFiles
status.submoduleSummary
submodule.<name>.active
submodule.<name>.branch
submodule.<name>.fetchRecurseSubmodules
submodule.<name>.gitdir
submodule.<name>.ignore
submodule.<name>.update
submodule.<name>.url
submodule.active
submodule.alternateErrorStrategy
submodule.alternateLocation
submodule.fetchJobs
submodule.propagateBranches
submodule.recurse
survey.*
tag.forceSignAnnotated
tag.gpgSign
tag.sort
tar.umask
trace2.configParams
trace2.destinationDebug
trace2.envVars
trace2.eventBrief
trace2.eventNesting
trace2.eventTarget
trace2.maxFiles
trace2.normalBrief
trace2.normalTarget
trace2.perfBrief
trace2.perfTarget
trailer.<key-alias>.cmd
trailer.<key-alias>.command
trailer.<key-alias>.ifexists
trailer.<key-alias>.ifmissing
trailer.<key-alias>.key
trailer.<key-alias>.where
trailer.ifexists
trailer.ifmissing
trailer.separators
trailer.where
transfer.advertiseObjectInfo
transfer.advertiseSID
transfer.bundleURI
transfer.credentialsInUrl
transfer.fsckObjects
transfer.hideRefs
transfer.unpackLimit
uploadarchive.allowUnreachable
uploadpack.allowAnySHA1InWant
uploadpack.allowFilter
uploadpack.allowReachableSHA1InWant
uploadpack.allowRefInWant
uploadpack.allowTipSHA1InWant
uploadpack.hideRefs
uploadpack.keepAlive
uploadpack.packObjectsHook
uploadpackfilter.<filter>.allow
uploadpackfilter.allow
uploadpackfilter.tree.maxDepth
url.<base>.insteadOf
url.<base>.pushInsteadOf
user.email
user.name
user.signingKey
user.useConfigOnly
versionsort.suffix
web.browser
windows.appendAtomically
worktree.guessRemote
worktree.useRelativePaths
'git help config' for more information
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/ %cd%=C:\Program Files\Git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/ %cd%=C:\Program Files\Git
$ git --help --user-interfaces
User-facing repository, command and file interfaces:
attributes Defining attributes per path
cli Git command-line interface and conventions
hooks Hooks used by Git
ignore Specifies intentionally untracked files to ignore
mailmap Map author/committer names and/or E-Mail addresses
modules Defining submodule properties
repository-layout Git Repository Layout
revisions Specifying revisions and ranges for Git
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/ %cd%=C:\Program Files\Git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/ %cd%=C:\Program Files\Git
$ git --help --developer-interfaces
File formats, protocols and other developer interfaces:
format-bundle The bundle file format
format-chunk Chunk-based file formats
format-commit-graph Git commit-graph format
format-index Git index format
format-pack Git pack format
format-signature Git cryptographic signature formats
protocol-capabilities Protocol v0 and v1 capabilities
protocol-common Things common to various protocols
protocol-http Git HTTP-based protocols
protocol-pack How packs are transferred over-the-wire
protocol-v2 Git Wire Protocol, Version 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/ %cd%=C:\Program Files\Git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' init
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master (root-commit) 5192452] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch branch1; git -C './repo' branch branch2; git -C './repo' branch branch3; git -C './repo' branch branch4; git -C './repo' branch branch5; git -C './repo' branch branch6
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree add '../worktree1' branch1
Preparing worktree (checking out 'branch1')
HEAD is now at 5192452 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree add '../worktree2' branch2
Preparing worktree (checking out 'branch2')
HEAD is now at 5192452 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree add --lock '../worktree3' branch3
Preparing worktree (checking out 'branch3')
HEAD is now at 5192452 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree add --lock '../worktree4' branch4
Preparing worktree (checking out 'branch4')
HEAD is now at 5192452 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree add --lock --reason='lock reason' '../worktree5' branch5
Preparing worktree (checking out 'branch5')
HEAD is now at 5192452 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree add --lock --reason='lock reason' '../worktree6' branch6
Preparing worktree (checking out 'branch6')
HEAD is now at 5192452 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ rm --force --recursive -- './worktree2' './worktree4' './worktree6'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree list | special_character_to_escape_sequence_preserve_line_ending | cat_with_line_number
1 C:/Program Files/Git/test_git/repo 5192452 [master]\n
2 C:/Program Files/Git/test_git/worktree1 5192452 [branch1]\n
3 C:/Program Files/Git/test_git/worktree2 5192452 [branch2] prunable\n
4 C:/Program Files/Git/test_git/worktree3 5192452 [branch3] locked\n
5 C:/Program Files/Git/test_git/worktree4 5192452 [branch4] locked\n
6 C:/Program Files/Git/test_git/worktree5 5192452 [branch5] locked\n
7 C:/Program Files/Git/test_git/worktree6 5192452 [branch6] locked\n
8
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree list --verbose | special_character_to_escape_sequence_preserve_line_ending | cat_with_line_number
1 C:/Program Files/Git/test_git/repo 5192452 [master]\n
2 C:/Program Files/Git/test_git/worktree1 5192452 [branch1]\n
3 C:/Program Files/Git/test_git/worktree2 5192452 [branch2]\n
4 \tprunable: gitdir file points to non-existent location\n
5 C:/Program Files/Git/test_git/worktree3 5192452 [branch3]\n
6 \tlocked: added with --lock\n
7 C:/Program Files/Git/test_git/worktree4 5192452 [branch4]\n
8 \tlocked: added with --lock\n
9 C:/Program Files/Git/test_git/worktree5 5192452 [branch5]\n
10 \tlocked: lock reason\n
11 C:/Program Files/Git/test_git/worktree6 5192452 [branch6]\n
12 \tlocked: lock reason\n
13
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree list --porcelain | special_character_to_escape_sequence_preserve_line_ending | cat_with_line_number
1 worktree C:/Program Files/Git/test_git/repo\n
2 HEAD 5192452211818020b3030b5de234ee51654d99f9\n
3 branch refs/heads/master\n
4 \n
5 worktree C:/Program Files/Git/test_git/worktree1\n
6 HEAD 5192452211818020b3030b5de234ee51654d99f9\n
7 branch refs/heads/branch1\n
8 \n
9 worktree C:/Program Files/Git/test_git/worktree2\n
10 HEAD 5192452211818020b3030b5de234ee51654d99f9\n
11 branch refs/heads/branch2\n
12 prunable gitdir file points to non-existent location\n
13 \n
14 worktree C:/Program Files/Git/test_git/worktree3\n
15 HEAD 5192452211818020b3030b5de234ee51654d99f9\n
16 branch refs/heads/branch3\n
17 locked added with --lock\n
18 \n
19 worktree C:/Program Files/Git/test_git/worktree4\n
20 HEAD 5192452211818020b3030b5de234ee51654d99f9\n
21 branch refs/heads/branch4\n
22 locked added with --lock\n
23 \n
24 worktree C:/Program Files/Git/test_git/worktree5\n
25 HEAD 5192452211818020b3030b5de234ee51654d99f9\n
26 branch refs/heads/branch5\n
27 locked lock reason\n
28 \n
29 worktree C:/Program Files/Git/test_git/worktree6\n
30 HEAD 5192452211818020b3030b5de234ee51654d99f9\n
31 branch refs/heads/branch6\n
32 locked lock reason\n
33 \n
34
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree list --porcelain -z | special_character_to_escape_sequence_preserve_line_ending | cat_with_line_number
1 worktree C:/Program Files/Git/test_git/repo\0HEAD 5192452211818020b3030b5de234ee51654d99f9\0branch refs/heads/master\0\0worktree C:/Program Files/Git/test_git/worktree1\0HEAD 5192452211818020b3030b5de234ee51654d99f9\0branch refs/heads/branch1\0\0worktree C:/Program Files/Git/test_git/worktree2\0HEAD 5192452211818020b3030b5de234ee51654d99f9\0branch refs/heads/branch2\0prunable gitdir file points to non-existent location\0\0worktree C:/Program Files/Git/test_git/worktree3\0HEAD 5192452211818020b3030b5de234ee51654d99f9\0branch refs/heads/branch3\0locked added with --lock\0\0worktree C:/Program Files/Git/test_git/worktree4\0HEAD 5192452211818020b3030b5de234ee51654d99f9\0branch refs/heads/branch4\0locked added with --lock\0\0worktree C:/Program Files/Git/test_git/worktree5\0HEAD 5192452211818020b3030b5de234ee51654d99f9\0branch refs/heads/branch5\0locked lock reason\0\0worktree C:/Program Files/Git/test_git/worktree6\0HEAD 5192452211818020b3030b5de234ee51654d99f9\0branch refs/heads/branch6\0locked lock reason\0\0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' init
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master (root-commit) a3eefde] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch branch1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree list --verbose
C:/Program Files/Git/test_git/repo a3eefde [master]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* a3eefde - 2026-05-30 15:52 (1 second ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/heads/branch1)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree add '../worktree1' branch1
Preparing worktree (checking out 'branch1')
HEAD is now at a3eefde 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master be89304] 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' rev-parse --path-format=absolute --absolute-git-dir --git-common-dir --show-toplevel
C:/Program Files/Git/test_git/repo/.git
C:/Program Files/Git/test_git/repo/.git
C:/Program Files/Git/test_git/repo
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree list --verbose
C:/Program Files/Git/test_git/repo be89304 [master]
C:/Program Files/Git/test_git/worktree1 a3eefde [branch1]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* be89304 - 2026-05-30 15:52 (1 second ago) 2 - Han Jiang (HEAD -> refs/heads/master)
* a3eefde - 2026-05-30 15:52 (4 seconds ago) 1 - Han Jiang (refs/heads/branch1)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' rev-parse --path-format=absolute --absolute-git-dir --git-common-dir --show-toplevel
C:/Program Files/Git/test_git/repo/.git/worktrees/worktree1
C:/Program Files/Git/test_git/repo/.git
C:/Program Files/Git/test_git/worktree1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' worktree list --verbose
C:/Program Files/Git/test_git/repo be89304 [master]
C:/Program Files/Git/test_git/worktree1 a3eefde [branch1]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' lg --all
* be89304 - 2026-05-30 15:52 (2 seconds ago) 2 - Han Jiang (refs/heads/master)
* a3eefde - 2026-05-30 15:52 (5 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/branch1)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' commit --message="$((++number))" --allow-empty
[branch1 d641705] 3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree list --verbose
C:/Program Files/Git/test_git/repo be89304 [master]
C:/Program Files/Git/test_git/worktree1 d641705 [branch1]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* d641705 - 2026-05-30 15:52 (1 second ago) 3 - Han Jiang (refs/heads/branch1)
| * be89304 - 2026-05-30 15:52 (4 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
|/
* a3eefde - 2026-05-30 15:52 (7 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' worktree list --verbose
C:/Program Files/Git/test_git/repo be89304 [master]
C:/Program Files/Git/test_git/worktree1 d641705 [branch1]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' lg --all
* d641705 - 2026-05-30 15:52 (2 seconds ago) 3 - Han Jiang (HEAD -> refs/heads/branch1)
| * be89304 - 2026-05-30 15:52 (5 seconds ago) 2 - Han Jiang (refs/heads/master)
|/
* a3eefde - 2026-05-30 15:52 (8 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ tree '.'
./ d/0o040/directory rwxr-xr-x/0o755
├╴repo/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴.git/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴COMMIT_EDITMSG -/0o100/regular file rw-r--r--/0o644
│ │ ├╴config -/0o100/regular file rw-r--r--/0o644
│ │ ├╴description -/0o100/regular file rw-r--r--/0o644
│ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ ├╴hooks/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴applypatch-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴commit-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴fsmonitor-watchman.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴post-update.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴pre-applypatch.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴pre-commit.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴pre-merge-commit.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴pre-push.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴pre-rebase.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴pre-receive.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴prepare-commit-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴push-to-checkout.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴sendemail-validate.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴update.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴index -/0o100/regular file rw-r--r--/0o644
│ │ ├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴exclude -/0o100/regular file rw-r--r--/0o644
│ │ ├╴logs/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴heads/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ │ ├╴branch1 -/0o100/regular file rw-r--r--/0o644
│ │ │ │ │ ├╴master -/0o100/regular file rw-r--r--/0o644
│ │ ├╴objects/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴4b/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴825dc642cb6eb9a060e54bf8d69288fbee4904 -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴a3/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴eefded4da6975aeb35cc81d2d0882ea2dea91e -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴be/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴893045d43ab66f55fc75ec38d95dc2afe53a97 -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴d6/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴417052b4d547a4c3e9cb6a77220f04d5602255 -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴pack/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴heads/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴branch1 -/0o100/regular file rw-r--r--/0o644
│ │ │ │ ├╴master -/0o100/regular file rw-r--r--/0o644
│ │ │ ├╴tags/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴worktrees/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴worktree1/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴COMMIT_EDITMSG -/0o100/regular file rw-r--r--/0o644
│ │ │ │ ├╴commondir -/0o100/regular file rw-r--r--/0o644
│ │ │ │ ├╴gitdir -/0o100/regular file rw-r--r--/0o644
│ │ │ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ │ ├╴index -/0o100/regular file rw-r--r--/0o644
│ │ │ │ ├╴logs/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ │ ├╴ORIG_HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ │ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
├╴worktree1/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴.git -/0o100/regular file rw-r--r--/0o644
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './repo/.git/worktrees' './worktree1'
./repo/.git/worktrees/ d/0o040/directory rwxr-xr-x/0o755
├╴worktree1/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴COMMIT_EDITMSG -/0o100/regular file rw-r--r--/0o644
│ │ 1 3\n
│ │ 2
│ ├╴commondir -/0o100/regular file rw-r--r--/0o644
│ │ 1 ../..\n
│ │ 2
│ ├╴gitdir -/0o100/regular file rw-r--r--/0o644
│ │ 1 C:/Program Files/Git/test_git/worktree1/.git\n
│ │ 2
│ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ 1 ref: refs/heads/branch1\n
│ │ 2
│ ├╴index -/0o100/regular file rw-r--r--/0o644
│ ├╴logs/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 0000000000000000000000000000000000000000 a3eefded4da6975aeb35cc81d2d0882ea2dea91e Han Jiang <jhcarl0814@gmail.com> 1780113137 +1200\n
│ │ │ 2 a3eefded4da6975aeb35cc81d2d0882ea2dea91e a3eefded4da6975aeb35cc81d2d0882ea2dea91e Han Jiang <jhcarl0814@gmail.com> 1780113137 +1200\treset: moving to HEAD\n
│ │ │ 3 a3eefded4da6975aeb35cc81d2d0882ea2dea91e d6417052b4d547a4c3e9cb6a77220f04d5602255 Han Jiang <jhcarl0814@gmail.com> 1780113141 +1200\tcommit: 3\n
│ │ │ 4
│ ├╴ORIG_HEAD -/0o100/regular file rw-r--r--/0o644
│ │ 1 a3eefded4da6975aeb35cc81d2d0882ea2dea91e\n
│ │ 2
│ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
./worktree1/ d/0o040/directory rwxr-xr-x/0o755
├╴.git -/0o100/regular file rw-r--r--/0o644
│ 1 gitdir: C:/Program Files/Git/test_git/repo/.git/worktrees/worktree1\n
│ 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' init
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master (root-commit) 793d232] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout -b branch1
Switched to a new branch 'branch1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree list --verbose
C:/Program Files/Git/test_git/repo 793d232 [branch1]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 793d232 - 2026-05-30 15:52 (1 second ago) 1 - Han Jiang (HEAD -> refs/heads/branch1, refs/heads/master)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree add '../worktree1' branch1
Preparing worktree (checking out 'branch1')
fatal: 'branch1' is already used by worktree at 'C:/Program Files/Git/test_git/repo'
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree add --force '../worktree1' branch1
Preparing worktree (checking out 'branch1')
HEAD is now at 793d232 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree list --verbose
C:/Program Files/Git/test_git/repo 793d232 [branch1]
C:/Program Files/Git/test_git/worktree1 793d232 [branch1]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 793d232 - 2026-05-30 15:52 (3 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/branch1, refs/heads/master)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' worktree list --verbose
C:/Program Files/Git/test_git/repo 793d232 [branch1]
C:/Program Files/Git/test_git/worktree1 793d232 [branch1]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' lg --all
* 793d232 - 2026-05-30 15:52 (4 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/branch1, refs/heads/master)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' init
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master (root-commit) c1e87db] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch branch1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree list --verbose
C:/Program Files/Git/test_git/repo c1e87db [master]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* c1e87db - 2026-05-30 15:52 (1 second ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/heads/branch1)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree add '../worktree1' branch1
Preparing worktree (checking out 'branch1')
HEAD is now at c1e87db 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree list --verbose
C:/Program Files/Git/test_git/repo c1e87db [master]
C:/Program Files/Git/test_git/worktree1 c1e87db [branch1]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ rm --force --recursive -- './worktree1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree list --verbose
C:/Program Files/Git/test_git/repo c1e87db [master]
C:/Program Files/Git/test_git/worktree1 c1e87db [branch1]
prunable: gitdir file points to non-existent location
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree add '../worktree1' branch1
Preparing worktree (checking out 'branch1')
fatal: '../worktree1' is a missing but already registered worktree;
use 'add -f' to override, or 'prune' or 'remove' to clear
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree add --force '../worktree1' branch1
Preparing worktree (checking out 'branch1')
HEAD is now at c1e87db 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree list --verbose
C:/Program Files/Git/test_git/repo c1e87db [master]
C:/Program Files/Git/test_git/worktree1 c1e87db [branch1]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* c1e87db - 2026-05-30 15:52 (5 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/heads/branch1)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' worktree list --verbose
C:/Program Files/Git/test_git/repo c1e87db [master]
C:/Program Files/Git/test_git/worktree1 c1e87db [branch1]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' lg --all
* c1e87db - 2026-05-30 15:52 (6 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/branch1, refs/heads/master)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' init
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master (root-commit) 6459afa] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch branch1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree list --verbose
C:/Program Files/Git/test_git/repo 6459afa [master]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 6459afa - 2026-05-30 15:53 (1 second ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/heads/branch1)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree add --lock '../worktree1' branch1
Preparing worktree (checking out 'branch1')
HEAD is now at 6459afa 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree list --verbose
C:/Program Files/Git/test_git/repo 6459afa [master]
C:/Program Files/Git/test_git/worktree1 6459afa [branch1]
locked: added with --lock
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ rm --force --recursive -- './worktree1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree list --verbose
C:/Program Files/Git/test_git/repo 6459afa [master]
C:/Program Files/Git/test_git/worktree1 6459afa [branch1]
locked: added with --lock
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree add '../worktree1' branch1
Preparing worktree (checking out 'branch1')
fatal: '../worktree1' is a missing but locked worktree;
use 'add -f -f' to override, or 'unlock' and 'prune' or 'remove' to clear
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree add --force '../worktree1' branch1
Preparing worktree (checking out 'branch1')
fatal: '../worktree1' is a missing but locked worktree;
use 'add -f -f' to override, or 'unlock' and 'prune' or 'remove' to clear
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree add --force --force '../worktree1' branch1
Preparing worktree (checking out 'branch1')
HEAD is now at 6459afa 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree list --verbose
C:/Program Files/Git/test_git/repo 6459afa [master]
C:/Program Files/Git/test_git/worktree1 6459afa [branch1]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 6459afa - 2026-05-30 15:53 (5 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/heads/branch1)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' worktree list --verbose
C:/Program Files/Git/test_git/repo 6459afa [master]
C:/Program Files/Git/test_git/worktree1 6459afa [branch1]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' lg --all
* 6459afa - 2026-05-30 15:53 (6 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/branch1, refs/heads/master)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
if without --orphan would checkout existent local branch, error out; otherwise create a new worktree with empty index, empty working tree and unborn branch
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' init
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master (root-commit) 534482a] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch branch1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree list --verbose
C:/Program Files/Git/test_git/repo 534482a [master]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 534482a - 2026-05-30 15:53 (2 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/heads/branch1)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --show-current
master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree add --orphan '../branch1'
Preparing worktree (new branch 'branch1')
fatal: a branch named 'branch1' already exists
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree add --orphan '../worktree1'
Preparing worktree (new branch 'worktree1')
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree list --verbose
C:/Program Files/Git/test_git/repo 534482a [master]
C:/Program Files/Git/test_git/worktree1 0000000 [worktree1]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 534482a - 2026-05-30 15:53 (4 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/heads/branch1)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --show-current
master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' worktree list --verbose
C:/Program Files/Git/test_git/repo 534482a [master]
C:/Program Files/Git/test_git/worktree1 0000000 [worktree1]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' lg --all
* 534482a - 2026-05-30 15:53 (5 seconds ago) 1 - Han Jiang (refs/heads/master, refs/heads/branch1)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' branch --show-current
worktree1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
create a new worktree with empty index, empty working tree and unborn branch
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' init
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master (root-commit) 3241f77] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree list --verbose
C:/Program Files/Git/test_git/repo 3241f77 [master]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 3241f77 - 2026-05-30 15:53 (1 second ago) 1 - Han Jiang (HEAD -> refs/heads/master)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --show-current
master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree add --orphan -b branch1 '../worktree1'
Preparing worktree (new branch 'branch1')
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree list --verbose
C:/Program Files/Git/test_git/repo 3241f77 [master]
C:/Program Files/Git/test_git/worktree1 0000000 [branch1]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 3241f77 - 2026-05-30 15:53 (2 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --show-current
master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' worktree list --verbose
C:/Program Files/Git/test_git/repo 3241f77 [master]
C:/Program Files/Git/test_git/worktree1 0000000 [branch1]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' lg --all
* 3241f77 - 2026-05-30 15:53 (4 seconds ago) 1 - Han Jiang (refs/heads/master)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' branch --show-current
branch1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
if without --orphan would reset existent local branch, error out; otherwise create a new worktree with empty index, empty working tree and unborn branch
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' init
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master (root-commit) 8c13e68] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch branch1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree list --verbose
C:/Program Files/Git/test_git/repo 8c13e68 [master]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 8c13e68 - 2026-05-30 15:53 (2 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/heads/branch1)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --show-current
master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree add --orphan -B branch1 '../worktree1'
Preparing worktree (resetting branch 'branch1'; was at 8c13e68)
fatal: a branch named 'branch1' already exists
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --delete branch1
Deleted branch branch1 (was 8c13e68).
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree add --orphan -B branch1 '../worktree1'
Preparing worktree (new branch 'branch1')
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree list --verbose
C:/Program Files/Git/test_git/repo 8c13e68 [master]
C:/Program Files/Git/test_git/worktree1 0000000 [branch1]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 8c13e68 - 2026-05-30 15:53 (4 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --show-current
master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' worktree list --verbose
C:/Program Files/Git/test_git/repo 8c13e68 [master]
C:/Program Files/Git/test_git/worktree1 0000000 [branch1]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' lg --all
* 8c13e68 - 2026-05-30 15:53 (6 seconds ago) 1 - Han Jiang (refs/heads/master)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' branch --show-current
branch1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
isn't allowed
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' init
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master (root-commit) 899a254] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree list --verbose
C:/Program Files/Git/test_git/repo 899a254 [master]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 899a254 - 2026-05-30 15:53 (1 second ago) 1 - Han Jiang (HEAD -> refs/heads/master)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --show-current
master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree add --orphan --detach '../worktree1'
fatal: options '--orphan' and '--detach' cannot be used together
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
(see below)
create new branch
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' init
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master (root-commit) 2a0c3fc] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch branch1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree list --verbose
C:/Program Files/Git/test_git/repo 2a0c3fc [master]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 2a0c3fc - 2026-05-30 15:53 (2 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/heads/branch1)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree add -b branch1 '../worktree1'
Preparing worktree (new branch 'branch1')
fatal: a branch named 'branch1' already exists
jhcarl0814@jhcarl0814 MINGW64 $?=255 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree add -b branch2 '../worktree1'
Preparing worktree (new branch 'branch2')
HEAD is now at 2a0c3fc 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree list --verbose
C:/Program Files/Git/test_git/repo 2a0c3fc [master]
C:/Program Files/Git/test_git/worktree1 2a0c3fc [branch2]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 2a0c3fc - 2026-05-30 15:53 (4 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/heads/branch2, refs/heads/branch1)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' worktree list --verbose
C:/Program Files/Git/test_git/repo 2a0c3fc [master]
C:/Program Files/Git/test_git/worktree1 2a0c3fc [branch2]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' lg --all
* 2a0c3fc - 2026-05-30 15:53 (4 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/branch2, refs/heads/master, refs/heads/branch1)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
create new branch or reset existent local branch
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' init
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master (root-commit) 232b0e4] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch branch1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree list --verbose
C:/Program Files/Git/test_git/repo 232b0e4 [master]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 232b0e4 - 2026-05-30 15:53 (1 second ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/heads/branch1)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree add -b branch1 '../worktree1'
Preparing worktree (new branch 'branch1')
fatal: a branch named 'branch1' already exists
jhcarl0814@jhcarl0814 MINGW64 $?=255 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree add -B branch1 '../worktree1'
Preparing worktree (resetting branch 'branch1'; was at 232b0e4)
HEAD is now at 232b0e4 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree list --verbose
C:/Program Files/Git/test_git/repo 232b0e4 [master]
C:/Program Files/Git/test_git/worktree1 232b0e4 [branch1]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 232b0e4 - 2026-05-30 15:53 (3 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/heads/branch1)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' worktree list --verbose
C:/Program Files/Git/test_git/repo 232b0e4 [master]
C:/Program Files/Git/test_git/worktree1 232b0e4 [branch1]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' lg --all
* 232b0e4 - 2026-05-30 15:53 (4 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/branch1, refs/heads/master)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
new worktree's HEAD is detached
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' init
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master (root-commit) 3be29d2] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree list --verbose
C:/Program Files/Git/test_git/repo 3be29d2 [master]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 3be29d2 - 2026-05-30 15:54 (1 second ago) 1 - Han Jiang (HEAD -> refs/heads/master)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree add --detach '../worktree1'
Preparing worktree (detached HEAD 3be29d2)
HEAD is now at 3be29d2 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree list --verbose
C:/Program Files/Git/test_git/repo 3be29d2 [master]
C:/Program Files/Git/test_git/worktree1 3be29d2 (detached HEAD)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 3be29d2 - 2026-05-30 15:54 (3 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' worktree list --verbose
C:/Program Files/Git/test_git/repo 3be29d2 [master]
C:/Program Files/Git/test_git/worktree1 3be29d2 (detached HEAD)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' lg --all
* 3be29d2 - 2026-05-30 15:54 (4 seconds ago) 1 - Han Jiang (HEAD, refs/heads/master)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
(see below)
behaves as if --orphan is used
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' init
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree list --verbose
C:/Program Files/Git/test_git/repo 0000000 [master]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --show-current
master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree add -b branch1 '../worktree1'
No possible source branch, inferring '--orphan'
Preparing worktree (new branch 'branch1')
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree list --verbose
C:/Program Files/Git/test_git/repo 0000000 [master]
C:/Program Files/Git/test_git/worktree1 0000000 [branch1]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --show-current
master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' worktree list --verbose
C:/Program Files/Git/test_git/repo 0000000 [master]
C:/Program Files/Git/test_git/worktree1 0000000 [branch1]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' lg --all
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' branch --show-current
branch1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
behaves as if --orphan is used
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' init
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout --orphan branch1
Switched to a new branch 'branch1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree list --verbose
C:/Program Files/Git/test_git/repo 0000000 [branch1]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --show-current
branch1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree add -B branch1 '../worktree1'
No possible source branch, inferring '--orphan'
Preparing worktree (new branch 'branch1')
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree list --verbose
C:/Program Files/Git/test_git/repo 0000000 [branch1]
C:/Program Files/Git/test_git/worktree1 0000000 [branch1]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --show-current
branch1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' worktree list --verbose
C:/Program Files/Git/test_git/repo 0000000 [branch1]
C:/Program Files/Git/test_git/worktree1 0000000 [branch1]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' lg --all
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' branch --show-current
branch1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
error out with message saying --orphan should be used
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' init
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree list --verbose
C:/Program Files/Git/test_git/repo 0000000 [master]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --show-current
master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree add --detach '../worktree1'
hint: If you meant to create a worktree containing a new unborn branch
hint: (branch with no commits) for this repository, you can do so
hint: using the --orphan flag:
hint:
hint: git worktree add --orphan ../worktree1
hint:
hint: Disable this message with "git config set advice.worktreeAddOrphan false"
fatal: invalid reference: HEAD
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
checkout the existent local branch
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' init
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master (root-commit) dcdbe1d] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch branch1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree list --verbose
C:/Program Files/Git/test_git/repo dcdbe1d [master]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* dcdbe1d - 2026-05-30 15:54 (1 second ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/heads/branch1)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree add '../worktree1' branch1
Preparing worktree (checking out 'branch1')
HEAD is now at dcdbe1d 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master f27252f] 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' rev-parse --path-format=absolute --absolute-git-dir --git-common-dir --show-toplevel
C:/Program Files/Git/test_git/repo/.git
C:/Program Files/Git/test_git/repo/.git
C:/Program Files/Git/test_git/repo
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree list --verbose
C:/Program Files/Git/test_git/repo f27252f [master]
C:/Program Files/Git/test_git/worktree1 dcdbe1d [branch1]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* f27252f - 2026-05-30 15:54 (2 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
* dcdbe1d - 2026-05-30 15:54 (4 seconds ago) 1 - Han Jiang (refs/heads/branch1)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' rev-parse --path-format=absolute --absolute-git-dir --git-common-dir --show-toplevel
C:/Program Files/Git/test_git/repo/.git/worktrees/worktree1
C:/Program Files/Git/test_git/repo/.git
C:/Program Files/Git/test_git/worktree1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' worktree list --verbose
C:/Program Files/Git/test_git/repo f27252f [master]
C:/Program Files/Git/test_git/worktree1 dcdbe1d [branch1]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' lg --all
* f27252f - 2026-05-30 15:54 (3 seconds ago) 2 - Han Jiang (refs/heads/master)
* dcdbe1d - 2026-05-30 15:54 (5 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/branch1)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' commit --message="$((++number))" --allow-empty
[branch1 fafd220] 3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree list --verbose
C:/Program Files/Git/test_git/repo f27252f [master]
C:/Program Files/Git/test_git/worktree1 fafd220 [branch1]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* fafd220 - 2026-05-30 15:54 (1 second ago) 3 - Han Jiang (refs/heads/branch1)
| * f27252f - 2026-05-30 15:54 (5 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
|/
* dcdbe1d - 2026-05-30 15:54 (7 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' worktree list --verbose
C:/Program Files/Git/test_git/repo f27252f [master]
C:/Program Files/Git/test_git/worktree1 fafd220 [branch1]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' lg --all
* fafd220 - 2026-05-30 15:54 (1 second ago) 3 - Han Jiang (HEAD -> refs/heads/branch1)
| * f27252f - 2026-05-30 15:54 (5 seconds ago) 2 - Han Jiang (refs/heads/master)
|/
* dcdbe1d - 2026-05-30 15:54 (7 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
when 0 or more than 1 remotes have tracking branch with matching name
error out
when more than 1 remotes have tracking branch with matching name but one of the remote is checkout.defaultRemote, or 1 remote has tracking branch with matching name
equivalent to git worktree add -b <branch> --track <path> <remote-tracking branch>
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server1' init --bare './repo.git'
Initialized empty Git repository in C:/Program Files/Git/test_git/server1/repo.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server1/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
[master (root-commit) 99f15b8] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server1/repo.git' branch branch2; git -C './server1/repo.git' branch branch3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server2' init --bare './repo.git'
Initialized empty Git repository in C:/Program Files/Git/test_git/server2/repo.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server2/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
[master (root-commit) 1820e63] 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server2/repo.git' branch branch2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' init
Initialized empty Git repository in C:/Program Files/Git/test_git/client/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote add server1 'file://'"$(realpath './server1/repo.git')"
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote add server2 'file://'"$(realpath './server2/repo.git')"
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch --all
Fetching server1
remote: Enumerating objects: 2, done.
remote: Counting objects: 100% (2/2), done.
remote: Total 2 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (2/2), 138 bytes | 23.00 KiB/s, done.
From file:///test_git/server1/repo
* [new branch] branch2 -> server1/branch2
* [new branch] branch3 -> server1/branch3
* [new branch] master -> server1/master
Fetching server2
remote: Enumerating objects: 2, done.
remote: Counting objects: 100% (2/2), done.
remote: Total 2 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (2/2), 138 bytes | 34.00 KiB/s, done.
From file:///test_git/server2/repo
* [new branch] branch2 -> server2/branch2
* [new branch] master -> server2/master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
remotes/server1/HEAD -> server1/master
remotes/server1/branch2 99f15b8 1
remotes/server1/branch3 99f15b8 1
remotes/server1/master 99f15b8 1
remotes/server2/HEAD -> server2/master
remotes/server2/branch2 1820e63 2
remotes/server2/master 1820e63 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' worktree list --verbose
C:/Program Files/Git/test_git/client/repo 0000000 [master]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all
* 1820e63 - 2026-05-30 15:54 (4 seconds ago) 2 - Han Jiang (refs/remotes/server2/master, refs/remotes/server2/branch2, refs/remotes/server2/HEAD)
* 99f15b8 - 2026-05-30 15:54 (5 seconds ago) 1 - Han Jiang (refs/remotes/server1/master, refs/remotes/server1/branch3, refs/remotes/server1/branch2, refs/remotes/server1/HEAD)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' worktree add '../worktree1' branch1
fatal: invalid reference: branch1
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' worktree add '../worktree2' branch2
fatal: invalid reference: branch2
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' -c checkout.defaultRemote='server1' worktree add '../worktree2' branch2
Preparing worktree (new branch 'branch2')
branch 'branch2' set up to track 'server1/branch2'.
HEAD is now at 99f15b8 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' worktree add '../worktree3' branch3
Preparing worktree (new branch 'branch3')
branch 'branch3' set up to track 'server1/branch3'.
HEAD is now at 99f15b8 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
+ branch2 99f15b8 (C:/Program Files/Git/test_git/client/worktree2) [server1/branch2] 1
+ branch3 99f15b8 (C:/Program Files/Git/test_git/client/worktree3) [server1/branch3] 1
remotes/server1/HEAD -> server1/master
remotes/server1/branch2 99f15b8 1
remotes/server1/branch3 99f15b8 1
remotes/server1/master 99f15b8 1
remotes/server2/HEAD -> server2/master
remotes/server2/branch2 1820e63 2
remotes/server2/master 1820e63 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' worktree list --verbose
C:/Program Files/Git/test_git/client/repo 0000000 [master]
C:/Program Files/Git/test_git/client/worktree2 99f15b8 [branch2]
C:/Program Files/Git/test_git/client/worktree3 99f15b8 [branch3]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all
* 1820e63 - 2026-05-30 15:54 (8 seconds ago) 2 - Han Jiang (refs/remotes/server2/master, refs/remotes/server2/branch2, refs/remotes/server2/HEAD)
* 99f15b8 - 2026-05-30 15:54 (9 seconds ago) 1 - Han Jiang (refs/remotes/server1/master, refs/remotes/server1/branch3, refs/remotes/server1/branch2, refs/remotes/server1/HEAD, refs/heads/branch3, refs/heads/branch2)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/worktree2' branch --list --all --verbose --verbose
* branch2 99f15b8 [server1/branch2] 1
+ branch3 99f15b8 (C:/Program Files/Git/test_git/client/worktree3) [server1/branch3] 1
remotes/server1/HEAD -> server1/master
remotes/server1/branch2 99f15b8 1
remotes/server1/branch3 99f15b8 1
remotes/server1/master 99f15b8 1
remotes/server2/HEAD -> server2/master
remotes/server2/branch2 1820e63 2
remotes/server2/master 1820e63 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/worktree2' worktree list --verbose
C:/Program Files/Git/test_git/client/repo 0000000 [master]
C:/Program Files/Git/test_git/client/worktree2 99f15b8 [branch2]
C:/Program Files/Git/test_git/client/worktree3 99f15b8 [branch3]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/worktree2' lg --all
* 1820e63 - 2026-05-30 15:54 (9 seconds ago) 2 - Han Jiang (refs/remotes/server2/master, refs/remotes/server2/branch2, refs/remotes/server2/HEAD)
* 99f15b8 - 2026-05-30 15:54 (10 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/branch2, refs/remotes/server1/master, refs/remotes/server1/branch3, refs/remotes/server1/branch2, refs/remotes/server1/HEAD, refs/heads/branch3)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/worktree3' branch --list --all --verbose --verbose
+ branch2 99f15b8 (C:/Program Files/Git/test_git/client/worktree2) [server1/branch2] 1
* branch3 99f15b8 [server1/branch3] 1
remotes/server1/HEAD -> server1/master
remotes/server1/branch2 99f15b8 1
remotes/server1/branch3 99f15b8 1
remotes/server1/master 99f15b8 1
remotes/server2/HEAD -> server2/master
remotes/server2/branch2 1820e63 2
remotes/server2/master 1820e63 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/worktree3' worktree list --verbose
C:/Program Files/Git/test_git/client/repo 0000000 [master]
C:/Program Files/Git/test_git/client/worktree2 99f15b8 [branch2]
C:/Program Files/Git/test_git/client/worktree3 99f15b8 [branch3]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/worktree3' lg --all
* 1820e63 - 2026-05-30 15:54 (10 seconds ago) 2 - Han Jiang (refs/remotes/server2/master, refs/remotes/server2/branch2, refs/remotes/server2/HEAD)
* 99f15b8 - 2026-05-30 15:54 (11 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/branch3, refs/remotes/server1/master, refs/remotes/server1/branch3, refs/remotes/server1/branch2, refs/remotes/server1/HEAD, refs/heads/branch2)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
checkout the existent local branch
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' init
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master (root-commit) c1dd5aa] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch branch1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree list --verbose
C:/Program Files/Git/test_git/repo c1dd5aa [master]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* c1dd5aa - 2026-05-30 15:55 (2 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/heads/branch1)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree add '../branch1'
Preparing worktree (checking out 'branch1')
HEAD is now at c1dd5aa 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree list --verbose
C:/Program Files/Git/test_git/repo c1dd5aa [master]
C:/Program Files/Git/test_git/branch1 c1dd5aa [branch1]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* c1dd5aa - 2026-05-30 15:55 (3 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/heads/branch1)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './branch1' worktree list --verbose
C:/Program Files/Git/test_git/repo c1dd5aa [master]
C:/Program Files/Git/test_git/branch1 c1dd5aa [branch1]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './branch1' lg --all
* c1dd5aa - 2026-05-30 15:55 (4 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/branch1, refs/heads/master)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
(see below)
create new branch
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' init
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master (root-commit) 99dcb51] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch branch1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree list --verbose
C:/Program Files/Git/test_git/repo 99dcb51 [master]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 99dcb51 - 2026-05-30 15:55 (2 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/heads/branch1)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree add '../worktree1'
Preparing worktree (new branch 'worktree1')
HEAD is now at 99dcb51 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree list --verbose
C:/Program Files/Git/test_git/repo 99dcb51 [master]
C:/Program Files/Git/test_git/worktree1 99dcb51 [worktree1]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 99dcb51 - 2026-05-30 15:55 (3 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/heads/worktree1, refs/heads/branch1)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' worktree list --verbose
C:/Program Files/Git/test_git/repo 99dcb51 [master]
C:/Program Files/Git/test_git/worktree1 99dcb51 [worktree1]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' lg --all
* 99dcb51 - 2026-05-30 15:55 (4 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/worktree1, refs/heads/master, refs/heads/branch1)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
behaves as if --orphan is used
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' init
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree list --verbose
C:/Program Files/Git/test_git/repo 0000000 [master]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --show-current
master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree add '../worktree1'
No possible source branch, inferring '--orphan'
Preparing worktree (new branch 'worktree1')
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree list --verbose
C:/Program Files/Git/test_git/repo 0000000 [master]
C:/Program Files/Git/test_git/worktree1 0000000 [worktree1]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --show-current
master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' worktree list --verbose
C:/Program Files/Git/test_git/repo 0000000 [master]
C:/Program Files/Git/test_git/worktree1 0000000 [worktree1]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' lg --all
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' branch --show-current
worktree1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
needs --force, behaves as if --orphan is used
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server' init --bare './repo.git'
Initialized empty Git repository in C:/Program Files/Git/test_git/server/repo.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' init
Initialized empty Git repository in C:/Program Files/Git/test_git/client/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote add server 'file://'"$(realpath './server/repo.git')"
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' worktree list --verbose
C:/Program Files/Git/test_git/client/repo 0000000 [master]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --show-current
master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' worktree add --guess-remote '../worktree'
fatal: No local or remote refs exist despite at least one remote
present, stopping; use 'add -f' to override or fetch a remote first
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' worktree add --guess-remote --force '../worktree'
No possible source branch, inferring '--orphan'
Preparing worktree (new branch 'worktree')
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' worktree list --verbose
C:/Program Files/Git/test_git/client/repo 0000000 [master]
C:/Program Files/Git/test_git/client/worktree 0000000 [worktree]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --show-current
master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/worktree' worktree list --verbose
C:/Program Files/Git/test_git/client/repo 0000000 [master]
C:/Program Files/Git/test_git/client/worktree 0000000 [worktree]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/worktree' lg --all
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/worktree' branch --show-current
worktree
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
when 0 or more than 1 remotes have tracking branch with matching name
error out saying "use --orphan"
when more than 1 remotes have tracking branch with matching name but one of the remote is checkout.defaultRemote, or 1 remote has tracking branch with matching name
equivalent to git worktree add -b "$(basename <path>)" --track <path> <remote-tracking branch>
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server1' init --bare './repo.git'
Initialized empty Git repository in C:/Program Files/Git/test_git/server1/repo.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server1/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
[master (root-commit) bc45123] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server1/repo.git' branch branch2; git -C './server1/repo.git' branch branch3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server2' init --bare './repo.git'
Initialized empty Git repository in C:/Program Files/Git/test_git/server2/repo.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server2/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
[master (root-commit) 5bf40c4] 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server2/repo.git' branch branch2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' init
Initialized empty Git repository in C:/Program Files/Git/test_git/client/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote add server1 'file://'"$(realpath './server1/repo.git')"
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote add server2 'file://'"$(realpath './server2/repo.git')"
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch --all
Fetching server1
remote: Enumerating objects: 2, done.
remote: Counting objects: 100% (2/2), done.
remote: Total 2 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (2/2), 139 bytes | 19.00 KiB/s, done.
From file:///test_git/server1/repo
* [new branch] branch2 -> server1/branch2
* [new branch] branch3 -> server1/branch3
* [new branch] master -> server1/master
Fetching server2
remote: Enumerating objects: 2, done.
remote: Counting objects: 100% (2/2), done.
remote: Total 2 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (2/2), 139 bytes | 46.00 KiB/s, done.
From file:///test_git/server2/repo
* [new branch] branch2 -> server2/branch2
* [new branch] master -> server2/master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
remotes/server1/HEAD -> server1/master
remotes/server1/branch2 bc45123 1
remotes/server1/branch3 bc45123 1
remotes/server1/master bc45123 1
remotes/server2/HEAD -> server2/master
remotes/server2/branch2 5bf40c4 2
remotes/server2/master 5bf40c4 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' worktree list --verbose
C:/Program Files/Git/test_git/client/repo 0000000 [master]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all
* 5bf40c4 - 2026-05-30 15:55 (4 seconds ago) 2 - Han Jiang (refs/remotes/server2/master, refs/remotes/server2/branch2, refs/remotes/server2/HEAD)
* bc45123 - 2026-05-30 15:55 (6 seconds ago) 1 - Han Jiang (refs/remotes/server1/master, refs/remotes/server1/branch3, refs/remotes/server1/branch2, refs/remotes/server1/HEAD)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' worktree add --guess-remote '../branch1'
hint: If you meant to create a worktree containing a new unborn branch
hint: (branch with no commits) for this repository, you can do so
hint: using the --orphan flag:
hint:
hint: git worktree add --orphan ../branch1
hint:
hint: Disable this message with "git config set advice.worktreeAddOrphan false"
fatal: invalid reference: HEAD
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' worktree add --guess-remote --force '../branch1'
hint: If you meant to create a worktree containing a new unborn branch
hint: (branch with no commits) for this repository, you can do so
hint: using the --orphan flag:
hint:
hint: git worktree add --orphan ../branch1
hint:
hint: Disable this message with "git config set advice.worktreeAddOrphan false"
fatal: invalid reference: HEAD
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' worktree add --guess-remote --force --force '../branch1'
hint: If you meant to create a worktree containing a new unborn branch
hint: (branch with no commits) for this repository, you can do so
hint: using the --orphan flag:
hint:
hint: git worktree add --orphan ../branch1
hint:
hint: Disable this message with "git config set advice.worktreeAddOrphan false"
fatal: invalid reference: HEAD
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' worktree add --guess-remote '../branch2'
hint: If you meant to create a worktree containing a new unborn branch
hint: (branch with no commits) for this repository, you can do so
hint: using the --orphan flag:
hint:
hint: git worktree add --orphan ../branch2
hint:
hint: Disable this message with "git config set advice.worktreeAddOrphan false"
fatal: invalid reference: HEAD
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' worktree add --guess-remote --force '../branch2'
hint: If you meant to create a worktree containing a new unborn branch
hint: (branch with no commits) for this repository, you can do so
hint: using the --orphan flag:
hint:
hint: git worktree add --orphan ../branch2
hint:
hint: Disable this message with "git config set advice.worktreeAddOrphan false"
fatal: invalid reference: HEAD
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' worktree add --guess-remote --force --force '../branch2'
hint: If you meant to create a worktree containing a new unborn branch
hint: (branch with no commits) for this repository, you can do so
hint: using the --orphan flag:
hint:
hint: git worktree add --orphan ../branch2
hint:
hint: Disable this message with "git config set advice.worktreeAddOrphan false"
fatal: invalid reference: HEAD
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' -c checkout.defaultRemote='server1' worktree add --guess-remote '../branch2'
Preparing worktree (new branch 'branch2')
branch 'branch2' set up to track 'server1/branch2'.
HEAD is now at bc45123 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' worktree add --guess-remote '../branch3'
Preparing worktree (new branch 'branch3')
branch 'branch3' set up to track 'server1/branch3'.
HEAD is now at bc45123 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
+ branch2 bc45123 (C:/Program Files/Git/test_git/client/branch2) [server1/branch2] 1
+ branch3 bc45123 (C:/Program Files/Git/test_git/client/branch3) [server1/branch3] 1
remotes/server1/HEAD -> server1/master
remotes/server1/branch2 bc45123 1
remotes/server1/branch3 bc45123 1
remotes/server1/master bc45123 1
remotes/server2/HEAD -> server2/master
remotes/server2/branch2 5bf40c4 2
remotes/server2/master 5bf40c4 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' worktree list --verbose
C:/Program Files/Git/test_git/client/repo 0000000 [master]
C:/Program Files/Git/test_git/client/branch2 bc45123 [branch2]
C:/Program Files/Git/test_git/client/branch3 bc45123 [branch3]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all
* 5bf40c4 - 2026-05-30 15:55 (9 seconds ago) 2 - Han Jiang (refs/remotes/server2/master, refs/remotes/server2/branch2, refs/remotes/server2/HEAD)
* bc45123 - 2026-05-30 15:55 (11 seconds ago) 1 - Han Jiang (refs/remotes/server1/master, refs/remotes/server1/branch3, refs/remotes/server1/branch2, refs/remotes/server1/HEAD, refs/heads/branch3, refs/heads/branch2)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/branch2' branch --list --all --verbose --verbose
* branch2 bc45123 [server1/branch2] 1
+ branch3 bc45123 (C:/Program Files/Git/test_git/client/branch3) [server1/branch3] 1
remotes/server1/HEAD -> server1/master
remotes/server1/branch2 bc45123 1
remotes/server1/branch3 bc45123 1
remotes/server1/master bc45123 1
remotes/server2/HEAD -> server2/master
remotes/server2/branch2 5bf40c4 2
remotes/server2/master 5bf40c4 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/branch2' worktree list --verbose
C:/Program Files/Git/test_git/client/repo 0000000 [master]
C:/Program Files/Git/test_git/client/branch2 bc45123 [branch2]
C:/Program Files/Git/test_git/client/branch3 bc45123 [branch3]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/branch2' lg --all
* 5bf40c4 - 2026-05-30 15:55 (10 seconds ago) 2 - Han Jiang (refs/remotes/server2/master, refs/remotes/server2/branch2, refs/remotes/server2/HEAD)
* bc45123 - 2026-05-30 15:55 (12 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/branch2, refs/remotes/server1/master, refs/remotes/server1/branch3, refs/remotes/server1/branch2, refs/remotes/server1/HEAD, refs/heads/branch3)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/branch3' branch --list --all --verbose --verbose
+ branch2 bc45123 (C:/Program Files/Git/test_git/client/branch2) [server1/branch2] 1
* branch3 bc45123 [server1/branch3] 1
remotes/server1/HEAD -> server1/master
remotes/server1/branch2 bc45123 1
remotes/server1/branch3 bc45123 1
remotes/server1/master bc45123 1
remotes/server2/HEAD -> server2/master
remotes/server2/branch2 5bf40c4 2
remotes/server2/master 5bf40c4 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/branch3' worktree list --verbose
C:/Program Files/Git/test_git/client/repo 0000000 [master]
C:/Program Files/Git/test_git/client/branch2 bc45123 [branch2]
C:/Program Files/Git/test_git/client/branch3 bc45123 [branch3]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/branch3' lg --all
* 5bf40c4 - 2026-05-30 15:55 (11 seconds ago) 2 - Han Jiang (refs/remotes/server2/master, refs/remotes/server2/branch2, refs/remotes/server2/HEAD)
* bc45123 - 2026-05-30 15:55 (13 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/branch3, refs/remotes/server1/master, refs/remotes/server1/branch3, refs/remotes/server1/branch2, refs/remotes/server1/HEAD, refs/heads/branch2)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server1' init --bare './repo.git'
Initialized empty Git repository in C:/Program Files/Git/test_git/server1/repo.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server1/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
[master (root-commit) 40fb284] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server1/repo.git' branch branch2; git -C './server1/repo.git' branch branch3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server2' init --bare './repo.git'
Initialized empty Git repository in C:/Program Files/Git/test_git/server2/repo.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server2/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
[master (root-commit) 8fc73b9] 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server2/repo.git' branch branch2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' init
Initialized empty Git repository in C:/Program Files/Git/test_git/client/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote add server1 'file://'"$(realpath './server1/repo.git')"
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote add server2 'file://'"$(realpath './server2/repo.git')"
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch --all
Fetching server1
remote: Enumerating objects: 2, done.
remote: Counting objects: 100% (2/2), done.
remote: Total 2 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (2/2), 139 bytes | 19.00 KiB/s, done.
From file:///test_git/server1/repo
* [new branch] branch2 -> server1/branch2
* [new branch] branch3 -> server1/branch3
* [new branch] master -> server1/master
Fetching server2
remote: Enumerating objects: 2, done.
remote: Counting objects: 100% (2/2), done.
remote: Total 2 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (2/2), 139 bytes | 34.00 KiB/s, done.
From file:///test_git/server2/repo
* [new branch] branch2 -> server2/branch2
* [new branch] master -> server2/master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
remotes/server1/HEAD -> server1/master
remotes/server1/branch2 40fb284 1
remotes/server1/branch3 40fb284 1
remotes/server1/master 40fb284 1
remotes/server2/HEAD -> server2/master
remotes/server2/branch2 8fc73b9 2
remotes/server2/master 8fc73b9 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' worktree list --verbose
C:/Program Files/Git/test_git/client/repo 0000000 [master]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all
* 8fc73b9 - 2026-05-30 15:55 (5 seconds ago) 2 - Han Jiang (refs/remotes/server2/master, refs/remotes/server2/branch2, refs/remotes/server2/HEAD)
* 40fb284 - 2026-05-30 15:55 (6 seconds ago) 1 - Han Jiang (refs/remotes/server1/master, refs/remotes/server1/branch3, refs/remotes/server1/branch2, refs/remotes/server1/HEAD)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --show-current
master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ HEAD_old="$(git -C './client/repo' symbolic-ref HEAD)"; echo "$HEAD_old"
refs/heads/master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' checkout --orphan branch0
Switched to a new branch 'branch0'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --show-current
branch0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' symbolic-ref HEAD
refs/heads/branch0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' commit --message="$((++number))" --allow-empty
[branch0 (root-commit) 840b342] 3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' symbolic-ref HEAD "$HEAD_old"
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --show-current
master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' symbolic-ref HEAD
refs/heads/master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' worktree add --guess-remote '../branch1'
warning: HEAD points to an invalid (or orphaned) reference.
hint: If you meant to create a worktree containing a new unborn branch
hint: (branch with no commits) for this repository, you can do so
hint: using the --orphan flag:
hint:
hint: git worktree add --orphan ../branch1
hint:
hint: Disable this message with "git config set advice.worktreeAddOrphan false"
fatal: invalid reference: HEAD
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' worktree add --guess-remote --force '../branch1'
warning: HEAD points to an invalid (or orphaned) reference.
hint: If you meant to create a worktree containing a new unborn branch
hint: (branch with no commits) for this repository, you can do so
hint: using the --orphan flag:
hint:
hint: git worktree add --orphan ../branch1
hint:
hint: Disable this message with "git config set advice.worktreeAddOrphan false"
fatal: invalid reference: HEAD
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' worktree add --guess-remote --force --force '../branch1'
warning: HEAD points to an invalid (or orphaned) reference.
hint: If you meant to create a worktree containing a new unborn branch
hint: (branch with no commits) for this repository, you can do so
hint: using the --orphan flag:
hint:
hint: git worktree add --orphan ../branch1
hint:
hint: Disable this message with "git config set advice.worktreeAddOrphan false"
fatal: invalid reference: HEAD
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' worktree add --guess-remote '../branch2'
warning: HEAD points to an invalid (or orphaned) reference.
hint: If you meant to create a worktree containing a new unborn branch
hint: (branch with no commits) for this repository, you can do so
hint: using the --orphan flag:
hint:
hint: git worktree add --orphan ../branch2
hint:
hint: Disable this message with "git config set advice.worktreeAddOrphan false"
fatal: invalid reference: HEAD
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' worktree add --guess-remote --force '../branch2'
warning: HEAD points to an invalid (or orphaned) reference.
hint: If you meant to create a worktree containing a new unborn branch
hint: (branch with no commits) for this repository, you can do so
hint: using the --orphan flag:
hint:
hint: git worktree add --orphan ../branch2
hint:
hint: Disable this message with "git config set advice.worktreeAddOrphan false"
fatal: invalid reference: HEAD
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' worktree add --guess-remote --force --force '../branch2'
warning: HEAD points to an invalid (or orphaned) reference.
hint: If you meant to create a worktree containing a new unborn branch
hint: (branch with no commits) for this repository, you can do so
hint: using the --orphan flag:
hint:
hint: git worktree add --orphan ../branch2
hint:
hint: Disable this message with "git config set advice.worktreeAddOrphan false"
fatal: invalid reference: HEAD
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' -c checkout.defaultRemote='server1' worktree add --guess-remote '../branch2'
Preparing worktree (new branch 'branch2')
branch 'branch2' set up to track 'server1/branch2'.
HEAD is now at 40fb284 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' worktree add --guess-remote '../branch3'
Preparing worktree (new branch 'branch3')
branch 'branch3' set up to track 'server1/branch3'.
HEAD is now at 40fb284 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
branch0 840b342 3
+ branch2 40fb284 (C:/Program Files/Git/test_git/client/branch2) [server1/branch2] 1
+ branch3 40fb284 (C:/Program Files/Git/test_git/client/branch3) [server1/branch3] 1
remotes/server1/HEAD -> server1/master
remotes/server1/branch2 40fb284 1
remotes/server1/branch3 40fb284 1
remotes/server1/master 40fb284 1
remotes/server2/HEAD -> server2/master
remotes/server2/branch2 8fc73b9 2
remotes/server2/master 8fc73b9 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' worktree list --verbose
C:/Program Files/Git/test_git/client/repo 0000000 [master]
C:/Program Files/Git/test_git/client/branch2 40fb284 [branch2]
C:/Program Files/Git/test_git/client/branch3 40fb284 [branch3]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all
* 840b342 - 2026-05-30 15:56 (6 seconds ago) 3 - Han Jiang (refs/heads/branch0)
* 8fc73b9 - 2026-05-30 15:55 (13 seconds ago) 2 - Han Jiang (refs/remotes/server2/master, refs/remotes/server2/branch2, refs/remotes/server2/HEAD)
* 40fb284 - 2026-05-30 15:55 (14 seconds ago) 1 - Han Jiang (refs/remotes/server1/master, refs/remotes/server1/branch3, refs/remotes/server1/branch2, refs/remotes/server1/HEAD, refs/heads/branch3, refs/heads/branch2)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/branch2' branch --list --all --verbose --verbose
branch0 840b342 3
* branch2 40fb284 [server1/branch2] 1
+ branch3 40fb284 (C:/Program Files/Git/test_git/client/branch3) [server1/branch3] 1
remotes/server1/HEAD -> server1/master
remotes/server1/branch2 40fb284 1
remotes/server1/branch3 40fb284 1
remotes/server1/master 40fb284 1
remotes/server2/HEAD -> server2/master
remotes/server2/branch2 8fc73b9 2
remotes/server2/master 8fc73b9 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/branch2' worktree list --verbose
C:/Program Files/Git/test_git/client/repo 0000000 [master]
C:/Program Files/Git/test_git/client/branch2 40fb284 [branch2]
C:/Program Files/Git/test_git/client/branch3 40fb284 [branch3]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/branch2' lg --all
* 840b342 - 2026-05-30 15:56 (8 seconds ago) 3 - Han Jiang (refs/heads/branch0)
* 8fc73b9 - 2026-05-30 15:55 (15 seconds ago) 2 - Han Jiang (refs/remotes/server2/master, refs/remotes/server2/branch2, refs/remotes/server2/HEAD)
* 40fb284 - 2026-05-30 15:55 (16 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/branch2, refs/remotes/server1/master, refs/remotes/server1/branch3, refs/remotes/server1/branch2, refs/remotes/server1/HEAD, refs/heads/branch3)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/branch3' branch --list --all --verbose --verbose
branch0 840b342 3
+ branch2 40fb284 (C:/Program Files/Git/test_git/client/branch2) [server1/branch2] 1
* branch3 40fb284 [server1/branch3] 1
remotes/server1/HEAD -> server1/master
remotes/server1/branch2 40fb284 1
remotes/server1/branch3 40fb284 1
remotes/server1/master 40fb284 1
remotes/server2/HEAD -> server2/master
remotes/server2/branch2 8fc73b9 2
remotes/server2/master 8fc73b9 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/branch3' worktree list --verbose
C:/Program Files/Git/test_git/client/repo 0000000 [master]
C:/Program Files/Git/test_git/client/branch2 40fb284 [branch2]
C:/Program Files/Git/test_git/client/branch3 40fb284 [branch3]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/branch3' lg --all
* 840b342 - 2026-05-30 15:56 (9 seconds ago) 3 - Han Jiang (refs/heads/branch0)
* 8fc73b9 - 2026-05-30 15:55 (16 seconds ago) 2 - Han Jiang (refs/remotes/server2/master, refs/remotes/server2/branch2, refs/remotes/server2/HEAD)
* 40fb284 - 2026-05-30 15:55 (17 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/branch3, refs/remotes/server1/master, refs/remotes/server1/branch3, refs/remotes/server1/branch2, refs/remotes/server1/HEAD, refs/heads/branch2)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
error out saying "use --orphan"
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server' init --bare './repo.git'
Initialized empty Git repository in C:/Program Files/Git/test_git/server/repo.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' init
Initialized empty Git repository in C:/Program Files/Git/test_git/client/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote add server 'file://'"$(realpath './server/repo.git')"
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' worktree list --verbose
C:/Program Files/Git/test_git/client/repo 0000000 [master]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --show-current
master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ HEAD_old="$(git -C './client/repo' symbolic-ref HEAD)"; echo "$HEAD_old"
refs/heads/master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' checkout --orphan branch1
Switched to a new branch 'branch1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --show-current
branch1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' symbolic-ref HEAD
refs/heads/branch1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' commit --message="$((++number))" --allow-empty
[branch1 (root-commit) 3ff525c] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' symbolic-ref HEAD "$HEAD_old"
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --show-current
master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' symbolic-ref HEAD
refs/heads/master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' worktree add '../branch2'
warning: HEAD points to an invalid (or orphaned) reference.
hint: If you meant to create a worktree containing a new unborn branch
hint: (branch with no commits) for this repository, you can do so
hint: using the --orphan flag:
hint:
hint: git worktree add --orphan ../branch2
hint:
hint: Disable this message with "git config set advice.worktreeAddOrphan false"
fatal: invalid reference: HEAD
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
use --no-track to override the default behavior for remote-tracking branches
-b
create new branch
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server' init --bare './repo.git'
Initialized empty Git repository in C:/Program Files/Git/test_git/server/repo.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
[master (root-commit) aec30b1] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' branch branch1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' init
Initialized empty Git repository in C:/Program Files/Git/test_git/client/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' commit --message="$((++number))" --allow-empty
[master (root-commit) 9f3fe34] 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote add server 'file://'"$(realpath './server/repo.git')"
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
* master 9f3fe34 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch --all
remote: Enumerating objects: 2, done.
remote: Counting objects: 100% (2/2), done.
remote: Total 2 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (2/2), 138 bytes | 27.00 KiB/s, done.
From file:///test_git/server/repo
* [new branch] branch1 -> server/branch1
* [new branch] master -> server/master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
* master 9f3fe34 2
remotes/server/HEAD -> server/master
remotes/server/branch1 aec30b1 1
remotes/server/master aec30b1 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' worktree list --verbose
C:/Program Files/Git/test_git/client/repo 9f3fe34 [master]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all
* 9f3fe34 - 2026-05-30 15:56 (2 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
* aec30b1 - 2026-05-30 15:56 (4 seconds ago) 1 - Han Jiang (refs/remotes/server/master, refs/remotes/server/branch1, refs/remotes/server/HEAD)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' worktree add -b branch11 '../worktree11' remotes/server/branch1
Preparing worktree (new branch 'branch11')
branch 'branch11' set up to track 'server/branch1'.
HEAD is now at aec30b1 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' worktree add -b branch12 --no-track '../worktree12' remotes/server/branch1
Preparing worktree (new branch 'branch12')
HEAD is now at aec30b1 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
+ branch11 aec30b1 (C:/Program Files/Git/test_git/client/worktree11) [server/branch1] 1
+ branch12 aec30b1 (C:/Program Files/Git/test_git/client/worktree12) 1
* master 9f3fe34 2
remotes/server/HEAD -> server/master
remotes/server/branch1 aec30b1 1
remotes/server/master aec30b1 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' worktree list --verbose
C:/Program Files/Git/test_git/client/repo 9f3fe34 [master]
C:/Program Files/Git/test_git/client/worktree11 aec30b1 [branch11]
C:/Program Files/Git/test_git/client/worktree12 aec30b1 [branch12]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all
* 9f3fe34 - 2026-05-30 15:56 (5 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
* aec30b1 - 2026-05-30 15:56 (7 seconds ago) 1 - Han Jiang (refs/remotes/server/master, refs/remotes/server/branch1, refs/remotes/server/HEAD, refs/heads/branch12, refs/heads/branch11)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/worktree11' branch --list --all --verbose --verbose
* branch11 aec30b1 [server/branch1] 1
+ branch12 aec30b1 (C:/Program Files/Git/test_git/client/worktree12) 1
+ master 9f3fe34 (C:/Program Files/Git/test_git/client/repo) 2
remotes/server/HEAD -> server/master
remotes/server/branch1 aec30b1 1
remotes/server/master aec30b1 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/worktree11' worktree list --verbose
C:/Program Files/Git/test_git/client/repo 9f3fe34 [master]
C:/Program Files/Git/test_git/client/worktree11 aec30b1 [branch11]
C:/Program Files/Git/test_git/client/worktree12 aec30b1 [branch12]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/worktree11' lg --all
* 9f3fe34 - 2026-05-30 15:56 (6 seconds ago) 2 - Han Jiang (refs/heads/master)
* aec30b1 - 2026-05-30 15:56 (8 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/branch11, refs/remotes/server/master, refs/remotes/server/branch1, refs/remotes/server/HEAD, refs/heads/branch12)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/worktree12' branch --list --all --verbose --verbose
+ branch11 aec30b1 (C:/Program Files/Git/test_git/client/worktree11) [server/branch1] 1
* branch12 aec30b1 1
+ master 9f3fe34 (C:/Program Files/Git/test_git/client/repo) 2
remotes/server/HEAD -> server/master
remotes/server/branch1 aec30b1 1
remotes/server/master aec30b1 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/worktree12' worktree list --verbose
C:/Program Files/Git/test_git/client/repo 9f3fe34 [master]
C:/Program Files/Git/test_git/client/worktree11 aec30b1 [branch11]
C:/Program Files/Git/test_git/client/worktree12 aec30b1 [branch12]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/worktree12' lg --all
* 9f3fe34 - 2026-05-30 15:56 (7 seconds ago) 2 - Han Jiang (refs/heads/master)
* aec30b1 - 2026-05-30 15:56 (9 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/branch12, refs/remotes/server/master, refs/remotes/server/branch1, refs/remotes/server/HEAD, refs/heads/branch11)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
-B
create new branch or reset existent local branch
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server' init --bare './repo.git'
Initialized empty Git repository in C:/Program Files/Git/test_git/server/repo.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
[master (root-commit) ca96a05] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' branch branch1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' init
Initialized empty Git repository in C:/Program Files/Git/test_git/client/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' commit --message="$((++number))" --allow-empty
[master (root-commit) b94ae08] 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch branch11
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch branch12
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote add server 'file://'"$(realpath './server/repo.git')"
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
branch11 b94ae08 2
branch12 b94ae08 2
* master b94ae08 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch --all
remote: Enumerating objects: 2, done.
remote: Counting objects: 100% (2/2), done.
remote: Total 2 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (2/2), 138 bytes | 23.00 KiB/s, done.
From file:///test_git/server/repo
* [new branch] branch1 -> server/branch1
* [new branch] master -> server/master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
branch11 b94ae08 2
branch12 b94ae08 2
* master b94ae08 2
remotes/server/HEAD -> server/master
remotes/server/branch1 ca96a05 1
remotes/server/master ca96a05 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' worktree list --verbose
C:/Program Files/Git/test_git/client/repo b94ae08 [master]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all
* b94ae08 - 2026-05-30 15:56 (4 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master, refs/heads/branch12, refs/heads/branch11)
* ca96a05 - 2026-05-30 15:56 (6 seconds ago) 1 - Han Jiang (refs/remotes/server/master, refs/remotes/server/branch1, refs/remotes/server/HEAD)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' worktree add -B branch11 '../worktree11' remotes/server/branch1
Preparing worktree (resetting branch 'branch11'; was at b94ae08)
branch 'branch11' set up to track 'server/branch1'.
HEAD is now at ca96a05 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' worktree add -B branch12 --no-track '../worktree12' remotes/server/branch1
Preparing worktree (resetting branch 'branch12'; was at b94ae08)
HEAD is now at ca96a05 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
+ branch11 ca96a05 (C:/Program Files/Git/test_git/client/worktree11) [server/branch1] 1
+ branch12 ca96a05 (C:/Program Files/Git/test_git/client/worktree12) 1
* master b94ae08 2
remotes/server/HEAD -> server/master
remotes/server/branch1 ca96a05 1
remotes/server/master ca96a05 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' worktree list --verbose
C:/Program Files/Git/test_git/client/repo b94ae08 [master]
C:/Program Files/Git/test_git/client/worktree11 ca96a05 [branch11]
C:/Program Files/Git/test_git/client/worktree12 ca96a05 [branch12]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all
* b94ae08 - 2026-05-30 15:56 (6 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
* ca96a05 - 2026-05-30 15:56 (8 seconds ago) 1 - Han Jiang (refs/remotes/server/master, refs/remotes/server/branch1, refs/remotes/server/HEAD, refs/heads/branch12, refs/heads/branch11)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/worktree11' branch --list --all --verbose --verbose
* branch11 ca96a05 [server/branch1] 1
+ branch12 ca96a05 (C:/Program Files/Git/test_git/client/worktree12) 1
+ master b94ae08 (C:/Program Files/Git/test_git/client/repo) 2
remotes/server/HEAD -> server/master
remotes/server/branch1 ca96a05 1
remotes/server/master ca96a05 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/worktree11' worktree list --verbose
C:/Program Files/Git/test_git/client/repo b94ae08 [master]
C:/Program Files/Git/test_git/client/worktree11 ca96a05 [branch11]
C:/Program Files/Git/test_git/client/worktree12 ca96a05 [branch12]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/worktree11' lg --all
* b94ae08 - 2026-05-30 15:56 (7 seconds ago) 2 - Han Jiang (refs/heads/master)
* ca96a05 - 2026-05-30 15:56 (9 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/branch11, refs/remotes/server/master, refs/remotes/server/branch1, refs/remotes/server/HEAD, refs/heads/branch12)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/worktree12' branch --list --all --verbose --verbose
+ branch11 ca96a05 (C:/Program Files/Git/test_git/client/worktree11) [server/branch1] 1
* branch12 ca96a05 1
+ master b94ae08 (C:/Program Files/Git/test_git/client/repo) 2
remotes/server/HEAD -> server/master
remotes/server/branch1 ca96a05 1
remotes/server/master ca96a05 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/worktree12' worktree list --verbose
C:/Program Files/Git/test_git/client/repo b94ae08 [master]
C:/Program Files/Git/test_git/client/worktree11 ca96a05 [branch11]
C:/Program Files/Git/test_git/client/worktree12 ca96a05 [branch12]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/worktree12' lg --all
* b94ae08 - 2026-05-30 15:56 (8 seconds ago) 2 - Han Jiang (refs/heads/master)
* ca96a05 - 2026-05-30 15:56 (10 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/branch12, refs/remotes/server/master, refs/remotes/server/branch1, refs/remotes/server/HEAD, refs/heads/branch11)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
(not -b/-B/--detach)
--no-track reverses --track in git worktree add --track -b <branch> <path> <remote-tracking branch>
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server1' init --bare './repo.git'
Initialized empty Git repository in C:/Program Files/Git/test_git/server1/repo.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server1/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
[master (root-commit) 5380998] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server1/repo.git' branch branch2; git -C './server1/repo.git' branch branch3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server2' init --bare './repo.git'
Initialized empty Git repository in C:/Program Files/Git/test_git/server2/repo.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server2/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
[master (root-commit) 2f1d02f] 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server2/repo.git' branch branch2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' init
Initialized empty Git repository in C:/Program Files/Git/test_git/client/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote add server1 'file://'"$(realpath './server1/repo.git')"
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote add server2 'file://'"$(realpath './server2/repo.git')"
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch --all
Fetching server1
remote: Enumerating objects: 2, done.
remote: Counting objects: 100% (2/2), done.
remote: Total 2 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (2/2), 138 bytes | 13.00 KiB/s, done.
From file:///test_git/server1/repo
* [new branch] branch2 -> server1/branch2
* [new branch] branch3 -> server1/branch3
* [new branch] master -> server1/master
Fetching server2
remote: Enumerating objects: 2, done.
remote: Counting objects: 100% (2/2), done.
remote: Total 2 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (2/2), 138 bytes | 27.00 KiB/s, done.
From file:///test_git/server2/repo
* [new branch] branch2 -> server2/branch2
* [new branch] master -> server2/master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
remotes/server1/HEAD -> server1/master
remotes/server1/branch2 5380998 1
remotes/server1/branch3 5380998 1
remotes/server1/master 5380998 1
remotes/server2/HEAD -> server2/master
remotes/server2/branch2 2f1d02f 2
remotes/server2/master 2f1d02f 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' worktree list --verbose
C:/Program Files/Git/test_git/client/repo 0000000 [master]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all
* 2f1d02f - 2026-05-30 15:56 (5 seconds ago) 2 - Han Jiang (refs/remotes/server2/master, refs/remotes/server2/branch2, refs/remotes/server2/HEAD)
* 5380998 - 2026-05-30 15:56 (6 seconds ago) 1 - Han Jiang (refs/remotes/server1/master, refs/remotes/server1/branch3, refs/remotes/server1/branch2, refs/remotes/server1/HEAD)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' worktree add '../worktree1' branch1
fatal: invalid reference: branch1
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' worktree add --no-track '../worktree2' branch2
fatal: invalid reference: branch2
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' -c checkout.defaultRemote='server1' worktree add --no-track '../worktree2' branch2
Preparing worktree (new branch 'branch2')
HEAD is now at 5380998 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' worktree add --no-track '../worktree3' branch3
Preparing worktree (new branch 'branch3')
HEAD is now at 5380998 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
+ branch2 5380998 (C:/Program Files/Git/test_git/client/worktree2) 1
+ branch3 5380998 (C:/Program Files/Git/test_git/client/worktree3) 1
remotes/server1/HEAD -> server1/master
remotes/server1/branch2 5380998 1
remotes/server1/branch3 5380998 1
remotes/server1/master 5380998 1
remotes/server2/HEAD -> server2/master
remotes/server2/branch2 2f1d02f 2
remotes/server2/master 2f1d02f 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' worktree list --verbose
C:/Program Files/Git/test_git/client/repo 0000000 [master]
C:/Program Files/Git/test_git/client/worktree2 5380998 [branch2]
C:/Program Files/Git/test_git/client/worktree3 5380998 [branch3]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all
* 2f1d02f - 2026-05-30 15:56 (8 seconds ago) 2 - Han Jiang (refs/remotes/server2/master, refs/remotes/server2/branch2, refs/remotes/server2/HEAD)
* 5380998 - 2026-05-30 15:56 (9 seconds ago) 1 - Han Jiang (refs/remotes/server1/master, refs/remotes/server1/branch3, refs/remotes/server1/branch2, refs/remotes/server1/HEAD, refs/heads/branch3, refs/heads/branch2)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/worktree2' branch --list --all --verbose --verbose
* branch2 5380998 1
+ branch3 5380998 (C:/Program Files/Git/test_git/client/worktree3) 1
remotes/server1/HEAD -> server1/master
remotes/server1/branch2 5380998 1
remotes/server1/branch3 5380998 1
remotes/server1/master 5380998 1
remotes/server2/HEAD -> server2/master
remotes/server2/branch2 2f1d02f 2
remotes/server2/master 2f1d02f 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/worktree2' worktree list --verbose
C:/Program Files/Git/test_git/client/repo 0000000 [master]
C:/Program Files/Git/test_git/client/worktree2 5380998 [branch2]
C:/Program Files/Git/test_git/client/worktree3 5380998 [branch3]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/worktree2' lg --all
* 2f1d02f - 2026-05-30 15:56 (9 seconds ago) 2 - Han Jiang (refs/remotes/server2/master, refs/remotes/server2/branch2, refs/remotes/server2/HEAD)
* 5380998 - 2026-05-30 15:56 (10 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/branch2, refs/remotes/server1/master, refs/remotes/server1/branch3, refs/remotes/server1/branch2, refs/remotes/server1/HEAD, refs/heads/branch3)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/worktree3' branch --list --all --verbose --verbose
+ branch2 5380998 (C:/Program Files/Git/test_git/client/worktree2) 1
* branch3 5380998 1
remotes/server1/HEAD -> server1/master
remotes/server1/branch2 5380998 1
remotes/server1/branch3 5380998 1
remotes/server1/master 5380998 1
remotes/server2/HEAD -> server2/master
remotes/server2/branch2 2f1d02f 2
remotes/server2/master 2f1d02f 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/worktree3' worktree list --verbose
C:/Program Files/Git/test_git/client/repo 0000000 [master]
C:/Program Files/Git/test_git/client/worktree2 5380998 [branch2]
C:/Program Files/Git/test_git/client/worktree3 5380998 [branch3]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/worktree3' lg --all
* 2f1d02f - 2026-05-30 15:56 (10 seconds ago) 2 - Han Jiang (refs/remotes/server2/master, refs/remotes/server2/branch2, refs/remotes/server2/HEAD)
* 5380998 - 2026-05-30 15:56 (11 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/branch3, refs/remotes/server1/master, refs/remotes/server1/branch3, refs/remotes/server1/branch2, refs/remotes/server1/HEAD, refs/heads/branch2)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' init
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master (root-commit) c7237b0] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch branch1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree list --verbose
C:/Program Files/Git/test_git/repo c7237b0 [master]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* c7237b0 - 2026-05-30 15:57 (1 second ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/heads/branch1)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree add '../worktree1' branch1
Preparing worktree (checking out 'branch1')
HEAD is now at c7237b0 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' rev-parse --path-format=absolute --absolute-git-dir --git-common-dir --show-toplevel
C:/Program Files/Git/test_git/repo/.git
C:/Program Files/Git/test_git/repo/.git
C:/Program Files/Git/test_git/repo
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree list --verbose
C:/Program Files/Git/test_git/repo c7237b0 [master]
C:/Program Files/Git/test_git/worktree1 c7237b0 [branch1]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* c7237b0 - 2026-05-30 15:57 (3 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/heads/branch1)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' rev-parse --path-format=absolute --absolute-git-dir --git-common-dir --show-toplevel
C:/Program Files/Git/test_git/repo/.git/worktrees/worktree1
C:/Program Files/Git/test_git/repo/.git
C:/Program Files/Git/test_git/worktree1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' worktree list --verbose
C:/Program Files/Git/test_git/repo c7237b0 [master]
C:/Program Files/Git/test_git/worktree1 c7237b0 [branch1]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' lg --all
* c7237b0 - 2026-05-30 15:57 (4 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/branch1, refs/heads/master)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' worktree move '../repo' '../repository'
fatal: '../repo' is a main working tree
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree move '../worktree1' '../worktree2'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' rev-parse --path-format=absolute --absolute-git-dir --git-common-dir --show-toplevel
C:/Program Files/Git/test_git/repo/.git
C:/Program Files/Git/test_git/repo/.git
C:/Program Files/Git/test_git/repo
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree list --verbose
C:/Program Files/Git/test_git/repo c7237b0 [master]
C:/Program Files/Git/test_git/worktree2 c7237b0 [branch1]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* c7237b0 - 2026-05-30 15:57 (6 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/heads/branch1)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree2' rev-parse --path-format=absolute --absolute-git-dir --git-common-dir --show-toplevel
C:/Program Files/Git/test_git/repo/.git/worktrees/worktree1
C:/Program Files/Git/test_git/repo/.git
C:/Program Files/Git/test_git/worktree2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree2' worktree list --verbose
C:/Program Files/Git/test_git/repo c7237b0 [master]
C:/Program Files/Git/test_git/worktree2 c7237b0 [branch1]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree2' lg --all
* c7237b0 - 2026-05-30 15:57 (8 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/branch1, refs/heads/master)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ tree '.'
./ d/0o040/directory rwxr-xr-x/0o755
├╴repo/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴.git/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴COMMIT_EDITMSG -/0o100/regular file rw-r--r--/0o644
│ │ ├╴config -/0o100/regular file rw-r--r--/0o644
│ │ ├╴description -/0o100/regular file rw-r--r--/0o644
│ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ ├╴hooks/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴applypatch-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴commit-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴fsmonitor-watchman.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴post-update.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴pre-applypatch.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴pre-commit.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴pre-merge-commit.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴pre-push.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴pre-rebase.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴pre-receive.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴prepare-commit-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴push-to-checkout.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴sendemail-validate.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴update.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴index -/0o100/regular file rw-r--r--/0o644
│ │ ├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴exclude -/0o100/regular file rw-r--r--/0o644
│ │ ├╴logs/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴heads/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ │ ├╴branch1 -/0o100/regular file rw-r--r--/0o644
│ │ │ │ │ ├╴master -/0o100/regular file rw-r--r--/0o644
│ │ ├╴objects/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴4b/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴825dc642cb6eb9a060e54bf8d69288fbee4904 -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴c7/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴237b04f07b7143793bb38a0efa80388abae5d5 -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴pack/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴heads/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴branch1 -/0o100/regular file rw-r--r--/0o644
│ │ │ │ ├╴master -/0o100/regular file rw-r--r--/0o644
│ │ │ ├╴tags/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴worktrees/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴worktree1/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴commondir -/0o100/regular file rw-r--r--/0o644
│ │ │ │ ├╴gitdir -/0o100/regular file rw-r--r--/0o644
│ │ │ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ │ ├╴index -/0o100/regular file rw-r--r--/0o644
│ │ │ │ ├╴logs/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ │ ├╴ORIG_HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ │ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
├╴worktree2/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴.git -/0o100/regular file rw-r--r--/0o644
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './repo/.git/worktrees' './worktree2'
./repo/.git/worktrees/ d/0o040/directory rwxr-xr-x/0o755
├╴worktree1/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴commondir -/0o100/regular file rw-r--r--/0o644
│ │ 1 ../..\n
│ │ 2
│ ├╴gitdir -/0o100/regular file rw-r--r--/0o644
│ │ 1 C:/Program Files/Git/test_git/worktree2/.git\n
│ │ 2
│ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ 1 ref: refs/heads/branch1\n
│ │ 2
│ ├╴index -/0o100/regular file rw-r--r--/0o644
│ ├╴logs/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 0000000000000000000000000000000000000000 c7237b04f07b7143793bb38a0efa80388abae5d5 Han Jiang <jhcarl0814@gmail.com> 1780113433 +1200\n
│ │ │ 2 c7237b04f07b7143793bb38a0efa80388abae5d5 c7237b04f07b7143793bb38a0efa80388abae5d5 Han Jiang <jhcarl0814@gmail.com> 1780113433 +1200\treset: moving to HEAD\n
│ │ │ 3
│ ├╴ORIG_HEAD -/0o100/regular file rw-r--r--/0o644
│ │ 1 c7237b04f07b7143793bb38a0efa80388abae5d5\n
│ │ 2
│ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
./worktree2/ d/0o040/directory rwxr-xr-x/0o755
├╴.git -/0o100/regular file rw-r--r--/0o644
│ 1 gitdir: C:/Program Files/Git/test_git/repo/.git/worktrees/worktree1\n
│ 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' init
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master (root-commit) 0cc1157] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch branch1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree list --verbose
C:/Program Files/Git/test_git/repo 0cc1157 [master]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 0cc1157 - 2026-05-30 15:57 (1 second ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/heads/branch1)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree add --lock '../worktree1' branch1
Preparing worktree (checking out 'branch1')
HEAD is now at 0cc1157 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' rev-parse --path-format=absolute --absolute-git-dir --git-common-dir --show-toplevel
C:/Program Files/Git/test_git/repo/.git
C:/Program Files/Git/test_git/repo/.git
C:/Program Files/Git/test_git/repo
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree list --verbose
C:/Program Files/Git/test_git/repo 0cc1157 [master]
C:/Program Files/Git/test_git/worktree1 0cc1157 [branch1]
locked: added with --lock
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 0cc1157 - 2026-05-30 15:57 (3 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/heads/branch1)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' rev-parse --path-format=absolute --absolute-git-dir --git-common-dir --show-toplevel
C:/Program Files/Git/test_git/repo/.git/worktrees/worktree1
C:/Program Files/Git/test_git/repo/.git
C:/Program Files/Git/test_git/worktree1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' worktree list --verbose
C:/Program Files/Git/test_git/repo 0cc1157 [master]
C:/Program Files/Git/test_git/worktree1 0cc1157 [branch1]
locked: added with --lock
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' lg --all
* 0cc1157 - 2026-05-30 15:57 (4 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/branch1, refs/heads/master)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree move '../worktree1' '../worktree2'
fatal: cannot move a locked working tree, lock reason: added with --lock
use 'move -f -f' to override or unlock first
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree move --force '../worktree1' '../worktree2'
fatal: cannot move a locked working tree, lock reason: added with --lock
use 'move -f -f' to override or unlock first
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree move --force --force '../worktree1' '../worktree2'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' rev-parse --path-format=absolute --absolute-git-dir --git-common-dir --show-toplevel
C:/Program Files/Git/test_git/repo/.git
C:/Program Files/Git/test_git/repo/.git
C:/Program Files/Git/test_git/repo
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree list --verbose
C:/Program Files/Git/test_git/repo 0cc1157 [master]
C:/Program Files/Git/test_git/worktree2 0cc1157 [branch1]
locked: added with --lock
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 0cc1157 - 2026-05-30 15:57 (7 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/heads/branch1)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree2' rev-parse --path-format=absolute --absolute-git-dir --git-common-dir --show-toplevel
C:/Program Files/Git/test_git/repo/.git/worktrees/worktree1
C:/Program Files/Git/test_git/repo/.git
C:/Program Files/Git/test_git/worktree2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree2' worktree list --verbose
C:/Program Files/Git/test_git/repo 0cc1157 [master]
C:/Program Files/Git/test_git/worktree2 0cc1157 [branch1]
locked: added with --lock
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree2' lg --all
* 0cc1157 - 2026-05-30 15:57 (8 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/branch1, refs/heads/master)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' init
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master (root-commit) f112198] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch branch1; git -C './repo' branch branch2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree list --verbose
C:/Program Files/Git/test_git/repo f112198 [master]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* f112198 - 2026-05-30 15:57 (1 second ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/heads/branch2, refs/heads/branch1)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree add '../worktree1' branch1
Preparing worktree (checking out 'branch1')
HEAD is now at f112198 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree add '../worktree2' branch2
Preparing worktree (checking out 'branch2')
HEAD is now at f112198 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' rev-parse --path-format=absolute --absolute-git-dir --git-common-dir --show-toplevel
C:/Program Files/Git/test_git/repo/.git
C:/Program Files/Git/test_git/repo/.git
C:/Program Files/Git/test_git/repo
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree list --verbose
C:/Program Files/Git/test_git/repo f112198 [master]
C:/Program Files/Git/test_git/worktree1 f112198 [branch1]
C:/Program Files/Git/test_git/worktree2 f112198 [branch2]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* f112198 - 2026-05-30 15:57 (3 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/heads/branch2, refs/heads/branch1)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' rev-parse --path-format=absolute --absolute-git-dir --git-common-dir --show-toplevel
C:/Program Files/Git/test_git/repo/.git/worktrees/worktree1
C:/Program Files/Git/test_git/repo/.git
C:/Program Files/Git/test_git/worktree1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' worktree list --verbose
C:/Program Files/Git/test_git/repo f112198 [master]
C:/Program Files/Git/test_git/worktree1 f112198 [branch1]
C:/Program Files/Git/test_git/worktree2 f112198 [branch2]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' lg --all
* f112198 - 2026-05-30 15:57 (5 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/branch1, refs/heads/master, refs/heads/branch2)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree2' rev-parse --path-format=absolute --absolute-git-dir --git-common-dir --show-toplevel
C:/Program Files/Git/test_git/repo/.git/worktrees/worktree2
C:/Program Files/Git/test_git/repo/.git
C:/Program Files/Git/test_git/worktree2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree2' worktree list --verbose
C:/Program Files/Git/test_git/repo f112198 [master]
C:/Program Files/Git/test_git/worktree1 f112198 [branch1]
C:/Program Files/Git/test_git/worktree2 f112198 [branch2]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree2' lg --all
* f112198 - 2026-05-30 15:57 (6 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/branch2, refs/heads/master, refs/heads/branch1)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ rm --force --recursive -- './worktree2'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree move '../worktree1' '../worktree2'
fatal: '../worktree2' is a missing but already registered worktree;
use 'move -f' to override, or 'prune' or 'remove' to clear
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree move --force '../worktree1' '../worktree2'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' rev-parse --path-format=absolute --absolute-git-dir --git-common-dir --show-toplevel
C:/Program Files/Git/test_git/repo/.git
C:/Program Files/Git/test_git/repo/.git
C:/Program Files/Git/test_git/repo
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree list --verbose
C:/Program Files/Git/test_git/repo f112198 [master]
C:/Program Files/Git/test_git/worktree2 f112198 [branch1]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* f112198 - 2026-05-30 15:57 (8 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/heads/branch2, refs/heads/branch1)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree2' rev-parse --path-format=absolute --absolute-git-dir --git-common-dir --show-toplevel
C:/Program Files/Git/test_git/repo/.git/worktrees/worktree1
C:/Program Files/Git/test_git/repo/.git
C:/Program Files/Git/test_git/worktree2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree2' worktree list --verbose
C:/Program Files/Git/test_git/repo f112198 [master]
C:/Program Files/Git/test_git/worktree2 f112198 [branch1]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree2' lg --all
* f112198 - 2026-05-30 15:57 (10 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/branch1, refs/heads/master, refs/heads/branch2)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' init
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master (root-commit) 821d89b] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch branch1; git -C './repo' branch branch2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree list --verbose
C:/Program Files/Git/test_git/repo 821d89b [master]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 821d89b - 2026-05-30 15:58 (1 second ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/heads/branch2, refs/heads/branch1)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree add '../worktree1' branch1
Preparing worktree (checking out 'branch1')
HEAD is now at 821d89b 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree add --lock '../worktree2' branch2
Preparing worktree (checking out 'branch2')
HEAD is now at 821d89b 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' rev-parse --path-format=absolute --absolute-git-dir --git-common-dir --show-toplevel
C:/Program Files/Git/test_git/repo/.git
C:/Program Files/Git/test_git/repo/.git
C:/Program Files/Git/test_git/repo
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree list --verbose
C:/Program Files/Git/test_git/repo 821d89b [master]
C:/Program Files/Git/test_git/worktree1 821d89b [branch1]
C:/Program Files/Git/test_git/worktree2 821d89b [branch2]
locked: added with --lock
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 821d89b - 2026-05-30 15:58 (4 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/heads/branch2, refs/heads/branch1)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' rev-parse --path-format=absolute --absolute-git-dir --git-common-dir --show-toplevel
C:/Program Files/Git/test_git/repo/.git/worktrees/worktree1
C:/Program Files/Git/test_git/repo/.git
C:/Program Files/Git/test_git/worktree1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' worktree list --verbose
C:/Program Files/Git/test_git/repo 821d89b [master]
C:/Program Files/Git/test_git/worktree1 821d89b [branch1]
C:/Program Files/Git/test_git/worktree2 821d89b [branch2]
locked: added with --lock
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' lg --all
* 821d89b - 2026-05-30 15:58 (5 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/branch1, refs/heads/master, refs/heads/branch2)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree2' rev-parse --path-format=absolute --absolute-git-dir --git-common-dir --show-toplevel
C:/Program Files/Git/test_git/repo/.git/worktrees/worktree2
C:/Program Files/Git/test_git/repo/.git
C:/Program Files/Git/test_git/worktree2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree2' worktree list --verbose
C:/Program Files/Git/test_git/repo 821d89b [master]
C:/Program Files/Git/test_git/worktree1 821d89b [branch1]
C:/Program Files/Git/test_git/worktree2 821d89b [branch2]
locked: added with --lock
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree2' lg --all
* 821d89b - 2026-05-30 15:58 (6 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/branch2, refs/heads/master, refs/heads/branch1)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ rm --force --recursive -- './worktree2'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree move '../worktree1' '../worktree2'
fatal: '../worktree2' is a missing but locked worktree;
use 'move -f -f' to override, or 'unlock' and 'prune' or 'remove' to clear
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree move --force '../worktree1' '../worktree2'
fatal: '../worktree2' is a missing but locked worktree;
use 'move -f -f' to override, or 'unlock' and 'prune' or 'remove' to clear
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree move --force --force '../worktree1' '../worktree2'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' rev-parse --path-format=absolute --absolute-git-dir --git-common-dir --show-toplevel
C:/Program Files/Git/test_git/repo/.git
C:/Program Files/Git/test_git/repo/.git
C:/Program Files/Git/test_git/repo
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree list --verbose
C:/Program Files/Git/test_git/repo 821d89b [master]
C:/Program Files/Git/test_git/worktree2 821d89b [branch1]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 821d89b - 2026-05-30 15:58 (9 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/heads/branch2, refs/heads/branch1)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree2' rev-parse --path-format=absolute --absolute-git-dir --git-common-dir --show-toplevel
C:/Program Files/Git/test_git/repo/.git/worktrees/worktree1
C:/Program Files/Git/test_git/repo/.git
C:/Program Files/Git/test_git/worktree2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree2' worktree list --verbose
C:/Program Files/Git/test_git/repo 821d89b [master]
C:/Program Files/Git/test_git/worktree2 821d89b [branch1]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree2' lg --all
* 821d89b - 2026-05-30 15:58 (10 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/branch1, refs/heads/master, refs/heads/branch2)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' init
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master (root-commit) a138e44] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch branch1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree list --verbose
C:/Program Files/Git/test_git/repo a138e44 [master]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* a138e44 - 2026-05-30 15:58 (1 second ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/heads/branch1)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree add '../worktree1' branch1
Preparing worktree (checking out 'branch1')
HEAD is now at a138e44 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' rev-parse --path-format=absolute --absolute-git-dir --git-common-dir --show-toplevel
C:/Program Files/Git/test_git/repo/.git
C:/Program Files/Git/test_git/repo/.git
C:/Program Files/Git/test_git/repo
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree list --verbose
C:/Program Files/Git/test_git/repo a138e44 [master]
C:/Program Files/Git/test_git/worktree1 a138e44 [branch1]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* a138e44 - 2026-05-30 15:58 (3 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/heads/branch1)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' rev-parse --path-format=absolute --absolute-git-dir --git-common-dir --show-toplevel
C:/Program Files/Git/test_git/repo/.git/worktrees/worktree1
C:/Program Files/Git/test_git/repo/.git
C:/Program Files/Git/test_git/worktree1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' worktree list --verbose
C:/Program Files/Git/test_git/repo a138e44 [master]
C:/Program Files/Git/test_git/worktree1 a138e44 [branch1]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' lg --all
* a138e44 - 2026-05-30 15:58 (4 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/branch1, refs/heads/master)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ tree '.'
./ d/0o040/directory rwxr-xr-x/0o755
├╴repo/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴.git/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴COMMIT_EDITMSG -/0o100/regular file rw-r--r--/0o644
│ │ ├╴config -/0o100/regular file rw-r--r--/0o644
│ │ ├╴description -/0o100/regular file rw-r--r--/0o644
│ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ ├╴hooks/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴applypatch-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴commit-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴fsmonitor-watchman.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴post-update.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴pre-applypatch.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴pre-commit.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴pre-merge-commit.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴pre-push.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴pre-rebase.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴pre-receive.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴prepare-commit-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴push-to-checkout.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴sendemail-validate.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴update.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴index -/0o100/regular file rw-r--r--/0o644
│ │ ├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴exclude -/0o100/regular file rw-r--r--/0o644
│ │ ├╴logs/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴heads/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ │ ├╴branch1 -/0o100/regular file rw-r--r--/0o644
│ │ │ │ │ ├╴master -/0o100/regular file rw-r--r--/0o644
│ │ ├╴objects/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴4b/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴825dc642cb6eb9a060e54bf8d69288fbee4904 -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴a1/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴38e449605001ffb7eb08cba68d9ebcb132f803 -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴pack/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴heads/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴branch1 -/0o100/regular file rw-r--r--/0o644
│ │ │ │ ├╴master -/0o100/regular file rw-r--r--/0o644
│ │ │ ├╴tags/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴worktrees/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴worktree1/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴commondir -/0o100/regular file rw-r--r--/0o644
│ │ │ │ ├╴gitdir -/0o100/regular file rw-r--r--/0o644
│ │ │ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ │ ├╴index -/0o100/regular file rw-r--r--/0o644
│ │ │ │ ├╴logs/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ │ ├╴ORIG_HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ │ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
├╴worktree1/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴.git -/0o100/regular file rw-r--r--/0o644
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' worktree remove '../repo'
fatal: '../repo' is a main working tree
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree remove '../worktree1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree list --verbose
C:/Program Files/Git/test_git/repo a138e44 [master]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* a138e44 - 2026-05-30 15:58 (18 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/heads/branch1)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ tree '.'
./ d/0o040/directory rwxr-xr-x/0o755
├╴repo/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴.git/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴COMMIT_EDITMSG -/0o100/regular file rw-r--r--/0o644
│ │ ├╴config -/0o100/regular file rw-r--r--/0o644
│ │ ├╴description -/0o100/regular file rw-r--r--/0o644
│ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ ├╴hooks/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴applypatch-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴commit-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴fsmonitor-watchman.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴post-update.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴pre-applypatch.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴pre-commit.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴pre-merge-commit.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴pre-push.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴pre-rebase.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴pre-receive.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴prepare-commit-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴push-to-checkout.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴sendemail-validate.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴update.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴index -/0o100/regular file rw-r--r--/0o644
│ │ ├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴exclude -/0o100/regular file rw-r--r--/0o644
│ │ ├╴logs/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴heads/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ │ ├╴branch1 -/0o100/regular file rw-r--r--/0o644
│ │ │ │ │ ├╴master -/0o100/regular file rw-r--r--/0o644
│ │ ├╴objects/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴4b/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴825dc642cb6eb9a060e54bf8d69288fbee4904 -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴a1/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴38e449605001ffb7eb08cba68d9ebcb132f803 -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴pack/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴heads/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴branch1 -/0o100/regular file rw-r--r--/0o644
│ │ │ │ ├╴master -/0o100/regular file rw-r--r--/0o644
│ │ │ ├╴tags/ d/0o040/directory rwxr-xr-x/0o755
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' init
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master (root-commit) 480899a] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch branch1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree list --verbose
C:/Program Files/Git/test_git/repo 480899a [master]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 480899a - 2026-05-30 15:58 (1 second ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/heads/branch1)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree add '../worktree1' branch1
Preparing worktree (checking out 'branch1')
HEAD is now at 480899a 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' rev-parse --path-format=absolute --absolute-git-dir --git-common-dir --show-toplevel
C:/Program Files/Git/test_git/repo/.git
C:/Program Files/Git/test_git/repo/.git
C:/Program Files/Git/test_git/repo
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree list --verbose
C:/Program Files/Git/test_git/repo 480899a [master]
C:/Program Files/Git/test_git/worktree1 480899a [branch1]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 480899a - 2026-05-30 15:58 (3 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/heads/branch1)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' rev-parse --path-format=absolute --absolute-git-dir --git-common-dir --show-toplevel
C:/Program Files/Git/test_git/repo/.git/worktrees/worktree1
C:/Program Files/Git/test_git/repo/.git
C:/Program Files/Git/test_git/worktree1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' worktree list --verbose
C:/Program Files/Git/test_git/repo 480899a [master]
C:/Program Files/Git/test_git/worktree1 480899a [branch1]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' lg --all
* 480899a - 2026-05-30 15:58 (4 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/branch1, refs/heads/master)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ touch -- './worktree1/file'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree remove '../worktree1'
fatal: '../worktree1' contains modified or untracked files, use --force to delete it
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree remove --force '../worktree1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree list --verbose
C:/Program Files/Git/test_git/repo 480899a [master]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 480899a - 2026-05-30 15:58 (6 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/heads/branch1)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' init
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master (root-commit) 61d2074] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch branch1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree list --verbose
C:/Program Files/Git/test_git/repo 61d2074 [master]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 61d2074 - 2026-05-30 15:59 (1 second ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/heads/branch1)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree add --lock '../worktree1' branch1
Preparing worktree (checking out 'branch1')
HEAD is now at 61d2074 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' rev-parse --path-format=absolute --absolute-git-dir --git-common-dir --show-toplevel
C:/Program Files/Git/test_git/repo/.git
C:/Program Files/Git/test_git/repo/.git
C:/Program Files/Git/test_git/repo
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree list --verbose
C:/Program Files/Git/test_git/repo 61d2074 [master]
C:/Program Files/Git/test_git/worktree1 61d2074 [branch1]
locked: added with --lock
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 61d2074 - 2026-05-30 15:59 (3 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/heads/branch1)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' rev-parse --path-format=absolute --absolute-git-dir --git-common-dir --show-toplevel
C:/Program Files/Git/test_git/repo/.git/worktrees/worktree1
C:/Program Files/Git/test_git/repo/.git
C:/Program Files/Git/test_git/worktree1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' worktree list --verbose
C:/Program Files/Git/test_git/repo 61d2074 [master]
C:/Program Files/Git/test_git/worktree1 61d2074 [branch1]
locked: added with --lock
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' lg --all
* 61d2074 - 2026-05-30 15:59 (4 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/branch1, refs/heads/master)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree remove '../worktree1'
fatal: cannot remove a locked working tree, lock reason: added with --lock
use 'remove -f -f' to override or unlock first
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree remove --force '../worktree1'
fatal: cannot remove a locked working tree, lock reason: added with --lock
use 'remove -f -f' to override or unlock first
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree remove --force --force '../worktree1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree list --verbose
C:/Program Files/Git/test_git/repo 61d2074 [master]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 61d2074 - 2026-05-30 15:59 (6 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/heads/branch1)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' init
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master (root-commit) 24b2871] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch branch1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree list --verbose
C:/Program Files/Git/test_git/repo 24b2871 [master]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 24b2871 - 2026-05-30 15:59 (1 second ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/heads/branch1)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree add '../worktree1' branch1
Preparing worktree (checking out 'branch1')
HEAD is now at 24b2871 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree list --verbose
C:/Program Files/Git/test_git/repo 24b2871 [master]
C:/Program Files/Git/test_git/worktree1 24b2871 [branch1]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 24b2871 - 2026-05-30 15:59 (2 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/heads/branch1)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' worktree list --verbose
C:/Program Files/Git/test_git/repo 24b2871 [master]
C:/Program Files/Git/test_git/worktree1 24b2871 [branch1]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' lg --all
* 24b2871 - 2026-05-30 15:59 (3 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/branch1, refs/heads/master)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ tree '.'
./ d/0o040/directory rwxr-xr-x/0o755
├╴repo/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴.git/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴COMMIT_EDITMSG -/0o100/regular file rw-r--r--/0o644
│ │ ├╴config -/0o100/regular file rw-r--r--/0o644
│ │ ├╴description -/0o100/regular file rw-r--r--/0o644
│ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ ├╴hooks/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴applypatch-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴commit-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴fsmonitor-watchman.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴post-update.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴pre-applypatch.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴pre-commit.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴pre-merge-commit.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴pre-push.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴pre-rebase.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴pre-receive.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴prepare-commit-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴push-to-checkout.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴sendemail-validate.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴update.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴index -/0o100/regular file rw-r--r--/0o644
│ │ ├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴exclude -/0o100/regular file rw-r--r--/0o644
│ │ ├╴logs/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴heads/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ │ ├╴branch1 -/0o100/regular file rw-r--r--/0o644
│ │ │ │ │ ├╴master -/0o100/regular file rw-r--r--/0o644
│ │ ├╴objects/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴24/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴b28711ae7e83619089f54944ffbaaa83c7319a -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴4b/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴825dc642cb6eb9a060e54bf8d69288fbee4904 -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴pack/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴heads/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴branch1 -/0o100/regular file rw-r--r--/0o644
│ │ │ │ ├╴master -/0o100/regular file rw-r--r--/0o644
│ │ │ ├╴tags/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴worktrees/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴worktree1/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴commondir -/0o100/regular file rw-r--r--/0o644
│ │ │ │ ├╴gitdir -/0o100/regular file rw-r--r--/0o644
│ │ │ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ │ ├╴index -/0o100/regular file rw-r--r--/0o644
│ │ │ │ ├╴logs/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ │ ├╴ORIG_HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ │ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
├╴worktree1/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴.git -/0o100/regular file rw-r--r--/0o644
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ rm --force --recursive -- './worktree1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree list --verbose
C:/Program Files/Git/test_git/repo 24b2871 [master]
C:/Program Files/Git/test_git/worktree1 24b2871 [branch1]
prunable: gitdir file points to non-existent location
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree lock '../worktree1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree list --verbose
C:/Program Files/Git/test_git/repo 24b2871 [master]
C:/Program Files/Git/test_git/worktree1 24b2871 [branch1] locked
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree prune --dry-run
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree list --verbose
C:/Program Files/Git/test_git/repo 24b2871 [master]
C:/Program Files/Git/test_git/worktree1 24b2871 [branch1] locked
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree prune --verbose
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree list --verbose
C:/Program Files/Git/test_git/repo 24b2871 [master]
C:/Program Files/Git/test_git/worktree1 24b2871 [branch1] locked
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree unlock '../worktree1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree list --verbose
C:/Program Files/Git/test_git/repo 24b2871 [master]
C:/Program Files/Git/test_git/worktree1 24b2871 [branch1]
prunable: gitdir file points to non-existent location
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree prune --dry-run
Removing worktrees/worktree1: gitdir file points to non-existent location
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree list --verbose
C:/Program Files/Git/test_git/repo 24b2871 [master]
C:/Program Files/Git/test_git/worktree1 24b2871 [branch1]
prunable: gitdir file points to non-existent location
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree prune --verbose
Removing worktrees/worktree1: gitdir file points to non-existent location
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree list --verbose
C:/Program Files/Git/test_git/repo 24b2871 [master]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ tree '.'
./ d/0o040/directory rwxr-xr-x/0o755
├╴repo/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴.git/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴COMMIT_EDITMSG -/0o100/regular file rw-r--r--/0o644
│ │ ├╴config -/0o100/regular file rw-r--r--/0o644
│ │ ├╴description -/0o100/regular file rw-r--r--/0o644
│ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ ├╴hooks/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴applypatch-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴commit-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴fsmonitor-watchman.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴post-update.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴pre-applypatch.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴pre-commit.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴pre-merge-commit.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴pre-push.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴pre-rebase.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴pre-receive.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴prepare-commit-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴push-to-checkout.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴sendemail-validate.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴update.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴index -/0o100/regular file rw-r--r--/0o644
│ │ ├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴exclude -/0o100/regular file rw-r--r--/0o644
│ │ ├╴logs/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴heads/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ │ ├╴branch1 -/0o100/regular file rw-r--r--/0o644
│ │ │ │ │ ├╴master -/0o100/regular file rw-r--r--/0o644
│ │ ├╴objects/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴24/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴b28711ae7e83619089f54944ffbaaa83c7319a -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴4b/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴825dc642cb6eb9a060e54bf8d69288fbee4904 -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴pack/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴heads/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴branch1 -/0o100/regular file rw-r--r--/0o644
│ │ │ │ ├╴master -/0o100/regular file rw-r--r--/0o644
│ │ │ ├╴tags/ d/0o040/directory rwxr-xr-x/0o755
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' init
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master (root-commit) 4a77c97] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch branch1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree list --verbose
C:/Program Files/Git/test_git/repo 4a77c97 [master]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 4a77c97 - 2026-05-30 15:59 (1 second ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/heads/branch1)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree add '../worktree1' branch1
Preparing worktree (checking out 'branch1')
HEAD is now at 4a77c97 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree list --verbose
C:/Program Files/Git/test_git/repo 4a77c97 [master]
C:/Program Files/Git/test_git/worktree1 4a77c97 [branch1]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 4a77c97 - 2026-05-30 15:59 (3 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/heads/branch1)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' worktree list --verbose
C:/Program Files/Git/test_git/repo 4a77c97 [master]
C:/Program Files/Git/test_git/worktree1 4a77c97 [branch1]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' lg --all
* 4a77c97 - 2026-05-30 15:59 (3 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/branch1, refs/heads/master)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './repo/.git/worktrees'
./repo/.git/worktrees/ d/0o040/directory rwxr-xr-x/0o755
├╴worktree1/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴commondir -/0o100/regular file rw-r--r--/0o644
│ │ 1 ../..\n
│ │ 2
│ ├╴gitdir -/0o100/regular file rw-r--r--/0o644
│ │ 1 C:/Program Files/Git/test_git/worktree1/.git\n
│ │ 2
│ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ 1 ref: refs/heads/branch1\n
│ │ 2
│ ├╴index -/0o100/regular file rw-r--r--/0o644
│ ├╴logs/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 0000000000000000000000000000000000000000 4a77c97a2e0529a9fdd745fe8ac20e3e407f392f Han Jiang <jhcarl0814@gmail.com> 1780113596 +1200\n
│ │ │ 2 4a77c97a2e0529a9fdd745fe8ac20e3e407f392f 4a77c97a2e0529a9fdd745fe8ac20e3e407f392f Han Jiang <jhcarl0814@gmail.com> 1780113596 +1200\treset: moving to HEAD\n
│ │ │ 3
│ ├╴ORIG_HEAD -/0o100/regular file rw-r--r--/0o644
│ │ 1 4a77c97a2e0529a9fdd745fe8ac20e3e407f392f\n
│ │ 2
│ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree lock '../worktree1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './repo/.git/worktrees'
./repo/.git/worktrees/ d/0o040/directory rwxr-xr-x/0o755
├╴worktree1/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴commondir -/0o100/regular file rw-r--r--/0o644
│ │ 1 ../..\n
│ │ 2
│ ├╴gitdir -/0o100/regular file rw-r--r--/0o644
│ │ 1 C:/Program Files/Git/test_git/worktree1/.git\n
│ │ 2
│ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ 1 ref: refs/heads/branch1\n
│ │ 2
│ ├╴index -/0o100/regular file rw-r--r--/0o644
│ ├╴locked -/0o100/regular empty file rw-r--r--/0o644
│ │ 1
│ ├╴logs/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 0000000000000000000000000000000000000000 4a77c97a2e0529a9fdd745fe8ac20e3e407f392f Han Jiang <jhcarl0814@gmail.com> 1780113596 +1200\n
│ │ │ 2 4a77c97a2e0529a9fdd745fe8ac20e3e407f392f 4a77c97a2e0529a9fdd745fe8ac20e3e407f392f Han Jiang <jhcarl0814@gmail.com> 1780113596 +1200\treset: moving to HEAD\n
│ │ │ 3
│ ├╴ORIG_HEAD -/0o100/regular file rw-r--r--/0o644
│ │ 1 4a77c97a2e0529a9fdd745fe8ac20e3e407f392f\n
│ │ 2
│ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree unlock '../worktree1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './repo/.git/worktrees'
./repo/.git/worktrees/ d/0o040/directory rwxr-xr-x/0o755
├╴worktree1/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴commondir -/0o100/regular file rw-r--r--/0o644
│ │ 1 ../..\n
│ │ 2
│ ├╴gitdir -/0o100/regular file rw-r--r--/0o644
│ │ 1 C:/Program Files/Git/test_git/worktree1/.git\n
│ │ 2
│ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ 1 ref: refs/heads/branch1\n
│ │ 2
│ ├╴index -/0o100/regular file rw-r--r--/0o644
│ ├╴logs/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 0000000000000000000000000000000000000000 4a77c97a2e0529a9fdd745fe8ac20e3e407f392f Han Jiang <jhcarl0814@gmail.com> 1780113596 +1200\n
│ │ │ 2 4a77c97a2e0529a9fdd745fe8ac20e3e407f392f 4a77c97a2e0529a9fdd745fe8ac20e3e407f392f Han Jiang <jhcarl0814@gmail.com> 1780113596 +1200\treset: moving to HEAD\n
│ │ │ 3
│ ├╴ORIG_HEAD -/0o100/regular file rw-r--r--/0o644
│ │ 1 4a77c97a2e0529a9fdd745fe8ac20e3e407f392f\n
│ │ 2
│ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree lock --reason='lock reason' '../worktree1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './repo/.git/worktrees'
./repo/.git/worktrees/ d/0o040/directory rwxr-xr-x/0o755
├╴worktree1/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴commondir -/0o100/regular file rw-r--r--/0o644
│ │ 1 ../..\n
│ │ 2
│ ├╴gitdir -/0o100/regular file rw-r--r--/0o644
│ │ 1 C:/Program Files/Git/test_git/worktree1/.git\n
│ │ 2
│ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ 1 ref: refs/heads/branch1\n
│ │ 2
│ ├╴index -/0o100/regular file rw-r--r--/0o644
│ ├╴locked -/0o100/regular file rw-r--r--/0o644
│ │ 1 lock reason\n
│ │ 2
│ ├╴logs/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 0000000000000000000000000000000000000000 4a77c97a2e0529a9fdd745fe8ac20e3e407f392f Han Jiang <jhcarl0814@gmail.com> 1780113596 +1200\n
│ │ │ 2 4a77c97a2e0529a9fdd745fe8ac20e3e407f392f 4a77c97a2e0529a9fdd745fe8ac20e3e407f392f Han Jiang <jhcarl0814@gmail.com> 1780113596 +1200\treset: moving to HEAD\n
│ │ │ 3
│ ├╴ORIG_HEAD -/0o100/regular file rw-r--r--/0o644
│ │ 1 4a77c97a2e0529a9fdd745fe8ac20e3e407f392f\n
│ │ 2
│ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree unlock '../worktree1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './repo/.git/worktrees'
./repo/.git/worktrees/ d/0o040/directory rwxr-xr-x/0o755
├╴worktree1/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴commondir -/0o100/regular file rw-r--r--/0o644
│ │ 1 ../..\n
│ │ 2
│ ├╴gitdir -/0o100/regular file rw-r--r--/0o644
│ │ 1 C:/Program Files/Git/test_git/worktree1/.git\n
│ │ 2
│ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ 1 ref: refs/heads/branch1\n
│ │ 2
│ ├╴index -/0o100/regular file rw-r--r--/0o644
│ ├╴logs/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 0000000000000000000000000000000000000000 4a77c97a2e0529a9fdd745fe8ac20e3e407f392f Han Jiang <jhcarl0814@gmail.com> 1780113596 +1200\n
│ │ │ 2 4a77c97a2e0529a9fdd745fe8ac20e3e407f392f 4a77c97a2e0529a9fdd745fe8ac20e3e407f392f Han Jiang <jhcarl0814@gmail.com> 1780113596 +1200\treset: moving to HEAD\n
│ │ │ 3
│ ├╴ORIG_HEAD -/0o100/regular file rw-r--r--/0o644
│ │ 1 4a77c97a2e0529a9fdd745fe8ac20e3e407f392f\n
│ │ 2
│ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' init
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master (root-commit) f7bc1e9] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch branch1; git -C './repo' branch branch2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree list --verbose
C:/Program Files/Git/test_git/repo f7bc1e9 [master]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* f7bc1e9 - 2026-05-30 16:00 (1 second ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/heads/branch2, refs/heads/branch1)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree add '../worktree1' branch1
Preparing worktree (checking out 'branch1')
HEAD is now at f7bc1e9 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree add '../worktree2' branch2
Preparing worktree (checking out 'branch2')
HEAD is now at f7bc1e9 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree list --verbose
C:/Program Files/Git/test_git/repo f7bc1e9 [master]
C:/Program Files/Git/test_git/worktree1 f7bc1e9 [branch1]
C:/Program Files/Git/test_git/worktree2 f7bc1e9 [branch2]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* f7bc1e9 - 2026-05-30 16:00 (3 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/heads/branch2, refs/heads/branch1)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' worktree list --verbose
C:/Program Files/Git/test_git/repo f7bc1e9 [master]
C:/Program Files/Git/test_git/worktree1 f7bc1e9 [branch1]
C:/Program Files/Git/test_git/worktree2 f7bc1e9 [branch2]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' lg --all
* f7bc1e9 - 2026-05-30 16:00 (4 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/branch1, refs/heads/master, refs/heads/branch2)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree2' worktree list --verbose
C:/Program Files/Git/test_git/repo f7bc1e9 [master]
C:/Program Files/Git/test_git/worktree1 f7bc1e9 [branch1]
C:/Program Files/Git/test_git/worktree2 f7bc1e9 [branch2]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree2' lg --all
* f7bc1e9 - 2026-05-30 16:00 (5 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/branch2, refs/heads/master, refs/heads/branch1)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './repo/.git/worktrees' './worktree1' './worktree2'
./repo/.git/worktrees/ d/0o040/directory rwxr-xr-x/0o755
├╴worktree1/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴commondir -/0o100/regular file rw-r--r--/0o644
│ │ 1 ../..\n
│ │ 2
│ ├╴gitdir -/0o100/regular file rw-r--r--/0o644
│ │ 1 C:/Program Files/Git/test_git/worktree1/.git\n
│ │ 2
│ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ 1 ref: refs/heads/branch1\n
│ │ 2
│ ├╴index -/0o100/regular file rw-r--r--/0o644
│ ├╴logs/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 0000000000000000000000000000000000000000 f7bc1e928c7f1c1e10e7089acc18aef64bf81e18 Han Jiang <jhcarl0814@gmail.com> 1780113631 +1200\n
│ │ │ 2 f7bc1e928c7f1c1e10e7089acc18aef64bf81e18 f7bc1e928c7f1c1e10e7089acc18aef64bf81e18 Han Jiang <jhcarl0814@gmail.com> 1780113631 +1200\treset: moving to HEAD\n
│ │ │ 3
│ ├╴ORIG_HEAD -/0o100/regular file rw-r--r--/0o644
│ │ 1 f7bc1e928c7f1c1e10e7089acc18aef64bf81e18\n
│ │ 2
│ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
├╴worktree2/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴commondir -/0o100/regular file rw-r--r--/0o644
│ │ 1 ../..\n
│ │ 2
│ ├╴gitdir -/0o100/regular file rw-r--r--/0o644
│ │ 1 C:/Program Files/Git/test_git/worktree2/.git\n
│ │ 2
│ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ 1 ref: refs/heads/branch2\n
│ │ 2
│ ├╴index -/0o100/regular file rw-r--r--/0o644
│ ├╴logs/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 0000000000000000000000000000000000000000 f7bc1e928c7f1c1e10e7089acc18aef64bf81e18 Han Jiang <jhcarl0814@gmail.com> 1780113632 +1200\n
│ │ │ 2 f7bc1e928c7f1c1e10e7089acc18aef64bf81e18 f7bc1e928c7f1c1e10e7089acc18aef64bf81e18 Han Jiang <jhcarl0814@gmail.com> 1780113632 +1200\treset: moving to HEAD\n
│ │ │ 3
│ ├╴ORIG_HEAD -/0o100/regular file rw-r--r--/0o644
│ │ 1 f7bc1e928c7f1c1e10e7089acc18aef64bf81e18\n
│ │ 2
│ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
./worktree1/ d/0o040/directory rwxr-xr-x/0o755
├╴.git -/0o100/regular file rw-r--r--/0o644
│ 1 gitdir: C:/Program Files/Git/test_git/repo/.git/worktrees/worktree1\n
│ 2
./worktree2/ d/0o040/directory rwxr-xr-x/0o755
├╴.git -/0o100/regular file rw-r--r--/0o644
│ 1 gitdir: C:/Program Files/Git/test_git/repo/.git/worktrees/worktree2\n
│ 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ mv './worktree1' './worktree1_'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ mv './worktree2' './worktree2_'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1_' worktree repair
repair: gitdir incorrect: C:/Program Files/Git/test_git/repo/.git/worktrees/worktree1/gitdir
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './repo/.git/worktrees'
./repo/.git/worktrees/ d/0o040/directory rwxr-xr-x/0o755
├╴worktree1/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴commondir -/0o100/regular file rw-r--r--/0o644
│ │ 1 ../..\n
│ │ 2
│ ├╴gitdir -/0o100/regular file rw-r--r--/0o644
│ │ 1 C:/Program Files/Git/test_git/worktree1_/.git\n
│ │ 2
│ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ 1 ref: refs/heads/branch1\n
│ │ 2
│ ├╴index -/0o100/regular file rw-r--r--/0o644
│ ├╴logs/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 0000000000000000000000000000000000000000 f7bc1e928c7f1c1e10e7089acc18aef64bf81e18 Han Jiang <jhcarl0814@gmail.com> 1780113631 +1200\n
│ │ │ 2 f7bc1e928c7f1c1e10e7089acc18aef64bf81e18 f7bc1e928c7f1c1e10e7089acc18aef64bf81e18 Han Jiang <jhcarl0814@gmail.com> 1780113631 +1200\treset: moving to HEAD\n
│ │ │ 3
│ ├╴ORIG_HEAD -/0o100/regular file rw-r--r--/0o644
│ │ 1 f7bc1e928c7f1c1e10e7089acc18aef64bf81e18\n
│ │ 2
│ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
├╴worktree2/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴commondir -/0o100/regular file rw-r--r--/0o644
│ │ 1 ../..\n
│ │ 2
│ ├╴gitdir -/0o100/regular file rw-r--r--/0o644
│ │ 1 C:/Program Files/Git/test_git/worktree2/.git\n
│ │ 2
│ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ 1 ref: refs/heads/branch2\n
│ │ 2
│ ├╴index -/0o100/regular file rw-r--r--/0o644
│ ├╴logs/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 0000000000000000000000000000000000000000 f7bc1e928c7f1c1e10e7089acc18aef64bf81e18 Han Jiang <jhcarl0814@gmail.com> 1780113632 +1200\n
│ │ │ 2 f7bc1e928c7f1c1e10e7089acc18aef64bf81e18 f7bc1e928c7f1c1e10e7089acc18aef64bf81e18 Han Jiang <jhcarl0814@gmail.com> 1780113632 +1200\treset: moving to HEAD\n
│ │ │ 3
│ ├╴ORIG_HEAD -/0o100/regular file rw-r--r--/0o644
│ │ 1 f7bc1e928c7f1c1e10e7089acc18aef64bf81e18\n
│ │ 2
│ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' init
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master (root-commit) 7402c38] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch branch1; git -C './repo' branch branch2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree list --verbose
C:/Program Files/Git/test_git/repo 7402c38 [master]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 7402c38 - 2026-05-30 16:00 (1 second ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/heads/branch2, refs/heads/branch1)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree add '../worktree1' branch1
Preparing worktree (checking out 'branch1')
HEAD is now at 7402c38 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree add '../worktree2' branch2
Preparing worktree (checking out 'branch2')
HEAD is now at 7402c38 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree list --verbose
C:/Program Files/Git/test_git/repo 7402c38 [master]
C:/Program Files/Git/test_git/worktree1 7402c38 [branch1]
C:/Program Files/Git/test_git/worktree2 7402c38 [branch2]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 7402c38 - 2026-05-30 16:00 (3 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/heads/branch2, refs/heads/branch1)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' worktree list --verbose
C:/Program Files/Git/test_git/repo 7402c38 [master]
C:/Program Files/Git/test_git/worktree1 7402c38 [branch1]
C:/Program Files/Git/test_git/worktree2 7402c38 [branch2]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' lg --all
* 7402c38 - 2026-05-30 16:00 (4 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/branch1, refs/heads/master, refs/heads/branch2)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree2' worktree list --verbose
C:/Program Files/Git/test_git/repo 7402c38 [master]
C:/Program Files/Git/test_git/worktree1 7402c38 [branch1]
C:/Program Files/Git/test_git/worktree2 7402c38 [branch2]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree2' lg --all
* 7402c38 - 2026-05-30 16:00 (5 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/branch2, refs/heads/master, refs/heads/branch1)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './repo/.git/worktrees' './worktree1' './worktree2'
./repo/.git/worktrees/ d/0o040/directory rwxr-xr-x/0o755
├╴worktree1/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴commondir -/0o100/regular file rw-r--r--/0o644
│ │ 1 ../..\n
│ │ 2
│ ├╴gitdir -/0o100/regular file rw-r--r--/0o644
│ │ 1 C:/Program Files/Git/test_git/worktree1/.git\n
│ │ 2
│ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ 1 ref: refs/heads/branch1\n
│ │ 2
│ ├╴index -/0o100/regular file rw-r--r--/0o644
│ ├╴logs/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 0000000000000000000000000000000000000000 7402c38cbb925426d25ade47313cab36ede84aec Han Jiang <jhcarl0814@gmail.com> 1780113661 +1200\n
│ │ │ 2 7402c38cbb925426d25ade47313cab36ede84aec 7402c38cbb925426d25ade47313cab36ede84aec Han Jiang <jhcarl0814@gmail.com> 1780113661 +1200\treset: moving to HEAD\n
│ │ │ 3
│ ├╴ORIG_HEAD -/0o100/regular file rw-r--r--/0o644
│ │ 1 7402c38cbb925426d25ade47313cab36ede84aec\n
│ │ 2
│ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
├╴worktree2/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴commondir -/0o100/regular file rw-r--r--/0o644
│ │ 1 ../..\n
│ │ 2
│ ├╴gitdir -/0o100/regular file rw-r--r--/0o644
│ │ 1 C:/Program Files/Git/test_git/worktree2/.git\n
│ │ 2
│ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ 1 ref: refs/heads/branch2\n
│ │ 2
│ ├╴index -/0o100/regular file rw-r--r--/0o644
│ ├╴logs/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 0000000000000000000000000000000000000000 7402c38cbb925426d25ade47313cab36ede84aec Han Jiang <jhcarl0814@gmail.com> 1780113662 +1200\n
│ │ │ 2 7402c38cbb925426d25ade47313cab36ede84aec 7402c38cbb925426d25ade47313cab36ede84aec Han Jiang <jhcarl0814@gmail.com> 1780113662 +1200\treset: moving to HEAD\n
│ │ │ 3
│ ├╴ORIG_HEAD -/0o100/regular file rw-r--r--/0o644
│ │ 1 7402c38cbb925426d25ade47313cab36ede84aec\n
│ │ 2
│ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
./worktree1/ d/0o040/directory rwxr-xr-x/0o755
├╴.git -/0o100/regular file rw-r--r--/0o644
│ 1 gitdir: C:/Program Files/Git/test_git/repo/.git/worktrees/worktree1\n
│ 2
./worktree2/ d/0o040/directory rwxr-xr-x/0o755
├╴.git -/0o100/regular file rw-r--r--/0o644
│ 1 gitdir: C:/Program Files/Git/test_git/repo/.git/worktrees/worktree2\n
│ 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ mv './worktree1' './worktree1_'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ mv './worktree2' './worktree2_'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1_' worktree repair '.'
repair: gitdir incorrect: C:/Program Files/Git/test_git/repo/.git/worktrees/worktree1/gitdir
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './repo/.git/worktrees'
./repo/.git/worktrees/ d/0o040/directory rwxr-xr-x/0o755
├╴worktree1/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴commondir -/0o100/regular file rw-r--r--/0o644
│ │ 1 ../..\n
│ │ 2
│ ├╴gitdir -/0o100/regular file rw-r--r--/0o644
│ │ 1 C:/Program Files/Git/test_git/worktree1_/.git\n
│ │ 2
│ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ 1 ref: refs/heads/branch1\n
│ │ 2
│ ├╴index -/0o100/regular file rw-r--r--/0o644
│ ├╴logs/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 0000000000000000000000000000000000000000 7402c38cbb925426d25ade47313cab36ede84aec Han Jiang <jhcarl0814@gmail.com> 1780113661 +1200\n
│ │ │ 2 7402c38cbb925426d25ade47313cab36ede84aec 7402c38cbb925426d25ade47313cab36ede84aec Han Jiang <jhcarl0814@gmail.com> 1780113661 +1200\treset: moving to HEAD\n
│ │ │ 3
│ ├╴ORIG_HEAD -/0o100/regular file rw-r--r--/0o644
│ │ 1 7402c38cbb925426d25ade47313cab36ede84aec\n
│ │ 2
│ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
├╴worktree2/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴commondir -/0o100/regular file rw-r--r--/0o644
│ │ 1 ../..\n
│ │ 2
│ ├╴gitdir -/0o100/regular file rw-r--r--/0o644
│ │ 1 C:/Program Files/Git/test_git/worktree2/.git\n
│ │ 2
│ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ 1 ref: refs/heads/branch2\n
│ │ 2
│ ├╴index -/0o100/regular file rw-r--r--/0o644
│ ├╴logs/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 0000000000000000000000000000000000000000 7402c38cbb925426d25ade47313cab36ede84aec Han Jiang <jhcarl0814@gmail.com> 1780113662 +1200\n
│ │ │ 2 7402c38cbb925426d25ade47313cab36ede84aec 7402c38cbb925426d25ade47313cab36ede84aec Han Jiang <jhcarl0814@gmail.com> 1780113662 +1200\treset: moving to HEAD\n
│ │ │ 3
│ ├╴ORIG_HEAD -/0o100/regular file rw-r--r--/0o644
│ │ 1 7402c38cbb925426d25ade47313cab36ede84aec\n
│ │ 2
│ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' init
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master (root-commit) bd2e50e] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch branch1; git -C './repo' branch branch2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree list --verbose
C:/Program Files/Git/test_git/repo bd2e50e [master]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* bd2e50e - 2026-05-30 16:01 (1 second ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/heads/branch2, refs/heads/branch1)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree add '../worktree1' branch1
Preparing worktree (checking out 'branch1')
HEAD is now at bd2e50e 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree add '../worktree2' branch2
Preparing worktree (checking out 'branch2')
HEAD is now at bd2e50e 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree list --verbose
C:/Program Files/Git/test_git/repo bd2e50e [master]
C:/Program Files/Git/test_git/worktree1 bd2e50e [branch1]
C:/Program Files/Git/test_git/worktree2 bd2e50e [branch2]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* bd2e50e - 2026-05-30 16:01 (3 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/heads/branch2, refs/heads/branch1)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' worktree list --verbose
C:/Program Files/Git/test_git/repo bd2e50e [master]
C:/Program Files/Git/test_git/worktree1 bd2e50e [branch1]
C:/Program Files/Git/test_git/worktree2 bd2e50e [branch2]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' lg --all
* bd2e50e - 2026-05-30 16:01 (4 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/branch1, refs/heads/master, refs/heads/branch2)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree2' worktree list --verbose
C:/Program Files/Git/test_git/repo bd2e50e [master]
C:/Program Files/Git/test_git/worktree1 bd2e50e [branch1]
C:/Program Files/Git/test_git/worktree2 bd2e50e [branch2]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree2' lg --all
* bd2e50e - 2026-05-30 16:01 (5 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/branch2, refs/heads/master, refs/heads/branch1)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './repo/.git/worktrees' './worktree1' './worktree2'
./repo/.git/worktrees/ d/0o040/directory rwxr-xr-x/0o755
├╴worktree1/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴commondir -/0o100/regular file rw-r--r--/0o644
│ │ 1 ../..\n
│ │ 2
│ ├╴gitdir -/0o100/regular file rw-r--r--/0o644
│ │ 1 C:/Program Files/Git/test_git/worktree1/.git\n
│ │ 2
│ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ 1 ref: refs/heads/branch1\n
│ │ 2
│ ├╴index -/0o100/regular file rw-r--r--/0o644
│ ├╴logs/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 0000000000000000000000000000000000000000 bd2e50e86e3babce88b0572b514133a0e9ecbea6 Han Jiang <jhcarl0814@gmail.com> 1780113691 +1200\n
│ │ │ 2 bd2e50e86e3babce88b0572b514133a0e9ecbea6 bd2e50e86e3babce88b0572b514133a0e9ecbea6 Han Jiang <jhcarl0814@gmail.com> 1780113691 +1200\treset: moving to HEAD\n
│ │ │ 3
│ ├╴ORIG_HEAD -/0o100/regular file rw-r--r--/0o644
│ │ 1 bd2e50e86e3babce88b0572b514133a0e9ecbea6\n
│ │ 2
│ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
├╴worktree2/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴commondir -/0o100/regular file rw-r--r--/0o644
│ │ 1 ../..\n
│ │ 2
│ ├╴gitdir -/0o100/regular file rw-r--r--/0o644
│ │ 1 C:/Program Files/Git/test_git/worktree2/.git\n
│ │ 2
│ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ 1 ref: refs/heads/branch2\n
│ │ 2
│ ├╴index -/0o100/regular file rw-r--r--/0o644
│ ├╴logs/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 0000000000000000000000000000000000000000 bd2e50e86e3babce88b0572b514133a0e9ecbea6 Han Jiang <jhcarl0814@gmail.com> 1780113691 +1200\n
│ │ │ 2 bd2e50e86e3babce88b0572b514133a0e9ecbea6 bd2e50e86e3babce88b0572b514133a0e9ecbea6 Han Jiang <jhcarl0814@gmail.com> 1780113691 +1200\treset: moving to HEAD\n
│ │ │ 3
│ ├╴ORIG_HEAD -/0o100/regular file rw-r--r--/0o644
│ │ 1 bd2e50e86e3babce88b0572b514133a0e9ecbea6\n
│ │ 2
│ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
./worktree1/ d/0o040/directory rwxr-xr-x/0o755
├╴.git -/0o100/regular file rw-r--r--/0o644
│ 1 gitdir: C:/Program Files/Git/test_git/repo/.git/worktrees/worktree1\n
│ 2
./worktree2/ d/0o040/directory rwxr-xr-x/0o755
├╴.git -/0o100/regular file rw-r--r--/0o644
│ 1 gitdir: C:/Program Files/Git/test_git/repo/.git/worktrees/worktree2\n
│ 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ mv './worktree1' './worktree1_'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ mv './worktree2' './worktree2_'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1_' worktree repair '../worktree2_'
repair: gitdir incorrect: C:/Program Files/Git/test_git/repo/.git/worktrees/worktree2/gitdir
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './repo/.git/worktrees'
./repo/.git/worktrees/ d/0o040/directory rwxr-xr-x/0o755
├╴worktree1/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴commondir -/0o100/regular file rw-r--r--/0o644
│ │ 1 ../..\n
│ │ 2
│ ├╴gitdir -/0o100/regular file rw-r--r--/0o644
│ │ 1 C:/Program Files/Git/test_git/worktree1/.git\n
│ │ 2
│ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ 1 ref: refs/heads/branch1\n
│ │ 2
│ ├╴index -/0o100/regular file rw-r--r--/0o644
│ ├╴logs/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 0000000000000000000000000000000000000000 bd2e50e86e3babce88b0572b514133a0e9ecbea6 Han Jiang <jhcarl0814@gmail.com> 1780113691 +1200\n
│ │ │ 2 bd2e50e86e3babce88b0572b514133a0e9ecbea6 bd2e50e86e3babce88b0572b514133a0e9ecbea6 Han Jiang <jhcarl0814@gmail.com> 1780113691 +1200\treset: moving to HEAD\n
│ │ │ 3
│ ├╴ORIG_HEAD -/0o100/regular file rw-r--r--/0o644
│ │ 1 bd2e50e86e3babce88b0572b514133a0e9ecbea6\n
│ │ 2
│ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
├╴worktree2/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴commondir -/0o100/regular file rw-r--r--/0o644
│ │ 1 ../..\n
│ │ 2
│ ├╴gitdir -/0o100/regular file rw-r--r--/0o644
│ │ 1 C:/Program Files/Git/test_git/worktree2_/.git\n
│ │ 2
│ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ 1 ref: refs/heads/branch2\n
│ │ 2
│ ├╴index -/0o100/regular file rw-r--r--/0o644
│ ├╴logs/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 0000000000000000000000000000000000000000 bd2e50e86e3babce88b0572b514133a0e9ecbea6 Han Jiang <jhcarl0814@gmail.com> 1780113691 +1200\n
│ │ │ 2 bd2e50e86e3babce88b0572b514133a0e9ecbea6 bd2e50e86e3babce88b0572b514133a0e9ecbea6 Han Jiang <jhcarl0814@gmail.com> 1780113691 +1200\treset: moving to HEAD\n
│ │ │ 3
│ ├╴ORIG_HEAD -/0o100/regular file rw-r--r--/0o644
│ │ 1 bd2e50e86e3babce88b0572b514133a0e9ecbea6\n
│ │ 2
│ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' init
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master (root-commit) 27f673c] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch branch1; git -C './repo' branch branch2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree list --verbose
C:/Program Files/Git/test_git/repo 27f673c [master]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 27f673c - 2026-05-30 16:01 (1 second ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/heads/branch2, refs/heads/branch1)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree add '../worktree1' branch1
Preparing worktree (checking out 'branch1')
HEAD is now at 27f673c 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree add '../worktree2' branch2
Preparing worktree (checking out 'branch2')
HEAD is now at 27f673c 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree list --verbose
C:/Program Files/Git/test_git/repo 27f673c [master]
C:/Program Files/Git/test_git/worktree1 27f673c [branch1]
C:/Program Files/Git/test_git/worktree2 27f673c [branch2]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 27f673c - 2026-05-30 16:01 (3 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/heads/branch2, refs/heads/branch1)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' worktree list --verbose
C:/Program Files/Git/test_git/repo 27f673c [master]
C:/Program Files/Git/test_git/worktree1 27f673c [branch1]
C:/Program Files/Git/test_git/worktree2 27f673c [branch2]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' lg --all
* 27f673c - 2026-05-30 16:01 (4 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/branch1, refs/heads/master, refs/heads/branch2)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree2' worktree list --verbose
C:/Program Files/Git/test_git/repo 27f673c [master]
C:/Program Files/Git/test_git/worktree1 27f673c [branch1]
C:/Program Files/Git/test_git/worktree2 27f673c [branch2]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree2' lg --all
* 27f673c - 2026-05-30 16:01 (5 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/branch2, refs/heads/master, refs/heads/branch1)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './repo/.git/worktrees' './worktree1' './worktree2'
./repo/.git/worktrees/ d/0o040/directory rwxr-xr-x/0o755
├╴worktree1/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴commondir -/0o100/regular file rw-r--r--/0o644
│ │ 1 ../..\n
│ │ 2
│ ├╴gitdir -/0o100/regular file rw-r--r--/0o644
│ │ 1 C:/Program Files/Git/test_git/worktree1/.git\n
│ │ 2
│ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ 1 ref: refs/heads/branch1\n
│ │ 2
│ ├╴index -/0o100/regular file rw-r--r--/0o644
│ ├╴logs/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 0000000000000000000000000000000000000000 27f673cfde8e8f71b9feacac9bbd30fac1c7e7d1 Han Jiang <jhcarl0814@gmail.com> 1780113721 +1200\n
│ │ │ 2 27f673cfde8e8f71b9feacac9bbd30fac1c7e7d1 27f673cfde8e8f71b9feacac9bbd30fac1c7e7d1 Han Jiang <jhcarl0814@gmail.com> 1780113721 +1200\treset: moving to HEAD\n
│ │ │ 3
│ ├╴ORIG_HEAD -/0o100/regular file rw-r--r--/0o644
│ │ 1 27f673cfde8e8f71b9feacac9bbd30fac1c7e7d1\n
│ │ 2
│ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
├╴worktree2/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴commondir -/0o100/regular file rw-r--r--/0o644
│ │ 1 ../..\n
│ │ 2
│ ├╴gitdir -/0o100/regular file rw-r--r--/0o644
│ │ 1 C:/Program Files/Git/test_git/worktree2/.git\n
│ │ 2
│ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ 1 ref: refs/heads/branch2\n
│ │ 2
│ ├╴index -/0o100/regular file rw-r--r--/0o644
│ ├╴logs/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 0000000000000000000000000000000000000000 27f673cfde8e8f71b9feacac9bbd30fac1c7e7d1 Han Jiang <jhcarl0814@gmail.com> 1780113721 +1200\n
│ │ │ 2 27f673cfde8e8f71b9feacac9bbd30fac1c7e7d1 27f673cfde8e8f71b9feacac9bbd30fac1c7e7d1 Han Jiang <jhcarl0814@gmail.com> 1780113721 +1200\treset: moving to HEAD\n
│ │ │ 3
│ ├╴ORIG_HEAD -/0o100/regular file rw-r--r--/0o644
│ │ 1 27f673cfde8e8f71b9feacac9bbd30fac1c7e7d1\n
│ │ 2
│ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
./worktree1/ d/0o040/directory rwxr-xr-x/0o755
├╴.git -/0o100/regular file rw-r--r--/0o644
│ 1 gitdir: C:/Program Files/Git/test_git/repo/.git/worktrees/worktree1\n
│ 2
./worktree2/ d/0o040/directory rwxr-xr-x/0o755
├╴.git -/0o100/regular file rw-r--r--/0o644
│ 1 gitdir: C:/Program Files/Git/test_git/repo/.git/worktrees/worktree2\n
│ 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ mv './worktree1' './worktree1_'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ mv './worktree2' './worktree2_'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1_' worktree repair '.' '../worktree2_'
repair: gitdir incorrect: C:/Program Files/Git/test_git/repo/.git/worktrees/worktree1/gitdir
repair: gitdir incorrect: C:/Program Files/Git/test_git/repo/.git/worktrees/worktree2/gitdir
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './repo/.git/worktrees'
./repo/.git/worktrees/ d/0o040/directory rwxr-xr-x/0o755
├╴worktree1/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴commondir -/0o100/regular file rw-r--r--/0o644
│ │ 1 ../..\n
│ │ 2
│ ├╴gitdir -/0o100/regular file rw-r--r--/0o644
│ │ 1 C:/Program Files/Git/test_git/worktree1_/.git\n
│ │ 2
│ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ 1 ref: refs/heads/branch1\n
│ │ 2
│ ├╴index -/0o100/regular file rw-r--r--/0o644
│ ├╴logs/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 0000000000000000000000000000000000000000 27f673cfde8e8f71b9feacac9bbd30fac1c7e7d1 Han Jiang <jhcarl0814@gmail.com> 1780113721 +1200\n
│ │ │ 2 27f673cfde8e8f71b9feacac9bbd30fac1c7e7d1 27f673cfde8e8f71b9feacac9bbd30fac1c7e7d1 Han Jiang <jhcarl0814@gmail.com> 1780113721 +1200\treset: moving to HEAD\n
│ │ │ 3
│ ├╴ORIG_HEAD -/0o100/regular file rw-r--r--/0o644
│ │ 1 27f673cfde8e8f71b9feacac9bbd30fac1c7e7d1\n
│ │ 2
│ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
├╴worktree2/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴commondir -/0o100/regular file rw-r--r--/0o644
│ │ 1 ../..\n
│ │ 2
│ ├╴gitdir -/0o100/regular file rw-r--r--/0o644
│ │ 1 C:/Program Files/Git/test_git/worktree2_/.git\n
│ │ 2
│ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ 1 ref: refs/heads/branch2\n
│ │ 2
│ ├╴index -/0o100/regular file rw-r--r--/0o644
│ ├╴logs/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 0000000000000000000000000000000000000000 27f673cfde8e8f71b9feacac9bbd30fac1c7e7d1 Han Jiang <jhcarl0814@gmail.com> 1780113721 +1200\n
│ │ │ 2 27f673cfde8e8f71b9feacac9bbd30fac1c7e7d1 27f673cfde8e8f71b9feacac9bbd30fac1c7e7d1 Han Jiang <jhcarl0814@gmail.com> 1780113721 +1200\treset: moving to HEAD\n
│ │ │ 3
│ ├╴ORIG_HEAD -/0o100/regular file rw-r--r--/0o644
│ │ 1 27f673cfde8e8f71b9feacac9bbd30fac1c7e7d1\n
│ │ 2
│ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' init
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master (root-commit) 6408596] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch branch1; git -C './repo' branch branch2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree list --verbose
C:/Program Files/Git/test_git/repo 6408596 [master]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 6408596 - 2026-05-30 16:02 (2 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/heads/branch2, refs/heads/branch1)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree add '../worktree1' branch1
Preparing worktree (checking out 'branch1')
HEAD is now at 6408596 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree add '../worktree2' branch2
Preparing worktree (checking out 'branch2')
HEAD is now at 6408596 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree list --verbose
C:/Program Files/Git/test_git/repo 6408596 [master]
C:/Program Files/Git/test_git/worktree1 6408596 [branch1]
C:/Program Files/Git/test_git/worktree2 6408596 [branch2]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 6408596 - 2026-05-30 16:02 (4 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/heads/branch2, refs/heads/branch1)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' worktree list --verbose
C:/Program Files/Git/test_git/repo 6408596 [master]
C:/Program Files/Git/test_git/worktree1 6408596 [branch1]
C:/Program Files/Git/test_git/worktree2 6408596 [branch2]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' lg --all
* 6408596 - 2026-05-30 16:02 (4 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/branch1, refs/heads/master, refs/heads/branch2)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree2' worktree list --verbose
C:/Program Files/Git/test_git/repo 6408596 [master]
C:/Program Files/Git/test_git/worktree1 6408596 [branch1]
C:/Program Files/Git/test_git/worktree2 6408596 [branch2]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree2' lg --all
* 6408596 - 2026-05-30 16:02 (5 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/branch2, refs/heads/master, refs/heads/branch1)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './repo/.git/worktrees' './worktree1' './worktree2'
./repo/.git/worktrees/ d/0o040/directory rwxr-xr-x/0o755
├╴worktree1/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴commondir -/0o100/regular file rw-r--r--/0o644
│ │ 1 ../..\n
│ │ 2
│ ├╴gitdir -/0o100/regular file rw-r--r--/0o644
│ │ 1 C:/Program Files/Git/test_git/worktree1/.git\n
│ │ 2
│ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ 1 ref: refs/heads/branch1\n
│ │ 2
│ ├╴index -/0o100/regular file rw-r--r--/0o644
│ ├╴logs/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 0000000000000000000000000000000000000000 64085966baa1f6e0520e515d7719665fd58b759c Han Jiang <jhcarl0814@gmail.com> 1780113750 +1200\n
│ │ │ 2 64085966baa1f6e0520e515d7719665fd58b759c 64085966baa1f6e0520e515d7719665fd58b759c Han Jiang <jhcarl0814@gmail.com> 1780113750 +1200\treset: moving to HEAD\n
│ │ │ 3
│ ├╴ORIG_HEAD -/0o100/regular file rw-r--r--/0o644
│ │ 1 64085966baa1f6e0520e515d7719665fd58b759c\n
│ │ 2
│ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
├╴worktree2/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴commondir -/0o100/regular file rw-r--r--/0o644
│ │ 1 ../..\n
│ │ 2
│ ├╴gitdir -/0o100/regular file rw-r--r--/0o644
│ │ 1 C:/Program Files/Git/test_git/worktree2/.git\n
│ │ 2
│ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ 1 ref: refs/heads/branch2\n
│ │ 2
│ ├╴index -/0o100/regular file rw-r--r--/0o644
│ ├╴logs/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 0000000000000000000000000000000000000000 64085966baa1f6e0520e515d7719665fd58b759c Han Jiang <jhcarl0814@gmail.com> 1780113751 +1200\n
│ │ │ 2 64085966baa1f6e0520e515d7719665fd58b759c 64085966baa1f6e0520e515d7719665fd58b759c Han Jiang <jhcarl0814@gmail.com> 1780113751 +1200\treset: moving to HEAD\n
│ │ │ 3
│ ├╴ORIG_HEAD -/0o100/regular file rw-r--r--/0o644
│ │ 1 64085966baa1f6e0520e515d7719665fd58b759c\n
│ │ 2
│ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
./worktree1/ d/0o040/directory rwxr-xr-x/0o755
├╴.git -/0o100/regular file rw-r--r--/0o644
│ 1 gitdir: C:/Program Files/Git/test_git/repo/.git/worktrees/worktree1\n
│ 2
./worktree2/ d/0o040/directory rwxr-xr-x/0o755
├╴.git -/0o100/regular file rw-r--r--/0o644
│ 1 gitdir: C:/Program Files/Git/test_git/repo/.git/worktrees/worktree2\n
│ 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ mv './worktree1' './worktree1_'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ mv './worktree2' './worktree2_'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree repair '../worktree1_' '../worktree2_'
repair: gitdir incorrect: C:/Program Files/Git/test_git/repo/.git/worktrees/worktree1/gitdir
repair: gitdir incorrect: C:/Program Files/Git/test_git/repo/.git/worktrees/worktree2/gitdir
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './repo/.git/worktrees'
./repo/.git/worktrees/ d/0o040/directory rwxr-xr-x/0o755
├╴worktree1/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴commondir -/0o100/regular file rw-r--r--/0o644
│ │ 1 ../..\n
│ │ 2
│ ├╴gitdir -/0o100/regular file rw-r--r--/0o644
│ │ 1 C:/Program Files/Git/test_git/worktree1_/.git\n
│ │ 2
│ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ 1 ref: refs/heads/branch1\n
│ │ 2
│ ├╴index -/0o100/regular file rw-r--r--/0o644
│ ├╴logs/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 0000000000000000000000000000000000000000 64085966baa1f6e0520e515d7719665fd58b759c Han Jiang <jhcarl0814@gmail.com> 1780113750 +1200\n
│ │ │ 2 64085966baa1f6e0520e515d7719665fd58b759c 64085966baa1f6e0520e515d7719665fd58b759c Han Jiang <jhcarl0814@gmail.com> 1780113750 +1200\treset: moving to HEAD\n
│ │ │ 3
│ ├╴ORIG_HEAD -/0o100/regular file rw-r--r--/0o644
│ │ 1 64085966baa1f6e0520e515d7719665fd58b759c\n
│ │ 2
│ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
├╴worktree2/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴commondir -/0o100/regular file rw-r--r--/0o644
│ │ 1 ../..\n
│ │ 2
│ ├╴gitdir -/0o100/regular file rw-r--r--/0o644
│ │ 1 C:/Program Files/Git/test_git/worktree2_/.git\n
│ │ 2
│ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ 1 ref: refs/heads/branch2\n
│ │ 2
│ ├╴index -/0o100/regular file rw-r--r--/0o644
│ ├╴logs/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 0000000000000000000000000000000000000000 64085966baa1f6e0520e515d7719665fd58b759c Han Jiang <jhcarl0814@gmail.com> 1780113751 +1200\n
│ │ │ 2 64085966baa1f6e0520e515d7719665fd58b759c 64085966baa1f6e0520e515d7719665fd58b759c Han Jiang <jhcarl0814@gmail.com> 1780113751 +1200\treset: moving to HEAD\n
│ │ │ 3
│ ├╴ORIG_HEAD -/0o100/regular file rw-r--r--/0o644
│ │ 1 64085966baa1f6e0520e515d7719665fd58b759c\n
│ │ 2
│ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' init
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master (root-commit) bd125a2] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch branch1; git -C './repo' branch branch2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree list --verbose
C:/Program Files/Git/test_git/repo bd125a2 [master]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* bd125a2 - 2026-05-30 16:02 (1 second ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/heads/branch2, refs/heads/branch1)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree add '../worktree1' branch1
Preparing worktree (checking out 'branch1')
HEAD is now at bd125a2 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree add '../worktree2' branch2
Preparing worktree (checking out 'branch2')
HEAD is now at bd125a2 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree list --verbose
C:/Program Files/Git/test_git/repo bd125a2 [master]
C:/Program Files/Git/test_git/worktree1 bd125a2 [branch1]
C:/Program Files/Git/test_git/worktree2 bd125a2 [branch2]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* bd125a2 - 2026-05-30 16:02 (3 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/heads/branch2, refs/heads/branch1)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' worktree list --verbose
C:/Program Files/Git/test_git/repo bd125a2 [master]
C:/Program Files/Git/test_git/worktree1 bd125a2 [branch1]
C:/Program Files/Git/test_git/worktree2 bd125a2 [branch2]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' lg --all
* bd125a2 - 2026-05-30 16:02 (4 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/branch1, refs/heads/master, refs/heads/branch2)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree2' worktree list --verbose
C:/Program Files/Git/test_git/repo bd125a2 [master]
C:/Program Files/Git/test_git/worktree1 bd125a2 [branch1]
C:/Program Files/Git/test_git/worktree2 bd125a2 [branch2]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree2' lg --all
* bd125a2 - 2026-05-30 16:02 (5 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/branch2, refs/heads/master, refs/heads/branch1)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './repo/.git/worktrees' './worktree1' './worktree2'
./repo/.git/worktrees/ d/0o040/directory rwxr-xr-x/0o755
├╴worktree1/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴commondir -/0o100/regular file rw-r--r--/0o644
│ │ 1 ../..\n
│ │ 2
│ ├╴gitdir -/0o100/regular file rw-r--r--/0o644
│ │ 1 C:/Program Files/Git/test_git/worktree1/.git\n
│ │ 2
│ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ 1 ref: refs/heads/branch1\n
│ │ 2
│ ├╴index -/0o100/regular file rw-r--r--/0o644
│ ├╴logs/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 0000000000000000000000000000000000000000 bd125a23f6ef81a38897bd0e7412a30c88fb472f Han Jiang <jhcarl0814@gmail.com> 1780113781 +1200\n
│ │ │ 2 bd125a23f6ef81a38897bd0e7412a30c88fb472f bd125a23f6ef81a38897bd0e7412a30c88fb472f Han Jiang <jhcarl0814@gmail.com> 1780113781 +1200\treset: moving to HEAD\n
│ │ │ 3
│ ├╴ORIG_HEAD -/0o100/regular file rw-r--r--/0o644
│ │ 1 bd125a23f6ef81a38897bd0e7412a30c88fb472f\n
│ │ 2
│ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
├╴worktree2/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴commondir -/0o100/regular file rw-r--r--/0o644
│ │ 1 ../..\n
│ │ 2
│ ├╴gitdir -/0o100/regular file rw-r--r--/0o644
│ │ 1 C:/Program Files/Git/test_git/worktree2/.git\n
│ │ 2
│ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ 1 ref: refs/heads/branch2\n
│ │ 2
│ ├╴index -/0o100/regular file rw-r--r--/0o644
│ ├╴logs/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 0000000000000000000000000000000000000000 bd125a23f6ef81a38897bd0e7412a30c88fb472f Han Jiang <jhcarl0814@gmail.com> 1780113781 +1200\n
│ │ │ 2 bd125a23f6ef81a38897bd0e7412a30c88fb472f bd125a23f6ef81a38897bd0e7412a30c88fb472f Han Jiang <jhcarl0814@gmail.com> 1780113781 +1200\treset: moving to HEAD\n
│ │ │ 3
│ ├╴ORIG_HEAD -/0o100/regular file rw-r--r--/0o644
│ │ 1 bd125a23f6ef81a38897bd0e7412a30c88fb472f\n
│ │ 2
│ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
./worktree1/ d/0o040/directory rwxr-xr-x/0o755
├╴.git -/0o100/regular file rw-r--r--/0o644
│ 1 gitdir: C:/Program Files/Git/test_git/repo/.git/worktrees/worktree1\n
│ 2
./worktree2/ d/0o040/directory rwxr-xr-x/0o755
├╴.git -/0o100/regular file rw-r--r--/0o644
│ 1 gitdir: C:/Program Files/Git/test_git/repo/.git/worktrees/worktree2\n
│ 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ mv './repo' './repo_'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' worktree repair '../repo_'
fatal: not a git repository: (NULL)
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo_' worktree repair
repair: .git file broken: C:/Program Files/Git/test_git/worktree1
repair: .git file broken: C:/Program Files/Git/test_git/worktree2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './worktree1' './worktree2'
./worktree1/ d/0o040/directory rwxr-xr-x/0o755
├╴.git -/0o100/regular file rw-r--r--/0o644
│ 1 gitdir: C:/Program Files/Git/test_git/repo_/.git/worktrees/worktree1\n
│ 2
./worktree2/ d/0o040/directory rwxr-xr-x/0o755
├╴.git -/0o100/regular file rw-r--r--/0o644
│ 1 gitdir: C:/Program Files/Git/test_git/repo_/.git/worktrees/worktree2\n
│ 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' init
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master (root-commit) 2567b69] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch branch1; git -C './repo' branch branch2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree list --verbose
C:/Program Files/Git/test_git/repo 2567b69 [master]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 2567b69 - 2026-05-30 16:03 (2 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/heads/branch2, refs/heads/branch1)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree add '../worktree1' branch1
Preparing worktree (checking out 'branch1')
HEAD is now at 2567b69 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree add '../worktree2' branch2
Preparing worktree (checking out 'branch2')
HEAD is now at 2567b69 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree list --verbose
C:/Program Files/Git/test_git/repo 2567b69 [master]
C:/Program Files/Git/test_git/worktree1 2567b69 [branch1]
C:/Program Files/Git/test_git/worktree2 2567b69 [branch2]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 2567b69 - 2026-05-30 16:03 (4 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/heads/branch2, refs/heads/branch1)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' worktree list --verbose
C:/Program Files/Git/test_git/repo 2567b69 [master]
C:/Program Files/Git/test_git/worktree1 2567b69 [branch1]
C:/Program Files/Git/test_git/worktree2 2567b69 [branch2]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' lg --all
* 2567b69 - 2026-05-30 16:03 (5 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/branch1, refs/heads/master, refs/heads/branch2)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree2' worktree list --verbose
C:/Program Files/Git/test_git/repo 2567b69 [master]
C:/Program Files/Git/test_git/worktree1 2567b69 [branch1]
C:/Program Files/Git/test_git/worktree2 2567b69 [branch2]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree2' lg --all
* 2567b69 - 2026-05-30 16:03 (6 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/branch2, refs/heads/master, refs/heads/branch1)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './repo/.git/worktrees' './worktree1' './worktree2'
./repo/.git/worktrees/ d/0o040/directory rwxr-xr-x/0o755
├╴worktree1/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴commondir -/0o100/regular file rw-r--r--/0o644
│ │ 1 ../..\n
│ │ 2
│ ├╴gitdir -/0o100/regular file rw-r--r--/0o644
│ │ 1 C:/Program Files/Git/test_git/worktree1/.git\n
│ │ 2
│ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ 1 ref: refs/heads/branch1\n
│ │ 2
│ ├╴index -/0o100/regular file rw-r--r--/0o644
│ ├╴logs/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 0000000000000000000000000000000000000000 2567b698dcaac904d182455680f5dab84ae30cd0 Han Jiang <jhcarl0814@gmail.com> 1780113804 +1200\n
│ │ │ 2 2567b698dcaac904d182455680f5dab84ae30cd0 2567b698dcaac904d182455680f5dab84ae30cd0 Han Jiang <jhcarl0814@gmail.com> 1780113804 +1200\treset: moving to HEAD\n
│ │ │ 3
│ ├╴ORIG_HEAD -/0o100/regular file rw-r--r--/0o644
│ │ 1 2567b698dcaac904d182455680f5dab84ae30cd0\n
│ │ 2
│ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
├╴worktree2/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴commondir -/0o100/regular file rw-r--r--/0o644
│ │ 1 ../..\n
│ │ 2
│ ├╴gitdir -/0o100/regular file rw-r--r--/0o644
│ │ 1 C:/Program Files/Git/test_git/worktree2/.git\n
│ │ 2
│ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ 1 ref: refs/heads/branch2\n
│ │ 2
│ ├╴index -/0o100/regular file rw-r--r--/0o644
│ ├╴logs/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 0000000000000000000000000000000000000000 2567b698dcaac904d182455680f5dab84ae30cd0 Han Jiang <jhcarl0814@gmail.com> 1780113805 +1200\n
│ │ │ 2 2567b698dcaac904d182455680f5dab84ae30cd0 2567b698dcaac904d182455680f5dab84ae30cd0 Han Jiang <jhcarl0814@gmail.com> 1780113805 +1200\treset: moving to HEAD\n
│ │ │ 3
│ ├╴ORIG_HEAD -/0o100/regular file rw-r--r--/0o644
│ │ 1 2567b698dcaac904d182455680f5dab84ae30cd0\n
│ │ 2
│ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
./worktree1/ d/0o040/directory rwxr-xr-x/0o755
├╴.git -/0o100/regular file rw-r--r--/0o644
│ 1 gitdir: C:/Program Files/Git/test_git/repo/.git/worktrees/worktree1\n
│ 2
./worktree2/ d/0o040/directory rwxr-xr-x/0o755
├╴.git -/0o100/regular file rw-r--r--/0o644
│ 1 gitdir: C:/Program Files/Git/test_git/repo/.git/worktrees/worktree2\n
│ 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ mv './repo' './repo_'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ mv './worktree1' './worktree1_'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ mv './worktree2' './worktree2_'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1_' worktree repair '../worktree2_' '../repo_'
fatal: not a git repository: (NULL)
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo_' worktree repair '../worktree1_' '../worktree2_'
repair: gitdir incorrect: C:/Program Files/Git/test_git/repo_/.git/worktrees/worktree1/gitdir
repair: gitdir incorrect: C:/Program Files/Git/test_git/repo_/.git/worktrees/worktree2/gitdir
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './repo_/.git/worktrees' './worktree1_' './worktree2_'
./repo_/.git/worktrees/ d/0o040/directory rwxr-xr-x/0o755
├╴worktree1/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴commondir -/0o100/regular file rw-r--r--/0o644
│ │ 1 ../..\n
│ │ 2
│ ├╴gitdir -/0o100/regular file rw-r--r--/0o644
│ │ 1 C:/Program Files/Git/test_git/worktree1_/.git\n
│ │ 2
│ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ 1 ref: refs/heads/branch1\n
│ │ 2
│ ├╴index -/0o100/regular file rw-r--r--/0o644
│ ├╴logs/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 0000000000000000000000000000000000000000 2567b698dcaac904d182455680f5dab84ae30cd0 Han Jiang <jhcarl0814@gmail.com> 1780113804 +1200\n
│ │ │ 2 2567b698dcaac904d182455680f5dab84ae30cd0 2567b698dcaac904d182455680f5dab84ae30cd0 Han Jiang <jhcarl0814@gmail.com> 1780113804 +1200\treset: moving to HEAD\n
│ │ │ 3
│ ├╴ORIG_HEAD -/0o100/regular file rw-r--r--/0o644
│ │ 1 2567b698dcaac904d182455680f5dab84ae30cd0\n
│ │ 2
│ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
├╴worktree2/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴commondir -/0o100/regular file rw-r--r--/0o644
│ │ 1 ../..\n
│ │ 2
│ ├╴gitdir -/0o100/regular file rw-r--r--/0o644
│ │ 1 C:/Program Files/Git/test_git/worktree2_/.git\n
│ │ 2
│ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ 1 ref: refs/heads/branch2\n
│ │ 2
│ ├╴index -/0o100/regular file rw-r--r--/0o644
│ ├╴logs/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 0000000000000000000000000000000000000000 2567b698dcaac904d182455680f5dab84ae30cd0 Han Jiang <jhcarl0814@gmail.com> 1780113805 +1200\n
│ │ │ 2 2567b698dcaac904d182455680f5dab84ae30cd0 2567b698dcaac904d182455680f5dab84ae30cd0 Han Jiang <jhcarl0814@gmail.com> 1780113805 +1200\treset: moving to HEAD\n
│ │ │ 3
│ ├╴ORIG_HEAD -/0o100/regular file rw-r--r--/0o644
│ │ 1 2567b698dcaac904d182455680f5dab84ae30cd0\n
│ │ 2
│ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
./worktree1_/ d/0o040/directory rwxr-xr-x/0o755
├╴.git -/0o100/regular file rw-r--r--/0o644
│ 1 gitdir: C:/Program Files/Git/test_git/repo_/.git/worktrees/worktree1\n
│ 2
./worktree2_/ d/0o040/directory rwxr-xr-x/0o755
├╴.git -/0o100/regular file rw-r--r--/0o644
│ 1 gitdir: C:/Program Files/Git/test_git/repo_/.git/worktrees/worktree2\n
│ 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server' init --bare './repo.git'
Initialized empty Git repository in C:/Program Files/Git/test_git/server/repo.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ branch_default_path="$(git -C './server/repo.git' symbolic-ref HEAD)"; echo "$branch_default_path"
refs/heads/master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' branch --show-current
master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
[master (root-commit) 639d43c] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' tag tag
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' tag --annotate --message='' tag_annotated
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
[master d924585] 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' symbolic-ref HEAD 'refs/heads2/branch'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' symbolic-ref HEAD
refs/heads2/branch
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' branch --show-current
fatal: HEAD not found below refs/heads!
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' symbolic-ref 'refs/heads2/HEAD' 'refs/heads2/branch'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' symbolic-ref 'refs/heads2/HEAD'
refs/heads2/branch
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' update-ref 'refs/heads2/branch' tag
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' show-ref 'refs/heads2/branch'
639d43c0ff2c336c46bc90fbaee65a414ebfcd89 refs/heads2/branch
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
[refs/heads2/branch 3817003] 3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' symbolic-ref HEAD "$branch_default_path"
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' symbolic-ref HEAD
refs/heads/master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' branch --show-current
master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ cp --no-target-directory -- './server/repo.git/HEAD' './server/repo.git/HEAD2'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' symbolic-ref HEAD2
refs/heads/master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --all --clear-decorations
* 3817003 - 2026-05-30 16:04 (2 seconds ago) 3 - Han Jiang (refs/heads2/branch, refs/heads2/HEAD)
| * d924585 - 2026-05-30 16:03 (5 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
|/
* 639d43c - 2026-05-30 16:03 (6 seconds ago) 1 - Han Jiang (tag: refs/tags/tag_annotated, tag: refs/tags/tag)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --clear-decorations HEAD2
* d924585 - 2026-05-30 16:03 (6 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
* 639d43c - 2026-05-30 16:03 (7 seconds ago) 1 - Han Jiang (tag: refs/tags/tag_annotated, tag: refs/tags/tag)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone '../server/repo.git' './repo'
Cloning into './repo'...
done.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' show-ref
d9245854b0d39211be6b595a46ef9a1339a76510 refs/heads/master
d9245854b0d39211be6b595a46ef9a1339a76510 refs/remotes/origin/HEAD
d9245854b0d39211be6b595a46ef9a1339a76510 refs/remotes/origin/master
639d43c0ff2c336c46bc90fbaee65a414ebfcd89 refs/tags/tag
00958f7c2dd7dcef735b1458bbda0821a6c6f248 refs/tags/tag_annotated
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch origin '+refs/heads2/*:refs/remotes/origin/heads2/*'
From C:/Program Files/Git/test_git/client/../server/repo
* [new ref] refs/heads2/HEAD -> origin/heads2/HEAD
* [new ref] refs/heads2/branch -> origin/heads2/branch
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ cp --no-target-directory -- './client/repo/.git/HEAD' './client/repo/.git/HEAD2'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' symbolic-ref HEAD2
refs/heads/master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' show-ref
d9245854b0d39211be6b595a46ef9a1339a76510 refs/heads/master
d9245854b0d39211be6b595a46ef9a1339a76510 refs/remotes/origin/HEAD
3817003536a9ba3b168de32ce1e9446b2ca2c5b3 refs/remotes/origin/heads2/HEAD
3817003536a9ba3b168de32ce1e9446b2ca2c5b3 refs/remotes/origin/heads2/branch
d9245854b0d39211be6b595a46ef9a1339a76510 refs/remotes/origin/master
639d43c0ff2c336c46bc90fbaee65a414ebfcd89 refs/tags/tag
00958f7c2dd7dcef735b1458bbda0821a6c6f248 refs/tags/tag_annotated
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' show-ref HEAD
d9245854b0d39211be6b595a46ef9a1339a76510 refs/remotes/origin/HEAD
3817003536a9ba3b168de32ce1e9446b2ca2c5b3 refs/remotes/origin/heads2/HEAD
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' show-ref HEAD2
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server' init --bare './repo.git'
Initialized empty Git repository in C:/Program Files/Git/test_git/server/repo.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ branch_default_path="$(git -C './server/repo.git' symbolic-ref HEAD)"; echo "$branch_default_path"
refs/heads/master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' branch --show-current
master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
[master (root-commit) 12e1602] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' tag tag
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' tag --annotate --message='' tag_annotated
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
[master 5716b18] 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' symbolic-ref HEAD 'refs/heads2/branch'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' symbolic-ref HEAD
refs/heads2/branch
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' branch --show-current
fatal: HEAD not found below refs/heads!
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' symbolic-ref 'refs/heads2/HEAD' 'refs/heads2/branch'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' symbolic-ref 'refs/heads2/HEAD'
refs/heads2/branch
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' update-ref 'refs/heads2/branch' tag
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' show-ref 'refs/heads2/branch'
12e1602b645358241109658a6f00664f64cf5457 refs/heads2/branch
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
[refs/heads2/branch 038688b] 3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' symbolic-ref HEAD "$branch_default_path"
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' symbolic-ref HEAD
refs/heads/master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' branch --show-current
master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ cp --no-target-directory -- './server/repo.git/HEAD' './server/repo.git/HEAD2'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' symbolic-ref HEAD2
refs/heads/master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --all --clear-decorations
* 038688b - 2026-05-30 16:04 (2 seconds ago) 3 - Han Jiang (refs/heads2/branch, refs/heads2/HEAD)
| * 5716b18 - 2026-05-30 16:04 (6 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
|/
* 12e1602 - 2026-05-30 16:04 (7 seconds ago) 1 - Han Jiang (tag: refs/tags/tag_annotated, tag: refs/tags/tag)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --clear-decorations HEAD2
* 5716b18 - 2026-05-30 16:04 (6 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
* 12e1602 - 2026-05-30 16:04 (7 seconds ago) 1 - Han Jiang (tag: refs/tags/tag_annotated, tag: refs/tags/tag)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone '../server/repo.git' './repo'
Cloning into './repo'...
done.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' show-ref
5716b18b316083862c3dd15315b83b3dbc19dddf refs/heads/master
5716b18b316083862c3dd15315b83b3dbc19dddf refs/remotes/origin/HEAD
5716b18b316083862c3dd15315b83b3dbc19dddf refs/remotes/origin/master
12e1602b645358241109658a6f00664f64cf5457 refs/tags/tag
aaf73a655df64dbf78a8d381557253f730f902fe refs/tags/tag_annotated
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch origin '+refs/heads2/*:refs/remotes/origin/heads2/*'
From C:/Program Files/Git/test_git/client/../server/repo
* [new ref] refs/heads2/HEAD -> origin/heads2/HEAD
* [new ref] refs/heads2/branch -> origin/heads2/branch
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ cp --no-target-directory -- './client/repo/.git/HEAD' './client/repo/.git/HEAD2'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' show-ref
5716b18b316083862c3dd15315b83b3dbc19dddf refs/heads/master
5716b18b316083862c3dd15315b83b3dbc19dddf refs/remotes/origin/HEAD
038688b59215fd54166d80767a6bd3dca510fd7d refs/remotes/origin/heads2/HEAD
038688b59215fd54166d80767a6bd3dca510fd7d refs/remotes/origin/heads2/branch
5716b18b316083862c3dd15315b83b3dbc19dddf refs/remotes/origin/master
12e1602b645358241109658a6f00664f64cf5457 refs/tags/tag
aaf73a655df64dbf78a8d381557253f730f902fe refs/tags/tag_annotated
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' show-ref --branches
5716b18b316083862c3dd15315b83b3dbc19dddf refs/heads/master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' show-ref --tags
12e1602b645358241109658a6f00664f64cf5457 refs/tags/tag
aaf73a655df64dbf78a8d381557253f730f902fe refs/tags/tag_annotated
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' show-ref --branches --tags
5716b18b316083862c3dd15315b83b3dbc19dddf refs/heads/master
12e1602b645358241109658a6f00664f64cf5457 refs/tags/tag
aaf73a655df64dbf78a8d381557253f730f902fe refs/tags/tag_annotated
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server' init --bare './repo.git'
Initialized empty Git repository in C:/Program Files/Git/test_git/server/repo.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ branch_default_path="$(git -C './server/repo.git' symbolic-ref HEAD)"; echo "$branch_default_path"
refs/heads/master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' branch --show-current
master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
[master (root-commit) e5c33c6] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' tag tag
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' tag --annotate --message='' tag_annotated
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
[master 9071e0c] 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' symbolic-ref HEAD 'refs/heads2/branch'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' symbolic-ref HEAD
refs/heads2/branch
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' branch --show-current
fatal: HEAD not found below refs/heads!
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' symbolic-ref 'refs/heads2/HEAD' 'refs/heads2/branch'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' symbolic-ref 'refs/heads2/HEAD'
refs/heads2/branch
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' update-ref 'refs/heads2/branch' tag
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' show-ref 'refs/heads2/branch'
e5c33c616957b7cf3cb6981976e26f05b4065aa2 refs/heads2/branch
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
[refs/heads2/branch 1d4eeb9] 3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' symbolic-ref HEAD "$branch_default_path"
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' symbolic-ref HEAD
refs/heads/master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' branch --show-current
master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ cp --no-target-directory -- './server/repo.git/HEAD' './server/repo.git/HEAD2'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' symbolic-ref HEAD2
refs/heads/master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --all --clear-decorations
* 1d4eeb9 - 2026-05-30 16:04 (2 seconds ago) 3 - Han Jiang (refs/heads2/branch, refs/heads2/HEAD)
| * 9071e0c - 2026-05-30 16:04 (6 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
|/
* e5c33c6 - 2026-05-30 16:04 (7 seconds ago) 1 - Han Jiang (tag: refs/tags/tag_annotated, tag: refs/tags/tag)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --clear-decorations HEAD2
* 9071e0c - 2026-05-30 16:04 (7 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
* e5c33c6 - 2026-05-30 16:04 (8 seconds ago) 1 - Han Jiang (tag: refs/tags/tag_annotated, tag: refs/tags/tag)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone '../server/repo.git' './repo'
Cloning into './repo'...
done.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' show-ref
9071e0c7fdd5261333f598a9360e6575a80db2a8 refs/heads/master
9071e0c7fdd5261333f598a9360e6575a80db2a8 refs/remotes/origin/HEAD
9071e0c7fdd5261333f598a9360e6575a80db2a8 refs/remotes/origin/master
e5c33c616957b7cf3cb6981976e26f05b4065aa2 refs/tags/tag
b1037266803a7be5e8e044d90d073021912e5e48 refs/tags/tag_annotated
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch origin '+refs/heads2/*:refs/remotes/origin/heads2/*'
From C:/Program Files/Git/test_git/client/../server/repo
* [new ref] refs/heads2/HEAD -> origin/heads2/HEAD
* [new ref] refs/heads2/branch -> origin/heads2/branch
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' show-ref
9071e0c7fdd5261333f598a9360e6575a80db2a8 refs/heads/master
9071e0c7fdd5261333f598a9360e6575a80db2a8 refs/remotes/origin/HEAD
1d4eeb9893a1f76cc3a711120bfcd30f67454414 refs/remotes/origin/heads2/HEAD
1d4eeb9893a1f76cc3a711120bfcd30f67454414 refs/remotes/origin/heads2/branch
9071e0c7fdd5261333f598a9360e6575a80db2a8 refs/remotes/origin/master
e5c33c616957b7cf3cb6981976e26f05b4065aa2 refs/tags/tag
b1037266803a7be5e8e044d90d073021912e5e48 refs/tags/tag_annotated
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' show-ref --dereference
9071e0c7fdd5261333f598a9360e6575a80db2a8 refs/heads/master
9071e0c7fdd5261333f598a9360e6575a80db2a8 refs/remotes/origin/HEAD
1d4eeb9893a1f76cc3a711120bfcd30f67454414 refs/remotes/origin/heads2/HEAD
1d4eeb9893a1f76cc3a711120bfcd30f67454414 refs/remotes/origin/heads2/branch
9071e0c7fdd5261333f598a9360e6575a80db2a8 refs/remotes/origin/master
e5c33c616957b7cf3cb6981976e26f05b4065aa2 refs/tags/tag
b1037266803a7be5e8e044d90d073021912e5e48 refs/tags/tag_annotated
e5c33c616957b7cf3cb6981976e26f05b4065aa2 refs/tags/tag_annotated^{}
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' show-ref --tags
e5c33c616957b7cf3cb6981976e26f05b4065aa2 refs/tags/tag
b1037266803a7be5e8e044d90d073021912e5e48 refs/tags/tag_annotated
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' show-ref --tags --dereference
e5c33c616957b7cf3cb6981976e26f05b4065aa2 refs/tags/tag
b1037266803a7be5e8e044d90d073021912e5e48 refs/tags/tag_annotated
e5c33c616957b7cf3cb6981976e26f05b4065aa2 refs/tags/tag_annotated^{}
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' show-ref --branches --tags
9071e0c7fdd5261333f598a9360e6575a80db2a8 refs/heads/master
e5c33c616957b7cf3cb6981976e26f05b4065aa2 refs/tags/tag
b1037266803a7be5e8e044d90d073021912e5e48 refs/tags/tag_annotated
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' show-ref --branches --tags --dereference
9071e0c7fdd5261333f598a9360e6575a80db2a8 refs/heads/master
e5c33c616957b7cf3cb6981976e26f05b4065aa2 refs/tags/tag
b1037266803a7be5e8e044d90d073021912e5e48 refs/tags/tag_annotated
e5c33c616957b7cf3cb6981976e26f05b4065aa2 refs/tags/tag_annotated^{}
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server' init --bare './repo.git'
Initialized empty Git repository in C:/Program Files/Git/test_git/server/repo.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ branch_default_path="$(git -C './server/repo.git' symbolic-ref HEAD)"; echo "$branch_default_path"
refs/heads/master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' branch --show-current
master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
[master (root-commit) 3bb2c23] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' tag tag
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' tag --annotate --message='' tag_annotated
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
[master 0cd2154] 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' symbolic-ref HEAD 'refs/heads2/branch'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' symbolic-ref HEAD
refs/heads2/branch
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' branch --show-current
fatal: HEAD not found below refs/heads!
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' symbolic-ref 'refs/heads2/HEAD' 'refs/heads2/branch'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' symbolic-ref 'refs/heads2/HEAD'
refs/heads2/branch
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' update-ref 'refs/heads2/branch' tag
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' show-ref 'refs/heads2/branch'
3bb2c23f86b5209c1e5292ff696abf87ca993136 refs/heads2/branch
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
[refs/heads2/branch cc256b9] 3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' symbolic-ref HEAD "$branch_default_path"
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' symbolic-ref HEAD
refs/heads/master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' branch --show-current
master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ cp --no-target-directory -- './server/repo.git/HEAD' './server/repo.git/HEAD2'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' symbolic-ref HEAD2
refs/heads/master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --all --clear-decorations
* cc256b9 - 2026-05-30 16:04 (2 seconds ago) 3 - Han Jiang (refs/heads2/branch, refs/heads2/HEAD)
| * 0cd2154 - 2026-05-30 16:04 (5 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
|/
* 3bb2c23 - 2026-05-30 16:04 (6 seconds ago) 1 - Han Jiang (tag: refs/tags/tag_annotated, tag: refs/tags/tag)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --clear-decorations HEAD2
* 0cd2154 - 2026-05-30 16:04 (6 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
* 3bb2c23 - 2026-05-30 16:04 (7 seconds ago) 1 - Han Jiang (tag: refs/tags/tag_annotated, tag: refs/tags/tag)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone '../server/repo.git' './repo'
Cloning into './repo'...
done.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' show-ref
0cd215499d722a17545835bfdcf130f063249f3d refs/heads/master
0cd215499d722a17545835bfdcf130f063249f3d refs/remotes/origin/HEAD
0cd215499d722a17545835bfdcf130f063249f3d refs/remotes/origin/master
3bb2c23f86b5209c1e5292ff696abf87ca993136 refs/tags/tag
11c3cfd02f309d0d173676eee81a3cd99aaba3be refs/tags/tag_annotated
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch origin '+refs/heads2/*:refs/remotes/origin/heads2/*'
From C:/Program Files/Git/test_git/client/../server/repo
* [new ref] refs/heads2/HEAD -> origin/heads2/HEAD
* [new ref] refs/heads2/branch -> origin/heads2/branch
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ cp --no-target-directory -- './client/repo/.git/HEAD' './client/repo/.git/HEAD2'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' show-ref
0cd215499d722a17545835bfdcf130f063249f3d refs/heads/master
0cd215499d722a17545835bfdcf130f063249f3d refs/remotes/origin/HEAD
cc256b9996b0eb49205fab2c4ad047962f5620d2 refs/remotes/origin/heads2/HEAD
cc256b9996b0eb49205fab2c4ad047962f5620d2 refs/remotes/origin/heads2/branch
0cd215499d722a17545835bfdcf130f063249f3d refs/remotes/origin/master
3bb2c23f86b5209c1e5292ff696abf87ca993136 refs/tags/tag
11c3cfd02f309d0d173676eee81a3cd99aaba3be refs/tags/tag_annotated
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' show-ref --head
0cd215499d722a17545835bfdcf130f063249f3d HEAD
0cd215499d722a17545835bfdcf130f063249f3d refs/heads/master
0cd215499d722a17545835bfdcf130f063249f3d refs/remotes/origin/HEAD
cc256b9996b0eb49205fab2c4ad047962f5620d2 refs/remotes/origin/heads2/HEAD
cc256b9996b0eb49205fab2c4ad047962f5620d2 refs/remotes/origin/heads2/branch
0cd215499d722a17545835bfdcf130f063249f3d refs/remotes/origin/master
3bb2c23f86b5209c1e5292ff696abf87ca993136 refs/tags/tag
11c3cfd02f309d0d173676eee81a3cd99aaba3be refs/tags/tag_annotated
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server' init --bare './repo.git'
Initialized empty Git repository in C:/Program Files/Git/test_git/server/repo.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ branch_default_path="$(git -C './server/repo.git' symbolic-ref HEAD)"; echo "$branch_default_path"
refs/heads/master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' branch --show-current
master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
[master (root-commit) dcafafc] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' tag tag
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' tag --annotate --message='' tag_annotated
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
[master 6c34cca] 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' symbolic-ref HEAD 'refs/heads2/branch'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' symbolic-ref HEAD
refs/heads2/branch
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' branch --show-current
fatal: HEAD not found below refs/heads!
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' symbolic-ref 'refs/heads2/HEAD' 'refs/heads2/branch'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' symbolic-ref 'refs/heads2/HEAD'
refs/heads2/branch
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' update-ref 'refs/heads2/branch' tag
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' show-ref 'refs/heads2/branch'
dcafafc5284e1c4900ea40c3503f4b858376664e refs/heads2/branch
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
[refs/heads2/branch 72d740d] 3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' symbolic-ref HEAD "$branch_default_path"
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' symbolic-ref HEAD
refs/heads/master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' branch --show-current
master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ cp --no-target-directory -- './server/repo.git/HEAD' './server/repo.git/HEAD2'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' symbolic-ref HEAD2
refs/heads/master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --all --clear-decorations
* 72d740d - 2026-05-30 16:05 (2 seconds ago) 3 - Han Jiang (refs/heads2/branch, refs/heads2/HEAD)
| * 6c34cca - 2026-05-30 16:05 (5 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
|/
* dcafafc - 2026-05-30 16:05 (6 seconds ago) 1 - Han Jiang (tag: refs/tags/tag_annotated, tag: refs/tags/tag)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --clear-decorations HEAD2
* 6c34cca - 2026-05-30 16:05 (6 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
* dcafafc - 2026-05-30 16:05 (7 seconds ago) 1 - Han Jiang (tag: refs/tags/tag_annotated, tag: refs/tags/tag)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone '../server/repo.git' './repo'
Cloning into './repo'...
done.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' show-ref
6c34ccac480011fb24b437253a5baecffb91f038 refs/heads/master
6c34ccac480011fb24b437253a5baecffb91f038 refs/remotes/origin/HEAD
6c34ccac480011fb24b437253a5baecffb91f038 refs/remotes/origin/master
dcafafc5284e1c4900ea40c3503f4b858376664e refs/tags/tag
4f4603e768a5b057c6e696aaf6b72b26c1e4a336 refs/tags/tag_annotated
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch origin '+refs/heads2/*:refs/remotes/origin/heads2/*'
From C:/Program Files/Git/test_git/client/../server/repo
* [new ref] refs/heads2/HEAD -> origin/heads2/HEAD
* [new ref] refs/heads2/branch -> origin/heads2/branch
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ cp --no-target-directory -- './client/repo/.git/HEAD' './client/repo/.git/HEAD2'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' show-ref
6c34ccac480011fb24b437253a5baecffb91f038 refs/heads/master
6c34ccac480011fb24b437253a5baecffb91f038 refs/remotes/origin/HEAD
72d740d3ce87f695ac8fbc21dda4242d99a5cd70 refs/remotes/origin/heads2/HEAD
72d740d3ce87f695ac8fbc21dda4242d99a5cd70 refs/remotes/origin/heads2/branch
6c34ccac480011fb24b437253a5baecffb91f038 refs/remotes/origin/master
dcafafc5284e1c4900ea40c3503f4b858376664e refs/tags/tag
4f4603e768a5b057c6e696aaf6b72b26c1e4a336 refs/tags/tag_annotated
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' show-ref --verify HEAD
6c34ccac480011fb24b437253a5baecffb91f038 HEAD
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' show-ref --verify --quiet HEAD
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' show-ref --exists HEAD
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' show-ref --verify HEAD2
fatal: 'HEAD2' - not a valid ref
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' show-ref --verify --quiet HEAD2
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' show-ref --exists HEAD2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' show-ref --exists HEAD3
error: reference does not exist
jhcarl0814@jhcarl0814 MINGW64 $?=2 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' show-ref --verify tag
fatal: 'tag' - not a valid ref
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' show-ref --exists tag
error: reference does not exist
jhcarl0814@jhcarl0814 MINGW64 $?=2 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' show-ref --verify 'tags/tag'
fatal: 'tags/tag' - not a valid ref
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' show-ref --exists 'tags/tag'
error: reference does not exist
jhcarl0814@jhcarl0814 MINGW64 $?=2 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' show-ref --verify 'refs/tags/tag'
dcafafc5284e1c4900ea40c3503f4b858376664e refs/tags/tag
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' show-ref --exists 'refs/tags/tag'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server' init --bare './repo.git'
Initialized empty Git repository in C:/Program Files/Git/test_git/server/repo.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ branch_default_path="$(git -C './server/repo.git' symbolic-ref HEAD)"; echo "$branch_default_path"
refs/heads/master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' branch --show-current
master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
[master (root-commit) 3befe42] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' tag tag
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' tag --annotate --message='' tag_annotated
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
[master 15b85dd] 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' symbolic-ref HEAD 'refs/heads2/branch'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' symbolic-ref HEAD
refs/heads2/branch
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' branch --show-current
fatal: HEAD not found below refs/heads!
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' symbolic-ref 'refs/heads2/HEAD' 'refs/heads2/branch'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' symbolic-ref 'refs/heads2/HEAD'
refs/heads2/branch
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' update-ref 'refs/heads2/branch' tag
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' show-ref 'refs/heads2/branch'
3befe42a90cd022e1c216722b5997f260cef6c8c refs/heads2/branch
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
[refs/heads2/branch 631f3ee] 3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' symbolic-ref HEAD "$branch_default_path"
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' symbolic-ref HEAD
refs/heads/master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' branch --show-current
master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ cp --no-target-directory -- './server/repo.git/HEAD' './server/repo.git/HEAD2'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' symbolic-ref HEAD2
refs/heads/master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --all --clear-decorations
* 631f3ee - 2026-05-30 16:05 (2 seconds ago) 3 - Han Jiang (refs/heads2/branch, refs/heads2/HEAD)
| * 15b85dd - 2026-05-30 16:05 (5 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
|/
* 3befe42 - 2026-05-30 16:05 (6 seconds ago) 1 - Han Jiang (tag: refs/tags/tag_annotated, tag: refs/tags/tag)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --clear-decorations HEAD2
* 15b85dd - 2026-05-30 16:05 (6 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
* 3befe42 - 2026-05-30 16:05 (7 seconds ago) 1 - Han Jiang (tag: refs/tags/tag_annotated, tag: refs/tags/tag)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone '../server/repo.git' './repo'
Cloning into './repo'...
done.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' show-ref
15b85ddadf6eaa19f10fa4490e83dbb5b9387d79 refs/heads/master
15b85ddadf6eaa19f10fa4490e83dbb5b9387d79 refs/remotes/origin/HEAD
15b85ddadf6eaa19f10fa4490e83dbb5b9387d79 refs/remotes/origin/master
3befe42a90cd022e1c216722b5997f260cef6c8c refs/tags/tag
9bbb687ba0fef177aa4f5bb6812902dfc60b01ec refs/tags/tag_annotated
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch origin '+refs/heads2/*:refs/remotes/origin/heads2/*'
From C:/Program Files/Git/test_git/client/../server/repo
* [new ref] refs/heads2/HEAD -> origin/heads2/HEAD
* [new ref] refs/heads2/branch -> origin/heads2/branch
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ cp --no-target-directory -- './client/repo/.git/HEAD' './client/repo/.git/HEAD2'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' show-ref
15b85ddadf6eaa19f10fa4490e83dbb5b9387d79 refs/heads/master
15b85ddadf6eaa19f10fa4490e83dbb5b9387d79 refs/remotes/origin/HEAD
631f3ee667af4b0789bf96587bee67bb8a209680 refs/remotes/origin/heads2/HEAD
631f3ee667af4b0789bf96587bee67bb8a209680 refs/remotes/origin/heads2/branch
15b85ddadf6eaa19f10fa4490e83dbb5b9387d79 refs/remotes/origin/master
3befe42a90cd022e1c216722b5997f260cef6c8c refs/tags/tag
9bbb687ba0fef177aa4f5bb6812902dfc60b01ec refs/tags/tag_annotated
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ branch_default_path="$(git -C './client/repo' symbolic-ref HEAD)"; echo "$branch_default_path"
refs/heads/master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' show-ref --exclude-existing <<EOF
> HEAD
> $branch_default_path
> a
> b/c
> d/e/f
> refs/tags/tag
> refs/tags/tag_annotated
> refs/tags/tag_annotated^{}
> EOF
warning: ref 'HEAD' ignored
warning: ref 'a' ignored
b/c
d/e/f
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' show-ref --exclude-existing='a' <<EOF
> HEAD
> $branch_default_path
> ab
> ab/cd
> ab/cd/ef
> ab/cd/gh
> refs/tags/tag
> refs/tags/tag_annotated
> refs/tags/tag_annotated^{}
> EOF
warning: ref 'ab' ignored
ab/cd
ab/cd/ef
ab/cd/gh
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' show-ref --exclude-existing='b' <<EOF
> HEAD
> $branch_default_path
> ab
> ab/cd
> ab/cd/ef
> ab/cd/gh
> refs/tags/tag
> refs/tags/tag_annotated
> refs/tags/tag_annotated^{}
> EOF
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server1' init --bare './repo.git'
Initialized empty Git repository in C:/Program Files/Git/test_git/server1/repo.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ branch_default_path="$(git -C './server1/repo.git' symbolic-ref HEAD)"; echo "$branch_default_path"
refs/heads/master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server1/repo.git' branch --show-current
master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server1/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
[master (root-commit) 15ee522] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server1/repo.git' tag tag
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server1/repo.git' tag --annotate --message='' tag_annotated
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server1/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
[master 21852b5] 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server1/repo.git' symbolic-ref HEAD 'refs/heads2/branch'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server1/repo.git' symbolic-ref HEAD
refs/heads2/branch
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server1/repo.git' branch --show-current
fatal: HEAD not found below refs/heads!
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server1/repo.git' symbolic-ref 'refs/heads2/HEAD' 'refs/heads2/branch'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server1/repo.git' symbolic-ref 'refs/heads2/HEAD'
refs/heads2/branch
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server1/repo.git' update-ref 'refs/heads2/branch' tag
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server1/repo.git' show-ref 'refs/heads2/branch'
15ee5224024730b494004a85306cf89f4ec8bd61 refs/heads2/branch
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server1/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
[refs/heads2/branch ed2c402] 3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server1/repo.git' symbolic-ref HEAD "$branch_default_path"
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server1/repo.git' symbolic-ref HEAD
refs/heads/master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server1/repo.git' branch --show-current
master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ cp --no-target-directory -- './server1/repo.git/HEAD' './server1/repo.git/HEAD2'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server1/repo.git' symbolic-ref HEAD2
refs/heads/master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server1/repo.git' lg --all --clear-decorations
* ed2c402 - 2026-05-30 16:05 (2 seconds ago) 3 - Han Jiang (refs/heads2/branch, refs/heads2/HEAD)
| * 21852b5 - 2026-05-30 16:05 (6 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
|/
* 15ee522 - 2026-05-30 16:05 (7 seconds ago) 1 - Han Jiang (tag: refs/tags/tag_annotated, tag: refs/tags/tag)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server1/repo.git' lg --clear-decorations HEAD2
* 21852b5 - 2026-05-30 16:05 (6 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
* 15ee522 - 2026-05-30 16:05 (7 seconds ago) 1 - Han Jiang (tag: refs/tags/tag_annotated, tag: refs/tags/tag)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server2' init --bare './repo.git'
Initialized empty Git repository in C:/Program Files/Git/test_git/server2/repo.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ cp --no-target-directory -- './server2/repo.git/HEAD' './server2/repo.git/HEAD2'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server2/repo.git' lg --all --clear-decorations
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/client/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote add server1 '../../server1/repo.git'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote add server2 'file://'"$(realpath './server2/repo.git')"
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' ls-remote
fatal: No remote configured to list refs from.
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ branch_default_name="$(git -C './client/repo' branch --show-current)"; echo "$branch_default_name"
master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' -c 'branch.'"$branch_default_name"'.remote=server1' ls-remote
From ../../server1/repo.git
21852b5878377ecae50734eae99160ea3a4cafe6 HEAD
21852b5878377ecae50734eae99160ea3a4cafe6 refs/heads/master
ed2c40205a317a8a46ba99343ea8c09c496eb323 refs/heads2/HEAD
ed2c40205a317a8a46ba99343ea8c09c496eb323 refs/heads2/branch
15ee5224024730b494004a85306cf89f4ec8bd61 refs/tags/tag
f1b212e970eea2ed410a9f81b77acd0345088943 refs/tags/tag_annotated
15ee5224024730b494004a85306cf89f4ec8bd61 refs/tags/tag_annotated^{}
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' -c 'branch.'"$branch_default_name"'.remote=server2' ls-remote
From file:///test_git/server2/repo.git
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' ls-remote server1
21852b5878377ecae50734eae99160ea3a4cafe6 HEAD
21852b5878377ecae50734eae99160ea3a4cafe6 refs/heads/master
ed2c40205a317a8a46ba99343ea8c09c496eb323 refs/heads2/HEAD
ed2c40205a317a8a46ba99343ea8c09c496eb323 refs/heads2/branch
15ee5224024730b494004a85306cf89f4ec8bd61 refs/tags/tag
f1b212e970eea2ed410a9f81b77acd0345088943 refs/tags/tag_annotated
15ee5224024730b494004a85306cf89f4ec8bd61 refs/tags/tag_annotated^{}
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' ls-remote server2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' ls-remote '.'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch --all
Fetching server1
remote: Enumerating objects: 4, done.
remote: Counting objects: 100% (4/4), done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 4 (delta 1), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (4/4), 335 bytes | 25.00 KiB/s, done.
From ../../server1/repo
* [new branch] master -> server1/master
* [new tag] tag -> tag
* [new tag] tag_annotated -> tag_annotated
Fetching server2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' ls-remote '.'
21852b5878377ecae50734eae99160ea3a4cafe6 refs/remotes/server1/HEAD
21852b5878377ecae50734eae99160ea3a4cafe6 refs/remotes/server1/master
15ee5224024730b494004a85306cf89f4ec8bd61 refs/tags/tag
f1b212e970eea2ed410a9f81b77acd0345088943 refs/tags/tag_annotated
15ee5224024730b494004a85306cf89f4ec8bd61 refs/tags/tag_annotated^{}
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' checkout "$branch_default_name"
branch 'master' set up to track 'server1/master'.
Already on 'master'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' ls-remote '.'
21852b5878377ecae50734eae99160ea3a4cafe6 HEAD
21852b5878377ecae50734eae99160ea3a4cafe6 refs/heads/master
21852b5878377ecae50734eae99160ea3a4cafe6 refs/remotes/server1/HEAD
21852b5878377ecae50734eae99160ea3a4cafe6 refs/remotes/server1/master
15ee5224024730b494004a85306cf89f4ec8bd61 refs/tags/tag
f1b212e970eea2ed410a9f81b77acd0345088943 refs/tags/tag_annotated
15ee5224024730b494004a85306cf89f4ec8bd61 refs/tags/tag_annotated^{}
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server' init --bare './repo.git'
Initialized empty Git repository in C:/Program Files/Git/test_git/server/repo.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ branch_default_path="$(git -C './server/repo.git' symbolic-ref HEAD)"; echo "$branch_default_path"
refs/heads/master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' branch --show-current
master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
[master (root-commit) 0628352] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' tag tag
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' tag --annotate --message='' tag_annotated
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
[master 98fac69] 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' symbolic-ref HEAD 'refs/heads2/branch'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' symbolic-ref HEAD
refs/heads2/branch
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' branch --show-current
fatal: HEAD not found below refs/heads!
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' symbolic-ref 'refs/heads2/HEAD' 'refs/heads2/branch'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' symbolic-ref 'refs/heads2/HEAD'
refs/heads2/branch
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' update-ref 'refs/heads2/branch' tag
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' show-ref 'refs/heads2/branch'
0628352e295d30b9268fdef28d780d4099073764 refs/heads2/branch
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
[refs/heads2/branch 56814e2] 3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' symbolic-ref HEAD "$branch_default_path"
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' symbolic-ref HEAD
refs/heads/master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' branch --show-current
master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ cp --no-target-directory -- './server/repo.git/HEAD' './server/repo.git/HEAD2'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' symbolic-ref HEAD2
refs/heads/master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --all --clear-decorations
* 56814e2 - 2026-05-30 16:06 (3 seconds ago) 3 - Han Jiang (refs/heads2/branch, refs/heads2/HEAD)
| * 98fac69 - 2026-05-30 16:05 (6 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
|/
* 0628352 - 2026-05-30 16:05 (7 seconds ago) 1 - Han Jiang (tag: refs/tags/tag_annotated, tag: refs/tags/tag)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --clear-decorations HEAD2
* 98fac69 - 2026-05-30 16:05 (6 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
* 0628352 - 2026-05-30 16:05 (7 seconds ago) 1 - Han Jiang (tag: refs/tags/tag_annotated, tag: refs/tags/tag)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git ls-remote './server/repo.git'
98fac694ee403c046d9058538a86116e019e499b HEAD
98fac694ee403c046d9058538a86116e019e499b refs/heads/master
56814e200144eefa0195da71d3fbe7afa0a0b3c1 refs/heads2/HEAD
56814e200144eefa0195da71d3fbe7afa0a0b3c1 refs/heads2/branch
0628352e295d30b9268fdef28d780d4099073764 refs/tags/tag
5204ba91bff31c8d7ed540932a276cb3a750e16d refs/tags/tag_annotated
0628352e295d30b9268fdef28d780d4099073764 refs/tags/tag_annotated^{}
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git ls-remote './server/repo.git' HEAD
98fac694ee403c046d9058538a86116e019e499b HEAD
56814e200144eefa0195da71d3fbe7afa0a0b3c1 refs/heads2/HEAD
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git ls-remote './server/repo.git' HEAD2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server' init --bare './repo.git'
Initialized empty Git repository in C:/Program Files/Git/test_git/server/repo.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ branch_default_path="$(git -C './server/repo.git' symbolic-ref HEAD)"; echo "$branch_default_path"
refs/heads/master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' branch --show-current
master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
[master (root-commit) e7362c0] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' tag tag
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' tag --annotate --message='' tag_annotated
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
[master 5e496f4] 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' symbolic-ref HEAD 'refs/heads2/branch'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' symbolic-ref HEAD
refs/heads2/branch
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' branch --show-current
fatal: HEAD not found below refs/heads!
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' symbolic-ref 'refs/heads2/HEAD' 'refs/heads2/branch'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' symbolic-ref 'refs/heads2/HEAD'
refs/heads2/branch
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' update-ref 'refs/heads2/branch' tag
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' show-ref 'refs/heads2/branch'
e7362c0e33fd98308951a8d450876cd290fc5e45 refs/heads2/branch
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
[refs/heads2/branch 2d5e6cd] 3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' symbolic-ref HEAD "$branch_default_path"
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' symbolic-ref HEAD
refs/heads/master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' branch --show-current
master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ cp --no-target-directory -- './server/repo.git/HEAD' './server/repo.git/HEAD2'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' symbolic-ref HEAD2
refs/heads/master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --all --clear-decorations
* 2d5e6cd - 2026-05-30 16:06 (2 seconds ago) 3 - Han Jiang (refs/heads2/branch, refs/heads2/HEAD)
| * 5e496f4 - 2026-05-30 16:06 (5 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
|/
* e7362c0 - 2026-05-30 16:06 (6 seconds ago) 1 - Han Jiang (tag: refs/tags/tag_annotated, tag: refs/tags/tag)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --clear-decorations HEAD2
* 5e496f4 - 2026-05-30 16:06 (6 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
* e7362c0 - 2026-05-30 16:06 (7 seconds ago) 1 - Han Jiang (tag: refs/tags/tag_annotated, tag: refs/tags/tag)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git ls-remote './server/repo.git'
5e496f45f242f3e2e857a353df861eebed5577b0 HEAD
5e496f45f242f3e2e857a353df861eebed5577b0 refs/heads/master
2d5e6cdfe638ffb815a74e65ee1d841abb511986 refs/heads2/HEAD
2d5e6cdfe638ffb815a74e65ee1d841abb511986 refs/heads2/branch
e7362c0e33fd98308951a8d450876cd290fc5e45 refs/tags/tag
d1e5217c74a57fca2ce6d132ffb93e705698da0c refs/tags/tag_annotated
e7362c0e33fd98308951a8d450876cd290fc5e45 refs/tags/tag_annotated^{}
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git ls-remote --refs './server/repo.git'
5e496f45f242f3e2e857a353df861eebed5577b0 refs/heads/master
2d5e6cdfe638ffb815a74e65ee1d841abb511986 refs/heads2/HEAD
2d5e6cdfe638ffb815a74e65ee1d841abb511986 refs/heads2/branch
e7362c0e33fd98308951a8d450876cd290fc5e45 refs/tags/tag
d1e5217c74a57fca2ce6d132ffb93e705698da0c refs/tags/tag_annotated
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git ls-remote --symref './server/repo.git'
ref: refs/heads/master HEAD
5e496f45f242f3e2e857a353df861eebed5577b0 HEAD
5e496f45f242f3e2e857a353df861eebed5577b0 refs/heads/master
ref: refs/heads2/branch refs/heads2/HEAD
2d5e6cdfe638ffb815a74e65ee1d841abb511986 refs/heads2/HEAD
2d5e6cdfe638ffb815a74e65ee1d841abb511986 refs/heads2/branch
e7362c0e33fd98308951a8d450876cd290fc5e45 refs/tags/tag
d1e5217c74a57fca2ce6d132ffb93e705698da0c refs/tags/tag_annotated
e7362c0e33fd98308951a8d450876cd290fc5e45 refs/tags/tag_annotated^{}
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git ls-remote --symref --refs './server/repo.git'
5e496f45f242f3e2e857a353df861eebed5577b0 refs/heads/master
ref: refs/heads2/branch refs/heads2/HEAD
2d5e6cdfe638ffb815a74e65ee1d841abb511986 refs/heads2/HEAD
2d5e6cdfe638ffb815a74e65ee1d841abb511986 refs/heads2/branch
e7362c0e33fd98308951a8d450876cd290fc5e45 refs/tags/tag
d1e5217c74a57fca2ce6d132ffb93e705698da0c refs/tags/tag_annotated
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git ls-remote --branches './server/repo.git'
5e496f45f242f3e2e857a353df861eebed5577b0 refs/heads/master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git ls-remote --tags './server/repo.git'
e7362c0e33fd98308951a8d450876cd290fc5e45 refs/tags/tag
d1e5217c74a57fca2ce6d132ffb93e705698da0c refs/tags/tag_annotated
e7362c0e33fd98308951a8d450876cd290fc5e45 refs/tags/tag_annotated^{}
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git ls-remote --tags --refs './server/repo.git'
e7362c0e33fd98308951a8d450876cd290fc5e45 refs/tags/tag
d1e5217c74a57fca2ce6d132ffb93e705698da0c refs/tags/tag_annotated
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git ls-remote --branches --tags './server/repo.git'
5e496f45f242f3e2e857a353df861eebed5577b0 refs/heads/master
e7362c0e33fd98308951a8d450876cd290fc5e45 refs/tags/tag
d1e5217c74a57fca2ce6d132ffb93e705698da0c refs/tags/tag_annotated
e7362c0e33fd98308951a8d450876cd290fc5e45 refs/tags/tag_annotated^{}
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git ls-remote --branches --tags --refs './server/repo.git'
5e496f45f242f3e2e857a353df861eebed5577b0 refs/heads/master
e7362c0e33fd98308951a8d450876cd290fc5e45 refs/tags/tag
d1e5217c74a57fca2ce6d132ffb93e705698da0c refs/tags/tag_annotated
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git ls-remote --get-url './server/repo.git'
./server/repo.git
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -c 'url.scheme://authority/path/.insteadOf=./' ls-remote --get-url './server/repo.git'
scheme://authority/path/server/repo.git
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git ls-remote --get-url 'file://'"$(realpath './server/repo.git')"
realpath: ./server/repo.git: No such file or directory
file://
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -c 'url.scheme://authority/path/.insteadOf=file:///' ls-remote --get-url 'file://'"$(realpath './server/repo.git')"
realpath: ./server/repo.git: No such file or directory
file://
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git ls-remote --get-url 'file://'"$(realpath '.')"'/server/repo.git'
file:///test_git/server/repo.git
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -c 'url.scheme://authority/path/.insteadOf=file:///' ls-remote --get-url 'file://'"$(realpath '.')"'/server/repo.git'
scheme://authority/path/test_git/server/repo.git
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --show-current
master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --list --all
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --list --all --verbose
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --list --all --verbose --verbose
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master (root-commit) 4f29cf2] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --show-current
master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --list --all
* master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --list --all --verbose
* master 4f29cf2 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --list --all --verbose --verbose
* master 4f29cf2 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server' init --bare './repo.git'
Initialized empty Git repository in C:/Program Files/Git/test_git/server/repo.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
[master (root-commit) e127be6] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' branch branch1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' init
Initialized empty Git repository in C:/Program Files/Git/test_git/client/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote add server 'file://'"$(realpath './server/repo.git')"
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --verbose --verbose
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --remotes --verbose --verbose
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch --all
remote: Enumerating objects: 2, done.
remote: Counting objects: 100% (2/2), done.
remote: Total 2 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (2/2), 138 bytes | 12.00 KiB/s, done.
From file:///test_git/server/repo
* [new branch] branch1 -> server/branch1
* [new branch] master -> server/master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --verbose --verbose
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --remotes --verbose --verbose
server/HEAD -> server/master
server/branch1 e127be6 1
server/master e127be6 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
remotes/server/HEAD -> server/master
remotes/server/branch1 e127be6 1
remotes/server/master e127be6 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' checkout branch1
branch 'branch1' set up to track 'server/branch1'.
Switched to a new branch 'branch1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --verbose --verbose
* branch1 e127be6 [server/branch1] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --remotes --verbose --verbose
server/HEAD -> server/master
server/branch1 e127be6 1
server/master e127be6 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
* branch1 e127be6 [server/branch1] 1
remotes/server/HEAD -> server/master
remotes/server/branch1 e127be6 1
remotes/server/master e127be6 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty; git -C './repo' checkout -b branch1
[master (root-commit) ed2466c] 1
Switched to a new branch 'branch1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout -b branch2; git -C './repo' commit --message="$((++number))" --allow-empty
Switched to a new branch 'branch2'
[branch2 69a2e2c] 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout -b branch3 branch1; git -C './repo' commit --message="$((++number))" --allow-empty
Switched to a new branch 'branch3'
[branch3 5d0a7fb] 3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout -b branch4 branch2; git -C './repo' merge --message="$((++number))" branch3
Switched to a new branch 'branch4'
Merge made by the 'ort' strategy.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* ba75484 - 2026-05-30 16:06 (1 second ago) 4 - Han Jiang (HEAD -> refs/heads/branch4)
|\
| * 5d0a7fb - 2026-05-30 16:06 (1 second ago) 3 - Han Jiang (refs/heads/branch3)
* | 69a2e2c - 2026-05-30 16:06 (2 seconds ago) 2 - Han Jiang (refs/heads/branch2)
|/
* ed2466c - 2026-05-30 16:06 (3 seconds ago) 1 - Han Jiang (refs/heads/master, refs/heads/branch1)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --list --all --verbose --verbose --contains=branch2
branch2 69a2e2c 2
* branch4 ba75484 4
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --list --all --verbose --verbose --contains=branch3
branch3 5d0a7fb 3
* branch4 ba75484 4
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --list --all --verbose --verbose --contains=branch2 --contains=branch3
branch2 69a2e2c 2
branch3 5d0a7fb 3
* branch4 ba75484 4
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --list --all --verbose --verbose --no-contains=branch2
branch1 ed2466c 1
branch3 5d0a7fb 3
master ed2466c 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --list --all --verbose --verbose --no-contains=branch3
branch1 ed2466c 1
branch2 69a2e2c 2
master ed2466c 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --list --all --verbose --verbose --no-contains=branch2 --no-contains=branch3
branch1 ed2466c 1
master ed2466c 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --list --all --verbose --verbose --merged=branch2
branch1 ed2466c 1
branch2 69a2e2c 2
master ed2466c 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --list --all --verbose --verbose --merged=branch3
branch1 ed2466c 1
branch3 5d0a7fb 3
master ed2466c 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --list --all --verbose --verbose --merged=branch2 --merged=branch3
branch1 ed2466c 1
branch2 69a2e2c 2
branch3 5d0a7fb 3
master ed2466c 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --list --all --verbose --verbose --no-merged=branch2
branch3 5d0a7fb 3
* branch4 ba75484 4
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --list --all --verbose --verbose --no-merged=branch3
branch2 69a2e2c 2
* branch4 ba75484 4
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --list --all --verbose --verbose --no-merged=branch2 --no-merged=branch3
* branch4 ba75484 4
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server' init --bare './repo.git'
Initialized empty Git repository in C:/Program Files/Git/test_git/server/repo.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
[master (root-commit) 57202c6] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' branch branch1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' init
Initialized empty Git repository in C:/Program Files/Git/test_git/client/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote add server 'file://'"$(realpath './server/repo.git')"
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch --all
remote: Enumerating objects: 2, done.
remote: Counting objects: 100% (2/2), done.
remote: Total 2 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (2/2), 137 bytes | 22.00 KiB/s, done.
From file:///test_git/server/repo
* [new branch] branch1 -> server/branch1
* [new branch] master -> server/master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' checkout branch1
branch 'branch1' set up to track 'server/branch1'.
Switched to a new branch 'branch1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
* branch1 57202c6 [server/branch1] 1
remotes/server/HEAD -> server/master
remotes/server/branch1 57202c6 1
remotes/server/master 57202c6 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose 'refs/heads/branch1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose 'heads/branch1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose 'refs/remotes/server/branch1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose 'remotes/server/branch1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose 'server/branch1'
remotes/server/branch1 57202c6 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose branch1
* branch1 57202c6 [server/branch1] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose '*branch1'
* branch1 57202c6 [server/branch1] 1
remotes/server/branch1 57202c6 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose '*r*n*'
* branch1 57202c6 [server/branch1] 1
remotes/server/branch1 57202c6 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server' init --bare './repo.git'
Initialized empty Git repository in C:/Program Files/Git/test_git/server/repo.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
[master (root-commit) ae9a20e] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' branch branch1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' init
Initialized empty Git repository in C:/Program Files/Git/test_git/client/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote add server 'file://'"$(realpath './server/repo.git')"
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch --all
remote: Enumerating objects: 2, done.
remote: Counting objects: 100% (2/2), done.
remote: Total 2 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (2/2), 138 bytes | 15.00 KiB/s, done.
From file:///test_git/server/repo
* [new branch] branch1 -> server/branch1
* [new branch] master -> server/master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all
remotes/server/HEAD -> server/master
remotes/server/branch1
remotes/server/master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose
remotes/server/HEAD -> server/master
remotes/server/branch1 ae9a20e 1
remotes/server/master ae9a20e 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
remotes/server/HEAD -> server/master
remotes/server/branch1 ae9a20e 1
remotes/server/master ae9a20e 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' checkout branch1
branch 'branch1' set up to track 'server/branch1'.
Switched to a new branch 'branch1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all
* branch1
remotes/server/HEAD -> server/master
remotes/server/branch1
remotes/server/master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose
* branch1 ae9a20e 1
remotes/server/HEAD -> server/master
remotes/server/branch1 ae9a20e 1
remotes/server/master ae9a20e 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
* branch1 ae9a20e [server/branch1] 1
remotes/server/HEAD -> server/master
remotes/server/branch1 ae9a20e 1
remotes/server/master ae9a20e 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master (root-commit) da4a389] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --list --all --verbose
* master da4a389 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --list --all --verbose --abbrev
* master da4a389 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --list --all --verbose --no-abbrev
* master da4a389fec87475acebef5db6cf91009ae2e9d1c 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --list --all --verbose --verbose
* master da4a389 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --list --all --verbose --verbose --abbrev
* master da4a389 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --list --all --verbose --verbose --no-abbrev
* master da4a389fec87475acebef5db6cf91009ae2e9d1c 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server' init --bare './repo.git'
Initialized empty Git repository in C:/Program Files/Git/test_git/server/repo.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
[master (root-commit) c57509f] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
[master c131365] 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' branch branch1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' init
Initialized empty Git repository in C:/Program Files/Git/test_git/client/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote add server 'file://'"$(realpath './server/repo.git')"
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch --all
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 3 (delta 1), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (3/3), 204 bytes | 18.00 KiB/s, done.
From file:///test_git/server/repo
* [new branch] branch1 -> server/branch1
* [new branch] master -> server/master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' checkout branch1
branch 'branch1' set up to track 'server/branch1'.
Switched to a new branch 'branch1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch branch2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' reset HEAD~1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' commit --message="$((++number))" --allow-empty
[branch1 b426fc7] 3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all
* b426fc7 - 2026-05-30 16:07 (1 second ago) 3 - Han Jiang (HEAD -> refs/heads/branch1)
| * c131365 - 2026-05-30 16:07 (4 seconds ago) 2 - Han Jiang (refs/remotes/server/master, refs/remotes/server/branch1, refs/remotes/server/HEAD, refs/heads/branch2)
|/
* c57509f - 2026-05-30 16:07 (5 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --format='%(HEAD) %(refname) %(objectname)%(if)%(upstream)%(then) (fetch from %(upstream:remotename) with %(upstream:remoteref):%(upstream) %(upstream:track))%(end)%(if)%(push)%(then) (push to %(if)%(push:remotename)%(then)%(push:remotename)%(else)%(upstream:remotename)%(end) with %(if)%(push:remoteref)%(then)%(push:remoteref):%(refname)%(else)push.default%(end) %(push:track))%(end)%(if)%(worktreepath)%(then) worktreepath="%(worktreepath)"%(end)'
* refs/heads/branch1 b426fc7028a20acd39811eda55dccc33b45f0bc2 (fetch from server with refs/heads/branch1:refs/remotes/server/branch1 [ahead 1, behind 1]) (push to server with push.default [ahead 1, behind 1]) worktreepath="C:/Program Files/Git/test_git/client/repo"
refs/heads/branch2 c13136509d76f4e3c05b3a1d01d8b73587d3ad4a
refs/remotes/server/HEAD c13136509d76f4e3c05b3a1d01d8b73587d3ad4a
refs/remotes/server/branch1 c13136509d76f4e3c05b3a1d01d8b73587d3ad4a
refs/remotes/server/master c13136509d76f4e3c05b3a1d01d8b73587d3ad4a
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-origin --show-scope
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server/repo.git
local file:.git/config remote.server.fetch=+refs/heads/*:refs/remotes/server/*
local file:.git/config branch.branch1.remote=server
local file:.git/config branch.branch1.merge=refs/heads/branch1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config set --local 'remote.server.push' 'refs/heads/branch1:refs/heads/branch1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-origin --show-scope
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server/repo.git
local file:.git/config remote.server.fetch=+refs/heads/*:refs/remotes/server/*
local file:.git/config remote.server.push=refs/heads/branch1:refs/heads/branch1
local file:.git/config branch.branch1.remote=server
local file:.git/config branch.branch1.merge=refs/heads/branch1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --format='%(HEAD) %(refname) %(objectname)%(if)%(upstream)%(then) (fetch from %(upstream:remotename) with %(upstream:remoteref):%(upstream) %(upstream:track))%(end)%(if)%(push)%(then) (push to %(if)%(push:remotename)%(then)%(push:remotename)%(else)%(upstream:remotename)%(end) with %(if)%(push:remoteref)%(then)%(push:remoteref):%(refname)%(else)push.default%(end) %(push:track))%(end)%(if)%(worktreepath)%(then) worktreepath="%(worktreepath)"%(end)'
* refs/heads/branch1 b426fc7028a20acd39811eda55dccc33b45f0bc2 (fetch from server with refs/heads/branch1:refs/remotes/server/branch1 [ahead 1, behind 1]) (push to server with refs/heads/branch1:refs/heads/branch1 [ahead 1, behind 1]) worktreepath="C:/Program Files/Git/test_git/client/repo"
refs/heads/branch2 c13136509d76f4e3c05b3a1d01d8b73587d3ad4a
refs/remotes/server/HEAD c13136509d76f4e3c05b3a1d01d8b73587d3ad4a
refs/remotes/server/branch1 c13136509d76f4e3c05b3a1d01d8b73587d3ad4a
refs/remotes/server/master c13136509d76f4e3c05b3a1d01d8b73587d3ad4a
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' worktree add '../worktree1' branch1
Preparing worktree (checking out 'branch1')
fatal: 'branch1' is already used by worktree at 'C:/Program Files/Git/test_git/client/repo'
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' worktree add --force '../worktree1' branch1
Preparing worktree (checking out 'branch1')
HEAD is now at b426fc7 3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' worktree list
C:/Program Files/Git/test_git/client/repo b426fc7 [branch1]
C:/Program Files/Git/test_git/client/worktree1 b426fc7 [branch1]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --format='%(HEAD) %(refname) %(objectname)%(if)%(upstream)%(then) (fetch from %(upstream:remotename) with %(upstream:remoteref):%(upstream) %(upstream:track))%(end)%(if)%(push)%(then) (push to %(if)%(push:remotename)%(then)%(push:remotename)%(else)%(upstream:remotename)%(end) with %(if)%(push:remoteref)%(then)%(push:remoteref):%(refname)%(else)push.default%(end) %(push:track))%(end)%(if)%(worktreepath)%(then) worktreepath="%(worktreepath)"%(end)'
* refs/heads/branch1 b426fc7028a20acd39811eda55dccc33b45f0bc2 (fetch from server with refs/heads/branch1:refs/remotes/server/branch1 [ahead 1, behind 1]) (push to server with refs/heads/branch1:refs/heads/branch1 [ahead 1, behind 1]) worktreepath="C:/Program Files/Git/test_git/client/worktree1"
refs/heads/branch2 c13136509d76f4e3c05b3a1d01d8b73587d3ad4a
refs/remotes/server/HEAD c13136509d76f4e3c05b3a1d01d8b73587d3ad4a
refs/remotes/server/branch1 c13136509d76f4e3c05b3a1d01d8b73587d3ad4a
refs/remotes/server/master c13136509d76f4e3c05b3a1d01d8b73587d3ad4a
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' worktree add --force '../worktree2' branch1
Preparing worktree (checking out 'branch1')
HEAD is now at b426fc7 3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' worktree list
C:/Program Files/Git/test_git/client/repo b426fc7 [branch1]
C:/Program Files/Git/test_git/client/worktree1 b426fc7 [branch1]
C:/Program Files/Git/test_git/client/worktree2 b426fc7 [branch1]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --format='%(HEAD) %(refname) %(objectname)%(if)%(upstream)%(then) (fetch from %(upstream:remotename) with %(upstream:remoteref):%(upstream) %(upstream:track))%(end)%(if)%(push)%(then) (push to %(if)%(push:remotename)%(then)%(push:remotename)%(else)%(upstream:remotename)%(end) with %(if)%(push:remoteref)%(then)%(push:remoteref):%(refname)%(else)push.default%(end) %(push:track))%(end)%(if)%(worktreepath)%(then) worktreepath="%(worktreepath)"%(end)'
* refs/heads/branch1 b426fc7028a20acd39811eda55dccc33b45f0bc2 (fetch from server with refs/heads/branch1:refs/remotes/server/branch1 [ahead 1, behind 1]) (push to server with refs/heads/branch1:refs/heads/branch1 [ahead 1, behind 1]) worktreepath="C:/Program Files/Git/test_git/client/worktree2"
refs/heads/branch2 c13136509d76f4e3c05b3a1d01d8b73587d3ad4a
refs/remotes/server/HEAD c13136509d76f4e3c05b3a1d01d8b73587d3ad4a
refs/remotes/server/branch1 c13136509d76f4e3c05b3a1d01d8b73587d3ad4a
refs/remotes/server/master c13136509d76f4e3c05b3a1d01d8b73587d3ad4a
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server' init --bare './repo.git'
Initialized empty Git repository in C:/Program Files/Git/test_git/server/repo.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
[master (root-commit) cdab5d0] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' branch branch1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' init
Initialized empty Git repository in C:/Program Files/Git/test_git/client/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote add server 'file://'"$(realpath './server/repo.git')"
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch --all
remote: Enumerating objects: 2, done.
remote: Counting objects: 100% (2/2), done.
remote: Total 2 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (2/2), 138 bytes | 17.00 KiB/s, done.
From file:///test_git/server/repo
* [new branch] branch1 -> server/branch1
* [new branch] master -> server/master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' checkout branch1
branch 'branch1' set up to track 'server/branch1'.
Switched to a new branch 'branch1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
* branch1 cdab5d0 [server/branch1] 1
remotes/server/HEAD -> server/master
remotes/server/branch1 cdab5d0 1
remotes/server/master cdab5d0 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch branch21 branch1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --no-track branch22 branch1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --track=direct branch23 branch1
branch 'branch23' set up to track 'branch1'.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --track=inherit branch24 branch1
branch 'branch24' set up to track 'server/branch1'.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' -c 'branch.autoSetupMerge=false' branch branch31 branch1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' -c 'branch.autoSetupMerge=false' branch --track=direct branch311 branch1
branch 'branch311' set up to track 'branch1'.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' -c 'branch.autoSetupMerge=false' branch --track=inherit branch312 branch1
branch 'branch312' set up to track 'server/branch1'.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' -c 'branch.autoSetupMerge=always' branch branch32 branch1
branch 'branch32' set up to track 'branch1'.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' -c 'branch.autoSetupMerge=always' branch --no-track branch321 branch1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' -c 'branch.autoSetupMerge=inherit' branch branch33 branch1
branch 'branch33' set up to track 'server/branch1'.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' -c 'branch.autoSetupMerge=inherit' branch --no-track branch331 branch1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
* branch1 cdab5d0 [server/branch1] 1
branch21 cdab5d0 1
branch22 cdab5d0 1
branch23 cdab5d0 [branch1] 1
branch24 cdab5d0 [server/branch1] 1
branch31 cdab5d0 1
branch311 cdab5d0 [branch1] 1
branch312 cdab5d0 [server/branch1] 1
branch32 cdab5d0 [branch1] 1
branch321 cdab5d0 1
branch33 cdab5d0 [server/branch1] 1
branch331 cdab5d0 1
remotes/server/HEAD -> server/master
remotes/server/branch1 cdab5d0 1
remotes/server/master cdab5d0 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' config list --local --show-origin --show-scope
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master (root-commit) 3fcf505] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch branch1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --no-create-reflog branch11
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --create-reflog branch12
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' -c 'core.logAllRefUpdates=false' branch branch2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' -c 'core.logAllRefUpdates=false' branch --create-reflog branch21
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' -c 'core.logAllRefUpdates=true' branch branch3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' -c 'core.logAllRefUpdates=true' branch --no-create-reflog branch31
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --list --all --verbose --verbose
branch1 3fcf505 1
branch11 3fcf505 1
branch12 3fcf505 1
branch2 3fcf505 1
branch21 3fcf505 1
branch3 3fcf505 1
branch31 3fcf505 1
* master 3fcf505 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' reflog list
HEAD
refs/heads/branch1
refs/heads/branch11
refs/heads/branch12
refs/heads/branch21
refs/heads/branch3
refs/heads/branch31
refs/heads/master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master (root-commit) 23aa8e7] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch branch1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master 1904407] 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch branch2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 1904407 - 2026-05-30 16:08 (1 second ago) 2 - Han Jiang (HEAD -> refs/heads/master, refs/heads/branch2)
* 23aa8e7 - 2026-05-30 16:08 (2 seconds ago) 1 - Han Jiang (refs/heads/branch1)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --move branch2 branch1
fatal: a branch named 'branch1' already exists
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --move --force branch2 branch1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 1904407 - 2026-05-30 16:08 (2 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master, refs/heads/branch1)
* 23aa8e7 - 2026-05-30 16:08 (3 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master (root-commit) afda1fa] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch branch1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master b059ab1] 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch branch2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1
Switched to branch 'branch1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* b059ab1 - 2026-05-30 16:08 (2 seconds ago) 2 - Han Jiang (refs/heads/master, refs/heads/branch2)
* afda1fa - 2026-05-30 16:08 (2 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/branch1)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --move branch2 branch1
fatal: a branch named 'branch1' already exists
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --move --force branch2 branch1
fatal: cannot force update the branch 'branch1' used by worktree at 'C:/Program Files/Git/test_git/repo'
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master (root-commit) f6ce539] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch branch1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master b3172cb] 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch branch2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* b3172cb - 2026-05-30 16:08 (0 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master, refs/heads/branch2)
* f6ce539 - 2026-05-30 16:08 (1 second ago) 1 - Han Jiang (refs/heads/branch1)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --copy branch2 branch1
fatal: a branch named 'branch1' already exists
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --copy --force branch2 branch1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* b3172cb - 2026-05-30 16:08 (2 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master, refs/heads/branch2, refs/heads/branch1)
* f6ce539 - 2026-05-30 16:08 (3 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master (root-commit) 210a23e] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch branch1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master fa1be9c] 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch branch2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1
Switched to branch 'branch1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* fa1be9c - 2026-05-30 16:08 (1 second ago) 2 - Han Jiang (refs/heads/master, refs/heads/branch2)
* 210a23e - 2026-05-30 16:08 (2 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/branch1)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --copy branch2 branch1
fatal: a branch named 'branch1' already exists
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --copy --force branch2 branch1
fatal: cannot force update the branch 'branch1' used by worktree at 'C:/Program Files/Git/test_git/repo'
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master (root-commit) ad05591] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master a776b68] 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch branch1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' reset --hard HEAD~1
HEAD is now at ad05591 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --list --all --verbose --verbose
branch1 a776b68 2
* master ad05591 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* a776b68 - 2026-05-30 16:08 (2 seconds ago) 2 - Han Jiang (refs/heads/branch1)
* ad05591 - 2026-05-30 16:08 (2 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --delete branch1
error: the branch 'branch1' is not fully merged
hint: If you are sure you want to delete it, run 'git branch -D branch1'
hint: Disable this message with "git config set advice.forceDeleteBranch false"
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --delete --force branch1
Deleted branch branch1 (was a776b68).
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --list --all --verbose --verbose
* master ad05591 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* ad05591 - 2026-05-30 16:08 (4 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master (root-commit) b7dd481] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout -b branch1
Switched to a new branch 'branch1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --list --all --verbose --verbose
* branch1 b7dd481 1
master b7dd481 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* b7dd481 - 2026-05-30 16:08 (1 second ago) 1 - Han Jiang (HEAD -> refs/heads/branch1, refs/heads/master)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --delete branch1
error: cannot delete branch 'branch1' used by worktree at 'C:/Program Files/Git/test_git/repo'
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --delete --force branch1
error: cannot delete branch 'branch1' used by worktree at 'C:/Program Files/Git/test_git/repo'
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server' init --bare './repo.git'
Initialized empty Git repository in C:/Program Files/Git/test_git/server/repo.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
[master (root-commit) 392c1c1] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' branch branch1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' init
Initialized empty Git repository in C:/Program Files/Git/test_git/client/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ branch_default_path="$(git -C './client/repo' symbolic-ref HEAD)"; echo "$branch_default_path"
refs/heads/master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --show-current
master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote add server 'file://'"$(realpath './server/repo.git')"
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch --all
remote: Enumerating objects: 2, done.
remote: Counting objects: 100% (2/2), done.
remote: Total 2 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (2/2), 138 bytes | 15.00 KiB/s, done.
From file:///test_git/server/repo
* [new branch] branch1 -> server/branch1
* [new branch] master -> server/master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' checkout branch1
branch 'branch1' set up to track 'server/branch1'.
Switched to a new branch 'branch1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
* branch1 392c1c1 [server/branch1] 1
remotes/server/HEAD -> server/master
remotes/server/branch1 392c1c1 1
remotes/server/master 392c1c1 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --delete branch1
error: cannot delete branch 'branch1' used by worktree at 'C:/Program Files/Git/test_git/client/repo'
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' symbolic-ref HEAD "$branch_default_path"
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' symbolic-ref HEAD
refs/heads/master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --show-current
master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --delete branch1
warning: deleting branch 'branch1' that has been merged to
'refs/remotes/server/branch1', but not yet merged to HEAD
Deleted branch branch1 (was 392c1c1).
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
remotes/server/HEAD -> server/master
remotes/server/branch1 392c1c1 1
remotes/server/master 392c1c1 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server' init --bare './repo.git'
Initialized empty Git repository in C:/Program Files/Git/test_git/server/repo.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
[master (root-commit) 40270e6] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' branch branch1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' init
Initialized empty Git repository in C:/Program Files/Git/test_git/client/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote add server 'file://'"$(realpath './server/repo.git')"
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch --all
remote: Enumerating objects: 2, done.
remote: Counting objects: 100% (2/2), done.
remote: Total 2 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (2/2), 138 bytes | 23.00 KiB/s, done.
From file:///test_git/server/repo
* [new branch] branch1 -> server/branch1
* [new branch] master -> server/master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' checkout branch1
branch 'branch1' set up to track 'server/branch1'.
Switched to a new branch 'branch1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
* branch1 40270e6 [server/branch1] 1
remotes/server/HEAD -> server/master
remotes/server/branch1 40270e6 1
remotes/server/master 40270e6 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --delete server/branch1
error: branch 'server/branch1' not found.
Did you forget --remote?
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --delete --remotes branch1
error: remote-tracking branch 'branch1' not found
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --delete --remotes server/branch1
Deleted remote-tracking branch server/branch1 (was 40270e6).
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
* branch1 40270e6 [server/branch1: gone] 1
remotes/server/HEAD -> server/master
remotes/server/master 40270e6 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server' init --bare './repo.git'
Initialized empty Git repository in C:/Program Files/Git/test_git/server/repo.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
[master (root-commit) dfa3870] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' branch branch1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' init
Initialized empty Git repository in C:/Program Files/Git/test_git/client/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-origin --show-scope
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote add server 'file://'"$(realpath './server/repo.git')"
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-origin --show-scope
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server/repo.git
local file:.git/config remote.server.fetch=+refs/heads/*:refs/remotes/server/*
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch --all
remote: Enumerating objects: 2, done.
remote: Counting objects: 100% (2/2), done.
remote: Total 2 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (2/2), 137 bytes | 13.00 KiB/s, done.
From file:///test_git/server/repo
* [new branch] branch1 -> server/branch1
* [new branch] master -> server/master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-origin --show-scope
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server/repo.git
local file:.git/config remote.server.fetch=+refs/heads/*:refs/remotes/server/*
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' checkout branch1
branch 'branch1' set up to track 'server/branch1'.
Switched to a new branch 'branch1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-origin --show-scope
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server/repo.git
local file:.git/config remote.server.fetch=+refs/heads/*:refs/remotes/server/*
local file:.git/config branch.branch1.remote=server
local file:.git/config branch.branch1.merge=refs/heads/branch1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --unset-upstream branch1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-origin --show-scope
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server/repo.git
local file:.git/config remote.server.fetch=+refs/heads/*:refs/remotes/server/*
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --set-upstream-to='refs/heads/branch1' branch1
warning: not setting branch 'branch1' as its own upstream
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --set-upstream-to='heads/branch1' branch1
warning: not setting branch 'branch1' as its own upstream
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --set-upstream-to='branch1' branch1
warning: not setting branch 'branch1' as its own upstream
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-origin --show-scope
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server/repo.git
local file:.git/config remote.server.fetch=+refs/heads/*:refs/remotes/server/*
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --set-upstream-to='refs/remotes/server/branch1' branch1
branch 'branch1' set up to track 'server/branch1'.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-origin --show-scope
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server/repo.git
local file:.git/config remote.server.fetch=+refs/heads/*:refs/remotes/server/*
local file:.git/config branch.branch1.remote=server
local file:.git/config branch.branch1.merge=refs/heads/branch1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --set-upstream-to='remotes/server/branch1' branch1
branch 'branch1' set up to track 'server/branch1'.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-origin --show-scope
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server/repo.git
local file:.git/config remote.server.fetch=+refs/heads/*:refs/remotes/server/*
local file:.git/config branch.branch1.remote=server
local file:.git/config branch.branch1.merge=refs/heads/branch1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --set-upstream-to='server/branch1' branch1
branch 'branch1' set up to track 'server/branch1'.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-origin --show-scope
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server/repo.git
local file:.git/config remote.server.fetch=+refs/heads/*:refs/remotes/server/*
local file:.git/config branch.branch1.remote=server
local file:.git/config branch.branch1.merge=refs/heads/branch1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty; git -C './repo' tag tag1
[master (root-commit) b228e6d] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty; git -C './repo' tag tag2
[master fe2b103] 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' reset --hard HEAD~1; git -C './repo' commit --message="$((++number))" --allow-empty; git -C './repo' tag tag3
HEAD is now at b228e6d 1
[master 3184bf7] 3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --message="$((++number))" tag2; git -C './repo' tag tag4
Merge made by the 'ort' strategy.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* c36d822 - 2026-05-30 16:09 (1 second ago) 4 - Han Jiang (HEAD -> refs/heads/master, tag: refs/tags/tag4)
|\
| * fe2b103 - 2026-05-30 16:09 (2 seconds ago) 2 - Han Jiang (tag: refs/tags/tag2)
* | 3184bf7 - 2026-05-30 16:09 (2 seconds ago) 3 - Han Jiang (tag: refs/tags/tag3)
|/
* b228e6d - 2026-05-30 16:09 (3 seconds ago) 1 - Han Jiang (tag: refs/tags/tag1)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' tag --list --contains=tag2
tag2
tag4
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' tag --list --contains=tag3
tag3
tag4
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' tag --list --contains=tag2 --contains=tag3
tag2
tag3
tag4
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' tag --list --no-contains=tag2
tag1
tag3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' tag --list --no-contains=tag3
tag1
tag2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' tag --list --no-contains=tag2 --no-contains=tag3
tag1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' tag --list --merged=tag2
tag1
tag2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' tag --list --merged=tag3
tag1
tag3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' tag --list --merged=tag2 --merged=tag3
tag1
tag2
tag3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' tag --list --no-merged=tag2
tag3
tag4
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' tag --list --no-merged=tag3
tag2
tag4
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' tag --list --no-merged=tag2 --no-merged=tag3
tag4
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message=$'1\n2\n3\n4' --allow-empty
[master (root-commit) 810c14d] 1 2 3 4
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' tag tag1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' tag --annotate --message=$'5\n6\n7\n8' tag2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' tag --list
tag1
tag2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' tag --list -n
tag1 1
tag2 5
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' tag --list -n99
tag1 1
2
3
4
tag2 5
6
7
8
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ export GNUPGHOME="$(realpath '.')"'/.gnupg'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ mkdir --parents -- "$GNUPGHOME"
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ touch -- "$GNUPGHOME"'/common.conf'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ gpg --list-public-keys --with-colons --with-keygrip
gpg: keybox '/test_git/.gnupg/pubring.kbx' created
gpg: /test_git/.gnupg/trustdb.gpg: trustdb created
tru::1:1780114178:0:3:1:5
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ gpg --list-secret-keys --with-colons
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ gpg --quick-generate-key --yes --pinentry-mode=loopback --passphrase='' 'Han Jiang <jhcarl0814@gmail.com>'
We need to generate a lot of random bytes. It is a good idea to perform
some other action (type on the keyboard, move the mouse, utilize the
disks) during the prime generation; this gives the random number
generator a better chance to gain enough entropy.
We need to generate a lot of random bytes. It is a good idea to perform
some other action (type on the keyboard, move the mouse, utilize the
disks) during the prime generation; this gives the random number
generator a better chance to gain enough entropy.
gpg: directory '/test_git/.gnupg/openpgp-revocs.d' created
gpg: revocation certificate stored as '/test_git/.gnupg/openpgp-revocs.d/472571B9FD19D1CC0A2A233DF1510B424C9923F6.rev'
public and secret key created and signed.
pub ed25519 2026-05-30 [SC] [expires: 2029-05-29]
472571B9FD19D1CC0A2A233DF1510B424C9923F6
uid Han Jiang <jhcarl0814@gmail.com>
sub cv25519 2026-05-30 [E]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ gpg --list-public-keys --with-colons --with-keygrip
gpg: checking the trustdb
gpg: marginals needed: 3 completes needed: 1 trust model: pgp
gpg: depth: 0 valid: 1 signed: 0 trust: 0-, 0q, 0n, 0m, 0f, 1u
gpg: next trustdb check due at 2029-05-29
tru:o:1:1780114178:1:3:1:5
pub:u:255:22:F1510B424C9923F6:1780114179:1874722179::u:::scESC:::::ed25519:::0:
fpr:::::::::472571B9FD19D1CC0A2A233DF1510B424C9923F6:
grp:::::::::B23211253C7A786F80B82CBC7B1B06FA88F84CF0:
uid:u::::1780114179::E7C6FA1B44CE84FDE9CBEAB5ECDA7C3664640E65::Han Jiang <jhcarl0814@gmail.com>::::::::::0:
sub:u:255:18:BC0223DC4F10437E:1780114179::::::e:::::cv25519::
fpr:::::::::534EA2F551A39BC57DD7BCEEBC0223DC4F10437E:
grp:::::::::3F58A8B28D6226BA9B4C40268925AED96A140AAA:
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ gpg --list-secret-keys --with-colons
sec:u:255:22:F1510B424C9923F6:1780114179:1874722179::u:::scESC:::+::ed25519:::0:
fpr:::::::::472571B9FD19D1CC0A2A233DF1510B424C9923F6:
grp:::::::::B23211253C7A786F80B82CBC7B1B06FA88F84CF0:
uid:u::::1780114179::E7C6FA1B44CE84FDE9CBEAB5ECDA7C3664640E65::Han Jiang <jhcarl0814@gmail.com>::::::::::0:
ssb:u:255:18:BC0223DC4F10437E:1780114179::::::e:::+::cv25519::
fpr:::::::::534EA2F551A39BC57DD7BCEEBC0223DC4F10437E:
grp:::::::::3F58A8B28D6226BA9B4C40268925AED96A140AAA:
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master (root-commit) acdbd5c] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' tag tag1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' tag --annotate --message="$((++number))" tag2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' tag --sign --message="$((++number))" tag3
error: gpg failed to sign the data:
gpg: Fatal: can't create directory '/test_git/repo/C:/Program Files/Git/test_git/.gnupg': No such file or directory
error: unable to sign the tag
The tag message has been left in .git/TAG_EDITMSG
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* acdbd5c - 2026-05-30 16:09 (1 second ago) 1 - Han Jiang (HEAD -> refs/heads/master, tag: refs/tags/tag2, tag: refs/tags/tag1)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' for-each-ref refs/tags
acdbd5cd563667d5019ff0ec64522d2cf237255d commit refs/tags/tag1
cd82e3b37f319b98e750a356e66a7fea3331a857 tag refs/tags/tag2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show --tags
commit acdbd5cd563667d5019ff0ec64522d2cf237255d (HEAD -> master, tag: tag2, tag: tag1)
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Sat May 30 16:09:41 2026 +1200
1
tag tag2
Tagger: Han Jiang <jhcarl0814@gmail.com>
Date: Sat May 30 16:09:42 2026 +1200
2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' tag --list --format='%(HEAD) %(refname) %(objectname) %(objecttype)%(if:equals=commit)%(objecttype)%(then) author="%(authorname) %(authoremail) %(authordate:iso8601-strict)" committer="%(committername) %(committeremail) %(committerdate:iso8601-strict)"%(else) tagger="%(taggername) %(taggeremail) %(taggerdate:iso8601-strict)" *author="%(*authorname) %(*authoremail) %(*authordate:iso8601-strict)" *committer="%(*committername) %(*committeremail) %(*committerdate:iso8601-strict)"%(if)%(contents:signature)%(then)'$'\n''%(contents:signature)%(end)%(end)'
refs/tags/tag1 acdbd5cd563667d5019ff0ec64522d2cf237255d commit author="Han Jiang <jhcarl0814@gmail.com> 2026-05-30T16:09:41+12:00" committer="Han Jiang <jhcarl0814@gmail.com> 2026-05-30T16:09:41+12:00"
refs/tags/tag2 cd82e3b37f319b98e750a356e66a7fea3331a857 tag tagger="Han Jiang <jhcarl0814@gmail.com> 2026-05-30T16:09:42+12:00" *author="Han Jiang <jhcarl0814@gmail.com> 2026-05-30T16:09:41+12:00" *committer="Han Jiang <jhcarl0814@gmail.com> 2026-05-30T16:09:41+12:00"
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ export GNUPGHOME="$(realpath '.')"'/.gnupg'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ mkdir --parents -- "$GNUPGHOME"
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ touch -- "$GNUPGHOME"'/common.conf'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ gpg --list-public-keys --with-colons --with-keygrip
gpg: keybox '/test_git/.gnupg/pubring.kbx' created
gpg: /test_git/.gnupg/trustdb.gpg: trustdb created
tru::1:1780114189:0:3:1:5
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ gpg --list-secret-keys --with-colons
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ gpg --quick-generate-key --yes --pinentry-mode=loopback --passphrase='' 'Han Jiang <jhcarl0814@gmail.com>'
We need to generate a lot of random bytes. It is a good idea to perform
some other action (type on the keyboard, move the mouse, utilize the
disks) during the prime generation; this gives the random number
generator a better chance to gain enough entropy.
We need to generate a lot of random bytes. It is a good idea to perform
some other action (type on the keyboard, move the mouse, utilize the
disks) during the prime generation; this gives the random number
generator a better chance to gain enough entropy.
gpg: directory '/test_git/.gnupg/openpgp-revocs.d' created
gpg: revocation certificate stored as '/test_git/.gnupg/openpgp-revocs.d/1233AB01D817427D40234E1F8B16D26A57A86468.rev'
public and secret key created and signed.
pub ed25519 2026-05-30 [SC] [expires: 2029-05-29]
1233AB01D817427D40234E1F8B16D26A57A86468
uid Han Jiang <jhcarl0814@gmail.com>
sub cv25519 2026-05-30 [E]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ gpg --list-public-keys --with-colons --with-keygrip
gpg: checking the trustdb
gpg: marginals needed: 3 completes needed: 1 trust model: pgp
gpg: depth: 0 valid: 1 signed: 0 trust: 0-, 0q, 0n, 0m, 0f, 1u
gpg: next trustdb check due at 2029-05-29
tru:o:1:1780114189:1:3:1:5
pub:u:255:22:8B16D26A57A86468:1780114189:1874722189::u:::scESC:::::ed25519:::0:
fpr:::::::::1233AB01D817427D40234E1F8B16D26A57A86468:
grp:::::::::0C48A8449E7A2587B2834486674D5199304BCDF6:
uid:u::::1780114189::E7C6FA1B44CE84FDE9CBEAB5ECDA7C3664640E65::Han Jiang <jhcarl0814@gmail.com>::::::::::0:
sub:u:255:18:4FDB26C36EF24D34:1780114189::::::e:::::cv25519::
fpr:::::::::3594C5C8FA73396B5B36DBB84FDB26C36EF24D34:
grp:::::::::DBB632A9665DACB1668EC47AA6673633AFAF3171:
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ gpg --list-secret-keys --with-colons
sec:u:255:22:8B16D26A57A86468:1780114189:1874722189::u:::scESC:::+::ed25519:::0:
fpr:::::::::1233AB01D817427D40234E1F8B16D26A57A86468:
grp:::::::::0C48A8449E7A2587B2834486674D5199304BCDF6:
uid:u::::1780114189::E7C6FA1B44CE84FDE9CBEAB5ECDA7C3664640E65::Han Jiang <jhcarl0814@gmail.com>::::::::::0:
ssb:u:255:18:4FDB26C36EF24D34:1780114189::::::e:::+::cv25519::
fpr:::::::::3594C5C8FA73396B5B36DBB84FDB26C36EF24D34:
grp:::::::::DBB632A9665DACB1668EC47AA6673633AFAF3171:
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master (root-commit) 47b5458] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' tag tag11
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' -c 'tag.gpgSign=false' tag tag12
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' -c 'tag.gpgSign=true' tag --message="$((++number))" tag13
error: gpg failed to sign the data:
gpg: Fatal: can't create directory '/test_git/repo/C:/Program Files/Git/test_git/.gnupg': No such file or directory
error: unable to sign the tag
The tag message has been left in .git/TAG_EDITMSG
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' -c 'tag.gpgSign=true' tag --no-sign tag131
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' tag --annotate --message="$((++number))" tag21
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' -c 'tag.gpgSign=false' tag --annotate --message="$((++number))" tag22
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' -c 'tag.gpgSign=true' tag --annotate --message="$((++number))" tag23
error: gpg failed to sign the data:
gpg: Fatal: can't create directory '/test_git/repo/C:/Program Files/Git/test_git/.gnupg': No such file or directory
error: unable to sign the tag
The tag message has been left in .git/TAG_EDITMSG
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' -c 'tag.gpgSign=true' tag --annotate --message="$((++number))" --no-sign tag231
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' tag --sign --message="$((++number))" tag3
error: gpg failed to sign the data:
gpg: Fatal: can't create directory '/test_git/repo/C:/Program Files/Git/test_git/.gnupg': No such file or directory
error: unable to sign the tag
The tag message has been left in .git/TAG_EDITMSG
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ gpg --list-public-keys --with-colons --with-keygrip # https://www.gnupg.org/documentation/manuals/gnupg24/gpg.1.html # https://github.com/gpg/gnupg/blob/master/doc/DETAILS
tru::1:1780114190:1874722189:3:1:5
pub:u:255:22:8B16D26A57A86468:1780114189:1874722189::u:::scESC:::::ed25519:::0:
fpr:::::::::1233AB01D817427D40234E1F8B16D26A57A86468:
grp:::::::::0C48A8449E7A2587B2834486674D5199304BCDF6:
uid:u::::1780114189::E7C6FA1B44CE84FDE9CBEAB5ECDA7C3664640E65::Han Jiang <jhcarl0814@gmail.com>::::::::::0:
sub:u:255:18:4FDB26C36EF24D34:1780114189::::::e:::::cv25519::
fpr:::::::::3594C5C8FA73396B5B36DBB84FDB26C36EF24D34:
grp:::::::::DBB632A9665DACB1668EC47AA6673633AFAF3171:
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' tag --local-user=0x"$(gpg --list-public-keys --with-colons --with-keygrip | awk 'BEGIN { FS = ":"; } $1 == "fpr" { print($10); exit; }')" --message="$((++number))" tag41
error: gpg failed to sign the data:
gpg: Fatal: can't create directory '/test_git/repo/C:/Program Files/Git/test_git/.gnupg': No such file or directory
error: unable to sign the tag
The tag message has been left in .git/TAG_EDITMSG
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' tag --local-user="$(gpg --list-public-keys --with-colons --with-keygrip | awk 'BEGIN { FS = ":"; } $1 == "fpr" { print($10); exit; }')" --message="$((++number))" tag411
error: gpg failed to sign the data:
gpg: Fatal: can't create directory '/test_git/repo/C:/Program Files/Git/test_git/.gnupg': No such file or directory
error: unable to sign the tag
The tag message has been left in .git/TAG_EDITMSG
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' tag --local-user=0x"$(gpg --list-public-keys --with-colons --with-keygrip | awk 'BEGIN { FS = ":"; } $1 == "pub" { print($5); exit; }')" --message="$((++number))" tag42
error: gpg failed to sign the data:
gpg: Fatal: can't create directory '/test_git/repo/C:/Program Files/Git/test_git/.gnupg': No such file or directory
error: unable to sign the tag
The tag message has been left in .git/TAG_EDITMSG
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' tag --local-user="$(gpg --list-public-keys --with-colons --with-keygrip | awk 'BEGIN { FS = ":"; } $1 == "pub" { print($5); exit; }')" --message="$((++number))" tag421
error: gpg failed to sign the data:
gpg: Fatal: can't create directory '/test_git/repo/C:/Program Files/Git/test_git/.gnupg': No such file or directory
error: unable to sign the tag
The tag message has been left in .git/TAG_EDITMSG
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' tag --local-user=="$(gpg --list-public-keys --with-colons --with-keygrip | awk 'BEGIN { FS = ":"; } $1 == "uid" { print($10); exit; }')" --message="$((++number))" tag43
error: gpg failed to sign the data:
gpg: Fatal: can't create directory '/test_git/repo/C:/Program Files/Git/test_git/.gnupg': No such file or directory
error: unable to sign the tag
The tag message has been left in .git/TAG_EDITMSG
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' tag --local-user="$(gpg --list-public-keys --with-colons --with-keygrip | awk 'BEGIN { FS = ":"; } $1 == "uid" { print($10); exit; }')" --message="$((++number))" tag431
error: gpg failed to sign the data:
gpg: Fatal: can't create directory '/test_git/repo/C:/Program Files/Git/test_git/.gnupg': No such file or directory
error: unable to sign the tag
The tag message has been left in .git/TAG_EDITMSG
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' tag --local-user='=Han Jiang <jhcarl0814@gmail.com>' --message="$((++number))" tag44
error: gpg failed to sign the data:
gpg: Fatal: can't create directory '/test_git/repo/C:/Program Files/Git/test_git/.gnupg': No such file or directory
error: unable to sign the tag
The tag message has been left in .git/TAG_EDITMSG
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' tag --local-user='Han Jiang <jhcarl0814@gmail.com>' --message="$((++number))" tag441
error: gpg failed to sign the data:
gpg: Fatal: can't create directory '/test_git/repo/C:/Program Files/Git/test_git/.gnupg': No such file or directory
error: unable to sign the tag
The tag message has been left in .git/TAG_EDITMSG
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' tag --local-user='*Han Jiang' --message="$((++number))" tag45
error: gpg failed to sign the data:
gpg: Fatal: can't create directory '/test_git/repo/C:/Program Files/Git/test_git/.gnupg': No such file or directory
error: unable to sign the tag
The tag message has been left in .git/TAG_EDITMSG
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' tag --local-user='Han Jiang' --message="$((++number))" tag451
error: gpg failed to sign the data:
gpg: Fatal: can't create directory '/test_git/repo/C:/Program Files/Git/test_git/.gnupg': No such file or directory
error: unable to sign the tag
The tag message has been left in .git/TAG_EDITMSG
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' tag --local-user='<jhcarl0814@gmail.com>' --message="$((++number))" tag46
error: gpg failed to sign the data:
gpg: Fatal: can't create directory '/test_git/repo/C:/Program Files/Git/test_git/.gnupg': No such file or directory
error: unable to sign the tag
The tag message has been left in .git/TAG_EDITMSG
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' tag --local-user='jhcarl0814@gmail.com' --message="$((++number))" tag461
error: gpg failed to sign the data:
gpg: Fatal: can't create directory '/test_git/repo/C:/Program Files/Git/test_git/.gnupg': No such file or directory
error: unable to sign the tag
The tag message has been left in .git/TAG_EDITMSG
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' tag --local-user='&'"$(gpg --list-public-keys --with-colons --with-keygrip | awk 'BEGIN { FS = ":"; } $1 == "grp" { print($10); exit; }')" --message="$((++number))" tag47
error: gpg failed to sign the data:
gpg: Fatal: can't create directory '/test_git/repo/C:/Program Files/Git/test_git/.gnupg': No such file or directory
error: unable to sign the tag
The tag message has been left in .git/TAG_EDITMSG
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 47b5458 - 2026-05-30 16:09 (11 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, tag: refs/tags/tag231, tag: refs/tags/tag22, tag: refs/tags/tag21, tag: refs/tags/tag131, tag: refs/tags/tag12, tag: refs/tags/tag11)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' for-each-ref refs/tags
47b54587a79cc92e8c1199cdd07465b380655401 commit refs/tags/tag11
47b54587a79cc92e8c1199cdd07465b380655401 commit refs/tags/tag12
47b54587a79cc92e8c1199cdd07465b380655401 commit refs/tags/tag131
4d091dbda6c4ded22cf33ebb804bf8c63db10bbb tag refs/tags/tag21
1a51995a6d92cabeeb49988293d3671d85f22b8b tag refs/tags/tag22
1d81c488618e69910d9804931e155c635f948b94 tag refs/tags/tag231
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show --tags
commit 47b54587a79cc92e8c1199cdd07465b380655401 (HEAD -> master, tag: tag231, tag: tag22, tag: tag21, tag: tag131, tag: tag12, tag: tag11)
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Sat May 30 16:09:51 2026 +1200
1
tag tag21
Tagger: Han Jiang <jhcarl0814@gmail.com>
Date: Sat May 30 16:09:53 2026 +1200
3
tag tag22
Tagger: Han Jiang <jhcarl0814@gmail.com>
Date: Sat May 30 16:09:54 2026 +1200
4
tag tag231
Tagger: Han Jiang <jhcarl0814@gmail.com>
Date: Sat May 30 16:09:54 2026 +1200
6
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' config list --local --show-origin --show-scope
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master (root-commit) 636d978] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' tag tag1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' tag --create-reflog tag11
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' tag --no-create-reflog tag12
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' -c 'core.logAllRefUpdates=false' tag tag2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' -c 'core.logAllRefUpdates=false' tag --create-reflog tag21
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' -c 'core.logAllRefUpdates=true' tag tag3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' -c 'core.logAllRefUpdates=true' tag --no-create-reflog tag31
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' -c 'core.logAllRefUpdates=always' tag tag4
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' -c 'core.logAllRefUpdates=always' tag --no-create-reflog tag41
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 636d978 - 2026-05-30 16:10 (4 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, tag: refs/tags/tag41, tag: refs/tags/tag4, tag: refs/tags/tag31, tag: refs/tags/tag3, tag: refs/tags/tag21, tag: refs/tags/tag2, tag: refs/tags/tag12, tag: refs/tags/tag11, tag: refs/tags/tag1)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' for-each-ref refs/tags
636d9784af0a65f95121d0644b092c8781e080da commit refs/tags/tag1
636d9784af0a65f95121d0644b092c8781e080da commit refs/tags/tag11
636d9784af0a65f95121d0644b092c8781e080da commit refs/tags/tag12
636d9784af0a65f95121d0644b092c8781e080da commit refs/tags/tag2
636d9784af0a65f95121d0644b092c8781e080da commit refs/tags/tag21
636d9784af0a65f95121d0644b092c8781e080da commit refs/tags/tag3
636d9784af0a65f95121d0644b092c8781e080da commit refs/tags/tag31
636d9784af0a65f95121d0644b092c8781e080da commit refs/tags/tag4
636d9784af0a65f95121d0644b092c8781e080da commit refs/tags/tag41
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show --tags
commit 636d9784af0a65f95121d0644b092c8781e080da (HEAD -> master, tag: tag41, tag: tag4, tag: tag31, tag: tag3, tag: tag21, tag: tag2, tag: tag12, tag: tag11, tag: tag1)
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Sat May 30 16:10:07 2026 +1200
1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' reflog list
HEAD
refs/heads/master
refs/tags/tag11
refs/tags/tag21
refs/tags/tag4
refs/tags/tag41
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message=$'1\n2\n3\n4' --allow-empty
[master (root-commit) aaafd4e] 1 2 3 4
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' tag tag1; git -C './repo' tag tag2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* aaafd4e - 2026-05-30 16:10 (1 second ago) 1 2 3 4 - Han Jiang (HEAD -> refs/heads/master, tag: refs/tags/tag2, tag: refs/tags/tag1)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' for-each-ref refs/tags
aaafd4e1b9271780e280bc8562e4734500f1d322 commit refs/tags/tag1
aaafd4e1b9271780e280bc8562e4734500f1d322 commit refs/tags/tag2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show --tags
commit aaafd4e1b9271780e280bc8562e4734500f1d322 (HEAD -> master, tag: tag2, tag: tag1)
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Sat May 30 16:10:17 2026 +1200
1
2
3
4
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' tag --delete 'tag*'
error: tag 'tag*' not found.
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' tag --delete tag1 tag2
Deleted tag 'tag1' (was aaafd4e)
Deleted tag 'tag2' (was aaafd4e)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* aaafd4e - 2026-05-30 16:10 (3 seconds ago) 1 2 3 4 - Han Jiang (HEAD -> refs/heads/master)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' for-each-ref refs/tags
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show --tags
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ export GNUPGHOME="$(realpath '.')"'/.gnupg'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ mkdir --parents -- "$GNUPGHOME"
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ touch -- "$GNUPGHOME"'/common.conf'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ gpg --list-public-keys --with-colons --with-keygrip
gpg: keybox '/test_git/.gnupg/pubring.kbx' created
gpg: /test_git/.gnupg/trustdb.gpg: trustdb created
tru::1:1780114226:0:3:1:5
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ gpg --list-secret-keys --with-colons
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ gpg --quick-generate-key --yes --pinentry-mode=loopback --passphrase='' 'Han Jiang <jhcarl0814@gmail.com>'
We need to generate a lot of random bytes. It is a good idea to perform
some other action (type on the keyboard, move the mouse, utilize the
disks) during the prime generation; this gives the random number
generator a better chance to gain enough entropy.
We need to generate a lot of random bytes. It is a good idea to perform
some other action (type on the keyboard, move the mouse, utilize the
disks) during the prime generation; this gives the random number
generator a better chance to gain enough entropy.
gpg: directory '/test_git/.gnupg/openpgp-revocs.d' created
gpg: revocation certificate stored as '/test_git/.gnupg/openpgp-revocs.d/7884FFEF4B734633C3C168613A1DEF93223211D5.rev'
public and secret key created and signed.
pub ed25519 2026-05-30 [SC] [expires: 2029-05-29]
7884FFEF4B734633C3C168613A1DEF93223211D5
uid Han Jiang <jhcarl0814@gmail.com>
sub cv25519 2026-05-30 [E]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ gpg --list-public-keys --with-colons --with-keygrip
gpg: checking the trustdb
gpg: marginals needed: 3 completes needed: 1 trust model: pgp
gpg: depth: 0 valid: 1 signed: 0 trust: 0-, 0q, 0n, 0m, 0f, 1u
gpg: next trustdb check due at 2029-05-29
tru:o:1:1780114226:1:3:1:5
pub:u:255:22:3A1DEF93223211D5:1780114226:1874722226::u:::scESC:::::ed25519:::0:
fpr:::::::::7884FFEF4B734633C3C168613A1DEF93223211D5:
grp:::::::::B6EFC146FDD82902FDC9E434618A28F2BB45CBAC:
uid:u::::1780114226::E7C6FA1B44CE84FDE9CBEAB5ECDA7C3664640E65::Han Jiang <jhcarl0814@gmail.com>::::::::::0:
sub:u:255:18:1CE66D648DCB6C69:1780114226::::::e:::::cv25519::
fpr:::::::::7047D322A49EB8DC3A760B551CE66D648DCB6C69:
grp:::::::::AABC142066F34EB5B43347331707400DE90F82B1:
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ gpg --list-secret-keys --with-colons
sec:u:255:22:3A1DEF93223211D5:1780114226:1874722226::u:::scESC:::+::ed25519:::0:
fpr:::::::::7884FFEF4B734633C3C168613A1DEF93223211D5:
grp:::::::::B6EFC146FDD82902FDC9E434618A28F2BB45CBAC:
uid:u::::1780114226::E7C6FA1B44CE84FDE9CBEAB5ECDA7C3664640E65::Han Jiang <jhcarl0814@gmail.com>::::::::::0:
ssb:u:255:18:1CE66D648DCB6C69:1780114226::::::e:::+::cv25519::
fpr:::::::::7047D322A49EB8DC3A760B551CE66D648DCB6C69:
grp:::::::::AABC142066F34EB5B43347331707400DE90F82B1:
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master (root-commit) 9e3e337] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' tag tag1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' tag --annotate --message="$((++number))" tag2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' tag --sign --message="$((++number))" tag3
error: gpg failed to sign the data:
gpg: Fatal: can't create directory '/test_git/repo/C:/Program Files/Git/test_git/.gnupg': No such file or directory
error: unable to sign the tag
The tag message has been left in .git/TAG_EDITMSG
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 9e3e337 - 2026-05-30 16:10 (2 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, tag: refs/tags/tag2, tag: refs/tags/tag1)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' for-each-ref refs/tags
9e3e33794e8ebfa9b39a18a2d9ede90371e27f50 commit refs/tags/tag1
1e2db3800273a232363bf2d3543b0561d8900044 tag refs/tags/tag2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show --tags
commit 9e3e33794e8ebfa9b39a18a2d9ede90371e27f50 (HEAD -> master, tag: tag2, tag: tag1)
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Sat May 30 16:10:28 2026 +1200
1
tag tag2
Tagger: Han Jiang <jhcarl0814@gmail.com>
Date: Sat May 30 16:10:29 2026 +1200
2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' tag --verify tag1
error: tag1: cannot verify a non-tag object of type commit.
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' tag --verify tag2
object 9e3e33794e8ebfa9b39a18a2d9ede90371e27f50
type commit
tag tag2
tagger Han Jiang <jhcarl0814@gmail.com> 1780114229 +1200
2
error: no signature found
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' tag --verify tag3
error: tag 'tag3' not found.
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' tag --verify tag1 tag2 tag3
error: tag1: cannot verify a non-tag object of type commit.
object 9e3e33794e8ebfa9b39a18a2d9ede90371e27f50
type commit
tag tag2
tagger Han Jiang <jhcarl0814@gmail.com> 1780114229 +1200
2
error: no signature found
error: tag 'tag3' not found.
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo1'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo1/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo1' config list --local --show-origin --show-scope
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ tree '.'
./ d/0o040/directory rwxr-xr-x/0o755
├╴repo1/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴.git/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴config -/0o100/regular file rw-r--r--/0o644
│ │ ├╴description -/0o100/regular file rw-r--r--/0o644
│ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ ├╴hooks/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴applypatch-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴commit-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴fsmonitor-watchman.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴post-update.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴pre-applypatch.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴pre-commit.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴pre-merge-commit.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴pre-push.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴pre-rebase.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴pre-receive.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴prepare-commit-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴push-to-checkout.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴sendemail-validate.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴update.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴exclude -/0o100/regular file rw-r--r--/0o644
│ │ ├╴objects/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴pack/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴heads/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴tags/ d/0o040/directory rwxr-xr-x/0o755
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo2' init
fatal: cannot change to './repo2': No such file or directory
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ mkdir --parents -- './repo2'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo2' init
Initialized empty Git repository in C:/Program Files/Git/test_git/repo2/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init '-repo3'
error: unknown switch `r'
usage: git init [-q | --quiet] [--bare] [--template=<template-directory>]
[--separate-git-dir <git-dir>] [--object-format=<format>]
[--ref-format=<format>]
[-b <branch-name> | --initial-branch=<branch-name>]
[--shared[=<permissions>]] [<directory>]
--[no-]template <template-directory>
directory from which templates will be used
--[no-]bare create a bare repository
--shared[=<permissions>]
specify that the git repository is to be shared amongst several users
-q, --[no-]quiet be quiet
--[no-]separate-git-dir <gitdir>
separate git dir from working tree
-b, --[no-]initial-branch <name>
override the name of the initial branch
--[no-]object-format <hash>
specify the hash algorithm to use
--[no-]ref-format <format>
specify the reference format to use
jhcarl0814@jhcarl0814 MINGW64 $?=129 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './-repo4'
Initialized empty Git repository in C:/Program Files/Git/test_git/-repo4/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init -- '-repo5'
Initialized empty Git repository in C:/Program Files/Git/test_git/-repo5/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init --end-of-options '-repo6'
Initialized empty Git repository in C:/Program Files/Git/test_git/-repo6/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './dir1/dir2/repo7'
Initialized empty Git repository in C:/Program Files/Git/test_git/dir1/dir2/repo7/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ which --all 'git' | sort | uniq | while IFS= read -r path_of_git; do
> echo "$path_of_git"
> tree "$(realpath "$(dirname "$path_of_git")"'/../share/git-core/templates')"
> done
/cmd/git
realpath: /cmd/../share/git-core/templates: No such file or directory
find: ‘’: No such file or directory
/mingw64/bin/git
/mingw64/share/git-core/templates/ d/0o040/directory rwxr-xr-x/0o755
├╴description -/0o100/regular file rw-r--r--/0o644
├╴hooks/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴applypatch-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ ├╴commit-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ ├╴fsmonitor-watchman.sample -/0o100/regular file rwxr-xr-x/0o755
│ ├╴post-update.sample -/0o100/regular file rwxr-xr-x/0o755
│ ├╴pre-applypatch.sample -/0o100/regular file rwxr-xr-x/0o755
│ ├╴pre-commit.sample -/0o100/regular file rwxr-xr-x/0o755
│ ├╴pre-merge-commit.sample -/0o100/regular file rwxr-xr-x/0o755
│ ├╴pre-push.sample -/0o100/regular file rwxr-xr-x/0o755
│ ├╴pre-rebase.sample -/0o100/regular file rwxr-xr-x/0o755
│ ├╴pre-receive.sample -/0o100/regular file rwxr-xr-x/0o755
│ ├╴prepare-commit-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ ├╴push-to-checkout.sample -/0o100/regular file rwxr-xr-x/0o755
│ ├╴sendemail-validate.sample -/0o100/regular file rwxr-xr-x/0o755
│ ├╴update.sample -/0o100/regular file rwxr-xr-x/0o755
├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴exclude -/0o100/regular file rw-r--r--/0o644
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ tree "$(git -c 'a.b=%(prefix)/' config get --type=path 'a.b')"'share/git-core/templates'
C:/Program Files/Git/mingw64/share/git-core/templates/ d/0o040/directory rwxr-xr-x/0o755
├╴description -/0o100/regular file rw-r--r--/0o644
├╴hooks/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴applypatch-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ ├╴commit-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ ├╴fsmonitor-watchman.sample -/0o100/regular file rwxr-xr-x/0o755
│ ├╴post-update.sample -/0o100/regular file rwxr-xr-x/0o755
│ ├╴pre-applypatch.sample -/0o100/regular file rwxr-xr-x/0o755
│ ├╴pre-commit.sample -/0o100/regular file rwxr-xr-x/0o755
│ ├╴pre-merge-commit.sample -/0o100/regular file rwxr-xr-x/0o755
│ ├╴pre-push.sample -/0o100/regular file rwxr-xr-x/0o755
│ ├╴pre-rebase.sample -/0o100/regular file rwxr-xr-x/0o755
│ ├╴pre-receive.sample -/0o100/regular file rwxr-xr-x/0o755
│ ├╴prepare-commit-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ ├╴push-to-checkout.sample -/0o100/regular file rwxr-xr-x/0o755
│ ├╴sendemail-validate.sample -/0o100/regular file rwxr-xr-x/0o755
│ ├╴update.sample -/0o100/regular file rwxr-xr-x/0o755
├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴exclude -/0o100/regular file rw-r--r--/0o644
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init --template="$(git -c 'a.b=%(prefix)/' config get --type=path 'a.b')"'share/git-core/templates' './repo1'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo1/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ tree '.'
./ d/0o040/directory rwxr-xr-x/0o755
├╴repo1/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴.git/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴config -/0o100/regular file rw-r--r--/0o644
│ │ ├╴description -/0o100/regular file rw-r--r--/0o644
│ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ ├╴hooks/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴applypatch-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴commit-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴fsmonitor-watchman.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴post-update.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴pre-applypatch.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴pre-commit.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴pre-merge-commit.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴pre-push.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴pre-rebase.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴pre-receive.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴prepare-commit-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴push-to-checkout.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴sendemail-validate.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴update.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴exclude -/0o100/regular file rw-r--r--/0o644
│ │ ├╴objects/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴pack/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴heads/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴tags/ d/0o040/directory rwxr-xr-x/0o755
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init --separate-git-dir='./repo1.git' './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo1.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ tree '.'
./ d/0o040/directory rwxr-xr-x/0o755
├╴repo/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴.git -/0o100/regular file rw-r--r--/0o644
├╴repo1.git/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴config -/0o100/regular file rw-r--r--/0o644
│ ├╴description -/0o100/regular file rw-r--r--/0o644
│ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ ├╴hooks/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴applypatch-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴commit-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴fsmonitor-watchman.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴post-update.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴pre-applypatch.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴pre-commit.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴pre-merge-commit.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴pre-push.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴pre-rebase.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴pre-receive.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴prepare-commit-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴push-to-checkout.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴sendemail-validate.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴update.sample -/0o100/regular file rwxr-xr-x/0o755
│ ├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴exclude -/0o100/regular file rw-r--r--/0o644
│ ├╴objects/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴pack/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴heads/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴tags/ d/0o040/directory rwxr-xr-x/0o755
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './repo'
./repo/ d/0o040/directory rwxr-xr-x/0o755
├╴.git -/0o100/regular file rw-r--r--/0o644
│ 1 gitdir: C:/Program Files/Git/test_git/repo1.git\n
│ 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' rev-parse --path-format=absolute --absolute-git-dir --git-common-dir --show-toplevel
C:/Program Files/Git/test_git/repo1.git
C:/Program Files/Git/test_git/repo1.git
C:/Program Files/Git/test_git/repo
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init --separate-git-dir='./repo2.git' './repo'
Reinitialized existing Git repository in C:/Program Files/Git/test_git/repo2.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ tree '.'
./ d/0o040/directory rwxr-xr-x/0o755
├╴repo/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴.git -/0o100/regular file rw-r--r--/0o644
├╴repo2.git/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴config -/0o100/regular file rw-r--r--/0o644
│ ├╴description -/0o100/regular file rw-r--r--/0o644
│ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ ├╴hooks/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴applypatch-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴commit-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴fsmonitor-watchman.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴post-update.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴pre-applypatch.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴pre-commit.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴pre-merge-commit.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴pre-push.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴pre-rebase.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴pre-receive.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴prepare-commit-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴push-to-checkout.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴sendemail-validate.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴update.sample -/0o100/regular file rwxr-xr-x/0o755
│ ├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴exclude -/0o100/regular file rw-r--r--/0o644
│ ├╴objects/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴pack/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴heads/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴tags/ d/0o040/directory rwxr-xr-x/0o755
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './repo'
./repo/ d/0o040/directory rwxr-xr-x/0o755
├╴.git -/0o100/regular file rw-r--r--/0o644
│ 1 gitdir: C:/Program Files/Git/test_git/repo2.git\n
│ 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' rev-parse --path-format=absolute --absolute-git-dir --git-common-dir --show-toplevel
C:/Program Files/Git/test_git/repo2.git
C:/Program Files/Git/test_git/repo2.git
C:/Program Files/Git/test_git/repo
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ tree '.'
./ d/0o040/directory rwxr-xr-x/0o755
├╴repo/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴.git/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴config -/0o100/regular file rw-r--r--/0o644
│ │ ├╴description -/0o100/regular file rw-r--r--/0o644
│ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ ├╴hooks/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴applypatch-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴commit-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴fsmonitor-watchman.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴post-update.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴pre-applypatch.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴pre-commit.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴pre-merge-commit.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴pre-push.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴pre-rebase.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴pre-receive.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴prepare-commit-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴push-to-checkout.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴sendemail-validate.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴update.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴exclude -/0o100/regular file rw-r--r--/0o644
│ │ ├╴objects/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴pack/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴heads/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴tags/ d/0o040/directory rwxr-xr-x/0o755
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' rev-parse --path-format=absolute --absolute-git-dir --git-common-dir --show-toplevel
C:/Program Files/Git/test_git/repo/.git
C:/Program Files/Git/test_git/repo/.git
C:/Program Files/Git/test_git/repo
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init --separate-git-dir='./repo.git' './repo'
Reinitialized existing Git repository in C:/Program Files/Git/test_git/repo.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ tree '.'
./ d/0o040/directory rwxr-xr-x/0o755
├╴repo/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴.git -/0o100/regular file rw-r--r--/0o644
├╴repo.git/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴config -/0o100/regular file rw-r--r--/0o644
│ ├╴description -/0o100/regular file rw-r--r--/0o644
│ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ ├╴hooks/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴applypatch-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴commit-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴fsmonitor-watchman.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴post-update.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴pre-applypatch.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴pre-commit.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴pre-merge-commit.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴pre-push.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴pre-rebase.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴pre-receive.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴prepare-commit-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴push-to-checkout.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴sendemail-validate.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴update.sample -/0o100/regular file rwxr-xr-x/0o755
│ ├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴exclude -/0o100/regular file rw-r--r--/0o644
│ ├╴objects/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴pack/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴heads/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴tags/ d/0o040/directory rwxr-xr-x/0o755
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './repo'
./repo/ d/0o040/directory rwxr-xr-x/0o755
├╴.git -/0o100/regular file rw-r--r--/0o644
│ 1 gitdir: C:/Program Files/Git/test_git/repo.git\n
│ 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' rev-parse --path-format=absolute --absolute-git-dir --git-common-dir --show-toplevel
C:/Program Files/Git/test_git/repo.git
C:/Program Files/Git/test_git/repo.git
C:/Program Files/Git/test_git/repo
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Reinitialized existing Git repository in C:/Program Files/Git/test_git/repo.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ tree '.'
./ d/0o040/directory rwxr-xr-x/0o755
├╴repo/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴.git -/0o100/regular file rw-r--r--/0o644
├╴repo.git/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴config -/0o100/regular file rw-r--r--/0o644
│ ├╴description -/0o100/regular file rw-r--r--/0o644
│ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ ├╴hooks/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴applypatch-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴commit-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴fsmonitor-watchman.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴post-update.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴pre-applypatch.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴pre-commit.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴pre-merge-commit.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴pre-push.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴pre-rebase.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴pre-receive.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴prepare-commit-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴push-to-checkout.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴sendemail-validate.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴update.sample -/0o100/regular file rwxr-xr-x/0o755
│ ├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴exclude -/0o100/regular file rw-r--r--/0o644
│ ├╴objects/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴pack/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴heads/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴tags/ d/0o040/directory rwxr-xr-x/0o755
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './repo'
./repo/ d/0o040/directory rwxr-xr-x/0o755
├╴.git -/0o100/regular file rw-r--r--/0o644
│ 1 gitdir: C:/Program Files/Git/test_git/repo.git\n
│ 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' rev-parse --path-format=absolute --absolute-git-dir --git-common-dir --show-toplevel
C:/Program Files/Git/test_git/repo.git
C:/Program Files/Git/test_git/repo.git
C:/Program Files/Git/test_git/repo
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init --separate-git-dir='./repo/.git' './repo'
Reinitialized existing Git repository in C:/Program Files/Git/test_git/repo.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ tree '.'
./ d/0o040/directory rwxr-xr-x/0o755
├╴repo/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴.git -/0o100/regular file rw-r--r--/0o644
├╴repo.git/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴config -/0o100/regular file rw-r--r--/0o644
│ ├╴description -/0o100/regular file rw-r--r--/0o644
│ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ ├╴hooks/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴applypatch-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴commit-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴fsmonitor-watchman.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴post-update.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴pre-applypatch.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴pre-commit.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴pre-merge-commit.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴pre-push.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴pre-rebase.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴pre-receive.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴prepare-commit-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴push-to-checkout.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴sendemail-validate.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴update.sample -/0o100/regular file rwxr-xr-x/0o755
│ ├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴exclude -/0o100/regular file rw-r--r--/0o644
│ ├╴objects/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴pack/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴heads/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴tags/ d/0o040/directory rwxr-xr-x/0o755
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './repo'
./repo/ d/0o040/directory rwxr-xr-x/0o755
├╴.git -/0o100/regular file rw-r--r--/0o644
│ 1 gitdir: C:/Program Files/Git/test_git/repo.git\n
│ 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' rev-parse --path-format=absolute --absolute-git-dir --git-common-dir --show-toplevel
C:/Program Files/Git/test_git/repo.git
C:/Program Files/Git/test_git/repo.git
C:/Program Files/Git/test_git/repo
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init --separate-git-dir='./repo/.git2' './repo'
Reinitialized existing Git repository in C:/Program Files/Git/test_git/repo/.git2/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ tree '.'
./ d/0o040/directory rwxr-xr-x/0o755
├╴repo/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴.git -/0o100/regular file rw-r--r--/0o644
│ ├╴.git2/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴config -/0o100/regular file rw-r--r--/0o644
│ │ ├╴description -/0o100/regular file rw-r--r--/0o644
│ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ ├╴hooks/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴applypatch-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴commit-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴fsmonitor-watchman.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴post-update.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴pre-applypatch.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴pre-commit.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴pre-merge-commit.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴pre-push.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴pre-rebase.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴pre-receive.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴prepare-commit-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴push-to-checkout.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴sendemail-validate.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴update.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴exclude -/0o100/regular file rw-r--r--/0o644
│ │ ├╴objects/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴pack/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴heads/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴tags/ d/0o040/directory rwxr-xr-x/0o755
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './repo/.git'
./repo/.git -/0o100/regular file rw-r--r--/0o644
1 gitdir: C:/Program Files/Git/test_git/repo/.git2\n
2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' rev-parse --path-format=absolute --absolute-git-dir --git-common-dir --show-toplevel
C:/Program Files/Git/test_git/repo/.git2
C:/Program Files/Git/test_git/repo/.git2
C:/Program Files/Git/test_git/repo
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo1'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo1/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ tree '.'
./ d/0o040/directory rwxr-xr-x/0o755
├╴repo1/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴.git/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴config -/0o100/regular file rw-r--r--/0o644
│ │ ├╴description -/0o100/regular file rw-r--r--/0o644
│ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ ├╴hooks/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴applypatch-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴commit-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴fsmonitor-watchman.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴post-update.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴pre-applypatch.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴pre-commit.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴pre-merge-commit.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴pre-push.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴pre-rebase.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴pre-receive.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴prepare-commit-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴push-to-checkout.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴sendemail-validate.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴update.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴exclude -/0o100/regular file rw-r--r--/0o644
│ │ ├╴objects/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴pack/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴heads/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴tags/ d/0o040/directory rwxr-xr-x/0o755
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './repo1/.git/HEAD'
./repo1/.git/HEAD -/0o100/regular file rw-r--r--/0o644
1 ref: refs/heads/master\n
2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo1' branch --show-current
master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init --initial-branch="$(git var GIT_DEFAULT_BRANCH)"'1' './repo1'
warning: re-init: ignored --initial-branch=master1
Reinitialized existing Git repository in C:/Program Files/Git/test_git/repo1/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo1' branch --show-current
master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init --initial-branch="$(git var GIT_DEFAULT_BRANCH)"'2' './repo2'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo2/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './repo2/.git/HEAD'
./repo2/.git/HEAD -/0o100/regular file rw-r--r--/0o644
1 ref: refs/heads/master2\n
2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo2' branch --show-current
master2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/client/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote add server1 '../server1/repo.git'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote add server2 'file://'"$(realpath './server2/repo.git')"
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose
server1 ../server1/repo.git (fetch)
server1 ../server1/repo.git (push)
server2 file:///test_git/server2/repo.git (fetch)
server2 file:///test_git/server2/repo.git (push)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server1.url=../server1/repo.git
local file:.git/config remote.server1.fetch=+refs/heads/*:refs/remotes/server1/*
local file:.git/config remote.server2.url=file:///test_git/server2/repo.git
local file:.git/config remote.server2.fetch=+refs/heads/*:refs/remotes/server2/*
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote remove server1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote remove server2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server1' init --bare './repo.git'
Initialized empty Git repository in C:/Program Files/Git/test_git/server1/repo.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server1/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
[master (root-commit) ca400e2] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server2' init --bare './repo.git'
Initialized empty Git repository in C:/Program Files/Git/test_git/server2/repo.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ branch_default_name="$(git -C './server2/repo.git' branch --show-current)"; echo "$branch_default_name"
master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server2/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
[master (root-commit) a143620] 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/client/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo/.git/refs'
./client/repo/.git/refs/ d/0o040/directory rwxr-xr-x/0o755
├╴heads/ d/0o040/directory rwxr-xr-x/0o755
├╴tags/ d/0o040/directory rwxr-xr-x/0o755
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote add server1 'file://'"$(realpath './server1/repo.git')"
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote add -m "$branch_default_name" server2 'file://'"$(realpath './server2/repo.git')"
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose
server1 file:///test_git/server1/repo.git (fetch)
server1 file:///test_git/server1/repo.git (push)
server2 file:///test_git/server2/repo.git (fetch)
server2 file:///test_git/server2/repo.git (push)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server1.url=file:///test_git/server1/repo.git
local file:.git/config remote.server1.fetch=+refs/heads/*:refs/remotes/server1/*
local file:.git/config remote.server2.url=file:///test_git/server2/repo.git
local file:.git/config remote.server2.fetch=+refs/heads/*:refs/remotes/server2/*
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo/.git/refs'
./client/repo/.git/refs/ d/0o040/directory rwxr-xr-x/0o755
├╴heads/ d/0o040/directory rwxr-xr-x/0o755
├╴remotes/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴server2/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 ref: refs/remotes/server2/master\n
│ │ │ 2
├╴tags/ d/0o040/directory rwxr-xr-x/0o755
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch --all
Fetching server1
remote: Enumerating objects: 2, done.
remote: Counting objects: 100% (2/2), done.
remote: Total 2 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (2/2), 138 bytes | 23.00 KiB/s, done.
From file:///test_git/server1/repo
* [new branch] master -> server1/master
Fetching server2
remote: Enumerating objects: 2, done.
remote: Counting objects: 100% (2/2), done.
remote: Total 2 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (2/2), 138 bytes | 46.00 KiB/s, done.
From file:///test_git/server2/repo
* [new branch] master -> server2/master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
remotes/server1/HEAD -> server1/master
remotes/server1/master ca400e2 1
remotes/server2/HEAD -> server2/master
remotes/server2/master a143620 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo/.git/refs'
./client/repo/.git/refs/ d/0o040/directory rwxr-xr-x/0o755
├╴heads/ d/0o040/directory rwxr-xr-x/0o755
├╴remotes/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴server1/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 ref: refs/remotes/server1/master\n
│ │ │ 2
│ │ ├╴master -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 ca400e218fdbafd20a4511caaf16ae473ded228a\n
│ │ │ 2
│ ├╴server2/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 ref: refs/remotes/server2/master\n
│ │ │ 2
│ │ ├╴master -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 a1436208b4bc2bb3d5ba7866f7a9ab15fff8bfb4\n
│ │ │ 2
├╴tags/ d/0o040/directory rwxr-xr-x/0o755
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/client/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote add server1 'file://'"$(realpath './server1/repo.git')"
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote add -t branch1 -t branch2 server2 'file://'"$(realpath './server2/repo.git')"
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose
server1 file:///test_git/server1/repo.git (fetch)
server1 file:///test_git/server1/repo.git (push)
server2 file:///test_git/server2/repo.git (fetch)
server2 file:///test_git/server2/repo.git (push)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server1.url=file:///test_git/server1/repo.git
local file:.git/config remote.server1.fetch=+refs/heads/*:refs/remotes/server1/*
local file:.git/config remote.server2.url=file:///test_git/server2/repo.git
local file:.git/config remote.server2.fetch=+refs/heads/branch1:refs/remotes/server2/branch1
local file:.git/config remote.server2.fetch=+refs/heads/branch2:refs/remotes/server2/branch2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/client/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote add server1 'file://'"$(realpath './server1/repo.git')"
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote add --tags server2 'file://'"$(realpath './server2/repo.git')"
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote add --no-tags server3 'file://'"$(realpath './server3/repo.git')"
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose
server1 file:///test_git/server1/repo.git (fetch)
server1 file:///test_git/server1/repo.git (push)
server2 file:///test_git/server2/repo.git (fetch)
server2 file:///test_git/server2/repo.git (push)
server3 file:///test_git/server3/repo.git (fetch)
server3 file:///test_git/server3/repo.git (push)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server1.url=file:///test_git/server1/repo.git
local file:.git/config remote.server1.fetch=+refs/heads/*:refs/remotes/server1/*
local file:.git/config remote.server2.url=file:///test_git/server2/repo.git
local file:.git/config remote.server2.fetch=+refs/heads/*:refs/remotes/server2/*
local file:.git/config remote.server2.tagopt=--tags
local file:.git/config remote.server3.url=file:///test_git/server3/repo.git
local file:.git/config remote.server3.fetch=+refs/heads/*:refs/remotes/server3/*
local file:.git/config remote.server3.tagopt=--no-tags
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/client/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote add server1 'file://'"$(realpath './server1/repo.git')"
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote add --mirror=fetch server2 'file://'"$(realpath './server2/repo.git')"
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote add --mirror=push server3 'file://'"$(realpath './server3/repo.git')"
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose
server1 file:///test_git/server1/repo.git (fetch)
server1 file:///test_git/server1/repo.git (push)
server2 file:///test_git/server2/repo.git (fetch)
server2 file:///test_git/server2/repo.git (push)
server3 file:///test_git/server3/repo.git (fetch)
server3 file:///test_git/server3/repo.git (push)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server1.url=file:///test_git/server1/repo.git
local file:.git/config remote.server1.fetch=+refs/heads/*:refs/remotes/server1/*
local file:.git/config remote.server2.url=file:///test_git/server2/repo.git
local file:.git/config remote.server2.fetch=+refs/*:refs/*
local file:.git/config remote.server3.url=file:///test_git/server3/repo.git
local file:.git/config remote.server3.mirror=true
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server1' init --bare './repo.git'
Initialized empty Git repository in C:/Program Files/Git/test_git/server1/repo.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server1/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
[master (root-commit) 9621935] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server2' init --bare './repo.git'
Initialized empty Git repository in C:/Program Files/Git/test_git/server2/repo.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ branch_default_name="$(git -C './server2/repo.git' branch --show-current)"; echo "$branch_default_name"
master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server2/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
[master (root-commit) 5c006fb] 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server3' init --bare './repo.git'
Initialized empty Git repository in C:/Program Files/Git/test_git/server3/repo.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server3/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
[master (root-commit) 40cb83f] 3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server3/repo.git' branch branch1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server3/repo.git' branch branch2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/client/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo/.git/refs'
./client/repo/.git/refs/ d/0o040/directory rwxr-xr-x/0o755
├╴heads/ d/0o040/directory rwxr-xr-x/0o755
├╴tags/ d/0o040/directory rwxr-xr-x/0o755
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote add server1 'file://'"$(realpath './server1/repo.git')"
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote add -m "$branch_default_name" server2 'file://'"$(realpath './server2/repo.git')"
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote add -t branch1 -t branch2 server3 'file://'"$(realpath './server3/repo.git')"
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose
server1 file:///test_git/server1/repo.git (fetch)
server1 file:///test_git/server1/repo.git (push)
server2 file:///test_git/server2/repo.git (fetch)
server2 file:///test_git/server2/repo.git (push)
server3 file:///test_git/server3/repo.git (fetch)
server3 file:///test_git/server3/repo.git (push)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server1.url=file:///test_git/server1/repo.git
local file:.git/config remote.server1.fetch=+refs/heads/*:refs/remotes/server1/*
local file:.git/config remote.server2.url=file:///test_git/server2/repo.git
local file:.git/config remote.server2.fetch=+refs/heads/*:refs/remotes/server2/*
local file:.git/config remote.server3.url=file:///test_git/server3/repo.git
local file:.git/config remote.server3.fetch=+refs/heads/branch1:refs/remotes/server3/branch1
local file:.git/config remote.server3.fetch=+refs/heads/branch2:refs/remotes/server3/branch2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo/.git/refs'
./client/repo/.git/refs/ d/0o040/directory rwxr-xr-x/0o755
├╴heads/ d/0o040/directory rwxr-xr-x/0o755
├╴remotes/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴server2/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 ref: refs/remotes/server2/master\n
│ │ │ 2
├╴tags/ d/0o040/directory rwxr-xr-x/0o755
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch --all
Fetching server1
remote: Enumerating objects: 2, done.
remote: Counting objects: 100% (2/2), done.
remote: Total 2 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (2/2), 137 bytes | 15.00 KiB/s, done.
From file:///test_git/server1/repo
* [new branch] master -> server1/master
Fetching server2
remote: Enumerating objects: 2, done.
remote: Counting objects: 100% (2/2), done.
remote: Total 2 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (2/2), 138 bytes | 46.00 KiB/s, done.
From file:///test_git/server2/repo
* [new branch] master -> server2/master
Fetching server3
remote: Enumerating objects: 2, done.
remote: Counting objects: 100% (2/2), done.
remote: Total 2 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (2/2), 138 bytes | 34.00 KiB/s, done.
From file:///test_git/server3/repo
* [new branch] branch1 -> server3/branch1
* [new branch] branch2 -> server3/branch2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
remotes/server1/HEAD -> server1/master
remotes/server1/master 9621935 1
remotes/server2/HEAD -> server2/master
remotes/server2/master 5c006fb 2
remotes/server3/branch1 40cb83f 3
remotes/server3/branch2 40cb83f 3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo/.git/refs'
./client/repo/.git/refs/ d/0o040/directory rwxr-xr-x/0o755
├╴heads/ d/0o040/directory rwxr-xr-x/0o755
├╴remotes/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴server1/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 ref: refs/remotes/server1/master\n
│ │ │ 2
│ │ ├╴master -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 9621935b4f5d76d3cc75195383ce4f39244652b7\n
│ │ │ 2
│ ├╴server2/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 ref: refs/remotes/server2/master\n
│ │ │ 2
│ │ ├╴master -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 5c006fb1d880a612b63c4750d61a11ba91efac68\n
│ │ │ 2
│ ├╴server3/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴branch1 -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 40cb83f4964bd60cd0a8580637be579db0437fe0\n
│ │ │ 2
│ │ ├╴branch2 -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 40cb83f4964bd60cd0a8580637be579db0437fe0\n
│ │ │ 2
├╴tags/ d/0o040/directory rwxr-xr-x/0o755
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' checkout -b "$branch_default_name"1 server1/"$branch_default_name"
branch 'master1' set up to track 'server1/master'.
Switched to a new branch 'master1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' checkout -b "$branch_default_name"2 server2/"$branch_default_name"
branch 'master2' set up to track 'server2/master'.
Switched to a new branch 'master2'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' checkout branch1
branch 'branch1' set up to track 'server3/branch1'.
Switched to a new branch 'branch1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' checkout branch2
branch 'branch2' set up to track 'server3/branch2'.
Switched to a new branch 'branch2'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server1.url=file:///test_git/server1/repo.git
local file:.git/config remote.server1.fetch=+refs/heads/*:refs/remotes/server1/*
local file:.git/config remote.server2.url=file:///test_git/server2/repo.git
local file:.git/config remote.server2.fetch=+refs/heads/*:refs/remotes/server2/*
local file:.git/config remote.server3.url=file:///test_git/server3/repo.git
local file:.git/config remote.server3.fetch=+refs/heads/branch1:refs/remotes/server3/branch1
local file:.git/config remote.server3.fetch=+refs/heads/branch2:refs/remotes/server3/branch2
local file:.git/config branch.master1.remote=server1
local file:.git/config branch.master1.merge=refs/heads/master
local file:.git/config branch.master2.remote=server2
local file:.git/config branch.master2.merge=refs/heads/master
local file:.git/config branch.branch1.remote=server3
local file:.git/config branch.branch1.merge=refs/heads/branch1
local file:.git/config branch.branch2.remote=server3
local file:.git/config branch.branch2.merge=refs/heads/branch2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
branch1 40cb83f [server3/branch1] 3
* branch2 40cb83f [server3/branch2] 3
master1 9621935 [server1/master] 1
master2 5c006fb [server2/master] 2
remotes/server1/HEAD -> server1/master
remotes/server1/master 9621935 1
remotes/server2/HEAD -> server2/master
remotes/server2/master 5c006fb 2
remotes/server3/branch1 40cb83f 3
remotes/server3/branch2 40cb83f 3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo/.git/refs'
./client/repo/.git/refs/ d/0o040/directory rwxr-xr-x/0o755
├╴heads/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴branch1 -/0o100/regular file rw-r--r--/0o644
│ │ 1 40cb83f4964bd60cd0a8580637be579db0437fe0\n
│ │ 2
│ ├╴branch2 -/0o100/regular file rw-r--r--/0o644
│ │ 1 40cb83f4964bd60cd0a8580637be579db0437fe0\n
│ │ 2
│ ├╴master1 -/0o100/regular file rw-r--r--/0o644
│ │ 1 9621935b4f5d76d3cc75195383ce4f39244652b7\n
│ │ 2
│ ├╴master2 -/0o100/regular file rw-r--r--/0o644
│ │ 1 5c006fb1d880a612b63c4750d61a11ba91efac68\n
│ │ 2
├╴remotes/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴server1/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 ref: refs/remotes/server1/master\n
│ │ │ 2
│ │ ├╴master -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 9621935b4f5d76d3cc75195383ce4f39244652b7\n
│ │ │ 2
│ ├╴server2/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 ref: refs/remotes/server2/master\n
│ │ │ 2
│ │ ├╴master -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 5c006fb1d880a612b63c4750d61a11ba91efac68\n
│ │ │ 2
│ ├╴server3/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴branch1 -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 40cb83f4964bd60cd0a8580637be579db0437fe0\n
│ │ │ 2
│ │ ├╴branch2 -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 40cb83f4964bd60cd0a8580637be579db0437fe0\n
│ │ │ 2
├╴tags/ d/0o040/directory rwxr-xr-x/0o755
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote rename server1 server4
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote rename server2 server5
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote rename server3 server6
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server4.url=file:///test_git/server1/repo.git
local file:.git/config remote.server4.fetch=+refs/heads/*:refs/remotes/server4/*
local file:.git/config remote.server5.url=file:///test_git/server2/repo.git
local file:.git/config remote.server5.fetch=+refs/heads/*:refs/remotes/server5/*
local file:.git/config remote.server6.url=file:///test_git/server3/repo.git
local file:.git/config remote.server6.fetch=+refs/heads/branch1:refs/remotes/server6/branch1
local file:.git/config remote.server6.fetch=+refs/heads/branch2:refs/remotes/server6/branch2
local file:.git/config branch.master1.remote=server4
local file:.git/config branch.master1.merge=refs/heads/master
local file:.git/config branch.master2.remote=server5
local file:.git/config branch.master2.merge=refs/heads/master
local file:.git/config branch.branch1.remote=server6
local file:.git/config branch.branch1.merge=refs/heads/branch1
local file:.git/config branch.branch2.remote=server6
local file:.git/config branch.branch2.merge=refs/heads/branch2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
branch1 40cb83f [server6/branch1] 3
* branch2 40cb83f [server6/branch2] 3
master1 9621935 [server4/master] 1
master2 5c006fb [server5/master] 2
remotes/server4/HEAD -> server4/master
remotes/server4/master 9621935 1
remotes/server5/HEAD -> server5/master
remotes/server5/master 5c006fb 2
remotes/server6/branch1 40cb83f 3
remotes/server6/branch2 40cb83f 3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo/.git/refs'
./client/repo/.git/refs/ d/0o040/directory rwxr-xr-x/0o755
├╴heads/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴branch1 -/0o100/regular file rw-r--r--/0o644
│ │ 1 40cb83f4964bd60cd0a8580637be579db0437fe0\n
│ │ 2
│ ├╴branch2 -/0o100/regular file rw-r--r--/0o644
│ │ 1 40cb83f4964bd60cd0a8580637be579db0437fe0\n
│ │ 2
│ ├╴master1 -/0o100/regular file rw-r--r--/0o644
│ │ 1 9621935b4f5d76d3cc75195383ce4f39244652b7\n
│ │ 2
│ ├╴master2 -/0o100/regular file rw-r--r--/0o644
│ │ 1 5c006fb1d880a612b63c4750d61a11ba91efac68\n
│ │ 2
├╴remotes/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴server4/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 ref: refs/remotes/server4/master\n
│ │ │ 2
│ │ ├╴master -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 9621935b4f5d76d3cc75195383ce4f39244652b7\n
│ │ │ 2
│ ├╴server5/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 ref: refs/remotes/server5/master\n
│ │ │ 2
│ │ ├╴master -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 5c006fb1d880a612b63c4750d61a11ba91efac68\n
│ │ │ 2
│ ├╴server6/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴branch1 -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 40cb83f4964bd60cd0a8580637be579db0437fe0\n
│ │ │ 2
│ │ ├╴branch2 -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 40cb83f4964bd60cd0a8580637be579db0437fe0\n
│ │ │ 2
├╴tags/ d/0o040/directory rwxr-xr-x/0o755
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/client/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo/.git/refs'
./client/repo/.git/refs/ d/0o040/directory rwxr-xr-x/0o755
├╴heads/ d/0o040/directory rwxr-xr-x/0o755
├╴tags/ d/0o040/directory rwxr-xr-x/0o755
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote add server 'file://'"$(realpath './server/repo.git')"
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose
server file:///test_git/server/repo.git (fetch)
server file:///test_git/server/repo.git (push)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server/repo.git
local file:.git/config remote.server.fetch=+refs/heads/*:refs/remotes/server/*
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo/.git/refs'
./client/repo/.git/refs/ d/0o040/directory rwxr-xr-x/0o755
├╴heads/ d/0o040/directory rwxr-xr-x/0o755
├╴tags/ d/0o040/directory rwxr-xr-x/0o755
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote set-head server --auto
fatal: 'C:/Program Files/Git/test_git/server/repo.git' does not appear to be a git repository
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server' init --bare './repo.git'
Initialized empty Git repository in C:/Program Files/Git/test_git/server/repo.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote set-head server --auto
error: Cannot determine remote HEAD
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
[master (root-commit) 3b86007] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote set-head server --auto
error: Not a valid ref: refs/remotes/server/master
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch --all
remote: Enumerating objects: 2, done.
remote: Counting objects: 100% (2/2), done.
remote: Total 2 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (2/2), 138 bytes | 23.00 KiB/s, done.
From file:///test_git/server/repo
* [new branch] master -> server/master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
remotes/server/HEAD -> server/master
remotes/server/master 3b86007 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo/.git/refs'
./client/repo/.git/refs/ d/0o040/directory rwxr-xr-x/0o755
├╴heads/ d/0o040/directory rwxr-xr-x/0o755
├╴remotes/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴server/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 ref: refs/remotes/server/master\n
│ │ │ 2
│ │ ├╴master -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 3b86007ae479575e451e72a95df217324362c261\n
│ │ │ 2
├╴tags/ d/0o040/directory rwxr-xr-x/0o755
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote set-head server --auto
'server/HEAD' is unchanged and points to 'master'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
remotes/server/HEAD -> server/master
remotes/server/master 3b86007 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo/.git/refs'
./client/repo/.git/refs/ d/0o040/directory rwxr-xr-x/0o755
├╴heads/ d/0o040/directory rwxr-xr-x/0o755
├╴remotes/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴server/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 ref: refs/remotes/server/master\n
│ │ │ 2
│ │ ├╴master -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 3b86007ae479575e451e72a95df217324362c261\n
│ │ │ 2
├╴tags/ d/0o040/directory rwxr-xr-x/0o755
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/client/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo/.git/refs'
./client/repo/.git/refs/ d/0o040/directory rwxr-xr-x/0o755
├╴heads/ d/0o040/directory rwxr-xr-x/0o755
├╴tags/ d/0o040/directory rwxr-xr-x/0o755
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote add -m master server 'file://'"$(realpath './server/repo.git')"
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose
server file:///test_git/server/repo.git (fetch)
server file:///test_git/server/repo.git (push)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server/repo.git
local file:.git/config remote.server.fetch=+refs/heads/*:refs/remotes/server/*
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo/.git/refs'
./client/repo/.git/refs/ d/0o040/directory rwxr-xr-x/0o755
├╴heads/ d/0o040/directory rwxr-xr-x/0o755
├╴remotes/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴server/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 ref: refs/remotes/server/master\n
│ │ │ 2
├╴tags/ d/0o040/directory rwxr-xr-x/0o755
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote set-head server --delete
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo/.git/refs'
./client/repo/.git/refs/ d/0o040/directory rwxr-xr-x/0o755
├╴heads/ d/0o040/directory rwxr-xr-x/0o755
├╴remotes/ d/0o040/directory rwxr-xr-x/0o755
├╴tags/ d/0o040/directory rwxr-xr-x/0o755
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server' init --bare './repo.git'
Initialized empty Git repository in C:/Program Files/Git/test_git/server/repo.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ branch_default_name="$(git -C './server/repo.git' branch --show-current)"; echo "$branch_default_name"
master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
[master (root-commit) 5b80c12] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/client/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo/.git/refs'
./client/repo/.git/refs/ d/0o040/directory rwxr-xr-x/0o755
├╴heads/ d/0o040/directory rwxr-xr-x/0o755
├╴tags/ d/0o040/directory rwxr-xr-x/0o755
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote add server 'file://'"$(realpath './server/repo.git')"
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose
server file:///test_git/server/repo.git (fetch)
server file:///test_git/server/repo.git (push)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server/repo.git
local file:.git/config remote.server.fetch=+refs/heads/*:refs/remotes/server/*
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo/.git/refs'
./client/repo/.git/refs/ d/0o040/directory rwxr-xr-x/0o755
├╴heads/ d/0o040/directory rwxr-xr-x/0o755
├╴tags/ d/0o040/directory rwxr-xr-x/0o755
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote set-head server "$branch_default_name"
error: Not a valid ref: refs/remotes/server/master
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
[master 96f456d] 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch --all
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 3 (delta 1), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (3/3), 208 bytes | 23.00 KiB/s, done.
From file:///test_git/server/repo
* [new branch] master -> server/master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
remotes/server/HEAD -> server/master
remotes/server/master 96f456d 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo/.git/refs'
./client/repo/.git/refs/ d/0o040/directory rwxr-xr-x/0o755
├╴heads/ d/0o040/directory rwxr-xr-x/0o755
├╴remotes/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴server/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 ref: refs/remotes/server/master\n
│ │ │ 2
│ │ ├╴master -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 96f456d4aba07658c82d8e16825f7a814cd204a6\n
│ │ │ 2
├╴tags/ d/0o040/directory rwxr-xr-x/0o755
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote set-head server "$branch_default_name"
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
remotes/server/HEAD -> server/master
remotes/server/master 96f456d 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo/.git/refs'
./client/repo/.git/refs/ d/0o040/directory rwxr-xr-x/0o755
├╴heads/ d/0o040/directory rwxr-xr-x/0o755
├╴remotes/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴server/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 ref: refs/remotes/server/master\n
│ │ │ 2
│ │ ├╴master -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 96f456d4aba07658c82d8e16825f7a814cd204a6\n
│ │ │ 2
├╴tags/ d/0o040/directory rwxr-xr-x/0o755
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/client/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote add server 'file://'"$(realpath './server/repo.git')"
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose
server file:///test_git/server/repo.git (fetch)
server file:///test_git/server/repo.git (push)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server/repo.git
local file:.git/config remote.server.fetch=+refs/heads/*:refs/remotes/server/*
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote set-branches server branch1 branch2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server/repo.git
local file:.git/config remote.server.fetch=+refs/heads/branch1:refs/remotes/server/branch1
local file:.git/config remote.server.fetch=+refs/heads/branch2:refs/remotes/server/branch2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote set-branches --add server branch3 branch4
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server/repo.git
local file:.git/config remote.server.fetch=+refs/heads/branch1:refs/remotes/server/branch1
local file:.git/config remote.server.fetch=+refs/heads/branch2:refs/remotes/server/branch2
local file:.git/config remote.server.fetch=+refs/heads/branch3:refs/remotes/server/branch3
local file:.git/config remote.server.fetch=+refs/heads/branch4:refs/remotes/server/branch4
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote set-branches --add server branch3 branch4
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server/repo.git
local file:.git/config remote.server.fetch=+refs/heads/branch1:refs/remotes/server/branch1
local file:.git/config remote.server.fetch=+refs/heads/branch2:refs/remotes/server/branch2
local file:.git/config remote.server.fetch=+refs/heads/branch3:refs/remotes/server/branch3
local file:.git/config remote.server.fetch=+refs/heads/branch4:refs/remotes/server/branch4
local file:.git/config remote.server.fetch=+refs/heads/branch3:refs/remotes/server/branch3
local file:.git/config remote.server.fetch=+refs/heads/branch4:refs/remotes/server/branch4
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote set-branches server
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server/repo.git
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote set-branches server branch1 branch2
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server/repo.git
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote set-branches --add server branch3 branch4
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server/repo.git
local file:.git/config remote.server.fetch=+refs/heads/branch3:refs/remotes/server/branch3
local file:.git/config remote.server.fetch=+refs/heads/branch4:refs/remotes/server/branch4
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote set-branches --add server branch3 branch4
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server/repo.git
local file:.git/config remote.server.fetch=+refs/heads/branch3:refs/remotes/server/branch3
local file:.git/config remote.server.fetch=+refs/heads/branch4:refs/remotes/server/branch4
local file:.git/config remote.server.fetch=+refs/heads/branch3:refs/remotes/server/branch3
local file:.git/config remote.server.fetch=+refs/heads/branch4:refs/remotes/server/branch4
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/client/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote add server 'file://'"$(realpath './server1/repo.git')"
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose
server file:///test_git/server1/repo.git (fetch)
server file:///test_git/server1/repo.git (push)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server1/repo.git
local file:.git/config remote.server.fetch=+refs/heads/*:refs/remotes/server/*
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote get-url server
file:///test_git/server1/repo.git
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote get-url --all server
file:///test_git/server1/repo.git
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote get-url --push server
file:///test_git/server1/repo.git
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote get-url --push --all server
file:///test_git/server1/repo.git
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config set --local --append 'remote.server.url' 'file://'"$(realpath './server2/repo.git')"
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config set --local --append 'remote.server.pushurl' 'file://'"$(realpath './server3/repo.git')"
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config set --local --append 'remote.server.pushurl' 'file://'"$(realpath './server4/repo.git')"
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose
server file:///test_git/server1/repo.git (fetch)
server file:///test_git/server3/repo.git (push)
server file:///test_git/server4/repo.git (push)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server1/repo.git
local file:.git/config remote.server.fetch=+refs/heads/*:refs/remotes/server/*
local file:.git/config remote.server.url=file:///test_git/server2/repo.git
local file:.git/config remote.server.pushurl=file:///test_git/server3/repo.git
local file:.git/config remote.server.pushurl=file:///test_git/server4/repo.git
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote get-url server
file:///test_git/server1/repo.git
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote get-url --all server
file:///test_git/server1/repo.git
file:///test_git/server2/repo.git
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote get-url --push server
file:///test_git/server3/repo.git
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote get-url --push --all server
file:///test_git/server3/repo.git
file:///test_git/server4/repo.git
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config set --local --append 'url.scheme1://authority1/path1/.insteadOf' 'file://'"$(realpath '.')"'/'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config set --local --append 'url.scheme2://authority2/path2/.pushInsteadOf' 'file://'"$(realpath '.')"'/'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose
server scheme1://authority1/path1/server1/repo.git (fetch)
server scheme1://authority1/path1/server3/repo.git (push)
server scheme1://authority1/path1/server4/repo.git (push)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server1/repo.git
local file:.git/config remote.server.fetch=+refs/heads/*:refs/remotes/server/*
local file:.git/config remote.server.url=file:///test_git/server2/repo.git
local file:.git/config remote.server.pushurl=file:///test_git/server3/repo.git
local file:.git/config remote.server.pushurl=file:///test_git/server4/repo.git
local file:.git/config url.scheme1://authority1/path1/.insteadof=file:///test_git/
local file:.git/config url.scheme2://authority2/path2/.pushinsteadof=file:///test_git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote get-url server
scheme1://authority1/path1/server1/repo.git
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote get-url --all server
scheme1://authority1/path1/server1/repo.git
scheme1://authority1/path1/server2/repo.git
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote get-url --push server
scheme1://authority1/path1/server3/repo.git
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote get-url --push --all server
scheme1://authority1/path1/server3/repo.git
scheme1://authority1/path1/server4/repo.git
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/client/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote add server 'file://'"$(realpath './server1/repo.git')"
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config set --local --append 'remote.server.url' 'file://'"$(realpath './server2/repo.git')"
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config set --local --append 'remote.server.pushurl' 'file://'"$(realpath './server3/repo.git')"
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config set --local --append 'remote.server.pushurl' 'file://'"$(realpath './server4/repo.git')"
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config set --local --append 'url.scheme1://authority1/path1/.insteadOf' 'file://'"$(realpath '.')"'/'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config set --local --append 'url.scheme2://authority2/path2/.pushInsteadOf' 'file://'"$(realpath '.')"'/'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose
server scheme1://authority1/path1/server1/repo.git (fetch)
server scheme1://authority1/path1/server3/repo.git (push)
server scheme1://authority1/path1/server4/repo.git (push)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server1/repo.git
local file:.git/config remote.server.fetch=+refs/heads/*:refs/remotes/server/*
local file:.git/config remote.server.url=file:///test_git/server2/repo.git
local file:.git/config remote.server.pushurl=file:///test_git/server3/repo.git
local file:.git/config remote.server.pushurl=file:///test_git/server4/repo.git
local file:.git/config url.scheme1://authority1/path1/.insteadof=file:///test_git/
local file:.git/config url.scheme2://authority2/path2/.pushinsteadof=file:///test_git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote get-url server
scheme1://authority1/path1/server1/repo.git
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote get-url --all server
scheme1://authority1/path1/server1/repo.git
scheme1://authority1/path1/server2/repo.git
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote get-url --push server
scheme1://authority1/path1/server3/repo.git
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote get-url --push --all server
scheme1://authority1/path1/server3/repo.git
scheme1://authority1/path1/server4/repo.git
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote set-url server 'file://'"$(realpath './server5/repo.git')"
warning: remote.server.url has multiple values
fatal: could not set 'remote.server.url' to 'file:///test_git/server5/repo.git'
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote set-url server 'file://'"$(realpath './server5/repo.git')" 'server'
warning: remote.server.url has multiple values
fatal: could not set 'remote.server.url' to 'file:///test_git/server5/repo.git'
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote set-url server 'file://'"$(realpath './server5/repo.git')" 'server2'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote set-url server --push 'file://'"$(realpath './server6/repo.git')"
warning: remote.server.pushurl has multiple values
fatal: could not set 'remote.server.pushurl' to 'file:///test_git/server6/repo.git'
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote set-url server --push 'file://'"$(realpath './server6/repo.git')" 'server'
warning: remote.server.pushurl has multiple values
fatal: could not set 'remote.server.pushurl' to 'file:///test_git/server6/repo.git'
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote set-url server --push 'file://'"$(realpath './server6/repo.git')" 'server4'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose
server scheme1://authority1/path1/server1/repo.git (fetch)
server scheme1://authority1/path1/server3/repo.git (push)
server scheme1://authority1/path1/server6/repo.git (push)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server1/repo.git
local file:.git/config remote.server.fetch=+refs/heads/*:refs/remotes/server/*
local file:.git/config remote.server.url=file:///test_git/server5/repo.git
local file:.git/config remote.server.pushurl=file:///test_git/server3/repo.git
local file:.git/config remote.server.pushurl=file:///test_git/server6/repo.git
local file:.git/config url.scheme1://authority1/path1/.insteadof=file:///test_git/
local file:.git/config url.scheme2://authority2/path2/.pushinsteadof=file:///test_git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote get-url server
scheme1://authority1/path1/server1/repo.git
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote get-url --all server
scheme1://authority1/path1/server1/repo.git
scheme1://authority1/path1/server5/repo.git
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote get-url --push server
scheme1://authority1/path1/server3/repo.git
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote get-url --push --all server
scheme1://authority1/path1/server3/repo.git
scheme1://authority1/path1/server6/repo.git
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/client/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote add server 'file://'"$(realpath './server1/repo.git')"
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config set --local --append 'remote.server.url' 'file://'"$(realpath './server2/repo.git')"
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config set --local --append 'remote.server.pushurl' 'file://'"$(realpath './server3/repo.git')"
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config set --local --append 'remote.server.pushurl' 'file://'"$(realpath './server4/repo.git')"
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config set --local --append 'url.scheme1://authority1/path1/.insteadOf' 'file://'"$(realpath '.')"'/'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config set --local --append 'url.scheme2://authority2/path2/.pushInsteadOf' 'file://'"$(realpath '.')"'/'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose
server scheme1://authority1/path1/server1/repo.git (fetch)
server scheme1://authority1/path1/server3/repo.git (push)
server scheme1://authority1/path1/server4/repo.git (push)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server1/repo.git
local file:.git/config remote.server.fetch=+refs/heads/*:refs/remotes/server/*
local file:.git/config remote.server.url=file:///test_git/server2/repo.git
local file:.git/config remote.server.pushurl=file:///test_git/server3/repo.git
local file:.git/config remote.server.pushurl=file:///test_git/server4/repo.git
local file:.git/config url.scheme1://authority1/path1/.insteadof=file:///test_git/
local file:.git/config url.scheme2://authority2/path2/.pushinsteadof=file:///test_git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote get-url server
scheme1://authority1/path1/server1/repo.git
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote get-url --all server
scheme1://authority1/path1/server1/repo.git
scheme1://authority1/path1/server2/repo.git
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote get-url --push server
scheme1://authority1/path1/server3/repo.git
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote get-url --push --all server
scheme1://authority1/path1/server3/repo.git
scheme1://authority1/path1/server4/repo.git
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote set-url --add server 'file://'"$(realpath './server5/repo.git')"
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote set-url --add --push server 'file://'"$(realpath './server6/repo.git')"
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose
server scheme1://authority1/path1/server1/repo.git (fetch)
server scheme1://authority1/path1/server3/repo.git (push)
server scheme1://authority1/path1/server4/repo.git (push)
server scheme1://authority1/path1/server6/repo.git (push)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server1/repo.git
local file:.git/config remote.server.fetch=+refs/heads/*:refs/remotes/server/*
local file:.git/config remote.server.url=file:///test_git/server2/repo.git
local file:.git/config remote.server.pushurl=file:///test_git/server3/repo.git
local file:.git/config remote.server.pushurl=file:///test_git/server4/repo.git
local file:.git/config remote.server.url=file:///test_git/server5/repo.git
local file:.git/config remote.server.pushurl=file:///test_git/server6/repo.git
local file:.git/config url.scheme1://authority1/path1/.insteadof=file:///test_git/
local file:.git/config url.scheme2://authority2/path2/.pushinsteadof=file:///test_git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote get-url server
scheme1://authority1/path1/server1/repo.git
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote get-url --all server
scheme1://authority1/path1/server1/repo.git
scheme1://authority1/path1/server2/repo.git
scheme1://authority1/path1/server5/repo.git
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote get-url --push server
scheme1://authority1/path1/server3/repo.git
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote get-url --push --all server
scheme1://authority1/path1/server3/repo.git
scheme1://authority1/path1/server4/repo.git
scheme1://authority1/path1/server6/repo.git
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote set-url --delete server 'server1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote set-url --delete --push server 'server3'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose
server scheme1://authority1/path1/server2/repo.git (fetch)
server scheme1://authority1/path1/server4/repo.git (push)
server scheme1://authority1/path1/server6/repo.git (push)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.fetch=+refs/heads/*:refs/remotes/server/*
local file:.git/config remote.server.url=file:///test_git/server2/repo.git
local file:.git/config remote.server.pushurl=file:///test_git/server4/repo.git
local file:.git/config remote.server.url=file:///test_git/server5/repo.git
local file:.git/config remote.server.pushurl=file:///test_git/server6/repo.git
local file:.git/config url.scheme1://authority1/path1/.insteadof=file:///test_git/
local file:.git/config url.scheme2://authority2/path2/.pushinsteadof=file:///test_git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote get-url server
scheme1://authority1/path1/server2/repo.git
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote get-url --all server
scheme1://authority1/path1/server2/repo.git
scheme1://authority1/path1/server5/repo.git
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote get-url --push server
scheme1://authority1/path1/server4/repo.git
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote get-url --push --all server
scheme1://authority1/path1/server4/repo.git
scheme1://authority1/path1/server6/repo.git
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote set-url --delete server 'server'
fatal: Will not delete all non-push URLs
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote set-url --delete --push server 'server'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose
server scheme1://authority1/path1/server2/repo.git (fetch)
server scheme2://authority2/path2/server2/repo.git (push)
server scheme2://authority2/path2/server5/repo.git (push)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.fetch=+refs/heads/*:refs/remotes/server/*
local file:.git/config remote.server.url=file:///test_git/server2/repo.git
local file:.git/config remote.server.url=file:///test_git/server5/repo.git
local file:.git/config url.scheme1://authority1/path1/.insteadof=file:///test_git/
local file:.git/config url.scheme2://authority2/path2/.pushinsteadof=file:///test_git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote get-url server
scheme1://authority1/path1/server2/repo.git
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote get-url --all server
scheme1://authority1/path1/server2/repo.git
scheme1://authority1/path1/server5/repo.git
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote get-url --push server
scheme2://authority2/path2/server2/repo.git
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote get-url --push --all server
scheme2://authority2/path2/server2/repo.git
scheme2://authority2/path2/server5/repo.git
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/client/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ branch_default_name="$(git -C './client/repo' branch --show-current)"; echo "$branch_default_name"
master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote add server1 'file://'"$(realpath './server1/repo.git')"
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote add -m "$branch_default_name" server2 'file://'"$(realpath './server2/repo.git')"
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote add -t branch1 -t branch2 server3 'file://'"$(realpath './server3/repo.git')"
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose
server1 file:///test_git/server1/repo.git (fetch)
server1 file:///test_git/server1/repo.git (push)
server2 file:///test_git/server2/repo.git (fetch)
server2 file:///test_git/server2/repo.git (push)
server3 file:///test_git/server3/repo.git (fetch)
server3 file:///test_git/server3/repo.git (push)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose show server1 server2 server3
fatal: 'C:/Program Files/Git/test_git/server1/repo.git' does not appear to be a git repository
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose show -n server1 server2 server3
* remote server1
Fetch URL: file:///test_git/server1/repo.git
Push URL: file:///test_git/server1/repo.git
HEAD branch: (not queried)
Local ref configured for 'git push' (status not queried):
(matching) pushes to (matching)
* remote server2
Fetch URL: file:///test_git/server2/repo.git
Push URL: file:///test_git/server2/repo.git
HEAD branch: (not queried)
Local ref configured for 'git push' (status not queried):
(matching) pushes to (matching)
* remote server3
Fetch URL: file:///test_git/server3/repo.git
Push URL: file:///test_git/server3/repo.git
HEAD branch: (not queried)
Local ref configured for 'git push' (status not queried):
(matching) pushes to (matching)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server1.url=file:///test_git/server1/repo.git
local file:.git/config remote.server1.fetch=+refs/heads/*:refs/remotes/server1/*
local file:.git/config remote.server2.url=file:///test_git/server2/repo.git
local file:.git/config remote.server2.fetch=+refs/heads/*:refs/remotes/server2/*
local file:.git/config remote.server3.url=file:///test_git/server3/repo.git
local file:.git/config remote.server3.fetch=+refs/heads/branch1:refs/remotes/server3/branch1
local file:.git/config remote.server3.fetch=+refs/heads/branch2:refs/remotes/server3/branch2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server1' init --bare './repo.git'
Initialized empty Git repository in C:/Program Files/Git/test_git/server1/repo.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server1/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
[master (root-commit) b476e0f] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server2' init --bare './repo.git'
Initialized empty Git repository in C:/Program Files/Git/test_git/server2/repo.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server2/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
[master (root-commit) 57ce76e] 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server3' init --bare './repo.git'
Initialized empty Git repository in C:/Program Files/Git/test_git/server3/repo.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server3/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
[master (root-commit) 0792e35] 3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server3/repo.git' branch branch1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server3/repo.git' branch branch2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose show server1 server2 server3
* remote server1
Fetch URL: file:///test_git/server1/repo.git
Push URL: file:///test_git/server1/repo.git
HEAD branch: master
Remote branch:
master new (next fetch will store in remotes/server1)
* remote server2
Fetch URL: file:///test_git/server2/repo.git
Push URL: file:///test_git/server2/repo.git
HEAD branch: master
Remote branch:
master new (next fetch will store in remotes/server2)
* remote server3
Fetch URL: file:///test_git/server3/repo.git
Push URL: file:///test_git/server3/repo.git
HEAD branch: master
Remote branches:
branch1 new (next fetch will store in remotes/server3)
branch2 new (next fetch will store in remotes/server3)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch --all
Fetching server1
remote: Enumerating objects: 2, done.
remote: Counting objects: 100% (2/2), done.
remote: Total 2 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (2/2), 137 bytes | 15.00 KiB/s, done.
From file:///test_git/server1/repo
* [new branch] master -> server1/master
Fetching server2
remote: Enumerating objects: 2, done.
remote: Counting objects: 100% (2/2), done.
remote: Total 2 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (2/2), 137 bytes | 34.00 KiB/s, done.
From file:///test_git/server2/repo
* [new branch] master -> server2/master
Fetching server3
remote: Enumerating objects: 2, done.
remote: Counting objects: 100% (2/2), done.
remote: Total 2 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (2/2), 138 bytes | 27.00 KiB/s, done.
From file:///test_git/server3/repo
* [new branch] branch1 -> server3/branch1
* [new branch] branch2 -> server3/branch2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
remotes/server1/HEAD -> server1/master
remotes/server1/master b476e0f 1
remotes/server2/HEAD -> server2/master
remotes/server2/master 57ce76e 2
remotes/server3/branch1 0792e35 3
remotes/server3/branch2 0792e35 3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose show server1 server2 server3
* remote server1
Fetch URL: file:///test_git/server1/repo.git
Push URL: file:///test_git/server1/repo.git
HEAD branch: master
Remote branch:
master tracked
* remote server2
Fetch URL: file:///test_git/server2/repo.git
Push URL: file:///test_git/server2/repo.git
HEAD branch: master
Remote branch:
master tracked
* remote server3
Fetch URL: file:///test_git/server3/repo.git
Push URL: file:///test_git/server3/repo.git
HEAD branch: master
Remote branches:
branch1 tracked
branch2 tracked
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' checkout -b "$branch_default_name"1 server1/"$branch_default_name"
branch 'master1' set up to track 'server1/master'.
Switched to a new branch 'master1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' checkout -b "$branch_default_name"21 server2/"$branch_default_name"
branch 'master21' set up to track 'server2/master'.
Switched to a new branch 'master21'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' checkout -b "$branch_default_name"22 server2/"$branch_default_name"
branch 'master22' set up to track 'server2/master'.
Switched to a new branch 'master22'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' checkout branch1
branch 'branch1' set up to track 'server3/branch1'.
Switched to a new branch 'branch1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' checkout branch2
branch 'branch2' set up to track 'server3/branch2'.
Switched to a new branch 'branch2'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server1.url=file:///test_git/server1/repo.git
local file:.git/config remote.server1.fetch=+refs/heads/*:refs/remotes/server1/*
local file:.git/config remote.server2.url=file:///test_git/server2/repo.git
local file:.git/config remote.server2.fetch=+refs/heads/*:refs/remotes/server2/*
local file:.git/config remote.server3.url=file:///test_git/server3/repo.git
local file:.git/config remote.server3.fetch=+refs/heads/branch1:refs/remotes/server3/branch1
local file:.git/config remote.server3.fetch=+refs/heads/branch2:refs/remotes/server3/branch2
local file:.git/config branch.master1.remote=server1
local file:.git/config branch.master1.merge=refs/heads/master
local file:.git/config branch.master21.remote=server2
local file:.git/config branch.master21.merge=refs/heads/master
local file:.git/config branch.master22.remote=server2
local file:.git/config branch.master22.merge=refs/heads/master
local file:.git/config branch.branch1.remote=server3
local file:.git/config branch.branch1.merge=refs/heads/branch1
local file:.git/config branch.branch2.remote=server3
local file:.git/config branch.branch2.merge=refs/heads/branch2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
branch1 0792e35 [server3/branch1] 3
* branch2 0792e35 [server3/branch2] 3
master1 b476e0f [server1/master] 1
master21 57ce76e [server2/master] 2
master22 57ce76e [server2/master] 2
remotes/server1/HEAD -> server1/master
remotes/server1/master b476e0f 1
remotes/server2/HEAD -> server2/master
remotes/server2/master 57ce76e 2
remotes/server3/branch1 0792e35 3
remotes/server3/branch2 0792e35 3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' checkout "$branch_default_name"1; git -C './client/repo' push
Switched to branch 'master1'
Your branch is up to date with 'server1/master'.
fatal: The upstream branch of your current branch does not match
the name of your current branch. To push to the upstream branch
on the remote, use
git push server1 HEAD:master
To push to the branch of the same name on the remote, use
git push server1 HEAD
To choose either option permanently, see push.default in 'git help config'.
To avoid automatically configuring an upstream branch when its name
won't match the local branch, see option 'simple' of branch.autoSetupMerge
in 'git help config'.
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' checkout "$branch_default_name"21; git -C './client/repo' push
Switched to branch 'master21'
Your branch is up to date with 'server2/master'.
fatal: The upstream branch of your current branch does not match
the name of your current branch. To push to the upstream branch
on the remote, use
git push server2 HEAD:master
To push to the branch of the same name on the remote, use
git push server2 HEAD
To choose either option permanently, see push.default in 'git help config'.
To avoid automatically configuring an upstream branch when its name
won't match the local branch, see option 'simple' of branch.autoSetupMerge
in 'git help config'.
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' checkout "$branch_default_name"22; git -C './client/repo' push
Switched to branch 'master22'
Your branch is up to date with 'server2/master'.
fatal: The upstream branch of your current branch does not match
the name of your current branch. To push to the upstream branch
on the remote, use
git push server2 HEAD:master
To push to the branch of the same name on the remote, use
git push server2 HEAD
To choose either option permanently, see push.default in 'git help config'.
To avoid automatically configuring an upstream branch when its name
won't match the local branch, see option 'simple' of branch.autoSetupMerge
in 'git help config'.
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' checkout branch1; git -C './client/repo' push
Switched to branch 'branch1'
Your branch is up to date with 'server3/branch1'.
Everything up-to-date
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' checkout branch2; git -C './client/repo' push
Switched to branch 'branch2'
Your branch is up to date with 'server3/branch2'.
Everything up-to-date
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose show server1 server2 server3
* remote server1
Fetch URL: file:///test_git/server1/repo.git
Push URL: file:///test_git/server1/repo.git
HEAD branch: master
Remote branch:
master tracked
Local branch configured for 'git pull':
master1 merges with remote master
* remote server2
Fetch URL: file:///test_git/server2/repo.git
Push URL: file:///test_git/server2/repo.git
HEAD branch: master
Remote branch:
master tracked
Local branches configured for 'git pull':
master21 merges with remote master
master22 merges with remote master
* remote server3
Fetch URL: file:///test_git/server3/repo.git
Push URL: file:///test_git/server3/repo.git
HEAD branch: master
Remote branches:
branch1 tracked
branch2 tracked
Local branches configured for 'git pull':
branch1 merges with remote branch1
branch2 merges with remote branch2
Local refs configured for 'git push':
branch1 pushes to branch1 (up to date)
branch2 pushes to branch2 (up to date)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config set --local 'push.default' 'upstream'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' checkout "$branch_default_name"1; git -C './client/repo' push
Switched to branch 'master1'
Your branch is up to date with 'server1/master'.
Everything up-to-date
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' checkout "$branch_default_name"21; git -C './client/repo' push
Switched to branch 'master21'
Your branch is up to date with 'server2/master'.
Everything up-to-date
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' checkout "$branch_default_name"22; git -C './client/repo' push
Switched to branch 'master22'
Your branch is up to date with 'server2/master'.
Everything up-to-date
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' checkout branch1; git -C './client/repo' push
Switched to branch 'branch1'
Your branch is up to date with 'server3/branch1'.
Everything up-to-date
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' checkout branch2; git -C './client/repo' push
Switched to branch 'branch2'
Your branch is up to date with 'server3/branch2'.
Everything up-to-date
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose show server1 server2 server3
* remote server1
Fetch URL: file:///test_git/server1/repo.git
Push URL: file:///test_git/server1/repo.git
HEAD branch: master
Remote branch:
master tracked
Local branch configured for 'git pull':
master1 merges with remote master
* remote server2
Fetch URL: file:///test_git/server2/repo.git
Push URL: file:///test_git/server2/repo.git
HEAD branch: master
Remote branch:
master tracked
Local branches configured for 'git pull':
master21 merges with remote master
master22 merges with remote master
* remote server3
Fetch URL: file:///test_git/server3/repo.git
Push URL: file:///test_git/server3/repo.git
HEAD branch: master
Remote branches:
branch1 tracked
branch2 tracked
Local branches configured for 'git pull':
branch1 merges with remote branch1
branch2 merges with remote branch2
Local refs configured for 'git push':
branch1 pushes to branch1 (up to date)
branch2 pushes to branch2 (up to date)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server' init --bare './repo.git'
Initialized empty Git repository in C:/Program Files/Git/test_git/server/repo.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
[master (root-commit) b146749] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' branch branch1; git -C './server/repo.git' branch branch2; git -C './server/repo.git' tag tag1; git -C './server/repo.git' tag tag2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/client/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote add server 'file://'"$(realpath './server/repo.git')"
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose
server file:///test_git/server/repo.git (fetch)
server file:///test_git/server/repo.git (push)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server/repo.git
local file:.git/config remote.server.fetch=+refs/heads/*:refs/remotes/server/*
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' tag --list
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch --all
remote: Enumerating objects: 2, done.
remote: Counting objects: 100% (2/2), done.
remote: Total 2 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (2/2), 137 bytes | 17.00 KiB/s, done.
From file:///test_git/server/repo
* [new branch] branch1 -> server/branch1
* [new branch] branch2 -> server/branch2
* [new branch] master -> server/master
* [new tag] tag1 -> tag1
* [new tag] tag2 -> tag2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
remotes/server/HEAD -> server/master
remotes/server/branch1 b146749 1
remotes/server/branch2 b146749 1
remotes/server/master b146749 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' tag --list
tag1
tag2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' branch --delete branch1; git -C './server/repo.git' branch branch3; git -C './server/repo.git' tag --delete tag1; git -C './server/repo.git' tag tag3
Deleted branch branch1 (was b146749).
Deleted tag 'tag1' (was b146749)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote prune --dry-run server
Pruning server
URL: file:///test_git/server/repo.git
* [would prune] server/branch1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch --prune --dry-run server
From file:///test_git/server/repo
- [deleted] (none) -> server/branch1
* [new branch] branch3 -> server/branch3
* [new tag] tag3 -> tag3
* [new tag] tag3 -> tag3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config set --local 'fetch.pruneTags' 'true'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote prune --dry-run server
Pruning server
URL: file:///test_git/server/repo.git
* [would prune] server/branch1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch --prune --dry-run server
From file:///test_git/server/repo
- [deleted] (none) -> server/branch1
- [deleted] (none) -> tag1
* [new branch] branch3 -> server/branch3
* [new tag] tag3 -> tag3
* [new tag] tag3 -> tag3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config unset --local 'fetch.pruneTags'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config set --local --append 'remote.server.fetch' '+refs/tags/*:refs/tags/*'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote prune --dry-run server
Pruning server
URL: file:///test_git/server/repo.git
* [would prune] server/branch1
* [would prune] refs/tags/tag1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch --prune --dry-run server
From file:///test_git/server/repo
- [deleted] (none) -> server/branch1
- [deleted] (none) -> tag1
* [new branch] branch3 -> server/branch3
* [new tag] tag3 -> tag3
* [new tag] tag3 -> tag3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote prune server
Pruning server
URL: file:///test_git/server/repo.git
* [pruned] server/branch1
* [pruned] refs/tags/tag1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
remotes/server/HEAD -> server/master
remotes/server/branch2 b146749 1
remotes/server/master b146749 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' tag --list
tag2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server' init --bare './repo.git'
Initialized empty Git repository in C:/Program Files/Git/test_git/server/repo.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
[master (root-commit) 1c12ed9] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' branch branch1; git -C './server/repo.git' branch branch2; git -C './server/repo.git' tag tag1; git -C './server/repo.git' tag tag2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/client/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote add server 'file://'"$(realpath './server/repo.git')"
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose
server file:///test_git/server/repo.git (fetch)
server file:///test_git/server/repo.git (push)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server/repo.git
local file:.git/config remote.server.fetch=+refs/heads/*:refs/remotes/server/*
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' tag --list
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose update
remote: Enumerating objects: 2, done.
remote: Counting objects: 100% (2/2), done.
remote: Total 2 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (2/2), 138 bytes | 17.00 KiB/s, done.
From file:///test_git/server/repo
* [new branch] branch1 -> server/branch1
* [new branch] branch2 -> server/branch2
* [new branch] master -> server/master
* [new tag] tag1 -> tag1
* [new tag] tag2 -> tag2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
remotes/server/HEAD -> server/master
remotes/server/branch1 1c12ed9 1
remotes/server/branch2 1c12ed9 1
remotes/server/master 1c12ed9 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' tag --list
tag1
tag2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' branch --delete branch1; git -C './server/repo.git' branch branch3; git -C './server/repo.git' tag --delete tag1; git -C './server/repo.git' tag tag3
Deleted branch branch1 (was 1c12ed9).
Deleted tag 'tag1' (was 1c12ed9)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose update
From file:///test_git/server/repo
= [up to date] branch2 -> server/branch2
* [new branch] branch3 -> server/branch3
= [up to date] master -> server/master
* [new tag] tag3 -> tag3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
remotes/server/HEAD -> server/master
remotes/server/branch1 1c12ed9 1
remotes/server/branch2 1c12ed9 1
remotes/server/branch3 1c12ed9 1
remotes/server/master 1c12ed9 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' tag --list
tag1
tag2
tag3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose update --prune
From file:///test_git/server/repo
- [deleted] (none) -> server/branch1
= [up to date] branch2 -> server/branch2
= [up to date] branch3 -> server/branch3
= [up to date] master -> server/master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
remotes/server/HEAD -> server/master
remotes/server/branch2 1c12ed9 1
remotes/server/branch3 1c12ed9 1
remotes/server/master 1c12ed9 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' tag --list
tag1
tag2
tag3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config set --local 'fetch.pruneTags' 'true'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose update --prune
From file:///test_git/server/repo
- [deleted] (none) -> tag1
= [up to date] branch2 -> server/branch2
= [up to date] branch3 -> server/branch3
= [up to date] master -> server/master
= [up to date] tag2 -> tag2
= [up to date] tag3 -> tag3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
remotes/server/HEAD -> server/master
remotes/server/branch2 1c12ed9 1
remotes/server/branch3 1c12ed9 1
remotes/server/master 1c12ed9 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' tag --list
tag2
tag3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server' init --bare './repo.git'
Initialized empty Git repository in C:/Program Files/Git/test_git/server/repo.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
[master (root-commit) 69b3da8] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' branch branch; git -C './server/repo.git' tag tag
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg
* 69b3da8 - 2026-05-30 16:17 (1 second ago) 1 - Han Jiang (HEAD -> refs/heads/master, tag: refs/tags/tag, refs/heads/branch)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ mkdir --parents -- './client/repo'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ touch './client/repo/file'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone '../server/repo.git'
fatal: destination path 'repo' already exists and is not an empty directory.
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ rm --force --recursive -- './client/repo'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ mkdir --parents -- './client/repo/dir'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone '../server/repo.git'
fatal: destination path 'repo' already exists and is not an empty directory.
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ rm --force --recursive -- './client/repo'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone '../server/repo.git'
Cloning into 'repo'...
done.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-origin --show-scope
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.origin.url=C:/Program Files/Git/test_git/client/../server/repo.git
local file:.git/config remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
local file:.git/config branch.master.remote=origin
local file:.git/config branch.master.merge=refs/heads/master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg
* 69b3da8 - 2026-05-30 16:17 (5 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, tag: refs/tags/tag, refs/remotes/origin/master, refs/remotes/origin/branch, refs/remotes/origin/HEAD)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ tree '.'
./ d/0o040/directory rwxr-xr-x/0o755
├╴client/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴repo/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴.git/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴config -/0o100/regular file rw-r--r--/0o644
│ │ │ ├╴description -/0o100/regular file rw-r--r--/0o644
│ │ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ ├╴hooks/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴applypatch-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ │ ├╴commit-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ │ ├╴fsmonitor-watchman.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ │ ├╴post-update.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ │ ├╴pre-applypatch.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ │ ├╴pre-commit.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ │ ├╴pre-merge-commit.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ │ ├╴pre-push.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ │ ├╴pre-rebase.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ │ ├╴pre-receive.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ │ ├╴prepare-commit-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ │ ├╴push-to-checkout.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ │ ├╴sendemail-validate.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ │ ├╴update.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴index -/0o100/regular file rw-r--r--/0o644
│ │ │ ├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴exclude -/0o100/regular file rw-r--r--/0o644
│ │ │ ├╴logs/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ │ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ │ ├╴heads/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ │ │ ├╴master -/0o100/regular file rw-r--r--/0o644
│ │ │ │ │ ├╴remotes/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ │ │ ├╴origin/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ │ │ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ ├╴objects/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴4b/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ │ ├╴825dc642cb6eb9a060e54bf8d69288fbee4904 -/0o100/regular file r--r--r--/0o444
│ │ │ │ ├╴69/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ │ ├╴b3da88446f94ea108121a483bb40397c459830 -/0o100/regular file r--r--r--/0o444
│ │ │ │ ├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴pack/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴packed-refs -/0o100/regular file rw-r--r--/0o644
│ │ │ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴heads/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ │ ├╴master -/0o100/regular file rw-r--r--/0o644
│ │ │ │ ├╴remotes/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ │ ├╴origin/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ │ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ │ ├╴tags/ d/0o040/directory rwxr-xr-x/0o755
├╴server/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴repo.git/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴COMMIT_EDITMSG -/0o100/regular file rw-r--r--/0o644
│ │ ├╴config -/0o100/regular file rw-r--r--/0o644
│ │ ├╴description -/0o100/regular file rw-r--r--/0o644
│ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ ├╴hooks/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴applypatch-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴commit-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴fsmonitor-watchman.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴post-update.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴pre-applypatch.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴pre-commit.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴pre-merge-commit.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴pre-push.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴pre-rebase.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴pre-receive.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴prepare-commit-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴push-to-checkout.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴sendemail-validate.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴update.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴index -/0o100/regular file rw-r--r--/0o644
│ │ ├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴exclude -/0o100/regular file rw-r--r--/0o644
│ │ ├╴logs/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴heads/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ │ ├╴master -/0o100/regular file rw-r--r--/0o644
│ │ ├╴objects/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴4b/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴825dc642cb6eb9a060e54bf8d69288fbee4904 -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴69/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴b3da88446f94ea108121a483bb40397c459830 -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴pack/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴heads/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴branch -/0o100/regular file rw-r--r--/0o644
│ │ │ │ ├╴master -/0o100/regular file rw-r--r--/0o644
│ │ │ ├╴tags/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴tag -/0o100/regular file rw-r--r--/0o644
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone "$(realpath './server/repo.git')" './repo1'
Cloning into './repo1'...
done.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone 'file://../server/repo.git' './repo2'
Cloning into './repo2'...
fatal: '//../server/repo.git' does not appear to be a git repository
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone 'file://'"$(realpath './server/repo.git')" './repo3'
Cloning into './repo3'...
remote: Enumerating objects: 2, done.
remote: Counting objects: 100% (2/2), done.
remote: Total 2 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Receiving objects: 100% (2/2), done.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init --bare './-repo.git'
Initialized empty Git repository in C:/Program Files/Git/test_git/-repo.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./-repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
[master (root-commit) 1c07911] 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './-repo.git' lg
* 1c07911 - 2026-05-30 16:17 (0 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git clone './-repo.git' './client/repo4.git'
Cloning into './client/repo4.git'...
done.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git clone '-repo.git' './client/repo5.git'
error: unknown switch `r'
usage: git clone [<options>] [--] <repo> [<dir>]
-v, --[no-]verbose be more verbose
-q, --[no-]quiet be more quiet
--[no-]progress force progress reporting
--[no-]reject-shallow don't clone shallow repository
-n, --no-checkout don't create a checkout
--checkout opposite of --no-checkout
--[no-]bare create a bare repository
--[no-]mirror create a mirror repository (implies --bare)
-l, --[no-]local to clone from a local repository
--no-hardlinks don't use local hardlinks, always copy
--hardlinks opposite of --no-hardlinks
-s, --[no-]shared setup as shared repository
--[no-]recurse-submodules[=<pathspec>]
initialize submodules in the clone
--[no-]recursive[=<pathspec>]
alias of --recurse-submodules
-j, --[no-]jobs <n> number of submodules cloned in parallel
--[no-]template <template-directory>
directory from which templates will be used
--[no-]reference <repo>
reference repository
--[no-]reference-if-able <repo>
reference repository
--[no-]dissociate use --reference only while cloning
-o, --[no-]origin <name>
use <name> instead of 'origin' to track upstream
-b, --[no-]branch <branch>
checkout <branch> instead of the remote's HEAD
--[no-]revision <rev> clone single revision <rev> and check out
-u, --[no-]upload-pack <path>
path to git-upload-pack on the remote
--[no-]depth <depth> create a shallow clone of that depth
--[no-]shallow-since <time>
create a shallow clone since a specific time
--[no-]shallow-exclude <ref>
deepen history of shallow clone, excluding ref
--[no-]single-branch clone only one branch, HEAD or --branch
--[no-]tags clone tags, and make later fetches not to follow them
--[no-]shallow-submodules
any cloned submodules will be shallow
--[no-]separate-git-dir <gitdir>
separate git dir from working tree
--[no-]ref-format <format>
specify the reference format to use
-c, --[no-]config <key=value>
set config inside the new repository
--[no-]server-option <server-specific>
option to transmit
-4, --ipv4 use IPv4 addresses only
-6, --ipv6 use IPv6 addresses only
--[no-]filter <args> object filtering
--[no-]also-filter-submodules
apply partial clone filters to submodules
--[no-]remote-submodules
any cloned submodules will use their remote-tracking branch
--[no-]sparse initialize sparse-checkout file to include only files at root
--[no-]bundle-uri <uri>
a URI for downloading bundles before fetching from origin remote
jhcarl0814@jhcarl0814 MINGW64 $?=129 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git clone -- '-repo.git' './client/repo6.git'
Cloning into './client/repo6.git'...
done.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git clone --end-of-options '-repo.git' './client/repo7.git'
Cloning into './client/repo7.git'...
done.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server' init --bare './repo.git'
Initialized empty Git repository in C:/Program Files/Git/test_git/server/repo.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
[master (root-commit) 19e4c4e] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone --quiet '../server/repo.git' './repo1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone '../server/repo.git' './repo2'
Cloning into './repo2'...
done.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone --progress '../server/repo.git' './repo3'
Cloning into './repo3'...
done.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ "$SHELL" 0<<-'EOF' 2> >(cat)
> git -C './client' clone --quiet '../server/repo.git' './repo4'
> git -C './client' clone '../server/repo.git' './repo5'
> git -C './client' clone --progress '../server/repo.git' './repo6'
> EOF
Cloning into './repo5'...
done.
Cloning into './repo6'...
done.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone --quiet 'file://'"$(realpath './server/repo.git')" './repo7'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone 'file://'"$(realpath './server/repo.git')" './repo8'
Cloning into './repo8'...
remote: Enumerating objects: 2, done.
remote: Counting objects: 100% (2/2), done.
remote: Total 2 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Receiving objects: 100% (2/2), done.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone --progress 'file://'"$(realpath './server/repo.git')" './repo9'
Cloning into './repo9'...
remote: Enumerating objects: 2, done.
remote: Counting objects: 100% (2/2), done.
remote: Total 2 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Receiving objects: 100% (2/2), done.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ "$SHELL" 0<<-'EOF' 2> >(cat)
> git -C './client' clone --quiet 'file://'"$(realpath './server/repo.git')" './repo10'
> git -C './client' clone 'file://'"$(realpath './server/repo.git')" './repo11'
> git -C './client' clone --progress 'file://'"$(realpath './server/repo.git')" './repo12'
> EOF
Cloning into './repo11'...
Cloning into './repo12'...
remote: Enumerating objects: 2, done.
remote: Counting objects: 100% (2/2), done.
remote: Total 2 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Receiving objects: 100% (2/2), done.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server' init --bare './repo.git'
Initialized empty Git repository in C:/Program Files/Git/test_git/server/repo.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
[master (root-commit) b404234] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone --quiet '../server/repo.git' './repo1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone '../server/repo.git' './repo2'
Cloning into './repo2'...
done.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone --progress '../server/repo.git' './repo3'
Cloning into './repo3'...
done.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ "$SHELL" 0<<-'EOF' 2>&1 | cat
> git -C './client' clone --quiet '../server/repo.git' './repo4'
> git -C './client' clone '../server/repo.git' './repo5'
> git -C './client' clone --progress '../server/repo.git' './repo6'
> EOF
Cloning into './repo5'...
done.
Cloning into './repo6'...
done.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone --quiet 'file://'"$(realpath './server/repo.git')" './repo7'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone 'file://'"$(realpath './server/repo.git')" './repo8'
Cloning into './repo8'...
remote: Enumerating objects: 2, done.
remote: Counting objects: 100% (2/2), done.
remote: Total 2 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Receiving objects: 100% (2/2), done.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone --progress 'file://'"$(realpath './server/repo.git')" './repo9'
Cloning into './repo9'...
remote: Enumerating objects: 2, done.
remote: Counting objects: 100% (2/2), done.
remote: Total 2 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Receiving objects: 100% (2/2), done.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ "$SHELL" 0<<-'EOF' 2>&1 | cat
> git -C './client' clone --quiet 'file://'"$(realpath './server/repo.git')" './repo10'
> git -C './client' clone 'file://'"$(realpath './server/repo.git')" './repo11'
> git -C './client' clone --progress 'file://'"$(realpath './server/repo.git')" './repo12'
> EOF
Cloning into './repo11'...
Cloning into './repo12'...
remote: Enumerating objects: 2, done.
remote: Counting objects: 100% (2/2), done.
remote: Total 2 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Receiving objects: 100% (2/2), done.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server' init --bare './repo.git'
Initialized empty Git repository in C:/Program Files/Git/test_git/server/repo.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
[master (root-commit) 2a645cf] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone '../server/repo.git' './repo1'
Cloning into './repo1'...
done.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone --verbose '../server/repo.git' './repo2'
Cloning into './repo2'...
done.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone --verbose --verbose '../server/repo.git' './repo3'
Cloning into './repo3'...
done.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone 'file://'"$(realpath './server/repo.git')" './repo4'
Cloning into './repo4'...
remote: Enumerating objects: 2, done.
remote: Counting objects: 100% (2/2), done.
remote: Total 2 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Receiving objects: 100% (2/2), done.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone --verbose 'file://'"$(realpath './server/repo.git')" './repo5'
Cloning into './repo5'...
remote: Enumerating objects: 2, done.
remote: Counting objects: 100% (2/2), done.
remote: Total 2 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Receiving objects: 100% (2/2), done.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone --verbose --verbose 'file://'"$(realpath './server/repo.git')" './repo6'
Cloning into './repo6'...
want 2a645cf4dc9081dfdecbb318232dda70a3d7e7ec (HEAD)
want 2a645cf4dc9081dfdecbb318232dda70a3d7e7ec (refs/heads/master)
remote: Enumerating objects: 2, done.
remote: Counting objects: 100% (2/2), done.
remote: Total 2 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Receiving objects: 100% (2/2), done.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server' init --bare './repo.git'
Initialized empty Git repository in C:/Program Files/Git/test_git/server/repo.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ touch './file'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' add './file'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))"
[master (root-commit) ce30b4d] 1
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone '../server/repo.git' './repo1'
Cloning into './repo1'...
done.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone --no-checkout '../server/repo.git' './repo2'
Cloning into './repo2'...
done.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone --bare '../server/repo.git' './repo31'
Cloning into bare repository './repo31'...
done.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone --bare '../server/repo.git' './repo32'
Cloning into bare repository './repo32'...
done.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone --mirror '../server/repo.git' './repo4'
Cloning into bare repository './repo4'...
done.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ ls './client/repo1'
file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ ls './client/repo2'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo1' status
On branch master
Your branch is up to date with 'origin/master'.
nothing to commit, working tree clean
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo2' status
On branch master
Your branch is up to date with 'origin/master'.
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
deleted: file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' config list --local --show-origin --show-scope
local file:config core.repositoryformatversion=0
local file:config core.filemode=false
local file:config core.bare=true
local file:config core.ignorecase=true
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo1' config list --local --show-origin --show-scope
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.origin.url=C:/Program Files/Git/test_git/client/../server/repo.git
local file:.git/config remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
local file:.git/config branch.master.remote=origin
local file:.git/config branch.master.merge=refs/heads/master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo2' config list --local --show-origin --show-scope
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.origin.url=C:/Program Files/Git/test_git/client/../server/repo.git
local file:.git/config remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
local file:.git/config branch.master.remote=origin
local file:.git/config branch.master.merge=refs/heads/master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo31' config list --local --show-origin --show-scope
local file:config core.repositoryformatversion=0
local file:config core.filemode=false
local file:config core.bare=true
local file:config core.ignorecase=true
local file:config remote.origin.url=C:/Program Files/Git/test_git/client/../server/repo.git
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo32' config list --local --show-origin --show-scope
local file:config core.repositoryformatversion=0
local file:config core.filemode=false
local file:config core.bare=true
local file:config core.ignorecase=true
local file:config remote.origin.url=C:/Program Files/Git/test_git/client/../server/repo.git
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo4' config list --local --show-origin --show-scope
local file:config core.repositoryformatversion=0
local file:config core.filemode=false
local file:config core.bare=true
local file:config core.ignorecase=true
local file:config remote.origin.url=C:/Program Files/Git/test_git/client/../server/repo.git
local file:config remote.origin.tagopt=--no-tags
local file:config remote.origin.fetch=+refs/*:refs/*
local file:config remote.origin.mirror=true
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git ls-remote --symref './server/repo.git'
ref: refs/heads/master HEAD
ce30b4d08a0bb1fd706a540646410cee2b5590fc HEAD
ce30b4d08a0bb1fd706a540646410cee2b5590fc refs/heads/master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git ls-remote --symref './client/repo1'
ref: refs/heads/master HEAD
ce30b4d08a0bb1fd706a540646410cee2b5590fc HEAD
ce30b4d08a0bb1fd706a540646410cee2b5590fc refs/heads/master
ref: refs/remotes/origin/master refs/remotes/origin/HEAD
ce30b4d08a0bb1fd706a540646410cee2b5590fc refs/remotes/origin/HEAD
ce30b4d08a0bb1fd706a540646410cee2b5590fc refs/remotes/origin/master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git ls-remote --symref './client/repo2'
ref: refs/heads/master HEAD
ce30b4d08a0bb1fd706a540646410cee2b5590fc HEAD
ce30b4d08a0bb1fd706a540646410cee2b5590fc refs/heads/master
ref: refs/remotes/origin/master refs/remotes/origin/HEAD
ce30b4d08a0bb1fd706a540646410cee2b5590fc refs/remotes/origin/HEAD
ce30b4d08a0bb1fd706a540646410cee2b5590fc refs/remotes/origin/master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git ls-remote --symref './client/repo31'
ref: refs/heads/master HEAD
ce30b4d08a0bb1fd706a540646410cee2b5590fc HEAD
ce30b4d08a0bb1fd706a540646410cee2b5590fc refs/heads/master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git ls-remote --symref './client/repo32'
ref: refs/heads/master HEAD
ce30b4d08a0bb1fd706a540646410cee2b5590fc HEAD
ce30b4d08a0bb1fd706a540646410cee2b5590fc refs/heads/master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git ls-remote --symref './client/repo4'
ref: refs/heads/master HEAD
ce30b4d08a0bb1fd706a540646410cee2b5590fc HEAD
ce30b4d08a0bb1fd706a540646410cee2b5590fc refs/heads/master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' branch --show-current
master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' branch --move "$(git -C './server/repo.git' branch --show-current)"2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo1' remote update --prune
From C:/Program Files/Git/test_git/client/../server/repo
- [deleted] (none) -> origin/master
refs/remotes/origin/HEAD has become dangling after refs/remotes/origin/master was deleted
* [new branch] master2 -> origin/master2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo2' remote update --prune
From C:/Program Files/Git/test_git/client/../server/repo
- [deleted] (none) -> origin/master
refs/remotes/origin/HEAD has become dangling after refs/remotes/origin/master was deleted
* [new branch] master2 -> origin/master2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo31' remote update --prune
From C:/Program Files/Git/test_git/client/../server/repo
* branch HEAD -> FETCH_HEAD
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo32' remote update --prune
From C:/Program Files/Git/test_git/client/../server/repo
* branch HEAD -> FETCH_HEAD
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo4' remote update --prune
From C:/Program Files/Git/test_git/client/../server/repo
- [deleted] (none) -> master
* [new branch] master2 -> master2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git ls-remote --symref './server/repo.git'
ref: refs/heads/master2 HEAD
ce30b4d08a0bb1fd706a540646410cee2b5590fc HEAD
ce30b4d08a0bb1fd706a540646410cee2b5590fc refs/heads/master2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git ls-remote --symref './client/repo1'
ref: refs/heads/master HEAD
ce30b4d08a0bb1fd706a540646410cee2b5590fc HEAD
ce30b4d08a0bb1fd706a540646410cee2b5590fc refs/heads/master
ce30b4d08a0bb1fd706a540646410cee2b5590fc refs/remotes/origin/master2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git ls-remote --symref './client/repo2'
ref: refs/heads/master HEAD
ce30b4d08a0bb1fd706a540646410cee2b5590fc HEAD
ce30b4d08a0bb1fd706a540646410cee2b5590fc refs/heads/master
ce30b4d08a0bb1fd706a540646410cee2b5590fc refs/remotes/origin/master2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git ls-remote --symref './client/repo31'
ref: refs/heads/master HEAD
ce30b4d08a0bb1fd706a540646410cee2b5590fc HEAD
ce30b4d08a0bb1fd706a540646410cee2b5590fc refs/heads/master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git ls-remote --symref './client/repo32'
ref: refs/heads/master HEAD
ce30b4d08a0bb1fd706a540646410cee2b5590fc HEAD
ce30b4d08a0bb1fd706a540646410cee2b5590fc refs/heads/master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git ls-remote --symref './client/repo4'
ref: refs/heads/master2 HEAD
ce30b4d08a0bb1fd706a540646410cee2b5590fc HEAD
ce30b4d08a0bb1fd706a540646410cee2b5590fc refs/heads/master2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ branch_remote_default_path="$(git -C './client/repo1' symbolic-ref 'refs/remotes/origin/HEAD')"; echo "$branch_remote_default_path"
refs/remotes/origin/master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ branch_remote_default_name="${branch_remote_default_path#'refs/remotes/origin/'}"; echo "$branch_remote_default_name"
master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo1' checkout "$branch_remote_default_name"
Already on 'master'
Your branch is based on 'origin/master', but the upstream is gone.
(use "git branch --unset-upstream" to fixup)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ branch_remote_default_path="$(git -C './client/repo2' symbolic-ref 'refs/remotes/origin/HEAD')"; echo "$branch_remote_default_path"
refs/remotes/origin/master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ branch_remote_default_name="${branch_remote_default_path#'refs/remotes/origin/'}"; echo "$branch_remote_default_name"
master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo2' checkout "$branch_remote_default_name"
Already on 'master'
Your branch is based on 'origin/master', but the upstream is gone.
(use "git branch --unset-upstream" to fixup)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git ls-remote --symref './client/repo1'
ref: refs/heads/master HEAD
ce30b4d08a0bb1fd706a540646410cee2b5590fc HEAD
ce30b4d08a0bb1fd706a540646410cee2b5590fc refs/heads/master
ce30b4d08a0bb1fd706a540646410cee2b5590fc refs/remotes/origin/master2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git ls-remote --symref './client/repo2'
ref: refs/heads/master HEAD
ce30b4d08a0bb1fd706a540646410cee2b5590fc HEAD
ce30b4d08a0bb1fd706a540646410cee2b5590fc refs/heads/master
ce30b4d08a0bb1fd706a540646410cee2b5590fc refs/remotes/origin/master2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo31' fetch --prune 'origin' '+refs/*:refs/*'
From C:/Program Files/Git/test_git/client/../server/repo
- [deleted] (none) -> master
* [new branch] master2 -> master2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git ls-remote --symref './client/repo31'
ce30b4d08a0bb1fd706a540646410cee2b5590fc refs/heads/master2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ branch_default_output="$(git ls-remote --symref './server/repo.git' | head --lines=1)"; echo "$branch_default_output"
ref: refs/heads/master2 HEAD
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ branch_default_output="${branch_default_output%$'\t'*}"; echo "$branch_default_output"
ref: refs/heads/master2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ branch_default_path="${branch_default_output#'ref: '*}"; echo "$branch_default_path"
refs/heads/master2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo31' symbolic-ref HEAD "$branch_default_path"
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo31' symbolic-ref HEAD
refs/heads/master2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git ls-remote --symref './client/repo31'
ref: refs/heads/master2 HEAD
ce30b4d08a0bb1fd706a540646410cee2b5590fc HEAD
ce30b4d08a0bb1fd706a540646410cee2b5590fc refs/heads/master2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' push --mirror '../../client/repo32'
Total 0 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
remote: error: By default, deleting the current branch is denied, because the next
remote: 'git clone' won't result in any file checked out, causing confusion.
remote:
remote: You can set 'receive.denyDeleteCurrent' configuration variable to
remote: 'warn' or 'ignore' in the remote repository to allow deleting the
remote: current branch, with or without a warning message.
remote:
remote: To squelch this message, you can set it to 'refuse'.
remote: error: refusing to delete the current branch: refs/heads/master
To ../../client/repo32
* [new branch] master2 -> master2
! [remote rejected] master (deletion of the current branch prohibited)
error: failed to push some refs to '../../client/repo32'
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo32' config set 'receive.denyDeleteCurrent' 'false'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' push --mirror '../../client/repo32'
To ../../client/repo32
- [deleted] master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git ls-remote --symref './client/repo32'
ce30b4d08a0bb1fd706a540646410cee2b5590fc refs/heads/master2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ branch_default_output="$(git ls-remote --symref './server/repo.git' | head --lines=1)"; echo "$branch_default_output"
ref: refs/heads/master2 HEAD
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ branch_default_output="${branch_default_output%$'\t'*}"; echo "$branch_default_output"
ref: refs/heads/master2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ branch_default_path="${branch_default_output#'ref: '*}"; echo "$branch_default_path"
refs/heads/master2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo32' symbolic-ref HEAD "$branch_default_path"
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo32' symbolic-ref HEAD
refs/heads/master2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git ls-remote --symref './client/repo32'
ref: refs/heads/master2 HEAD
ce30b4d08a0bb1fd706a540646410cee2b5590fc HEAD
ce30b4d08a0bb1fd706a540646410cee2b5590fc refs/heads/master2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server' init --bare './repo.git'
Initialized empty Git repository in C:/Program Files/Git/test_git/server/repo.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
[master (root-commit) 13bd2a4] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ which --all 'git' | sort | uniq | while IFS= read -r path_of_git; do
> echo "$path_of_git"
> tree "$(realpath "$(dirname "$path_of_git")"'/../share/git-core/templates')"
> done
/cmd/git
realpath: /cmd/../share/git-core/templates: No such file or directory
find: ‘’: No such file or directory
/mingw64/bin/git
/mingw64/share/git-core/templates/ d/0o040/directory rwxr-xr-x/0o755
├╴description -/0o100/regular file rw-r--r--/0o644
├╴hooks/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴applypatch-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ ├╴commit-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ ├╴fsmonitor-watchman.sample -/0o100/regular file rwxr-xr-x/0o755
│ ├╴post-update.sample -/0o100/regular file rwxr-xr-x/0o755
│ ├╴pre-applypatch.sample -/0o100/regular file rwxr-xr-x/0o755
│ ├╴pre-commit.sample -/0o100/regular file rwxr-xr-x/0o755
│ ├╴pre-merge-commit.sample -/0o100/regular file rwxr-xr-x/0o755
│ ├╴pre-push.sample -/0o100/regular file rwxr-xr-x/0o755
│ ├╴pre-rebase.sample -/0o100/regular file rwxr-xr-x/0o755
│ ├╴pre-receive.sample -/0o100/regular file rwxr-xr-x/0o755
│ ├╴prepare-commit-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ ├╴push-to-checkout.sample -/0o100/regular file rwxr-xr-x/0o755
│ ├╴sendemail-validate.sample -/0o100/regular file rwxr-xr-x/0o755
│ ├╴update.sample -/0o100/regular file rwxr-xr-x/0o755
├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴exclude -/0o100/regular file rw-r--r--/0o644
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ tree "$(git -c 'a.b=%(prefix)/' config get --type=path 'a.b')"'share/git-core/templates'
C:/Program Files/Git/mingw64/share/git-core/templates/ d/0o040/directory rwxr-xr-x/0o755
├╴description -/0o100/regular file rw-r--r--/0o644
├╴hooks/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴applypatch-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ ├╴commit-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ ├╴fsmonitor-watchman.sample -/0o100/regular file rwxr-xr-x/0o755
│ ├╴post-update.sample -/0o100/regular file rwxr-xr-x/0o755
│ ├╴pre-applypatch.sample -/0o100/regular file rwxr-xr-x/0o755
│ ├╴pre-commit.sample -/0o100/regular file rwxr-xr-x/0o755
│ ├╴pre-merge-commit.sample -/0o100/regular file rwxr-xr-x/0o755
│ ├╴pre-push.sample -/0o100/regular file rwxr-xr-x/0o755
│ ├╴pre-rebase.sample -/0o100/regular file rwxr-xr-x/0o755
│ ├╴pre-receive.sample -/0o100/regular file rwxr-xr-x/0o755
│ ├╴prepare-commit-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ ├╴push-to-checkout.sample -/0o100/regular file rwxr-xr-x/0o755
│ ├╴sendemail-validate.sample -/0o100/regular file rwxr-xr-x/0o755
│ ├╴update.sample -/0o100/regular file rwxr-xr-x/0o755
├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴exclude -/0o100/regular file rw-r--r--/0o644
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone '../server/repo.git' './repo1'
Cloning into './repo1'...
done.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone --template="$(git -c 'a.b=%(prefix)/' config get --type=path 'a.b')"'share/git-core/templates' '../server/repo.git' './repo2'
Cloning into './repo2'...
done.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ tree '.'
./ d/0o040/directory rwxr-xr-x/0o755
├╴client/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴repo1/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴.git/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴config -/0o100/regular file rw-r--r--/0o644
│ │ │ ├╴description -/0o100/regular file rw-r--r--/0o644
│ │ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ ├╴hooks/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴applypatch-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ │ ├╴commit-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ │ ├╴fsmonitor-watchman.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ │ ├╴post-update.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ │ ├╴pre-applypatch.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ │ ├╴pre-commit.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ │ ├╴pre-merge-commit.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ │ ├╴pre-push.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ │ ├╴pre-rebase.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ │ ├╴pre-receive.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ │ ├╴prepare-commit-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ │ ├╴push-to-checkout.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ │ ├╴sendemail-validate.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ │ ├╴update.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴index -/0o100/regular file rw-r--r--/0o644
│ │ │ ├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴exclude -/0o100/regular file rw-r--r--/0o644
│ │ │ ├╴logs/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ │ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ │ ├╴heads/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ │ │ ├╴master -/0o100/regular file rw-r--r--/0o644
│ │ │ │ │ ├╴remotes/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ │ │ ├╴origin/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ │ │ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ ├╴objects/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴13/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ │ ├╴bd2a4b8fc10d012134f88f9fd52f2c7a0e677d -/0o100/regular file r--r--r--/0o444
│ │ │ │ ├╴4b/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ │ ├╴825dc642cb6eb9a060e54bf8d69288fbee4904 -/0o100/regular file r--r--r--/0o444
│ │ │ │ ├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴pack/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴packed-refs -/0o100/regular file rw-r--r--/0o644
│ │ │ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴heads/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ │ ├╴master -/0o100/regular file rw-r--r--/0o644
│ │ │ │ ├╴remotes/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ │ ├╴origin/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ │ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ │ ├╴tags/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴repo2/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴.git/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴config -/0o100/regular file rw-r--r--/0o644
│ │ │ ├╴description -/0o100/regular file rw-r--r--/0o644
│ │ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ ├╴hooks/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴applypatch-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ │ ├╴commit-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ │ ├╴fsmonitor-watchman.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ │ ├╴post-update.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ │ ├╴pre-applypatch.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ │ ├╴pre-commit.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ │ ├╴pre-merge-commit.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ │ ├╴pre-push.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ │ ├╴pre-rebase.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ │ ├╴pre-receive.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ │ ├╴prepare-commit-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ │ ├╴push-to-checkout.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ │ ├╴sendemail-validate.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ │ ├╴update.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴index -/0o100/regular file rw-r--r--/0o644
│ │ │ ├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴exclude -/0o100/regular file rw-r--r--/0o644
│ │ │ ├╴logs/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ │ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ │ ├╴heads/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ │ │ ├╴master -/0o100/regular file rw-r--r--/0o644
│ │ │ │ │ ├╴remotes/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ │ │ ├╴origin/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ │ │ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ ├╴objects/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴13/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ │ ├╴bd2a4b8fc10d012134f88f9fd52f2c7a0e677d -/0o100/regular file r--r--r--/0o444
│ │ │ │ ├╴4b/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ │ ├╴825dc642cb6eb9a060e54bf8d69288fbee4904 -/0o100/regular file r--r--r--/0o444
│ │ │ │ ├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴pack/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴packed-refs -/0o100/regular file rw-r--r--/0o644
│ │ │ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴heads/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ │ ├╴master -/0o100/regular file rw-r--r--/0o644
│ │ │ │ ├╴remotes/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ │ ├╴origin/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ │ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ │ ├╴tags/ d/0o040/directory rwxr-xr-x/0o755
├╴server/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴repo.git/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴COMMIT_EDITMSG -/0o100/regular file rw-r--r--/0o644
│ │ ├╴config -/0o100/regular file rw-r--r--/0o644
│ │ ├╴description -/0o100/regular file rw-r--r--/0o644
│ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ ├╴hooks/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴applypatch-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴commit-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴fsmonitor-watchman.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴post-update.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴pre-applypatch.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴pre-commit.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴pre-merge-commit.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴pre-push.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴pre-rebase.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴pre-receive.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴prepare-commit-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴push-to-checkout.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴sendemail-validate.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴update.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴index -/0o100/regular file rw-r--r--/0o644
│ │ ├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴exclude -/0o100/regular file rw-r--r--/0o644
│ │ ├╴logs/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴heads/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ │ ├╴master -/0o100/regular file rw-r--r--/0o644
│ │ ├╴objects/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴13/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴bd2a4b8fc10d012134f88f9fd52f2c7a0e677d -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴4b/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴825dc642cb6eb9a060e54bf8d69288fbee4904 -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴pack/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴heads/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴master -/0o100/regular file rw-r--r--/0o644
│ │ │ ├╴tags/ d/0o040/directory rwxr-xr-x/0o755
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server' init --bare './repo.git'
Initialized empty Git repository in C:/Program Files/Git/test_git/server/repo.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
[master (root-commit) a1f4bdd] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone --separate-git-dir='./repo.git' '../server/repo.git' './worktree1'
Cloning into './worktree1'...
done.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ tree '.'
./ d/0o040/directory rwxr-xr-x/0o755
├╴client/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴repo.git/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴config -/0o100/regular file rw-r--r--/0o644
│ │ ├╴description -/0o100/regular file rw-r--r--/0o644
│ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ ├╴hooks/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴applypatch-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴commit-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴fsmonitor-watchman.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴post-update.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴pre-applypatch.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴pre-commit.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴pre-merge-commit.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴pre-push.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴pre-rebase.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴pre-receive.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴prepare-commit-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴push-to-checkout.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴sendemail-validate.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴update.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴index -/0o100/regular file rw-r--r--/0o644
│ │ ├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴exclude -/0o100/regular file rw-r--r--/0o644
│ │ ├╴logs/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴heads/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ │ ├╴master -/0o100/regular file rw-r--r--/0o644
│ │ │ │ ├╴remotes/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ │ ├╴origin/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ │ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ ├╴objects/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴4b/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴825dc642cb6eb9a060e54bf8d69288fbee4904 -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴a1/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴f4bdd6923a81a59990c98e11f1bd760c412db7 -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴pack/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴packed-refs -/0o100/regular file rw-r--r--/0o644
│ │ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴heads/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴master -/0o100/regular file rw-r--r--/0o644
│ │ │ ├╴remotes/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴origin/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ ├╴tags/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴worktree1/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴.git -/0o100/regular file rw-r--r--/0o644
├╴server/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴repo.git/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴COMMIT_EDITMSG -/0o100/regular file rw-r--r--/0o644
│ │ ├╴config -/0o100/regular file rw-r--r--/0o644
│ │ ├╴description -/0o100/regular file rw-r--r--/0o644
│ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ ├╴hooks/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴applypatch-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴commit-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴fsmonitor-watchman.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴post-update.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴pre-applypatch.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴pre-commit.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴pre-merge-commit.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴pre-push.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴pre-rebase.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴pre-receive.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴prepare-commit-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴push-to-checkout.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴sendemail-validate.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴update.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴index -/0o100/regular file rw-r--r--/0o644
│ │ ├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴exclude -/0o100/regular file rw-r--r--/0o644
│ │ ├╴logs/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴heads/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ │ ├╴master -/0o100/regular file rw-r--r--/0o644
│ │ ├╴objects/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴4b/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴825dc642cb6eb9a060e54bf8d69288fbee4904 -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴a1/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴f4bdd6923a81a59990c98e11f1bd760c412db7 -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴pack/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴heads/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴master -/0o100/regular file rw-r--r--/0o644
│ │ │ ├╴tags/ d/0o040/directory rwxr-xr-x/0o755
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/worktree1'
./client/worktree1/ d/0o040/directory rwxr-xr-x/0o755
├╴.git -/0o100/regular file rw-r--r--/0o644
│ 1 gitdir: C:/Program Files/Git/test_git/client/repo.git\n
│ 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo.git' rev-parse --path-format=absolute --absolute-git-dir --git-common-dir
C:/Program Files/Git/test_git/client/repo.git
C:/Program Files/Git/test_git/client/repo.git
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo.git' rev-parse --path-format=absolute --show-toplevel
fatal: this operation must be run in a work tree
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/worktree1' rev-parse --path-format=absolute --absolute-git-dir --git-common-dir --show-toplevel
C:/Program Files/Git/test_git/client/repo.git
C:/Program Files/Git/test_git/client/repo.git
C:/Program Files/Git/test_git/client/worktree1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server' init --bare './repo.git'
Initialized empty Git repository in C:/Program Files/Git/test_git/server/repo.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
[master (root-commit) eef5615] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone --config='section.key1' --config='section.key2=' --config='section.key3=""' '../server/repo.git' './repo'
Cloning into './repo'...
done.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-origin --show-scope
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config section.key1=true
local file:.git/config section.key2=
local file:.git/config section.key3=""
local file:.git/config remote.origin.url=C:/Program Files/Git/test_git/client/../server/repo.git
local file:.git/config remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
local file:.git/config branch.master.remote=origin
local file:.git/config branch.master.merge=refs/heads/master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server' init --bare './repo.git'
Initialized empty Git repository in C:/Program Files/Git/test_git/server/repo.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
[master (root-commit) ffd3130] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone '../server/repo.git' './repo1'
Cloning into './repo1'...
done.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo1' config list --local --show-origin --show-scope
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.origin.url=C:/Program Files/Git/test_git/client/../server/repo.git
local file:.git/config remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
local file:.git/config branch.master.remote=origin
local file:.git/config branch.master.merge=refs/heads/master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo1' remote --verbose show
origin C:/Program Files/Git/test_git/client/../server/repo.git (fetch)
origin C:/Program Files/Git/test_git/client/../server/repo.git (push)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone --origin='orig' '../server/repo.git' './repo2'
Cloning into './repo2'...
done.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo2' config list --local --show-origin --show-scope
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.orig.url=C:/Program Files/Git/test_git/client/../server/repo.git
local file:.git/config remote.orig.fetch=+refs/heads/*:refs/remotes/orig/*
local file:.git/config branch.master.remote=orig
local file:.git/config branch.master.merge=refs/heads/master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo2' remote --verbose show
orig C:/Program Files/Git/test_git/client/../server/repo.git (fetch)
orig C:/Program Files/Git/test_git/client/../server/repo.git (push)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server' init --bare './repo.git'
Initialized empty Git repository in C:/Program Files/Git/test_git/server/repo.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
[master (root-commit) c5be06b] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' branch branch; git -C './server/repo.git' tag tag
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone '../server/repo.git' './repo1'
Cloning into './repo1'...
done.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo1' config list --local --show-origin --show-scope
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.origin.url=C:/Program Files/Git/test_git/client/../server/repo.git
local file:.git/config remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
local file:.git/config branch.master.remote=origin
local file:.git/config branch.master.merge=refs/heads/master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo1' branch --list --all --verbose --verbose
* master c5be06b [origin/master] 1
remotes/origin/HEAD -> origin/master
remotes/origin/branch c5be06b 1
remotes/origin/master c5be06b 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo1' status --verbose --verbose
On branch master
Your branch is up to date with 'origin/master'.
nothing to commit, working tree clean
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone --branch='branch' '../server/repo.git' './repo21'
Cloning into './repo21'...
done.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo21' config list --local --show-origin --show-scope
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.origin.url=C:/Program Files/Git/test_git/client/../server/repo.git
local file:.git/config remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
local file:.git/config branch.branch.remote=origin
local file:.git/config branch.branch.merge=refs/heads/branch
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo21' branch --list --all --verbose --verbose
* branch c5be06b [origin/branch] 1
remotes/origin/HEAD -> origin/master
remotes/origin/branch c5be06b 1
remotes/origin/master c5be06b 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo21' status --verbose --verbose
On branch branch
Your branch is up to date with 'origin/branch'.
nothing to commit, working tree clean
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone --branch='tag' '../server/repo.git' './repo22'
Cloning into './repo22'...
done.
Note: switching to 'c5be06be05db48da993638b05d1edeacda8ec5be'.
You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by switching back to a branch.
If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -c with the switch command. Example:
git switch -c <new-branch-name>
Or undo this operation with:
git switch -
Turn off this advice by setting config variable advice.detachedHead to false
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo22' config list --local --show-origin --show-scope
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.origin.url=C:/Program Files/Git/test_git/client/../server/repo.git
local file:.git/config remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo22' branch --list --all --verbose --verbose
* (no branch) c5be06b 1
remotes/origin/HEAD -> origin/master
remotes/origin/branch c5be06b 1
remotes/origin/master c5be06b 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo22' status --verbose --verbose
Not currently on any branch.
nothing to commit, working tree clean
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone --branch='HEAD' '../server/repo.git' './repo23'
Cloning into './repo23'...
fatal: Remote branch HEAD not found in upstream origin
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone --revision='branch' '../server/repo.git' './repo31'
Cloning into './repo31'...
done.
Note: switching to 'c5be06be05db48da993638b05d1edeacda8ec5be'.
You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by switching back to a branch.
If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -c with the switch command. Example:
git switch -c <new-branch-name>
Or undo this operation with:
git switch -
Turn off this advice by setting config variable advice.detachedHead to false
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo31' config list --local --show-origin --show-scope
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.origin.url=C:/Program Files/Git/test_git/client/../server/repo.git
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo31' branch --list --all --verbose --verbose
* (no branch) c5be06b 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo31' status --verbose --verbose
Not currently on any branch.
nothing to commit, working tree clean
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone --revision='tag' '../server/repo.git' './repo32'
Cloning into './repo32'...
done.
Note: switching to 'c5be06be05db48da993638b05d1edeacda8ec5be'.
You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by switching back to a branch.
If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -c with the switch command. Example:
git switch -c <new-branch-name>
Or undo this operation with:
git switch -
Turn off this advice by setting config variable advice.detachedHead to false
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo32' config list --local --show-origin --show-scope
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.origin.url=C:/Program Files/Git/test_git/client/../server/repo.git
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo32' branch --list --all --verbose --verbose
* (no branch) c5be06b 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo32' status --verbose --verbose
Not currently on any branch.
nothing to commit, working tree clean
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone --revision='HEAD' '../server/repo.git' './repo33'
Cloning into './repo33'...
done.
Note: switching to 'c5be06be05db48da993638b05d1edeacda8ec5be'.
You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by switching back to a branch.
If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -c with the switch command. Example:
git switch -c <new-branch-name>
Or undo this operation with:
git switch -
Turn off this advice by setting config variable advice.detachedHead to false
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo33' config list --local --show-origin --show-scope
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.origin.url=C:/Program Files/Git/test_git/client/../server/repo.git
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo33' branch --list --all --verbose --verbose
* (no branch) c5be06b 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo33' status --verbose --verbose
Not currently on any branch.
nothing to commit, working tree clean
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server' init --bare './repo.git'
Initialized empty Git repository in C:/Program Files/Git/test_git/server/repo.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
[master (root-commit) 681f944] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ tree './server'
./server/ d/0o040/directory rwxr-xr-x/0o755
├╴repo.git/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴COMMIT_EDITMSG -/0o100/regular file rw-r--r--/0o644
│ ├╴config -/0o100/regular file rw-r--r--/0o644
│ ├╴description -/0o100/regular file rw-r--r--/0o644
│ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ ├╴hooks/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴applypatch-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴commit-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴fsmonitor-watchman.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴post-update.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴pre-applypatch.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴pre-commit.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴pre-merge-commit.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴pre-push.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴pre-rebase.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴pre-receive.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴prepare-commit-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴push-to-checkout.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴sendemail-validate.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴update.sample -/0o100/regular file rwxr-xr-x/0o755
│ ├╴index -/0o100/regular file rw-r--r--/0o644
│ ├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴exclude -/0o100/regular file rw-r--r--/0o644
│ ├╴logs/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴heads/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴master -/0o100/regular file rw-r--r--/0o644
│ ├╴objects/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴4b/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴825dc642cb6eb9a060e54bf8d69288fbee4904 -/0o100/regular file r--r--r--/0o444
│ │ ├╴68/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴1f9441a9280d33b5ed767e0a2dfc56b8c2ec35 -/0o100/regular file r--r--r--/0o444
│ │ ├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴pack/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴heads/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴master -/0o100/regular file rw-r--r--/0o644
│ │ ├╴tags/ d/0o040/directory rwxr-xr-x/0o755
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ find './server/repo.git/objects' -printf '%p %n\n'
./server/repo.git/objects 1
./server/repo.git/objects/4b 1
./server/repo.git/objects/4b/825dc642cb6eb9a060e54bf8d69288fbee4904 1
./server/repo.git/objects/68 1
./server/repo.git/objects/68/1f9441a9280d33b5ed767e0a2dfc56b8c2ec35 1
./server/repo.git/objects/info 1
./server/repo.git/objects/pack 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ touch './server/repo.git/objects/file'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ touch './server/repo.git/refs/file'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone '../server/repo.git' './repo1'
Cloning into './repo1'...
done.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ tree './client/repo1'
./client/repo1/ d/0o040/directory rwxr-xr-x/0o755
├╴.git/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴config -/0o100/regular file rw-r--r--/0o644
│ ├╴description -/0o100/regular file rw-r--r--/0o644
│ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ ├╴hooks/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴applypatch-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴commit-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴fsmonitor-watchman.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴post-update.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴pre-applypatch.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴pre-commit.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴pre-merge-commit.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴pre-push.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴pre-rebase.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴pre-receive.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴prepare-commit-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴push-to-checkout.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴sendemail-validate.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴update.sample -/0o100/regular file rwxr-xr-x/0o755
│ ├╴index -/0o100/regular file rw-r--r--/0o644
│ ├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴exclude -/0o100/regular file rw-r--r--/0o644
│ ├╴logs/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴heads/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴master -/0o100/regular file rw-r--r--/0o644
│ │ │ ├╴remotes/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴origin/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ ├╴objects/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴4b/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴825dc642cb6eb9a060e54bf8d69288fbee4904 -/0o100/regular file r--r--r--/0o444
│ │ ├╴68/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴1f9441a9280d33b5ed767e0a2dfc56b8c2ec35 -/0o100/regular file r--r--r--/0o444
│ │ ├╴file -/0o100/regular empty file rw-r--r--/0o644
│ │ ├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴pack/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴packed-refs -/0o100/regular file rw-r--r--/0o644
│ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴heads/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴master -/0o100/regular file rw-r--r--/0o644
│ │ ├╴remotes/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴origin/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ ├╴tags/ d/0o040/directory rwxr-xr-x/0o755
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ find './server/repo.git/objects' -printf '%p %n\n'
./server/repo.git/objects 1
./server/repo.git/objects/4b 1
./server/repo.git/objects/4b/825dc642cb6eb9a060e54bf8d69288fbee4904 2
./server/repo.git/objects/68 1
./server/repo.git/objects/68/1f9441a9280d33b5ed767e0a2dfc56b8c2ec35 2
./server/repo.git/objects/file 2
./server/repo.git/objects/info 1
./server/repo.git/objects/pack 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone --no-local '../server/repo.git' './repo2'
Cloning into './repo2'...
remote: Enumerating objects: 2, done.
remote: Counting objects: 100% (2/2), done.
remote: Total 2 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Receiving objects: 100% (2/2), done.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ tree './client/repo2'
./client/repo2/ d/0o040/directory rwxr-xr-x/0o755
├╴.git/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴config -/0o100/regular file rw-r--r--/0o644
│ ├╴description -/0o100/regular file rw-r--r--/0o644
│ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ ├╴hooks/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴applypatch-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴commit-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴fsmonitor-watchman.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴post-update.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴pre-applypatch.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴pre-commit.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴pre-merge-commit.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴pre-push.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴pre-rebase.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴pre-receive.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴prepare-commit-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴push-to-checkout.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴sendemail-validate.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴update.sample -/0o100/regular file rwxr-xr-x/0o755
│ ├╴index -/0o100/regular file rw-r--r--/0o644
│ ├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴exclude -/0o100/regular file rw-r--r--/0o644
│ ├╴logs/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴heads/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴master -/0o100/regular file rw-r--r--/0o644
│ │ │ ├╴remotes/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴origin/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ ├╴objects/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴pack/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴pack-1c05fc4548ca1f71649fbf82caab95545c80aca5.idx -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴pack-1c05fc4548ca1f71649fbf82caab95545c80aca5.pack -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴pack-1c05fc4548ca1f71649fbf82caab95545c80aca5.rev -/0o100/regular file r--r--r--/0o444
│ ├╴packed-refs -/0o100/regular file rw-r--r--/0o644
│ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴heads/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴master -/0o100/regular file rw-r--r--/0o644
│ │ ├╴remotes/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴origin/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ ├╴tags/ d/0o040/directory rwxr-xr-x/0o755
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ find './server/repo.git/objects' -printf '%p %n\n'
./server/repo.git/objects 1
./server/repo.git/objects/4b 1
./server/repo.git/objects/4b/825dc642cb6eb9a060e54bf8d69288fbee4904 2
./server/repo.git/objects/68 1
./server/repo.git/objects/68/1f9441a9280d33b5ed767e0a2dfc56b8c2ec35 2
./server/repo.git/objects/file 2
./server/repo.git/objects/info 1
./server/repo.git/objects/pack 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone 'file://'"$(realpath './server/repo.git')" './repo3'
Cloning into './repo3'...
remote: Enumerating objects: 2, done.
remote: Counting objects: 100% (2/2), done.
remote: Total 2 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Receiving objects: 100% (2/2), done.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ tree './client/repo3'
./client/repo3/ d/0o040/directory rwxr-xr-x/0o755
├╴.git/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴config -/0o100/regular file rw-r--r--/0o644
│ ├╴description -/0o100/regular file rw-r--r--/0o644
│ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ ├╴hooks/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴applypatch-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴commit-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴fsmonitor-watchman.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴post-update.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴pre-applypatch.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴pre-commit.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴pre-merge-commit.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴pre-push.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴pre-rebase.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴pre-receive.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴prepare-commit-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴push-to-checkout.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴sendemail-validate.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴update.sample -/0o100/regular file rwxr-xr-x/0o755
│ ├╴index -/0o100/regular file rw-r--r--/0o644
│ ├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴exclude -/0o100/regular file rw-r--r--/0o644
│ ├╴logs/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴heads/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴master -/0o100/regular file rw-r--r--/0o644
│ │ │ ├╴remotes/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴origin/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ ├╴objects/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴pack/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴pack-1c05fc4548ca1f71649fbf82caab95545c80aca5.idx -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴pack-1c05fc4548ca1f71649fbf82caab95545c80aca5.pack -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴pack-1c05fc4548ca1f71649fbf82caab95545c80aca5.rev -/0o100/regular file r--r--r--/0o444
│ ├╴packed-refs -/0o100/regular file rw-r--r--/0o644
│ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴heads/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴master -/0o100/regular file rw-r--r--/0o644
│ │ ├╴remotes/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴origin/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ ├╴tags/ d/0o040/directory rwxr-xr-x/0o755
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ find './server/repo.git/objects' -printf '%p %n\n'
./server/repo.git/objects 1
./server/repo.git/objects/4b 1
./server/repo.git/objects/4b/825dc642cb6eb9a060e54bf8d69288fbee4904 2
./server/repo.git/objects/68 1
./server/repo.git/objects/68/1f9441a9280d33b5ed767e0a2dfc56b8c2ec35 2
./server/repo.git/objects/file 2
./server/repo.git/objects/info 1
./server/repo.git/objects/pack 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone --local 'file://'"$(realpath './server/repo.git')" './repo4'
Cloning into './repo4'...
warning: --local is ignored
remote: Enumerating objects: 2, done.
remote: Counting objects: 100% (2/2), done.
remote: Total 2 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Receiving objects: 100% (2/2), done.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ tree './client/repo4'
./client/repo4/ d/0o040/directory rwxr-xr-x/0o755
├╴.git/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴config -/0o100/regular file rw-r--r--/0o644
│ ├╴description -/0o100/regular file rw-r--r--/0o644
│ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ ├╴hooks/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴applypatch-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴commit-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴fsmonitor-watchman.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴post-update.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴pre-applypatch.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴pre-commit.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴pre-merge-commit.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴pre-push.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴pre-rebase.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴pre-receive.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴prepare-commit-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴push-to-checkout.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴sendemail-validate.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴update.sample -/0o100/regular file rwxr-xr-x/0o755
│ ├╴index -/0o100/regular file rw-r--r--/0o644
│ ├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴exclude -/0o100/regular file rw-r--r--/0o644
│ ├╴logs/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴heads/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴master -/0o100/regular file rw-r--r--/0o644
│ │ │ ├╴remotes/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴origin/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ ├╴objects/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴pack/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴pack-1c05fc4548ca1f71649fbf82caab95545c80aca5.idx -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴pack-1c05fc4548ca1f71649fbf82caab95545c80aca5.pack -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴pack-1c05fc4548ca1f71649fbf82caab95545c80aca5.rev -/0o100/regular file r--r--r--/0o444
│ ├╴packed-refs -/0o100/regular file rw-r--r--/0o644
│ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴heads/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴master -/0o100/regular file rw-r--r--/0o644
│ │ ├╴remotes/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴origin/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ ├╴tags/ d/0o040/directory rwxr-xr-x/0o755
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ find './server/repo.git/objects' -printf '%p %n\n'
./server/repo.git/objects 1
./server/repo.git/objects/4b 1
./server/repo.git/objects/4b/825dc642cb6eb9a060e54bf8d69288fbee4904 2
./server/repo.git/objects/68 1
./server/repo.git/objects/68/1f9441a9280d33b5ed767e0a2dfc56b8c2ec35 2
./server/repo.git/objects/file 2
./server/repo.git/objects/info 1
./server/repo.git/objects/pack 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone --no-hardlinks '../server/repo.git' './repo5'
Cloning into './repo5'...
done.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ tree './client/repo5'
./client/repo5/ d/0o040/directory rwxr-xr-x/0o755
├╴.git/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴config -/0o100/regular file rw-r--r--/0o644
│ ├╴description -/0o100/regular file rw-r--r--/0o644
│ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ ├╴hooks/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴applypatch-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴commit-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴fsmonitor-watchman.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴post-update.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴pre-applypatch.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴pre-commit.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴pre-merge-commit.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴pre-push.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴pre-rebase.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴pre-receive.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴prepare-commit-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴push-to-checkout.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴sendemail-validate.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴update.sample -/0o100/regular file rwxr-xr-x/0o755
│ ├╴index -/0o100/regular file rw-r--r--/0o644
│ ├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴exclude -/0o100/regular file rw-r--r--/0o644
│ ├╴logs/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴heads/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴master -/0o100/regular file rw-r--r--/0o644
│ │ │ ├╴remotes/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴origin/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ ├╴objects/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴4b/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴825dc642cb6eb9a060e54bf8d69288fbee4904 -/0o100/regular file rw-r--r--/0o644
│ │ ├╴68/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴1f9441a9280d33b5ed767e0a2dfc56b8c2ec35 -/0o100/regular file rw-r--r--/0o644
│ │ ├╴file -/0o100/regular empty file rw-r--r--/0o644
│ │ ├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴pack/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴packed-refs -/0o100/regular file rw-r--r--/0o644
│ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴heads/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴master -/0o100/regular file rw-r--r--/0o644
│ │ ├╴remotes/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴origin/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ ├╴tags/ d/0o040/directory rwxr-xr-x/0o755
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ find './server/repo.git/objects' -printf '%p %n\n'
./server/repo.git/objects 1
./server/repo.git/objects/4b 1
./server/repo.git/objects/4b/825dc642cb6eb9a060e54bf8d69288fbee4904 2
./server/repo.git/objects/68 1
./server/repo.git/objects/68/1f9441a9280d33b5ed767e0a2dfc56b8c2ec35 2
./server/repo.git/objects/file 2
./server/repo.git/objects/info 1
./server/repo.git/objects/pack 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server' init --bare './repo.git'
Initialized empty Git repository in C:/Program Files/Git/test_git/server/repo.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
[master (root-commit) 8676f6b] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ find './server/repo.git/objects' -printf '%p %n\n'
./server/repo.git/objects 1
./server/repo.git/objects/4b 1
./server/repo.git/objects/4b/825dc642cb6eb9a060e54bf8d69288fbee4904 1
./server/repo.git/objects/86 1
./server/repo.git/objects/86/76f6b23c3c270361c6988444c9fbcf08f18be4 1
./server/repo.git/objects/info 1
./server/repo.git/objects/pack 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone --shared '../server/repo.git' './repo1'
Cloning into './repo1'...
done.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ find './server/repo.git/objects' -printf '%p %n\n'
./server/repo.git/objects 1
./server/repo.git/objects/4b 1
./server/repo.git/objects/4b/825dc642cb6eb9a060e54bf8d69288fbee4904 1
./server/repo.git/objects/86 1
./server/repo.git/objects/86/76f6b23c3c270361c6988444c9fbcf08f18be4 1
./server/repo.git/objects/info 1
./server/repo.git/objects/pack 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone --shared --local '../server/repo.git' './repo2'
Cloning into './repo2'...
done.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ find './server/repo.git/objects' -printf '%p %n\n'
./server/repo.git/objects 1
./server/repo.git/objects/4b 1
./server/repo.git/objects/4b/825dc642cb6eb9a060e54bf8d69288fbee4904 1
./server/repo.git/objects/86 1
./server/repo.git/objects/86/76f6b23c3c270361c6988444c9fbcf08f18be4 1
./server/repo.git/objects/info 1
./server/repo.git/objects/pack 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone --shared --no-local '../server/repo.git' './repo3'
Cloning into './repo3'...
remote: Enumerating objects: 2, done.
remote: Counting objects: 100% (2/2), done.
remote: Total 2 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Receiving objects: 100% (2/2), done.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ find './server/repo.git/objects' -printf '%p %n\n'
./server/repo.git/objects 1
./server/repo.git/objects/4b 1
./server/repo.git/objects/4b/825dc642cb6eb9a060e54bf8d69288fbee4904 1
./server/repo.git/objects/86 1
./server/repo.git/objects/86/76f6b23c3c270361c6988444c9fbcf08f18be4 1
./server/repo.git/objects/info 1
./server/repo.git/objects/pack 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone --shared 'file://'"$(realpath './server/repo.git')" './repo4'
Cloning into './repo4'...
remote: Enumerating objects: 2, done.
remote: Counting objects: 100% (2/2), done.
remote: Total 2 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Receiving objects: 100% (2/2), done.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ find './server/repo.git/objects' -printf '%p %n\n'
./server/repo.git/objects 1
./server/repo.git/objects/4b 1
./server/repo.git/objects/4b/825dc642cb6eb9a060e54bf8d69288fbee4904 1
./server/repo.git/objects/86 1
./server/repo.git/objects/86/76f6b23c3c270361c6988444c9fbcf08f18be4 1
./server/repo.git/objects/info 1
./server/repo.git/objects/pack 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo1/.git/objects'
./client/repo1/.git/objects/ d/0o040/directory rwxr-xr-x/0o755
├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴alternates -/0o100/regular file rw-r--r--/0o644
│ │ 1 C:/Program Files/Git/test_git/client/../server/repo.git/objects\n
│ │ 2
├╴pack/ d/0o040/directory rwxr-xr-x/0o755
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo2/.git/objects'
./client/repo2/.git/objects/ d/0o040/directory rwxr-xr-x/0o755
├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴alternates -/0o100/regular file rw-r--r--/0o644
│ │ 1 C:/Program Files/Git/test_git/client/../server/repo.git/objects\n
│ │ 2
├╴pack/ d/0o040/directory rwxr-xr-x/0o755
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo3/.git/objects'
./client/repo3/.git/objects/ d/0o040/directory rwxr-xr-x/0o755
├╴info/ d/0o040/directory rwxr-xr-x/0o755
├╴pack/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴pack-9d06abe0a397b8bdb832f3fdee339b3687514c6a.idx -/0o100/regular file r--r--r--/0o444
│ ├╴pack-9d06abe0a397b8bdb832f3fdee339b3687514c6a.pack -/0o100/regular file r--r--r--/0o444
│ ├╴pack-9d06abe0a397b8bdb832f3fdee339b3687514c6a.rev -/0o100/regular file r--r--r--/0o444
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo4/.git/objects'
./client/repo4/.git/objects/ d/0o040/directory rwxr-xr-x/0o755
├╴info/ d/0o040/directory rwxr-xr-x/0o755
├╴pack/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴pack-9d06abe0a397b8bdb832f3fdee339b3687514c6a.idx -/0o100/regular file r--r--r--/0o444
│ ├╴pack-9d06abe0a397b8bdb832f3fdee339b3687514c6a.pack -/0o100/regular file r--r--r--/0o444
│ ├╴pack-9d06abe0a397b8bdb832f3fdee339b3687514c6a.rev -/0o100/regular file r--r--r--/0o444
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo1' lg
* 8676f6b - 2026-05-30 16:21 (12 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo2' lg
* 8676f6b - 2026-05-30 16:21 (12 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo3' lg
* 8676f6b - 2026-05-30 16:21 (13 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo4' lg
* 8676f6b - 2026-05-30 16:21 (13 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' cat-file --batch-check --batch-all-objects
4b825dc642cb6eb9a060e54bf8d69288fbee4904 tree 0
8676f6b23c3c270361c6988444c9fbcf08f18be4 commit 166
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' commit --amend --message="$((++number))" --allow-empty
[master dc1268d] 2
Date: Sat May 30 16:21:46 2026 +1200
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' cat-file --batch-check --batch-all-objects
4b825dc642cb6eb9a060e54bf8d69288fbee4904 tree 0
8676f6b23c3c270361c6988444c9fbcf08f18be4 commit 166
dc1268dfec1e145c82f2e517f143dde83dd8f6e2 commit 166
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' -c 'gc.pruneExpire=now' -c 'gc.reflogExpireUnreachable=now' gc
Enumerating objects: 2, done.
Counting objects: 100% (2/2), done.
Writing objects: 100% (2/2), done.
Building bitmaps: 100% (1/1), done.
Total 2 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' cat-file --batch-check --batch-all-objects
4b825dc642cb6eb9a060e54bf8d69288fbee4904 tree 0
dc1268dfec1e145c82f2e517f143dde83dd8f6e2 commit 166
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo1' lg
fatal: bad object HEAD
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo2' lg
fatal: bad object HEAD
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo3' lg
* 8676f6b - 2026-05-30 16:21 (17 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo4' lg
* 8676f6b - 2026-05-30 16:21 (17 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server' init --bare './repo.git'
Initialized empty Git repository in C:/Program Files/Git/test_git/server/repo.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
[master (root-commit) cb2e1bc] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ find './server/repo.git/objects' -printf '%p %n\n'
./server/repo.git/objects 1
./server/repo.git/objects/4b 1
./server/repo.git/objects/4b/825dc642cb6eb9a060e54bf8d69288fbee4904 1
./server/repo.git/objects/cb 1
./server/repo.git/objects/cb/2e1bc5ec7ee101a0f761764fc1ccfef231a46c 1
./server/repo.git/objects/info 1
./server/repo.git/objects/pack 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ cp --recursive --no-target-directory -- './server/repo.git' './client/mirror.git/'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone --reference='./mirror.git' '../server/repo.git' './repo1'
Cloning into './repo1'...
done.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ find './server/repo.git/objects' -printf '%p %n\n'
./server/repo.git/objects 1
./server/repo.git/objects/4b 1
./server/repo.git/objects/4b/825dc642cb6eb9a060e54bf8d69288fbee4904 2
./server/repo.git/objects/cb 1
./server/repo.git/objects/cb/2e1bc5ec7ee101a0f761764fc1ccfef231a46c 2
./server/repo.git/objects/info 1
./server/repo.git/objects/pack 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone --reference='./mirror.git' --local '../server/repo.git' './repo2'
Cloning into './repo2'...
done.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ find './server/repo.git/objects' -printf '%p %n\n'
./server/repo.git/objects 1
./server/repo.git/objects/4b 1
./server/repo.git/objects/4b/825dc642cb6eb9a060e54bf8d69288fbee4904 3
./server/repo.git/objects/cb 1
./server/repo.git/objects/cb/2e1bc5ec7ee101a0f761764fc1ccfef231a46c 3
./server/repo.git/objects/info 1
./server/repo.git/objects/pack 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone --reference='./mirror.git' --no-local '../server/repo.git' './repo3'
Cloning into './repo3'...
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ find './server/repo.git/objects' -printf '%p %n\n'
./server/repo.git/objects 1
./server/repo.git/objects/4b 1
./server/repo.git/objects/4b/825dc642cb6eb9a060e54bf8d69288fbee4904 3
./server/repo.git/objects/cb 1
./server/repo.git/objects/cb/2e1bc5ec7ee101a0f761764fc1ccfef231a46c 3
./server/repo.git/objects/info 1
./server/repo.git/objects/pack 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone --reference='./mirror.git' 'file://'"$(realpath './server/repo.git')" './repo4'
Cloning into './repo4'...
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ find './server/repo.git/objects' -printf '%p %n\n'
./server/repo.git/objects 1
./server/repo.git/objects/4b 1
./server/repo.git/objects/4b/825dc642cb6eb9a060e54bf8d69288fbee4904 3
./server/repo.git/objects/cb 1
./server/repo.git/objects/cb/2e1bc5ec7ee101a0f761764fc1ccfef231a46c 3
./server/repo.git/objects/info 1
./server/repo.git/objects/pack 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo1/.git/objects'
./client/repo1/.git/objects/ d/0o040/directory rwxr-xr-x/0o755
├╴4b/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴825dc642cb6eb9a060e54bf8d69288fbee4904 -/0o100/regular file r--r--r--/0o444
│ │ 1 x\x01+)JMU0`\0\0\n
│ │ 2 ,\x02\x01
├╴cb/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴2e1bc5ec7ee101a0f761764fc1ccfef231a46c -/0o100/regular file r--r--r--/0o444
├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴alternates -/0o100/regular file rw-r--r--/0o644
│ │ 1 C:/Program Files/Git/test_git/client/mirror.git/objects\n
│ │ 2
├╴pack/ d/0o040/directory rwxr-xr-x/0o755
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo2/.git/objects'
./client/repo2/.git/objects/ d/0o040/directory rwxr-xr-x/0o755
├╴4b/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴825dc642cb6eb9a060e54bf8d69288fbee4904 -/0o100/regular file r--r--r--/0o444
│ │ 1 x\x01+)JMU0`\0\0\n
│ │ 2 ,\x02\x01
├╴cb/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴2e1bc5ec7ee101a0f761764fc1ccfef231a46c -/0o100/regular file r--r--r--/0o444
├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴alternates -/0o100/regular file rw-r--r--/0o644
│ │ 1 C:/Program Files/Git/test_git/client/mirror.git/objects\n
│ │ 2
├╴pack/ d/0o040/directory rwxr-xr-x/0o755
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo3/.git/objects'
./client/repo3/.git/objects/ d/0o040/directory rwxr-xr-x/0o755
├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴alternates -/0o100/regular file rw-r--r--/0o644
│ │ 1 C:/Program Files/Git/test_git/client/mirror.git/objects\n
│ │ 2
├╴pack/ d/0o040/directory rwxr-xr-x/0o755
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo4/.git/objects'
./client/repo4/.git/objects/ d/0o040/directory rwxr-xr-x/0o755
├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴alternates -/0o100/regular file rw-r--r--/0o644
│ │ 1 C:/Program Files/Git/test_git/client/mirror.git/objects\n
│ │ 2
├╴pack/ d/0o040/directory rwxr-xr-x/0o755
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo1' lg
* cb2e1bc - 2026-05-30 16:22 (16 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo2' lg
* cb2e1bc - 2026-05-30 16:22 (16 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo3' lg
* cb2e1bc - 2026-05-30 16:22 (17 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo4' lg
* cb2e1bc - 2026-05-30 16:22 (17 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' cat-file --batch-check --batch-all-objects
4b825dc642cb6eb9a060e54bf8d69288fbee4904 tree 0
cb2e1bc5ec7ee101a0f761764fc1ccfef231a46c commit 166
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' commit --amend --message="$((++number))" --allow-empty
[master 0ff503c] 2
Date: Sat May 30 16:22:07 2026 +1200
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' cat-file --batch-check --batch-all-objects
0ff503c080296116ff316678e37544e956d11567 commit 166
4b825dc642cb6eb9a060e54bf8d69288fbee4904 tree 0
cb2e1bc5ec7ee101a0f761764fc1ccfef231a46c commit 166
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' -c 'gc.pruneExpire=now' -c 'gc.reflogExpireUnreachable=now' gc
Enumerating objects: 2, done.
Counting objects: 100% (2/2), done.
Writing objects: 100% (2/2), done.
Building bitmaps: 100% (1/1), done.
Total 2 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' cat-file --batch-check --batch-all-objects
0ff503c080296116ff316678e37544e956d11567 commit 166
4b825dc642cb6eb9a060e54bf8d69288fbee4904 tree 0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo1' lg
* cb2e1bc - 2026-05-30 16:22 (20 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo2' lg
* cb2e1bc - 2026-05-30 16:22 (20 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo3' lg
* cb2e1bc - 2026-05-30 16:22 (21 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo4' lg
* cb2e1bc - 2026-05-30 16:22 (21 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ rm --force --recursive -- './client/mirror.git/'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ cp --recursive --no-target-directory -- './server/repo.git' './client/mirror.git/'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo1' lg
* cb2e1bc - 2026-05-30 16:22 (23 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo2' lg
* cb2e1bc - 2026-05-30 16:22 (23 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo3' lg
fatal: bad object HEAD
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo4' lg
fatal: bad object HEAD
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo3' pull
fatal: bad object refs/heads/master
error: C:/Program Files/Git/test_git/client/../server/repo.git did not send all necessary objects
error: refs/heads/master does not point to a valid object!
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git ls-remote --symref './client/repo3'
ref: refs/heads/master HEAD
cb2e1bc5ec7ee101a0f761764fc1ccfef231a46c HEAD
cb2e1bc5ec7ee101a0f761764fc1ccfef231a46c refs/heads/master
ref: refs/remotes/origin/master refs/remotes/origin/HEAD
cb2e1bc5ec7ee101a0f761764fc1ccfef231a46c refs/remotes/origin/HEAD
cb2e1bc5ec7ee101a0f761764fc1ccfef231a46c refs/remotes/origin/master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo3' branch --show-current
master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo3' update-ref -d 'refs/remotes/origin/'"$(git -C './client/repo3' branch --show-current)"
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo3' update-ref -d 'refs/heads/'"$(git -C './client/repo3' branch --show-current)"
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo3' pull
From C:/Program Files/Git/test_git/client/../server/repo
* [new branch] master -> origin/master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git ls-remote --symref './client/repo3'
ref: refs/heads/master HEAD
0ff503c080296116ff316678e37544e956d11567 HEAD
0ff503c080296116ff316678e37544e956d11567 refs/heads/master
ref: refs/remotes/origin/master refs/remotes/origin/HEAD
0ff503c080296116ff316678e37544e956d11567 refs/remotes/origin/HEAD
0ff503c080296116ff316678e37544e956d11567 refs/remotes/origin/master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo3/.git/objects'
./client/repo3/.git/objects/ d/0o040/directory rwxr-xr-x/0o755
├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴alternates -/0o100/regular file rw-r--r--/0o644
│ │ 1 C:/Program Files/Git/test_git/client/mirror.git/objects\n
│ │ 2
├╴pack/ d/0o040/directory rwxr-xr-x/0o755
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo3' lg
* 0ff503c - 2026-05-30 16:22 (29 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo4' pull
fatal: bad object refs/heads/master
error: file:///test_git/server/repo.git did not send all necessary objects
error: refs/heads/master does not point to a valid object!
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git ls-remote --symref './client/repo4'
ref: refs/heads/master HEAD
cb2e1bc5ec7ee101a0f761764fc1ccfef231a46c HEAD
cb2e1bc5ec7ee101a0f761764fc1ccfef231a46c refs/heads/master
ref: refs/remotes/origin/master refs/remotes/origin/HEAD
cb2e1bc5ec7ee101a0f761764fc1ccfef231a46c refs/remotes/origin/HEAD
cb2e1bc5ec7ee101a0f761764fc1ccfef231a46c refs/remotes/origin/master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo4' branch --show-current
master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo4' update-ref -d 'refs/remotes/origin/'"$(git -C './client/repo4' branch --show-current)"
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo4' update-ref -d 'refs/heads/'"$(git -C './client/repo4' branch --show-current)"
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo4' pull
From file:///test_git/server/repo
* [new branch] master -> origin/master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git ls-remote --symref './client/repo4'
ref: refs/heads/master HEAD
0ff503c080296116ff316678e37544e956d11567 HEAD
0ff503c080296116ff316678e37544e956d11567 refs/heads/master
ref: refs/remotes/origin/master refs/remotes/origin/HEAD
0ff503c080296116ff316678e37544e956d11567 refs/remotes/origin/HEAD
0ff503c080296116ff316678e37544e956d11567 refs/remotes/origin/master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo4/.git/objects'
./client/repo4/.git/objects/ d/0o040/directory rwxr-xr-x/0o755
├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴alternates -/0o100/regular file rw-r--r--/0o644
│ │ 1 C:/Program Files/Git/test_git/client/mirror.git/objects\n
│ │ 2
├╴pack/ d/0o040/directory rwxr-xr-x/0o755
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo4' lg
* 0ff503c - 2026-05-30 16:22 (35 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server' init --bare './repo.git'
Initialized empty Git repository in C:/Program Files/Git/test_git/server/repo.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
[master (root-commit) f0d16c7] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ find './server/repo.git/objects' -printf '%p %n\n'
./server/repo.git/objects 1
./server/repo.git/objects/4b 1
./server/repo.git/objects/4b/825dc642cb6eb9a060e54bf8d69288fbee4904 1
./server/repo.git/objects/f0 1
./server/repo.git/objects/f0/d16c7a469a5dd18547e7deaaff13272ecba7c8 1
./server/repo.git/objects/info 1
./server/repo.git/objects/pack 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ cp --recursive --no-target-directory -- './server/repo.git' './client/mirror.git/'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone --reference='./mirror.git' '../server/repo.git' './repo1'
Cloning into './repo1'...
done.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ find './server/repo.git/objects' -printf '%p %n\n'
./server/repo.git/objects 1
./server/repo.git/objects/4b 1
./server/repo.git/objects/4b/825dc642cb6eb9a060e54bf8d69288fbee4904 2
./server/repo.git/objects/f0 1
./server/repo.git/objects/f0/d16c7a469a5dd18547e7deaaff13272ecba7c8 2
./server/repo.git/objects/info 1
./server/repo.git/objects/pack 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone --reference='./mirror.git' --local '../server/repo.git' './repo2'
Cloning into './repo2'...
done.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ find './server/repo.git/objects' -printf '%p %n\n'
./server/repo.git/objects 1
./server/repo.git/objects/4b 1
./server/repo.git/objects/4b/825dc642cb6eb9a060e54bf8d69288fbee4904 3
./server/repo.git/objects/f0 1
./server/repo.git/objects/f0/d16c7a469a5dd18547e7deaaff13272ecba7c8 3
./server/repo.git/objects/info 1
./server/repo.git/objects/pack 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone --reference='./mirror.git' --no-local '../server/repo.git' './repo3'
Cloning into './repo3'...
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ find './server/repo.git/objects' -printf '%p %n\n'
./server/repo.git/objects 1
./server/repo.git/objects/4b 1
./server/repo.git/objects/4b/825dc642cb6eb9a060e54bf8d69288fbee4904 3
./server/repo.git/objects/f0 1
./server/repo.git/objects/f0/d16c7a469a5dd18547e7deaaff13272ecba7c8 3
./server/repo.git/objects/info 1
./server/repo.git/objects/pack 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone --reference='./mirror.git' 'file://'"$(realpath './server/repo.git')" './repo4'
Cloning into './repo4'...
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ find './server/repo.git/objects' -printf '%p %n\n'
./server/repo.git/objects 1
./server/repo.git/objects/4b 1
./server/repo.git/objects/4b/825dc642cb6eb9a060e54bf8d69288fbee4904 3
./server/repo.git/objects/f0 1
./server/repo.git/objects/f0/d16c7a469a5dd18547e7deaaff13272ecba7c8 3
./server/repo.git/objects/info 1
./server/repo.git/objects/pack 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo1/.git/objects'
./client/repo1/.git/objects/ d/0o040/directory rwxr-xr-x/0o755
├╴4b/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴825dc642cb6eb9a060e54bf8d69288fbee4904 -/0o100/regular file r--r--r--/0o444
│ │ 1 x\x01+)JMU0`\0\0\n
│ │ 2 ,\x02\x01
├╴f0/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴d16c7a469a5dd18547e7deaaff13272ecba7c8 -/0o100/regular file r--r--r--/0o444
├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴alternates -/0o100/regular file rw-r--r--/0o644
│ │ 1 C:/Program Files/Git/test_git/client/mirror.git/objects\n
│ │ 2
├╴pack/ d/0o040/directory rwxr-xr-x/0o755
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo2/.git/objects'
./client/repo2/.git/objects/ d/0o040/directory rwxr-xr-x/0o755
├╴4b/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴825dc642cb6eb9a060e54bf8d69288fbee4904 -/0o100/regular file r--r--r--/0o444
│ │ 1 x\x01+)JMU0`\0\0\n
│ │ 2 ,\x02\x01
├╴f0/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴d16c7a469a5dd18547e7deaaff13272ecba7c8 -/0o100/regular file r--r--r--/0o444
├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴alternates -/0o100/regular file rw-r--r--/0o644
│ │ 1 C:/Program Files/Git/test_git/client/mirror.git/objects\n
│ │ 2
├╴pack/ d/0o040/directory rwxr-xr-x/0o755
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo3/.git/objects'
./client/repo3/.git/objects/ d/0o040/directory rwxr-xr-x/0o755
├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴alternates -/0o100/regular file rw-r--r--/0o644
│ │ 1 C:/Program Files/Git/test_git/client/mirror.git/objects\n
│ │ 2
├╴pack/ d/0o040/directory rwxr-xr-x/0o755
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo4/.git/objects'
./client/repo4/.git/objects/ d/0o040/directory rwxr-xr-x/0o755
├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴alternates -/0o100/regular file rw-r--r--/0o644
│ │ 1 C:/Program Files/Git/test_git/client/mirror.git/objects\n
│ │ 2
├╴pack/ d/0o040/directory rwxr-xr-x/0o755
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo1' lg
* f0d16c7 - 2026-05-30 16:22 (16 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo2' lg
* f0d16c7 - 2026-05-30 16:22 (16 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo3' lg
* f0d16c7 - 2026-05-30 16:22 (17 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo4' lg
* f0d16c7 - 2026-05-30 16:22 (17 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' cat-file --batch-check --batch-all-objects
4b825dc642cb6eb9a060e54bf8d69288fbee4904 tree 0
f0d16c7a469a5dd18547e7deaaff13272ecba7c8 commit 166
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' commit --amend --message="$((++number))" --allow-empty
[master bd4975c] 2
Date: Sat May 30 16:22:46 2026 +1200
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' cat-file --batch-check --batch-all-objects
4b825dc642cb6eb9a060e54bf8d69288fbee4904 tree 0
bd4975c04c4c4f26e71cf92a3e6351362127a3b5 commit 166
f0d16c7a469a5dd18547e7deaaff13272ecba7c8 commit 166
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' -c 'gc.pruneExpire=now' -c 'gc.reflogExpireUnreachable=now' gc
Enumerating objects: 2, done.
Counting objects: 100% (2/2), done.
Writing objects: 100% (2/2), done.
Building bitmaps: 100% (1/1), done.
Total 2 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' cat-file --batch-check --batch-all-objects
4b825dc642cb6eb9a060e54bf8d69288fbee4904 tree 0
bd4975c04c4c4f26e71cf92a3e6351362127a3b5 commit 166
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo1' lg
* f0d16c7 - 2026-05-30 16:22 (20 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo2' lg
* f0d16c7 - 2026-05-30 16:22 (20 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo3' lg
* f0d16c7 - 2026-05-30 16:22 (21 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo4' lg
* f0d16c7 - 2026-05-30 16:22 (21 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ rm --force --recursive -- './client/mirror.git/'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo1' lg
error: unable to normalize alternate object path: C:/Program Files/Git/test_git/client/mirror.git/objects
* f0d16c7 - 2026-05-30 16:22 (22 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo2' lg
error: unable to normalize alternate object path: C:/Program Files/Git/test_git/client/mirror.git/objects
* f0d16c7 - 2026-05-30 16:22 (23 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo3' lg
error: unable to normalize alternate object path: C:/Program Files/Git/test_git/client/mirror.git/objects
fatal: bad object HEAD
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo4' lg
error: unable to normalize alternate object path: C:/Program Files/Git/test_git/client/mirror.git/objects
fatal: bad object HEAD
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ rm './client/repo1/.git/objects/info/alternates'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo1' lg
* f0d16c7 - 2026-05-30 16:22 (25 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ rm './client/repo2/.git/objects/info/alternates'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo2' lg
* f0d16c7 - 2026-05-30 16:22 (26 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo3' pull
error: unable to normalize alternate object path: C:/Program Files/Git/test_git/client/mirror.git/objects
remote: Enumerating objects: 2, done.
remote: Total 2 (delta 0), reused 0 (delta 0), pack-reused 2 (from 1)
error: unable to normalize alternate object path: C:/Program Files/Git/test_git/client/mirror.git/objects
Unpacking objects: 100% (2/2), 141 bytes | 12.00 KiB/s, done.
error: unable to normalize alternate object path: C:/Program Files/Git/test_git/client/mirror.git/objects
error: unable to normalize alternate object path: C:/Program Files/Git/test_git/client/mirror.git/objects
fatal: bad object refs/heads/master
error: C:/Program Files/Git/test_git/client/../server/repo.git did not send all necessary objects
error: unable to normalize alternate object path: C:/Program Files/Git/test_git/client/mirror.git/objects
error: refs/heads/master does not point to a valid object!
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ rm './client/repo3/.git/objects/info/alternates'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo3' pull
remote: Enumerating objects: 2, done.
remote: Total 2 (delta 0), reused 0 (delta 0), pack-reused 2 (from 1)
Unpacking objects: 100% (2/2), 141 bytes | 141.00 KiB/s, done.
fatal: bad object refs/heads/master
error: C:/Program Files/Git/test_git/client/../server/repo.git did not send all necessary objects
error: refs/heads/master does not point to a valid object!
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git ls-remote --symref './client/repo3'
ref: refs/heads/master HEAD
f0d16c7a469a5dd18547e7deaaff13272ecba7c8 HEAD
f0d16c7a469a5dd18547e7deaaff13272ecba7c8 refs/heads/master
ref: refs/remotes/origin/master refs/remotes/origin/HEAD
f0d16c7a469a5dd18547e7deaaff13272ecba7c8 refs/remotes/origin/HEAD
f0d16c7a469a5dd18547e7deaaff13272ecba7c8 refs/remotes/origin/master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo3' branch --show-current
master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo3' update-ref -d 'refs/remotes/origin/'"$(git -C './client/repo3' branch --show-current)"
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo3' update-ref -d 'refs/heads/'"$(git -C './client/repo3' branch --show-current)"
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo3' pull
From C:/Program Files/Git/test_git/client/../server/repo
* [new branch] master -> origin/master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git ls-remote --symref './client/repo3'
ref: refs/heads/master HEAD
bd4975c04c4c4f26e71cf92a3e6351362127a3b5 HEAD
bd4975c04c4c4f26e71cf92a3e6351362127a3b5 refs/heads/master
ref: refs/remotes/origin/master refs/remotes/origin/HEAD
bd4975c04c4c4f26e71cf92a3e6351362127a3b5 refs/remotes/origin/HEAD
bd4975c04c4c4f26e71cf92a3e6351362127a3b5 refs/remotes/origin/master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo3/.git/objects'
./client/repo3/.git/objects/ d/0o040/directory rwxr-xr-x/0o755
├╴4b/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴825dc642cb6eb9a060e54bf8d69288fbee4904 -/0o100/regular file r--r--r--/0o444
│ │ 1 x\x01+)JMU0`\0\0\n
│ │ 2 ,\x02\x01
├╴bd/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴4975c04c4c4f26e71cf92a3e6351362127a3b5 -/0o100/regular file r--r--r--/0o444
├╴info/ d/0o040/directory rwxr-xr-x/0o755
├╴pack/ d/0o040/directory rwxr-xr-x/0o755
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo3' lg
* bd4975c - 2026-05-30 16:22 (33 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo4' pull
error: unable to normalize alternate object path: C:/Program Files/Git/test_git/client/mirror.git/objects
remote: Enumerating objects: 2, done.
remote: Total 2 (delta 0), reused 0 (delta 0), pack-reused 2 (from 1)
error: unable to normalize alternate object path: C:/Program Files/Git/test_git/client/mirror.git/objects
Unpacking objects: 100% (2/2), 141 bytes | 14.00 KiB/s, done.
error: unable to normalize alternate object path: C:/Program Files/Git/test_git/client/mirror.git/objects
error: unable to normalize alternate object path: C:/Program Files/Git/test_git/client/mirror.git/objects
fatal: bad object refs/heads/master
error: file:///test_git/server/repo.git did not send all necessary objects
error: unable to normalize alternate object path: C:/Program Files/Git/test_git/client/mirror.git/objects
error: refs/heads/master does not point to a valid object!
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ rm './client/repo4/.git/objects/info/alternates'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo4' pull
remote: Enumerating objects: 2, done.
remote: Total 2 (delta 0), reused 0 (delta 0), pack-reused 2 (from 1)
Unpacking objects: 100% (2/2), 141 bytes | 141.00 KiB/s, done.
fatal: bad object refs/heads/master
error: file:///test_git/server/repo.git did not send all necessary objects
error: refs/heads/master does not point to a valid object!
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git ls-remote --symref './client/repo4'
ref: refs/heads/master HEAD
f0d16c7a469a5dd18547e7deaaff13272ecba7c8 HEAD
f0d16c7a469a5dd18547e7deaaff13272ecba7c8 refs/heads/master
ref: refs/remotes/origin/master refs/remotes/origin/HEAD
f0d16c7a469a5dd18547e7deaaff13272ecba7c8 refs/remotes/origin/HEAD
f0d16c7a469a5dd18547e7deaaff13272ecba7c8 refs/remotes/origin/master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo4' branch --show-current
master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo4' update-ref -d 'refs/remotes/origin/'"$(git -C './client/repo4' branch --show-current)"
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo4' update-ref -d 'refs/heads/'"$(git -C './client/repo4' branch --show-current)"
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo4' pull
From file:///test_git/server/repo
* [new branch] master -> origin/master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git ls-remote --symref './client/repo4'
ref: refs/heads/master HEAD
bd4975c04c4c4f26e71cf92a3e6351362127a3b5 HEAD
bd4975c04c4c4f26e71cf92a3e6351362127a3b5 refs/heads/master
ref: refs/remotes/origin/master refs/remotes/origin/HEAD
bd4975c04c4c4f26e71cf92a3e6351362127a3b5 refs/remotes/origin/HEAD
bd4975c04c4c4f26e71cf92a3e6351362127a3b5 refs/remotes/origin/master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo4/.git/objects'
./client/repo4/.git/objects/ d/0o040/directory rwxr-xr-x/0o755
├╴4b/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴825dc642cb6eb9a060e54bf8d69288fbee4904 -/0o100/regular file r--r--r--/0o444
│ │ 1 x\x01+)JMU0`\0\0\n
│ │ 2 ,\x02\x01
├╴bd/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴4975c04c4c4f26e71cf92a3e6351362127a3b5 -/0o100/regular file r--r--r--/0o444
├╴info/ d/0o040/directory rwxr-xr-x/0o755
├╴pack/ d/0o040/directory rwxr-xr-x/0o755
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo4' lg
* bd4975c - 2026-05-30 16:22 (40 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server' init --bare './repo.git'
Initialized empty Git repository in C:/Program Files/Git/test_git/server/repo.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
[master (root-commit) 102e925] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ find './server/repo.git/objects' -printf '%p %n\n'
./server/repo.git/objects 1
./server/repo.git/objects/10 1
./server/repo.git/objects/10/2e925ecf19980e93f7cebe43910373ef2f1eed 1
./server/repo.git/objects/4b 1
./server/repo.git/objects/4b/825dc642cb6eb9a060e54bf8d69288fbee4904 1
./server/repo.git/objects/info 1
./server/repo.git/objects/pack 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ cp --recursive --no-target-directory -- './server/repo.git' './client/mirror.git/'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone --reference='./mirror.git' --dissociate '../server/repo.git' './repo1'
Cloning into './repo1'...
done.
Enumerating objects: 2, done.
Counting objects: 100% (2/2), done.
Writing objects: 100% (2/2), done.
Total 2 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ find './server/repo.git/objects' -printf '%p %n\n'
./server/repo.git/objects 1
./server/repo.git/objects/10 1
./server/repo.git/objects/10/2e925ecf19980e93f7cebe43910373ef2f1eed 1
./server/repo.git/objects/4b 1
./server/repo.git/objects/4b/825dc642cb6eb9a060e54bf8d69288fbee4904 1
./server/repo.git/objects/info 1
./server/repo.git/objects/pack 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone --reference='./mirror.git' --dissociate --local '../server/repo.git' './repo2'
Cloning into './repo2'...
done.
Enumerating objects: 2, done.
Counting objects: 100% (2/2), done.
Writing objects: 100% (2/2), done.
Total 2 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ find './server/repo.git/objects' -printf '%p %n\n'
./server/repo.git/objects 1
./server/repo.git/objects/10 1
./server/repo.git/objects/10/2e925ecf19980e93f7cebe43910373ef2f1eed 1
./server/repo.git/objects/4b 1
./server/repo.git/objects/4b/825dc642cb6eb9a060e54bf8d69288fbee4904 1
./server/repo.git/objects/info 1
./server/repo.git/objects/pack 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone --reference='./mirror.git' --dissociate --no-local '../server/repo.git' './repo3'
Cloning into './repo3'...
Enumerating objects: 2, done.
Counting objects: 100% (2/2), done.
Writing objects: 100% (2/2), done.
Total 2 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ find './server/repo.git/objects' -printf '%p %n\n'
./server/repo.git/objects 1
./server/repo.git/objects/10 1
./server/repo.git/objects/10/2e925ecf19980e93f7cebe43910373ef2f1eed 1
./server/repo.git/objects/4b 1
./server/repo.git/objects/4b/825dc642cb6eb9a060e54bf8d69288fbee4904 1
./server/repo.git/objects/info 1
./server/repo.git/objects/pack 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone --reference='./mirror.git' --dissociate 'file://'"$(realpath './server/repo.git')" './repo4'
Cloning into './repo4'...
Enumerating objects: 2, done.
Counting objects: 100% (2/2), done.
Writing objects: 100% (2/2), done.
Total 2 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ find './server/repo.git/objects' -printf '%p %n\n'
./server/repo.git/objects 1
./server/repo.git/objects/10 1
./server/repo.git/objects/10/2e925ecf19980e93f7cebe43910373ef2f1eed 1
./server/repo.git/objects/4b 1
./server/repo.git/objects/4b/825dc642cb6eb9a060e54bf8d69288fbee4904 1
./server/repo.git/objects/info 1
./server/repo.git/objects/pack 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo1/.git/objects'
./client/repo1/.git/objects/ d/0o040/directory rwxr-xr-x/0o755
├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴packs -/0o100/regular file rw-r--r--/0o644
│ │ 1 P pack-a4a349b9c31799eeae4e04f17e6860bf32dd363f.pack\n
│ │ 2 \n
│ │ 3
├╴pack/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴pack-a4a349b9c31799eeae4e04f17e6860bf32dd363f.idx -/0o100/regular file r--r--r--/0o444
│ ├╴pack-a4a349b9c31799eeae4e04f17e6860bf32dd363f.pack -/0o100/regular file r--r--r--/0o444
│ ├╴pack-a4a349b9c31799eeae4e04f17e6860bf32dd363f.rev -/0o100/regular file r--r--r--/0o444
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo2/.git/objects'
./client/repo2/.git/objects/ d/0o040/directory rwxr-xr-x/0o755
├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴packs -/0o100/regular file rw-r--r--/0o644
│ │ 1 P pack-a4a349b9c31799eeae4e04f17e6860bf32dd363f.pack\n
│ │ 2 \n
│ │ 3
├╴pack/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴pack-a4a349b9c31799eeae4e04f17e6860bf32dd363f.idx -/0o100/regular file r--r--r--/0o444
│ ├╴pack-a4a349b9c31799eeae4e04f17e6860bf32dd363f.pack -/0o100/regular file r--r--r--/0o444
│ ├╴pack-a4a349b9c31799eeae4e04f17e6860bf32dd363f.rev -/0o100/regular file r--r--r--/0o444
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo3/.git/objects'
./client/repo3/.git/objects/ d/0o040/directory rwxr-xr-x/0o755
├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴packs -/0o100/regular file rw-r--r--/0o644
│ │ 1 P pack-a4a349b9c31799eeae4e04f17e6860bf32dd363f.pack\n
│ │ 2 \n
│ │ 3
├╴pack/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴pack-a4a349b9c31799eeae4e04f17e6860bf32dd363f.idx -/0o100/regular file r--r--r--/0o444
│ ├╴pack-a4a349b9c31799eeae4e04f17e6860bf32dd363f.pack -/0o100/regular file r--r--r--/0o444
│ ├╴pack-a4a349b9c31799eeae4e04f17e6860bf32dd363f.rev -/0o100/regular file r--r--r--/0o444
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo4/.git/objects'
./client/repo4/.git/objects/ d/0o040/directory rwxr-xr-x/0o755
├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴packs -/0o100/regular file rw-r--r--/0o644
│ │ 1 P pack-a4a349b9c31799eeae4e04f17e6860bf32dd363f.pack\n
│ │ 2 \n
│ │ 3
├╴pack/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴pack-a4a349b9c31799eeae4e04f17e6860bf32dd363f.idx -/0o100/regular file r--r--r--/0o444
│ ├╴pack-a4a349b9c31799eeae4e04f17e6860bf32dd363f.pack -/0o100/regular file r--r--r--/0o444
│ ├╴pack-a4a349b9c31799eeae4e04f17e6860bf32dd363f.rev -/0o100/regular file r--r--r--/0o444
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo1' lg
* 102e925 - 2026-05-30 16:23 (17 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo2' lg
* 102e925 - 2026-05-30 16:23 (18 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo3' lg
* 102e925 - 2026-05-30 16:23 (18 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo4' lg
* 102e925 - 2026-05-30 16:23 (18 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' cat-file --batch-check --batch-all-objects
102e925ecf19980e93f7cebe43910373ef2f1eed commit 166
4b825dc642cb6eb9a060e54bf8d69288fbee4904 tree 0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' commit --amend --message="$((++number))" --allow-empty
[master f7d448c] 2
Date: Sat May 30 16:23:30 2026 +1200
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' cat-file --batch-check --batch-all-objects
102e925ecf19980e93f7cebe43910373ef2f1eed commit 166
4b825dc642cb6eb9a060e54bf8d69288fbee4904 tree 0
f7d448c366c6c627dca9d71cf7fea19f4fbe6e45 commit 166
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' -c 'gc.pruneExpire=now' -c 'gc.reflogExpireUnreachable=now' gc
Enumerating objects: 2, done.
Counting objects: 100% (2/2), done.
Writing objects: 100% (2/2), done.
Building bitmaps: 100% (1/1), done.
Total 2 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' cat-file --batch-check --batch-all-objects
4b825dc642cb6eb9a060e54bf8d69288fbee4904 tree 0
f7d448c366c6c627dca9d71cf7fea19f4fbe6e45 commit 166
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo1' lg
* 102e925 - 2026-05-30 16:23 (21 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo2' lg
* 102e925 - 2026-05-30 16:23 (22 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo3' lg
* 102e925 - 2026-05-30 16:23 (22 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo4' lg
* 102e925 - 2026-05-30 16:23 (23 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ rm --force --recursive -- './client/mirror.git/'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ cp --recursive --no-target-directory -- './server/repo.git' './client/mirror.git/'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo1' lg
* 102e925 - 2026-05-30 16:23 (25 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo2' lg
* 102e925 - 2026-05-30 16:23 (25 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo3' lg
* 102e925 - 2026-05-30 16:23 (25 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo4' lg
* 102e925 - 2026-05-30 16:23 (26 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ rm --force --recursive -- './client/mirror.git/'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo1' lg
* 102e925 - 2026-05-30 16:23 (27 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo2' lg
* 102e925 - 2026-05-30 16:23 (28 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo3' lg
* 102e925 - 2026-05-30 16:23 (28 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo4' lg
* 102e925 - 2026-05-30 16:23 (29 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server' init --bare './repo.git'
Initialized empty Git repository in C:/Program Files/Git/test_git/server/repo.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ branch_default_path="$(git -C './server/repo.git' symbolic-ref HEAD)"; echo "$branch_default_path"
refs/heads/master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo "$((++number))" >'./file'; git --git-dir='./server/repo.git' --work-tree='.' add './file'; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$(<'./file')"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 631d137] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo "$((++number))" >'./file'; git --git-dir='./server/repo.git' --work-tree='.' add './file'; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$(<'./file')"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master ab6e8f5] 2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' update-ref 'refs/heads2/branch' HEAD~1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' show-ref 'refs/heads2/branch'
631d137f354525211e7dec9f7163fe6d913c1426 refs/heads2/branch
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' symbolic-ref HEAD 'refs/heads2/branch'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' symbolic-ref HEAD
refs/heads2/branch
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo "$((++number))" >'./file'; git --git-dir='./server/repo.git' --work-tree='.' add './file'; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$(<'./file')"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[refs/heads2/branch 853129b] 3
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' symbolic-ref HEAD "$branch_default_path"
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' symbolic-ref HEAD
refs/heads/master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --all --clear-decorations
* 853129b - 2026-05-30 16:24 (1 second ago) 3 - Han Jiang (refs/heads2/branch)
| * ab6e8f5 - 2026-05-30 16:24 (3 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
|/
* 631d137 - 2026-05-30 16:24 (4 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' cat-file --batch-check --batch-all-objects
00750edc07d6415dcc07ae0351e9397b0222b7ba blob 2
0cfbf08886fca9a91cb753ec8734c84fcbe52c9f blob 2
631d137f354525211e7dec9f7163fe6d913c1426 commit 166
853129b88355c31b80c6bb37a9cd0ce4e6ca6e2b commit 214
ab6e8f5b30b2cc2ebc804da2a49c772b8be26125 commit 214
aff6316148f1524977997c486bcfe624c9094c4e tree 32
d00491fd7e5bb6fa28c517a0bb32b8b506539d4d blob 2
d9cc608eedd5d2cc63c262272b7a0f6ab6aed5dd tree 32
f27c6ae26adb8396d3861976ba268f87ad8afa0b tree 32
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone '../server/repo.git' './repo1'
Cloning into './repo1'...
done.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo1' config list --local --show-origin --show-scope
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.origin.url=C:/Program Files/Git/test_git/client/../server/repo.git
local file:.git/config remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
local file:.git/config branch.master.remote=origin
local file:.git/config branch.master.merge=refs/heads/master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo1' lg --all --clear-decorations
* ab6e8f5 - 2026-05-30 16:24 (5 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
* 631d137 - 2026-05-30 16:24 (6 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo1' cat-file --batch-check --batch-all-objects
00750edc07d6415dcc07ae0351e9397b0222b7ba blob 2
0cfbf08886fca9a91cb753ec8734c84fcbe52c9f blob 2
631d137f354525211e7dec9f7163fe6d913c1426 commit 166
853129b88355c31b80c6bb37a9cd0ce4e6ca6e2b commit 214
ab6e8f5b30b2cc2ebc804da2a49c772b8be26125 commit 214
aff6316148f1524977997c486bcfe624c9094c4e tree 32
d00491fd7e5bb6fa28c517a0bb32b8b506539d4d blob 2
d9cc608eedd5d2cc63c262272b7a0f6ab6aed5dd tree 32
f27c6ae26adb8396d3861976ba268f87ad8afa0b tree 32
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone --config='remote.origin.fetch=+refs/heads2/*:refs/remotes/origin/heads2/*' '../server/repo.git' './repo2'
Cloning into './repo2'...
done.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo2' config list --local --show-origin --show-scope
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.origin.fetch=+refs/heads2/*:refs/remotes/origin/heads2/*
local file:.git/config remote.origin.url=C:/Program Files/Git/test_git/client/../server/repo.git
local file:.git/config remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
local file:.git/config branch.master.remote=origin
local file:.git/config branch.master.merge=refs/heads/master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo2' lg --all --clear-decorations
* 853129b - 2026-05-30 16:24 (5 seconds ago) 3 - Han Jiang (refs/remotes/origin/heads2/branch)
| * ab6e8f5 - 2026-05-30 16:24 (7 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
|/
* 631d137 - 2026-05-30 16:24 (8 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo2' cat-file --batch-check --batch-all-objects
00750edc07d6415dcc07ae0351e9397b0222b7ba blob 2
0cfbf08886fca9a91cb753ec8734c84fcbe52c9f blob 2
631d137f354525211e7dec9f7163fe6d913c1426 commit 166
853129b88355c31b80c6bb37a9cd0ce4e6ca6e2b commit 214
ab6e8f5b30b2cc2ebc804da2a49c772b8be26125 commit 214
aff6316148f1524977997c486bcfe624c9094c4e tree 32
d00491fd7e5bb6fa28c517a0bb32b8b506539d4d blob 2
d9cc608eedd5d2cc63c262272b7a0f6ab6aed5dd tree 32
f27c6ae26adb8396d3861976ba268f87ad8afa0b tree 32
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone --no-local '../server/repo.git' './repo3'
Cloning into './repo3'...
remote: Enumerating objects: 6, done.
remote: Counting objects: 100% (6/6), done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 6 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Receiving objects: 100% (6/6), done.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo3' config list --local --show-origin --show-scope
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.origin.url=C:/Program Files/Git/test_git/client/../server/repo.git
local file:.git/config remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
local file:.git/config branch.master.remote=origin
local file:.git/config branch.master.merge=refs/heads/master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo3' lg --all --clear-decorations
* ab6e8f5 - 2026-05-30 16:24 (9 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
* 631d137 - 2026-05-30 16:24 (10 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo3' cat-file --batch-check --batch-all-objects
0cfbf08886fca9a91cb753ec8734c84fcbe52c9f blob 2
631d137f354525211e7dec9f7163fe6d913c1426 commit 166
ab6e8f5b30b2cc2ebc804da2a49c772b8be26125 commit 214
d00491fd7e5bb6fa28c517a0bb32b8b506539d4d blob 2
d9cc608eedd5d2cc63c262272b7a0f6ab6aed5dd tree 32
f27c6ae26adb8396d3861976ba268f87ad8afa0b tree 32
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone --no-local --config='remote.origin.fetch=+refs/heads2/*:refs/remotes/origin/heads2/*' '../server/repo.git' './repo4'
Cloning into './repo4'...
remote: Enumerating objects: 9, done.
remote: Counting objects: 100% (9/9), done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 9 (delta 1), reused 0 (delta 0), pack-reused 0 (from 0)
Receiving objects: 100% (9/9), done.
Resolving deltas: 100% (1/1), done.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo4' config list --local --show-origin --show-scope
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.origin.fetch=+refs/heads2/*:refs/remotes/origin/heads2/*
local file:.git/config remote.origin.url=C:/Program Files/Git/test_git/client/../server/repo.git
local file:.git/config remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
local file:.git/config branch.master.remote=origin
local file:.git/config branch.master.merge=refs/heads/master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo4' lg --all --clear-decorations
* 853129b - 2026-05-30 16:24 (9 seconds ago) 3 - Han Jiang (refs/remotes/origin/heads2/branch)
| * ab6e8f5 - 2026-05-30 16:24 (11 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
|/
* 631d137 - 2026-05-30 16:24 (12 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo4' cat-file --batch-check --batch-all-objects
00750edc07d6415dcc07ae0351e9397b0222b7ba blob 2
0cfbf08886fca9a91cb753ec8734c84fcbe52c9f blob 2
631d137f354525211e7dec9f7163fe6d913c1426 commit 166
853129b88355c31b80c6bb37a9cd0ce4e6ca6e2b commit 214
ab6e8f5b30b2cc2ebc804da2a49c772b8be26125 commit 214
aff6316148f1524977997c486bcfe624c9094c4e tree 32
d00491fd7e5bb6fa28c517a0bb32b8b506539d4d blob 2
d9cc608eedd5d2cc63c262272b7a0f6ab6aed5dd tree 32
f27c6ae26adb8396d3861976ba268f87ad8afa0b tree 32
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone 'file://'"$(realpath './server/repo.git')" './repo5'
Cloning into './repo5'...
remote: Enumerating objects: 6, done.
remote: Counting objects: 100% (6/6), done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 6 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Receiving objects: 100% (6/6), done.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo5' config list --local --show-origin --show-scope
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.origin.url=file:///test_git/server/repo.git
local file:.git/config remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
local file:.git/config branch.master.remote=origin
local file:.git/config branch.master.merge=refs/heads/master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo5' lg --all --clear-decorations
* ab6e8f5 - 2026-05-30 16:24 (14 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
* 631d137 - 2026-05-30 16:24 (15 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo5' cat-file --batch-check --batch-all-objects
0cfbf08886fca9a91cb753ec8734c84fcbe52c9f blob 2
631d137f354525211e7dec9f7163fe6d913c1426 commit 166
ab6e8f5b30b2cc2ebc804da2a49c772b8be26125 commit 214
d00491fd7e5bb6fa28c517a0bb32b8b506539d4d blob 2
d9cc608eedd5d2cc63c262272b7a0f6ab6aed5dd tree 32
f27c6ae26adb8396d3861976ba268f87ad8afa0b tree 32
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone --config='remote.origin.fetch=+refs/heads2/*:refs/remotes/origin/heads2/*' 'file://'"$(realpath './server/repo.git')" './repo6'
Cloning into './repo6'...
remote: Enumerating objects: 9, done.
remote: Counting objects: 100% (9/9), done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 9 (delta 1), reused 0 (delta 0), pack-reused 0 (from 0)
Receiving objects: 100% (9/9), done.
Resolving deltas: 100% (1/1), done.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo6' config list --local --show-origin --show-scope
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.origin.fetch=+refs/heads2/*:refs/remotes/origin/heads2/*
local file:.git/config remote.origin.url=file:///test_git/server/repo.git
local file:.git/config remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
local file:.git/config branch.master.remote=origin
local file:.git/config branch.master.merge=refs/heads/master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo6' lg --all --clear-decorations
* 853129b - 2026-05-30 16:24 (15 seconds ago) 3 - Han Jiang (refs/remotes/origin/heads2/branch)
| * ab6e8f5 - 2026-05-30 16:24 (17 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
|/
* 631d137 - 2026-05-30 16:24 (18 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo6' cat-file --batch-check --batch-all-objects
00750edc07d6415dcc07ae0351e9397b0222b7ba blob 2
0cfbf08886fca9a91cb753ec8734c84fcbe52c9f blob 2
631d137f354525211e7dec9f7163fe6d913c1426 commit 166
853129b88355c31b80c6bb37a9cd0ce4e6ca6e2b commit 214
ab6e8f5b30b2cc2ebc804da2a49c772b8be26125 commit 214
aff6316148f1524977997c486bcfe624c9094c4e tree 32
d00491fd7e5bb6fa28c517a0bb32b8b506539d4d blob 2
d9cc608eedd5d2cc63c262272b7a0f6ab6aed5dd tree 32
f27c6ae26adb8396d3861976ba268f87ad8afa0b tree 32
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server' init --bare './repo.git'
Initialized empty Git repository in C:/Program Files/Git/test_git/server/repo.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo "$((++number))" >'./file'; git --git-dir='./server/repo.git' --work-tree='.' add './file'; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$(<'./file')"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 409f9ab] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' branch branch; git -C './server/repo.git' tag tag
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo "$((++number))" >'./file'; git --git-dir='./server/repo.git' --work-tree='.' add './file'; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$(<'./file')"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master 1b24a27] 2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' checkout branch
Switched to branch 'branch'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo "$((++number))" >'./file'; git --git-dir='./server/repo.git' --work-tree='.' add './file'; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$(<'./file')"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch 184e5d3] 3
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --all
* 184e5d3 - 2026-05-30 16:24 (1 second ago) 3 - Han Jiang (HEAD -> refs/heads/branch)
| * 1b24a27 - 2026-05-30 16:24 (2 seconds ago) 2 - Han Jiang (refs/heads/master)
|/
* 409f9ab - 2026-05-30 16:24 (3 seconds ago) 1 - Han Jiang (tag: refs/tags/tag)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' cat-file --batch-check --batch-all-objects
00750edc07d6415dcc07ae0351e9397b0222b7ba blob 2
0cfbf08886fca9a91cb753ec8734c84fcbe52c9f blob 2
184e5d3e99e75dd33e913ce1457ce0e03e2783d6 commit 214
1b24a27429b87bdefebcbcc35ea04cacca1fa270 commit 214
409f9ab3527b8bd692437fcb3fdbef2932f3980b commit 166
aff6316148f1524977997c486bcfe624c9094c4e tree 32
d00491fd7e5bb6fa28c517a0bb32b8b506539d4d blob 2
d9cc608eedd5d2cc63c262272b7a0f6ab6aed5dd tree 32
f27c6ae26adb8396d3861976ba268f87ad8afa0b tree 32
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone '../server/repo.git' './repo1'
Cloning into './repo1'...
done.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo1' config list --local --show-origin --show-scope
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.origin.url=C:/Program Files/Git/test_git/client/../server/repo.git
local file:.git/config remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
local file:.git/config branch.branch.remote=origin
local file:.git/config branch.branch.merge=refs/heads/branch
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo1' lg --all
* 184e5d3 - 2026-05-30 16:24 (3 seconds ago) 3 - Han Jiang (HEAD -> refs/heads/branch, refs/remotes/origin/branch, refs/remotes/origin/HEAD)
| * 1b24a27 - 2026-05-30 16:24 (4 seconds ago) 2 - Han Jiang (refs/remotes/origin/master)
|/
* 409f9ab - 2026-05-30 16:24 (5 seconds ago) 1 - Han Jiang (tag: refs/tags/tag)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo1' cat-file --batch-check --batch-all-objects
00750edc07d6415dcc07ae0351e9397b0222b7ba blob 2
0cfbf08886fca9a91cb753ec8734c84fcbe52c9f blob 2
184e5d3e99e75dd33e913ce1457ce0e03e2783d6 commit 214
1b24a27429b87bdefebcbcc35ea04cacca1fa270 commit 214
409f9ab3527b8bd692437fcb3fdbef2932f3980b commit 166
aff6316148f1524977997c486bcfe624c9094c4e tree 32
d00491fd7e5bb6fa28c517a0bb32b8b506539d4d blob 2
d9cc608eedd5d2cc63c262272b7a0f6ab6aed5dd tree 32
f27c6ae26adb8396d3861976ba268f87ad8afa0b tree 32
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone --single-branch '../server/repo.git' './repo2'
Cloning into './repo2'...
done.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo2' config list --local --show-origin --show-scope
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.origin.url=C:/Program Files/Git/test_git/client/../server/repo.git
local file:.git/config remote.origin.fetch=+refs/heads/branch:refs/remotes/origin/branch
local file:.git/config branch.branch.remote=origin
local file:.git/config branch.branch.merge=refs/heads/branch
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo2' lg --all
* 184e5d3 - 2026-05-30 16:24 (5 seconds ago) 3 - Han Jiang (HEAD -> refs/heads/branch, refs/remotes/origin/branch, refs/remotes/origin/HEAD)
* 409f9ab - 2026-05-30 16:24 (7 seconds ago) 1 - Han Jiang (tag: refs/tags/tag)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo2' cat-file --batch-check --batch-all-objects
00750edc07d6415dcc07ae0351e9397b0222b7ba blob 2
0cfbf08886fca9a91cb753ec8734c84fcbe52c9f blob 2
184e5d3e99e75dd33e913ce1457ce0e03e2783d6 commit 214
1b24a27429b87bdefebcbcc35ea04cacca1fa270 commit 214
409f9ab3527b8bd692437fcb3fdbef2932f3980b commit 166
aff6316148f1524977997c486bcfe624c9094c4e tree 32
d00491fd7e5bb6fa28c517a0bb32b8b506539d4d blob 2
d9cc608eedd5d2cc63c262272b7a0f6ab6aed5dd tree 32
f27c6ae26adb8396d3861976ba268f87ad8afa0b tree 32
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone --no-local '../server/repo.git' './repo3'
Cloning into './repo3'...
remote: Enumerating objects: 9, done.
remote: Counting objects: 100% (9/9), done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 9 (delta 1), reused 0 (delta 0), pack-reused 0 (from 0)
Receiving objects: 100% (9/9), done.
Resolving deltas: 100% (1/1), done.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo3' config list --local --show-origin --show-scope
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.origin.url=C:/Program Files/Git/test_git/client/../server/repo.git
local file:.git/config remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
local file:.git/config branch.branch.remote=origin
local file:.git/config branch.branch.merge=refs/heads/branch
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo3' lg --all
* 184e5d3 - 2026-05-30 16:24 (8 seconds ago) 3 - Han Jiang (HEAD -> refs/heads/branch, refs/remotes/origin/branch, refs/remotes/origin/HEAD)
| * 1b24a27 - 2026-05-30 16:24 (9 seconds ago) 2 - Han Jiang (refs/remotes/origin/master)
|/
* 409f9ab - 2026-05-30 16:24 (10 seconds ago) 1 - Han Jiang (tag: refs/tags/tag)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo3' cat-file --batch-check --batch-all-objects
00750edc07d6415dcc07ae0351e9397b0222b7ba blob 2
0cfbf08886fca9a91cb753ec8734c84fcbe52c9f blob 2
184e5d3e99e75dd33e913ce1457ce0e03e2783d6 commit 214
1b24a27429b87bdefebcbcc35ea04cacca1fa270 commit 214
409f9ab3527b8bd692437fcb3fdbef2932f3980b commit 166
aff6316148f1524977997c486bcfe624c9094c4e tree 32
d00491fd7e5bb6fa28c517a0bb32b8b506539d4d blob 2
d9cc608eedd5d2cc63c262272b7a0f6ab6aed5dd tree 32
f27c6ae26adb8396d3861976ba268f87ad8afa0b tree 32
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone --single-branch --no-local '../server/repo.git' './repo4'
Cloning into './repo4'...
remote: Enumerating objects: 6, done.
remote: Counting objects: 100% (6/6), done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 6 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Receiving objects: 100% (6/6), done.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo4' config list --local --show-origin --show-scope
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.origin.url=C:/Program Files/Git/test_git/client/../server/repo.git
local file:.git/config remote.origin.fetch=+refs/heads/branch:refs/remotes/origin/branch
local file:.git/config branch.branch.remote=origin
local file:.git/config branch.branch.merge=refs/heads/branch
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo4' lg --all
* 184e5d3 - 2026-05-30 16:24 (10 seconds ago) 3 - Han Jiang (HEAD -> refs/heads/branch, refs/remotes/origin/branch, refs/remotes/origin/HEAD)
* 409f9ab - 2026-05-30 16:24 (12 seconds ago) 1 - Han Jiang (tag: refs/tags/tag)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo4' cat-file --batch-check --batch-all-objects
00750edc07d6415dcc07ae0351e9397b0222b7ba blob 2
184e5d3e99e75dd33e913ce1457ce0e03e2783d6 commit 214
409f9ab3527b8bd692437fcb3fdbef2932f3980b commit 166
aff6316148f1524977997c486bcfe624c9094c4e tree 32
d00491fd7e5bb6fa28c517a0bb32b8b506539d4d blob 2
f27c6ae26adb8396d3861976ba268f87ad8afa0b tree 32
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone 'file://'"$(realpath './server/repo.git')" './repo5'
Cloning into './repo5'...
remote: Enumerating objects: 9, done.
remote: Counting objects: 100% (9/9), done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 9 (delta 1), reused 0 (delta 0), pack-reused 0 (from 0)
Receiving objects: 100% (9/9), done.
Resolving deltas: 100% (1/1), done.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo5' config list --local --show-origin --show-scope
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.origin.url=file:///test_git/server/repo.git
local file:.git/config remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
local file:.git/config branch.branch.remote=origin
local file:.git/config branch.branch.merge=refs/heads/branch
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo5' lg --all
* 184e5d3 - 2026-05-30 16:24 (12 seconds ago) 3 - Han Jiang (HEAD -> refs/heads/branch, refs/remotes/origin/branch, refs/remotes/origin/HEAD)
| * 1b24a27 - 2026-05-30 16:24 (13 seconds ago) 2 - Han Jiang (refs/remotes/origin/master)
|/
* 409f9ab - 2026-05-30 16:24 (14 seconds ago) 1 - Han Jiang (tag: refs/tags/tag)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo5' cat-file --batch-check --batch-all-objects
00750edc07d6415dcc07ae0351e9397b0222b7ba blob 2
0cfbf08886fca9a91cb753ec8734c84fcbe52c9f blob 2
184e5d3e99e75dd33e913ce1457ce0e03e2783d6 commit 214
1b24a27429b87bdefebcbcc35ea04cacca1fa270 commit 214
409f9ab3527b8bd692437fcb3fdbef2932f3980b commit 166
aff6316148f1524977997c486bcfe624c9094c4e tree 32
d00491fd7e5bb6fa28c517a0bb32b8b506539d4d blob 2
d9cc608eedd5d2cc63c262272b7a0f6ab6aed5dd tree 32
f27c6ae26adb8396d3861976ba268f87ad8afa0b tree 32
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone --single-branch 'file://'"$(realpath './server/repo.git')" './repo6'
Cloning into './repo6'...
remote: Enumerating objects: 6, done.
remote: Counting objects: 100% (6/6), done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 6 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Receiving objects: 100% (6/6), done.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo6' config list --local --show-origin --show-scope
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.origin.url=file:///test_git/server/repo.git
local file:.git/config remote.origin.fetch=+refs/heads/branch:refs/remotes/origin/branch
local file:.git/config branch.branch.remote=origin
local file:.git/config branch.branch.merge=refs/heads/branch
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo6' lg --all
* 184e5d3 - 2026-05-30 16:24 (14 seconds ago) 3 - Han Jiang (HEAD -> refs/heads/branch, refs/remotes/origin/branch, refs/remotes/origin/HEAD)
* 409f9ab - 2026-05-30 16:24 (16 seconds ago) 1 - Han Jiang (tag: refs/tags/tag)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo6' cat-file --batch-check --batch-all-objects
00750edc07d6415dcc07ae0351e9397b0222b7ba blob 2
184e5d3e99e75dd33e913ce1457ce0e03e2783d6 commit 214
409f9ab3527b8bd692437fcb3fdbef2932f3980b commit 166
aff6316148f1524977997c486bcfe624c9094c4e tree 32
d00491fd7e5bb6fa28c517a0bb32b8b506539d4d blob 2
f27c6ae26adb8396d3861976ba268f87ad8afa0b tree 32
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server' init --bare './repo.git'
Initialized empty Git repository in C:/Program Files/Git/test_git/server/repo.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo "$((++number))" >'./file'; git --git-dir='./server/repo.git' --work-tree='.' add './file'; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$(<'./file')"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) fc62f7f] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' branch branch; git -C './server/repo.git' tag tag
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo "$((++number))" >'./file'; git --git-dir='./server/repo.git' --work-tree='.' add './file'; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$(<'./file')"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master 886c7eb] 2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' checkout branch
Switched to branch 'branch'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo "$((++number))" >'./file'; git --git-dir='./server/repo.git' --work-tree='.' add './file'; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$(<'./file')"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch cc33bbc] 3
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --all
* cc33bbc - 2026-05-30 16:25 (1 second ago) 3 - Han Jiang (HEAD -> refs/heads/branch)
| * 886c7eb - 2026-05-30 16:25 (2 seconds ago) 2 - Han Jiang (refs/heads/master)
|/
* fc62f7f - 2026-05-30 16:25 (3 seconds ago) 1 - Han Jiang (tag: refs/tags/tag)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' cat-file --batch-check --batch-all-objects
00750edc07d6415dcc07ae0351e9397b0222b7ba blob 2
0cfbf08886fca9a91cb753ec8734c84fcbe52c9f blob 2
886c7eb56af908438ca88438e3cc10111bdf6491 commit 214
aff6316148f1524977997c486bcfe624c9094c4e tree 32
cc33bbc4006127c3a2b8cbd55e5e399f5fa4dc55 commit 214
d00491fd7e5bb6fa28c517a0bb32b8b506539d4d blob 2
d9cc608eedd5d2cc63c262272b7a0f6ab6aed5dd tree 32
f27c6ae26adb8396d3861976ba268f87ad8afa0b tree 32
fc62f7f0f755f9331007316d8da9cf7a76c3d66e commit 166
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone '../server/repo.git' './repo1'
Cloning into './repo1'...
done.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo1' config list --local --show-origin --show-scope
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.origin.url=C:/Program Files/Git/test_git/client/../server/repo.git
local file:.git/config remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
local file:.git/config branch.branch.remote=origin
local file:.git/config branch.branch.merge=refs/heads/branch
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo1' lg --all
* cc33bbc - 2026-05-30 16:25 (3 seconds ago) 3 - Han Jiang (HEAD -> refs/heads/branch, refs/remotes/origin/branch, refs/remotes/origin/HEAD)
| * 886c7eb - 2026-05-30 16:25 (4 seconds ago) 2 - Han Jiang (refs/remotes/origin/master)
|/
* fc62f7f - 2026-05-30 16:25 (5 seconds ago) 1 - Han Jiang (tag: refs/tags/tag)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo1' cat-file --batch-check --batch-all-objects
00750edc07d6415dcc07ae0351e9397b0222b7ba blob 2
0cfbf08886fca9a91cb753ec8734c84fcbe52c9f blob 2
886c7eb56af908438ca88438e3cc10111bdf6491 commit 214
aff6316148f1524977997c486bcfe624c9094c4e tree 32
cc33bbc4006127c3a2b8cbd55e5e399f5fa4dc55 commit 214
d00491fd7e5bb6fa28c517a0bb32b8b506539d4d blob 2
d9cc608eedd5d2cc63c262272b7a0f6ab6aed5dd tree 32
f27c6ae26adb8396d3861976ba268f87ad8afa0b tree 32
fc62f7f0f755f9331007316d8da9cf7a76c3d66e commit 166
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone --depth=1 '../server/repo.git' './repo2'
Cloning into './repo2'...
warning: --depth is ignored in local clones; use file:// instead.
done.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo2' config list --local --show-origin --show-scope
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.origin.url=C:/Program Files/Git/test_git/client/../server/repo.git
local file:.git/config remote.origin.fetch=+refs/heads/branch:refs/remotes/origin/branch
local file:.git/config branch.branch.remote=origin
local file:.git/config branch.branch.merge=refs/heads/branch
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo2' lg --all
* cc33bbc - 2026-05-30 16:25 (5 seconds ago) 3 - Han Jiang (HEAD -> refs/heads/branch, refs/remotes/origin/branch, refs/remotes/origin/HEAD)
* fc62f7f - 2026-05-30 16:25 (7 seconds ago) 1 - Han Jiang (tag: refs/tags/tag)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo2' cat-file --batch-check --batch-all-objects
00750edc07d6415dcc07ae0351e9397b0222b7ba blob 2
0cfbf08886fca9a91cb753ec8734c84fcbe52c9f blob 2
886c7eb56af908438ca88438e3cc10111bdf6491 commit 214
aff6316148f1524977997c486bcfe624c9094c4e tree 32
cc33bbc4006127c3a2b8cbd55e5e399f5fa4dc55 commit 214
d00491fd7e5bb6fa28c517a0bb32b8b506539d4d blob 2
d9cc608eedd5d2cc63c262272b7a0f6ab6aed5dd tree 32
f27c6ae26adb8396d3861976ba268f87ad8afa0b tree 32
fc62f7f0f755f9331007316d8da9cf7a76c3d66e commit 166
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo2/.git/shallow'
find: ‘./client/repo2/.git/shallow’: No such file or directory
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone --no-local '../server/repo.git' './repo3'
Cloning into './repo3'...
remote: Enumerating objects: 9, done.
remote: Counting objects: 100% (9/9), done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 9 (delta 1), reused 0 (delta 0), pack-reused 0 (from 0)
Receiving objects: 100% (9/9), done.
Resolving deltas: 100% (1/1), done.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo3' config list --local --show-origin --show-scope
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.origin.url=C:/Program Files/Git/test_git/client/../server/repo.git
local file:.git/config remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
local file:.git/config branch.branch.remote=origin
local file:.git/config branch.branch.merge=refs/heads/branch
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo3' lg --all
* cc33bbc - 2026-05-30 16:25 (7 seconds ago) 3 - Han Jiang (HEAD -> refs/heads/branch, refs/remotes/origin/branch, refs/remotes/origin/HEAD)
| * 886c7eb - 2026-05-30 16:25 (8 seconds ago) 2 - Han Jiang (refs/remotes/origin/master)
|/
* fc62f7f - 2026-05-30 16:25 (9 seconds ago) 1 - Han Jiang (tag: refs/tags/tag)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo3' cat-file --batch-check --batch-all-objects
00750edc07d6415dcc07ae0351e9397b0222b7ba blob 2
0cfbf08886fca9a91cb753ec8734c84fcbe52c9f blob 2
886c7eb56af908438ca88438e3cc10111bdf6491 commit 214
aff6316148f1524977997c486bcfe624c9094c4e tree 32
cc33bbc4006127c3a2b8cbd55e5e399f5fa4dc55 commit 214
d00491fd7e5bb6fa28c517a0bb32b8b506539d4d blob 2
d9cc608eedd5d2cc63c262272b7a0f6ab6aed5dd tree 32
f27c6ae26adb8396d3861976ba268f87ad8afa0b tree 32
fc62f7f0f755f9331007316d8da9cf7a76c3d66e commit 166
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone --depth=1 --no-local '../server/repo.git' './repo41'
Cloning into './repo41'...
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Receiving objects: 100% (3/3), done.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo41' config list --local --show-origin --show-scope
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.origin.url=C:/Program Files/Git/test_git/client/../server/repo.git
local file:.git/config remote.origin.fetch=+refs/heads/branch:refs/remotes/origin/branch
local file:.git/config branch.branch.remote=origin
local file:.git/config branch.branch.merge=refs/heads/branch
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo41' lg --all
* cc33bbc - 2026-05-30 16:25 (10 seconds ago) 3 - Han Jiang (grafted, HEAD -> refs/heads/branch, refs/remotes/origin/branch, refs/remotes/origin/HEAD)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo41' cat-file --batch-check --batch-all-objects
00750edc07d6415dcc07ae0351e9397b0222b7ba blob 2
aff6316148f1524977997c486bcfe624c9094c4e tree 32
cc33bbc4006127c3a2b8cbd55e5e399f5fa4dc55 commit 214
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo41/.git/shallow'
./client/repo41/.git/shallow -/0o100/regular file rw-r--r--/0o644
1 cc33bbc4006127c3a2b8cbd55e5e399f5fa4dc55\n
2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone --depth=1 --no-local --no-single-branch '../server/repo.git' './repo42'
Cloning into './repo42'...
remote: Enumerating objects: 9, done.
remote: Counting objects: 100% (9/9), done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 9 (delta 1), reused 0 (delta 0), pack-reused 0 (from 0)
Receiving objects: 100% (9/9), done.
Resolving deltas: 100% (1/1), done.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo42' config list --local --show-origin --show-scope
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.origin.url=C:/Program Files/Git/test_git/client/../server/repo.git
local file:.git/config remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
local file:.git/config branch.branch.remote=origin
local file:.git/config branch.branch.merge=refs/heads/branch
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo42' lg --all
* cc33bbc - 2026-05-30 16:25 (13 seconds ago) 3 - Han Jiang (grafted, HEAD -> refs/heads/branch, refs/remotes/origin/branch, refs/remotes/origin/HEAD)
* 886c7eb - 2026-05-30 16:25 (14 seconds ago) 2 - Han Jiang (grafted, refs/remotes/origin/master)
* fc62f7f - 2026-05-30 16:25 (15 seconds ago) 1 - Han Jiang (grafted, tag: refs/tags/tag)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo42' cat-file --batch-check --batch-all-objects
00750edc07d6415dcc07ae0351e9397b0222b7ba blob 2
0cfbf08886fca9a91cb753ec8734c84fcbe52c9f blob 2
886c7eb56af908438ca88438e3cc10111bdf6491 commit 214
aff6316148f1524977997c486bcfe624c9094c4e tree 32
cc33bbc4006127c3a2b8cbd55e5e399f5fa4dc55 commit 214
d00491fd7e5bb6fa28c517a0bb32b8b506539d4d blob 2
d9cc608eedd5d2cc63c262272b7a0f6ab6aed5dd tree 32
f27c6ae26adb8396d3861976ba268f87ad8afa0b tree 32
fc62f7f0f755f9331007316d8da9cf7a76c3d66e commit 166
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo42/.git/shallow'
./client/repo42/.git/shallow -/0o100/regular file rw-r--r--/0o644
1 886c7eb56af908438ca88438e3cc10111bdf6491\n
2 cc33bbc4006127c3a2b8cbd55e5e399f5fa4dc55\n
3 fc62f7f0f755f9331007316d8da9cf7a76c3d66e\n
4
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone --depth=1 --no-local --no-single-branch --no-tags '../server/repo.git' './repo43'
Cloning into './repo43'...
remote: Enumerating objects: 6, done.
remote: Counting objects: 100% (6/6), done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 6 (delta 1), reused 0 (delta 0), pack-reused 0 (from 0)
Receiving objects: 100% (6/6), done.
Resolving deltas: 100% (1/1), done.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo43' config list --local --show-origin --show-scope
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.origin.url=C:/Program Files/Git/test_git/client/../server/repo.git
local file:.git/config remote.origin.tagopt=--no-tags
local file:.git/config remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
local file:.git/config branch.branch.remote=origin
local file:.git/config branch.branch.merge=refs/heads/branch
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo43' lg --all
* cc33bbc - 2026-05-30 16:25 (17 seconds ago) 3 - Han Jiang (grafted, HEAD -> refs/heads/branch, refs/remotes/origin/branch, refs/remotes/origin/HEAD)
* 886c7eb - 2026-05-30 16:25 (18 seconds ago) 2 - Han Jiang (grafted, refs/remotes/origin/master)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo43' cat-file --batch-check --batch-all-objects
00750edc07d6415dcc07ae0351e9397b0222b7ba blob 2
0cfbf08886fca9a91cb753ec8734c84fcbe52c9f blob 2
886c7eb56af908438ca88438e3cc10111bdf6491 commit 214
aff6316148f1524977997c486bcfe624c9094c4e tree 32
cc33bbc4006127c3a2b8cbd55e5e399f5fa4dc55 commit 214
d9cc608eedd5d2cc63c262272b7a0f6ab6aed5dd tree 32
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo43/.git/shallow'
./client/repo43/.git/shallow -/0o100/regular file rw-r--r--/0o644
1 886c7eb56af908438ca88438e3cc10111bdf6491\n
2 cc33bbc4006127c3a2b8cbd55e5e399f5fa4dc55\n
3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone 'file://'"$(realpath './server/repo.git')" './repo5'
Cloning into './repo5'...
remote: Enumerating objects: 9, done.
remote: Counting objects: 100% (9/9), done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 9 (delta 1), reused 0 (delta 0), pack-reused 0 (from 0)
Receiving objects: 100% (9/9), done.
Resolving deltas: 100% (1/1), done.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo5' config list --local --show-origin --show-scope
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.origin.url=file:///test_git/server/repo.git
local file:.git/config remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
local file:.git/config branch.branch.remote=origin
local file:.git/config branch.branch.merge=refs/heads/branch
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo5' lg --all
* cc33bbc - 2026-05-30 16:25 (20 seconds ago) 3 - Han Jiang (HEAD -> refs/heads/branch, refs/remotes/origin/branch, refs/remotes/origin/HEAD)
| * 886c7eb - 2026-05-30 16:25 (21 seconds ago) 2 - Han Jiang (refs/remotes/origin/master)
|/
* fc62f7f - 2026-05-30 16:25 (22 seconds ago) 1 - Han Jiang (tag: refs/tags/tag)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo5' cat-file --batch-check --batch-all-objects
00750edc07d6415dcc07ae0351e9397b0222b7ba blob 2
0cfbf08886fca9a91cb753ec8734c84fcbe52c9f blob 2
886c7eb56af908438ca88438e3cc10111bdf6491 commit 214
aff6316148f1524977997c486bcfe624c9094c4e tree 32
cc33bbc4006127c3a2b8cbd55e5e399f5fa4dc55 commit 214
d00491fd7e5bb6fa28c517a0bb32b8b506539d4d blob 2
d9cc608eedd5d2cc63c262272b7a0f6ab6aed5dd tree 32
f27c6ae26adb8396d3861976ba268f87ad8afa0b tree 32
fc62f7f0f755f9331007316d8da9cf7a76c3d66e commit 166
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone --depth=1 'file://'"$(realpath './server/repo.git')" './repo61'
Cloning into './repo61'...
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Receiving objects: 100% (3/3), done.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo61' config list --local --show-origin --show-scope
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.origin.url=file:///test_git/server/repo.git
local file:.git/config remote.origin.fetch=+refs/heads/branch:refs/remotes/origin/branch
local file:.git/config branch.branch.remote=origin
local file:.git/config branch.branch.merge=refs/heads/branch
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo61' lg --all
* cc33bbc - 2026-05-30 16:25 (22 seconds ago) 3 - Han Jiang (grafted, HEAD -> refs/heads/branch, refs/remotes/origin/branch, refs/remotes/origin/HEAD)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo61' cat-file --batch-check --batch-all-objects
00750edc07d6415dcc07ae0351e9397b0222b7ba blob 2
aff6316148f1524977997c486bcfe624c9094c4e tree 32
cc33bbc4006127c3a2b8cbd55e5e399f5fa4dc55 commit 214
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo61/.git/shallow'
./client/repo61/.git/shallow -/0o100/regular file rw-r--r--/0o644
1 cc33bbc4006127c3a2b8cbd55e5e399f5fa4dc55\n
2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone --depth=1 --no-single-branch 'file://'"$(realpath './server/repo.git')" './repo62'
Cloning into './repo62'...
remote: Enumerating objects: 9, done.
remote: Counting objects: 100% (9/9), done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 9 (delta 1), reused 0 (delta 0), pack-reused 0 (from 0)
Receiving objects: 100% (9/9), done.
Resolving deltas: 100% (1/1), done.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo62' config list --local --show-origin --show-scope
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.origin.url=file:///test_git/server/repo.git
local file:.git/config remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
local file:.git/config branch.branch.remote=origin
local file:.git/config branch.branch.merge=refs/heads/branch
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo62' lg --all
* cc33bbc - 2026-05-30 16:25 (25 seconds ago) 3 - Han Jiang (grafted, HEAD -> refs/heads/branch, refs/remotes/origin/branch, refs/remotes/origin/HEAD)
* 886c7eb - 2026-05-30 16:25 (26 seconds ago) 2 - Han Jiang (grafted, refs/remotes/origin/master)
* fc62f7f - 2026-05-30 16:25 (27 seconds ago) 1 - Han Jiang (grafted, tag: refs/tags/tag)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo62' cat-file --batch-check --batch-all-objects
00750edc07d6415dcc07ae0351e9397b0222b7ba blob 2
0cfbf08886fca9a91cb753ec8734c84fcbe52c9f blob 2
886c7eb56af908438ca88438e3cc10111bdf6491 commit 214
aff6316148f1524977997c486bcfe624c9094c4e tree 32
cc33bbc4006127c3a2b8cbd55e5e399f5fa4dc55 commit 214
d00491fd7e5bb6fa28c517a0bb32b8b506539d4d blob 2
d9cc608eedd5d2cc63c262272b7a0f6ab6aed5dd tree 32
f27c6ae26adb8396d3861976ba268f87ad8afa0b tree 32
fc62f7f0f755f9331007316d8da9cf7a76c3d66e commit 166
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo62/.git/shallow'
./client/repo62/.git/shallow -/0o100/regular file rw-r--r--/0o644
1 886c7eb56af908438ca88438e3cc10111bdf6491\n
2 cc33bbc4006127c3a2b8cbd55e5e399f5fa4dc55\n
3 fc62f7f0f755f9331007316d8da9cf7a76c3d66e\n
4
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone --depth=1 --no-single-branch --no-tags 'file://'"$(realpath './server/repo.git')" './repo63'
Cloning into './repo63'...
remote: Enumerating objects: 6, done.
remote: Counting objects: 100% (6/6), done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 6 (delta 1), reused 0 (delta 0), pack-reused 0 (from 0)
Receiving objects: 100% (6/6), done.
Resolving deltas: 100% (1/1), done.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo63' config list --local --show-origin --show-scope
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.origin.url=file:///test_git/server/repo.git
local file:.git/config remote.origin.tagopt=--no-tags
local file:.git/config remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
local file:.git/config branch.branch.remote=origin
local file:.git/config branch.branch.merge=refs/heads/branch
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo63' lg --all
* cc33bbc - 2026-05-30 16:25 (29 seconds ago) 3 - Han Jiang (grafted, HEAD -> refs/heads/branch, refs/remotes/origin/branch, refs/remotes/origin/HEAD)
* 886c7eb - 2026-05-30 16:25 (30 seconds ago) 2 - Han Jiang (grafted, refs/remotes/origin/master)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo63' cat-file --batch-check --batch-all-objects
00750edc07d6415dcc07ae0351e9397b0222b7ba blob 2
0cfbf08886fca9a91cb753ec8734c84fcbe52c9f blob 2
886c7eb56af908438ca88438e3cc10111bdf6491 commit 214
aff6316148f1524977997c486bcfe624c9094c4e tree 32
cc33bbc4006127c3a2b8cbd55e5e399f5fa4dc55 commit 214
d9cc608eedd5d2cc63c262272b7a0f6ab6aed5dd tree 32
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo63/.git/shallow'
./client/repo63/.git/shallow -/0o100/regular file rw-r--r--/0o644
1 886c7eb56af908438ca88438e3cc10111bdf6491\n
2 cc33bbc4006127c3a2b8cbd55e5e399f5fa4dc55\n
3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server' init --bare './repo.git'
Initialized empty Git repository in C:/Program Files/Git/test_git/server/repo.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ branch_default_path="$(git -C './server/repo.git' symbolic-ref HEAD)"; echo "$branch_default_path"
refs/heads/master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo "$((++number))" >'./file'; git --git-dir='./server/repo.git' --work-tree='.' add './file'; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$(<'./file')"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) eae96cb] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' branch branch; git -C './server/repo.git' tag tag
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo "$((++number))" >'./file'; git --git-dir='./server/repo.git' --work-tree='.' add './file'; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$(<'./file')"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master bdf454f] 2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' checkout branch
Switched to branch 'branch'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo "$((++number))" >'./file'; git --git-dir='./server/repo.git' --work-tree='.' add './file'; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$(<'./file')"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch f839cb7] 3
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --all
* f839cb7 - 2026-05-30 16:25 (1 second ago) 3 - Han Jiang (HEAD -> refs/heads/branch)
| * bdf454f - 2026-05-30 16:25 (2 seconds ago) 2 - Han Jiang (refs/heads/master)
|/
* eae96cb - 2026-05-30 16:25 (3 seconds ago) 1 - Han Jiang (tag: refs/tags/tag)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' cat-file --batch-check --batch-all-objects
00750edc07d6415dcc07ae0351e9397b0222b7ba blob 2
0cfbf08886fca9a91cb753ec8734c84fcbe52c9f blob 2
aff6316148f1524977997c486bcfe624c9094c4e tree 32
bdf454f3616316d1d703fa7f47fd15141bcafe20 commit 214
d00491fd7e5bb6fa28c517a0bb32b8b506539d4d blob 2
d9cc608eedd5d2cc63c262272b7a0f6ab6aed5dd tree 32
eae96cbb04e8d240ef1a1a7f52215e50fdae1df7 commit 166
f27c6ae26adb8396d3861976ba268f87ad8afa0b tree 32
f839cb7727a860e56f10dbd82ece7ce44d91e4d9 commit 214
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone '../server/repo.git' './repo1'
Cloning into './repo1'...
done.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo1' config list --local --show-origin --show-scope
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.origin.url=C:/Program Files/Git/test_git/client/../server/repo.git
local file:.git/config remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
local file:.git/config branch.branch.remote=origin
local file:.git/config branch.branch.merge=refs/heads/branch
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo1' lg --all
* f839cb7 - 2026-05-30 16:25 (3 seconds ago) 3 - Han Jiang (HEAD -> refs/heads/branch, refs/remotes/origin/branch, refs/remotes/origin/HEAD)
| * bdf454f - 2026-05-30 16:25 (4 seconds ago) 2 - Han Jiang (refs/remotes/origin/master)
|/
* eae96cb - 2026-05-30 16:25 (5 seconds ago) 1 - Han Jiang (tag: refs/tags/tag)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo1' cat-file --batch-check --batch-all-objects
00750edc07d6415dcc07ae0351e9397b0222b7ba blob 2
0cfbf08886fca9a91cb753ec8734c84fcbe52c9f blob 2
aff6316148f1524977997c486bcfe624c9094c4e tree 32
bdf454f3616316d1d703fa7f47fd15141bcafe20 commit 214
d00491fd7e5bb6fa28c517a0bb32b8b506539d4d blob 2
d9cc608eedd5d2cc63c262272b7a0f6ab6aed5dd tree 32
eae96cbb04e8d240ef1a1a7f52215e50fdae1df7 commit 166
f27c6ae26adb8396d3861976ba268f87ad8afa0b tree 32
f839cb7727a860e56f10dbd82ece7ce44d91e4d9 commit 214
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone --shallow-exclude="$branch_default_path" '../server/repo.git' './repo2'
Cloning into './repo2'...
warning: --shallow-exclude is ignored in local clones; use file:// instead.
done.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo2' config list --local --show-origin --show-scope
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.origin.url=C:/Program Files/Git/test_git/client/../server/repo.git
local file:.git/config remote.origin.fetch=+refs/heads/branch:refs/remotes/origin/branch
local file:.git/config branch.branch.remote=origin
local file:.git/config branch.branch.merge=refs/heads/branch
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo2' lg --all
* f839cb7 - 2026-05-30 16:25 (5 seconds ago) 3 - Han Jiang (HEAD -> refs/heads/branch, refs/remotes/origin/branch, refs/remotes/origin/HEAD)
* eae96cb - 2026-05-30 16:25 (7 seconds ago) 1 - Han Jiang (tag: refs/tags/tag)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo2' cat-file --batch-check --batch-all-objects
00750edc07d6415dcc07ae0351e9397b0222b7ba blob 2
0cfbf08886fca9a91cb753ec8734c84fcbe52c9f blob 2
aff6316148f1524977997c486bcfe624c9094c4e tree 32
bdf454f3616316d1d703fa7f47fd15141bcafe20 commit 214
d00491fd7e5bb6fa28c517a0bb32b8b506539d4d blob 2
d9cc608eedd5d2cc63c262272b7a0f6ab6aed5dd tree 32
eae96cbb04e8d240ef1a1a7f52215e50fdae1df7 commit 166
f27c6ae26adb8396d3861976ba268f87ad8afa0b tree 32
f839cb7727a860e56f10dbd82ece7ce44d91e4d9 commit 214
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo2/.git/shallow'
find: ‘./client/repo2/.git/shallow’: No such file or directory
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone --no-local '../server/repo.git' './repo3'
Cloning into './repo3'...
remote: Enumerating objects: 9, done.
remote: Counting objects: 100% (9/9), done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 9 (delta 1), reused 0 (delta 0), pack-reused 0 (from 0)
Receiving objects: 100% (9/9), done.
Resolving deltas: 100% (1/1), done.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo3' config list --local --show-origin --show-scope
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.origin.url=C:/Program Files/Git/test_git/client/../server/repo.git
local file:.git/config remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
local file:.git/config branch.branch.remote=origin
local file:.git/config branch.branch.merge=refs/heads/branch
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo3' lg --all
* f839cb7 - 2026-05-30 16:25 (7 seconds ago) 3 - Han Jiang (HEAD -> refs/heads/branch, refs/remotes/origin/branch, refs/remotes/origin/HEAD)
| * bdf454f - 2026-05-30 16:25 (8 seconds ago) 2 - Han Jiang (refs/remotes/origin/master)
|/
* eae96cb - 2026-05-30 16:25 (9 seconds ago) 1 - Han Jiang (tag: refs/tags/tag)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo3' cat-file --batch-check --batch-all-objects
00750edc07d6415dcc07ae0351e9397b0222b7ba blob 2
0cfbf08886fca9a91cb753ec8734c84fcbe52c9f blob 2
aff6316148f1524977997c486bcfe624c9094c4e tree 32
bdf454f3616316d1d703fa7f47fd15141bcafe20 commit 214
d00491fd7e5bb6fa28c517a0bb32b8b506539d4d blob 2
d9cc608eedd5d2cc63c262272b7a0f6ab6aed5dd tree 32
eae96cbb04e8d240ef1a1a7f52215e50fdae1df7 commit 166
f27c6ae26adb8396d3861976ba268f87ad8afa0b tree 32
f839cb7727a860e56f10dbd82ece7ce44d91e4d9 commit 214
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone --shallow-exclude="$branch_default_path" --no-local '../server/repo.git' './repo4'
Cloning into './repo4'...
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Receiving objects: 100% (3/3), done.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo4' config list --local --show-origin --show-scope
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.origin.url=C:/Program Files/Git/test_git/client/../server/repo.git
local file:.git/config remote.origin.fetch=+refs/heads/branch:refs/remotes/origin/branch
local file:.git/config branch.branch.remote=origin
local file:.git/config branch.branch.merge=refs/heads/branch
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo4' lg --all
* f839cb7 - 2026-05-30 16:25 (9 seconds ago) 3 - Han Jiang (grafted, HEAD -> refs/heads/branch, refs/remotes/origin/branch, refs/remotes/origin/HEAD)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo4' cat-file --batch-check --batch-all-objects
00750edc07d6415dcc07ae0351e9397b0222b7ba blob 2
aff6316148f1524977997c486bcfe624c9094c4e tree 32
f839cb7727a860e56f10dbd82ece7ce44d91e4d9 commit 214
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo4/.git/shallow'
./client/repo4/.git/shallow -/0o100/regular file rw-r--r--/0o644
1 f839cb7727a860e56f10dbd82ece7ce44d91e4d9\n
2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone 'file://'"$(realpath './server/repo.git')" './repo5'
Cloning into './repo5'...
remote: Enumerating objects: 9, done.
remote: Counting objects: 100% (9/9), done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 9 (delta 1), reused 0 (delta 0), pack-reused 0 (from 0)
Receiving objects: 100% (9/9), done.
Resolving deltas: 100% (1/1), done.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo5' config list --local --show-origin --show-scope
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.origin.url=file:///test_git/server/repo.git
local file:.git/config remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
local file:.git/config branch.branch.remote=origin
local file:.git/config branch.branch.merge=refs/heads/branch
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo5' lg --all
* f839cb7 - 2026-05-30 16:25 (12 seconds ago) 3 - Han Jiang (HEAD -> refs/heads/branch, refs/remotes/origin/branch, refs/remotes/origin/HEAD)
| * bdf454f - 2026-05-30 16:25 (13 seconds ago) 2 - Han Jiang (refs/remotes/origin/master)
|/
* eae96cb - 2026-05-30 16:25 (14 seconds ago) 1 - Han Jiang (tag: refs/tags/tag)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo5' cat-file --batch-check --batch-all-objects
00750edc07d6415dcc07ae0351e9397b0222b7ba blob 2
0cfbf08886fca9a91cb753ec8734c84fcbe52c9f blob 2
aff6316148f1524977997c486bcfe624c9094c4e tree 32
bdf454f3616316d1d703fa7f47fd15141bcafe20 commit 214
d00491fd7e5bb6fa28c517a0bb32b8b506539d4d blob 2
d9cc608eedd5d2cc63c262272b7a0f6ab6aed5dd tree 32
eae96cbb04e8d240ef1a1a7f52215e50fdae1df7 commit 166
f27c6ae26adb8396d3861976ba268f87ad8afa0b tree 32
f839cb7727a860e56f10dbd82ece7ce44d91e4d9 commit 214
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone --shallow-exclude="$branch_default_path" 'file://'"$(realpath './server/repo.git')" './repo6'
Cloning into './repo6'...
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Receiving objects: 100% (3/3), done.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo6' config list --local --show-origin --show-scope
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.origin.url=file:///test_git/server/repo.git
local file:.git/config remote.origin.fetch=+refs/heads/branch:refs/remotes/origin/branch
local file:.git/config branch.branch.remote=origin
local file:.git/config branch.branch.merge=refs/heads/branch
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo6' lg --all
* f839cb7 - 2026-05-30 16:25 (15 seconds ago) 3 - Han Jiang (grafted, HEAD -> refs/heads/branch, refs/remotes/origin/branch, refs/remotes/origin/HEAD)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo6' cat-file --batch-check --batch-all-objects
00750edc07d6415dcc07ae0351e9397b0222b7ba blob 2
aff6316148f1524977997c486bcfe624c9094c4e tree 32
f839cb7727a860e56f10dbd82ece7ce44d91e4d9 commit 214
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo6/.git/shallow'
./client/repo6/.git/shallow -/0o100/regular file rw-r--r--/0o644
1 f839cb7727a860e56f10dbd82ece7ce44d91e4d9\n
2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server' init --bare './repo.git'
Initialized empty Git repository in C:/Program Files/Git/test_git/server/repo.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ touch './file'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' add './file'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
[master (root-commit) 3874030] 1
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' rm './file'
rm 'file'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
[master 89bdf77] 2
1 file changed, 0 insertions(+), 0 deletions(-)
delete mode 100644 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --all
* 89bdf77 - 2026-05-30 16:26 (0 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
* 3874030 - 2026-05-30 16:26 (1 second ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone --filter='object:type=tag' '../server/repo.git' './repo1'
Cloning into './repo1'...
warning: --filter is ignored in local clones; use file:// instead.
done.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone --filter='object:type=tag' --no-local '../server/repo.git' './repo2'
Cloning into './repo2'...
warning: filtering not recognized by server, ignoring
remote: Enumerating objects: 5, done.
remote: Counting objects: 100% (5/5), done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 5 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Receiving objects: 100% (5/5), done.
Enumerating objects: 1, done.
Counting objects: 100% (1/1), done.
Writing objects: 100% (1/1), done.
Total 1 (delta 0), reused 1 (delta 0), pack-reused 0 (from 0)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' config set 'uploadpack.allowFilter' 'true'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone --filter='object:type=tag' --no-local '../server/repo.git' './repo3'
Cloning into './repo3'...
remote: Enumerating objects: 1, done.
remote: Counting objects: 100% (1/1), done.
remote: Total 1 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Receiving objects: 100% (1/1), done.
Enumerating objects: 1, done.
Counting objects: 100% (1/1), done.
Writing objects: 100% (1/1), done.
Total 1 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo3' config list --local --show-origin --show-scope
local file:.git/config core.repositoryformatversion=1
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.origin.url=C:/Program Files/Git/test_git/client/../server/repo.git
local file:.git/config remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
local file:.git/config remote.origin.promisor=true
local file:.git/config remote.origin.partialclonefilter=object:type=tag
local file:.git/config branch.master.remote=origin
local file:.git/config branch.master.merge=refs/heads/master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' cat-file --batch-check --batch-all-objects
3874030d94d945cec2e62c8dc06df9e5e49bac9c commit 166
4b825dc642cb6eb9a060e54bf8d69288fbee4904 tree 0
89bdf7718c63a6dd434b5bd93a3dec675736e3e5 commit 214
df2b8fc99e1c1d4dbc0a854d9f72157f1d6ea078 tree 32
e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 blob 0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo3' cat-file --batch-check --batch-all-objects
warning: This repository uses promisor remotes. Some objects may not be loaded.
4b825dc642cb6eb9a060e54bf8d69288fbee4904 tree 0
89bdf7718c63a6dd434b5bd93a3dec675736e3e5 commit 214
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo3' lg --all
error: Could not read 3874030d94d945cec2e62c8dc06df9e5e49bac9c
fatal: revision walk setup failed
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo3' checkout HEAD~1
remote: Enumerating objects: 2, done.
remote: Counting objects: 100% (2/2), done.
remote: Total 2 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Receiving objects: 100% (2/2), 192 bytes | 192.00 KiB/s, done.
fatal: Cannot switch branch to a non-commit 'HEAD~1'
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo3' cat-file --batch-check --batch-all-objects
warning: This repository uses promisor remotes. Some objects may not be loaded.
3874030d94d945cec2e62c8dc06df9e5e49bac9c commit 166
4b825dc642cb6eb9a060e54bf8d69288fbee4904 tree 0
89bdf7718c63a6dd434b5bd93a3dec675736e3e5 commit 214
df2b8fc99e1c1d4dbc0a854d9f72157f1d6ea078 tree 32
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo3' lg --all
* 89bdf77 - 2026-05-30 16:26 (6 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
* 3874030 - 2026-05-30 16:26 (7 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server' init --bare './repo.git'
Initialized empty Git repository in C:/Program Files/Git/test_git/server/repo.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
[master (root-commit) be126c6] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' branch branch1; git -C './server/repo.git' branch branch2; git -C './server/repo.git' tag tag1; git -C './server/repo.git' tag tag2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/client/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote add server 'file://'"$(realpath './server/repo.git')"
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose
server file:///test_git/server/repo.git (fetch)
server file:///test_git/server/repo.git (push)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server/repo.git
local file:.git/config remote.server.fetch=+refs/heads/*:refs/remotes/server/*
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch --dry-run
remote: Enumerating objects: 2, done.
remote: Counting objects: 100% (2/2), done.
remote: Total 2 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (2/2), 138 bytes | 23.00 KiB/s, done.
From file:///test_git/server/repo
* [new branch] branch1 -> server/branch1
* [new branch] branch2 -> server/branch2
* [new branch] master -> server/master
* [new tag] tag1 -> tag1
* [new tag] tag2 -> tag2
* [new tag] tag1 -> tag1
* [new tag] tag2 -> tag2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch --dry-run --refmap='+refs/heads/*:refs/remotes/server/*' server branch1 branch2
From file:///test_git/server/repo
* branch branch1 -> FETCH_HEAD
* branch branch2 -> FETCH_HEAD
* [new branch] branch1 -> server/branch1
* [new branch] branch2 -> server/branch2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch --dry-run --refmap='+refs/heads/branch*:refs/remotes/server/branch*' server branch1 branch2
From file:///test_git/server/repo
* branch branch1 -> FETCH_HEAD
* branch branch2 -> FETCH_HEAD
* [new branch] branch1 -> server/branch1
* [new branch] branch2 -> server/branch2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch --dry-run --refmap='+refs/heads/branch1:refs/remotes/server/branch1' server branch1 branch2
From file:///test_git/server/repo
* branch branch1 -> FETCH_HEAD
* branch branch2 -> FETCH_HEAD
* [new branch] branch1 -> server/branch1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch --dry-run --refmap='+refs/heads/branch2:refs/remotes/server/branch2' server branch1 branch2
From file:///test_git/server/repo
* branch branch1 -> FETCH_HEAD
* branch branch2 -> FETCH_HEAD
* [new branch] branch2 -> server/branch2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch --dry-run --refmap='+refs/heads/*1:refs/remotes/server/*' server branch1 branch2
From file:///test_git/server/repo
* branch branch1 -> FETCH_HEAD
* branch branch2 -> FETCH_HEAD
* [new branch] branch1 -> server/branch
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch --dry-run --refmap='+refs/heads/*2:refs/remotes/server/*' server branch1 branch2
From file:///test_git/server/repo
* branch branch1 -> FETCH_HEAD
* branch branch2 -> FETCH_HEAD
* [new branch] branch2 -> server/branch
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch --dry-run --refmap='+refs/heads/*1:refs/remotes/server/*' --refmap='+refs/heads/*2:refs/remotes/server/*' server branch1 branch2
fatal: refs/remotes/server/branch tracks both refs/heads/branch1 and refs/heads/branch2
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config unset --local 'remote.server.fetch'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch --dry-run
From file:///test_git/server/repo
* branch HEAD -> FETCH_HEAD
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' -c 'remote.server.fetch=+refs/heads/*:refs/remotes/server/*' fetch --dry-run
From file:///test_git/server/repo
* [new branch] branch1 -> server/branch1
* [new branch] branch2 -> server/branch2
* [new branch] master -> server/master
* [new tag] tag1 -> tag1
* [new tag] tag2 -> tag2
* [new tag] tag1 -> tag1
* [new tag] tag2 -> tag2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' -c 'remote.server.fetch=+refs/heads/branch1:refs/remotes/server/branch1' fetch --dry-run
From file:///test_git/server/repo
* [new branch] branch1 -> server/branch1
* [new tag] tag1 -> tag1
* [new tag] tag2 -> tag2
* [new tag] tag1 -> tag1
* [new tag] tag2 -> tag2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' -c 'remote.server.fetch=+refs/heads/branch1:refs/remotes/server/branch1' -c 'remote.server.fetch=+refs/heads/branch2:refs/remotes/server/branch2' fetch --dry-run
From file:///test_git/server/repo
* [new branch] branch1 -> server/branch1
* [new branch] branch2 -> server/branch2
* [new tag] tag1 -> tag1
* [new tag] tag2 -> tag2
* [new tag] tag1 -> tag1
* [new tag] tag2 -> tag2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' -c 'remote.server.fetch=+refs/heads/branch*:refs/remotes/server/branch*' fetch --dry-run
From file:///test_git/server/repo
* [new branch] branch1 -> server/branch1
* [new branch] branch2 -> server/branch2
* [new tag] tag1 -> tag1
* [new tag] tag2 -> tag2
* [new tag] tag1 -> tag1
* [new tag] tag2 -> tag2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' -c 'remote.server.fetch=+refs/heads/branch*:refs/remotes/server/branch*' -c 'remote.server.fetch=+refs/heads/branch2:refs/remotes/server/branch2' fetch --dry-run
From file:///test_git/server/repo
* [new branch] branch1 -> server/branch1
* [new branch] branch2 -> server/branch2
* [new tag] tag1 -> tag1
* [new tag] tag2 -> tag2
* [new tag] tag1 -> tag1
* [new tag] tag2 -> tag2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' -c 'remote.server.fetch=+refs/heads/branch1:refs/remotes/server/branch1' fetch --dry-run --refmap='+refs/heads/branch1:refs/remotes/server/branch1' server branch1 branch2
From file:///test_git/server/repo
* branch branch1 -> FETCH_HEAD
* branch branch2 -> FETCH_HEAD
* [new branch] branch1 -> server/branch1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' -c 'remote.server.fetch=+refs/heads/branch1:refs/remotes/server/branch1' fetch --dry-run --refmap='+refs/heads/branch2:refs/remotes/server/branch2' server branch1 branch2
From file:///test_git/server/repo
* branch branch1 -> FETCH_HEAD
* branch branch2 -> FETCH_HEAD
* [new branch] branch2 -> server/branch2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' -c 'remote.server.fetch=+refs/heads/branch2:refs/remotes/server/branch2' fetch --dry-run --refmap='+refs/heads/branch1:refs/remotes/server/branch1' server branch1 branch2
From file:///test_git/server/repo
* branch branch1 -> FETCH_HEAD
* branch branch2 -> FETCH_HEAD
* [new branch] branch1 -> server/branch1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' -c 'remote.server.fetch=+refs/heads/branch2:refs/remotes/server/branch2' fetch --dry-run --refmap='+refs/heads/branch2:refs/remotes/server/branch2' server branch1 branch2
From file:///test_git/server/repo
* branch branch1 -> FETCH_HEAD
* branch branch2 -> FETCH_HEAD
* [new branch] branch2 -> server/branch2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server' init --bare './repo.git'
Initialized empty Git repository in C:/Program Files/Git/test_git/server/repo.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
[master (root-commit) 2353323] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
[master 1ba7dc9] 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
[master 554f6e5] 3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
[master 83020ee] 4
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --all
* 83020ee - 2026-05-30 16:27 (0 seconds ago) 4 - Han Jiang (HEAD -> refs/heads/master)
* 554f6e5 - 2026-05-30 16:27 (1 second ago) 3 - Han Jiang
* 1ba7dc9 - 2026-05-30 16:27 (1 second ago) 2 - Han Jiang
* 2353323 - 2026-05-30 16:27 (2 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' init './repo1'
Initialized empty Git repository in C:/Program Files/Git/test_git/client/repo1/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo1' remote add server 'file://'"$(realpath './server/repo.git')"
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo1' remote --verbose
server file:///test_git/server/repo.git (fetch)
server file:///test_git/server/repo.git (push)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo1' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server/repo.git
local file:.git/config remote.server.fetch=+refs/heads/*:refs/remotes/server/*
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo1' fetch --depth=1
remote: Enumerating objects: 2, done.
remote: Counting objects: 100% (2/2), done.
remote: Total 2 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (2/2), 168 bytes | 28.00 KiB/s, done.
From file:///test_git/server/repo
* [new branch] master -> server/master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo1' lg --all
* 83020ee - 2026-05-30 16:27 (3 seconds ago) 4 - Han Jiang (grafted, refs/remotes/server/master, refs/remotes/server/HEAD)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo1/.git/shallow'
./client/repo1/.git/shallow -/0o100/regular file rw-r--r--/0o644
1 83020eedd92d617c54794d716e987b942830ba00\n
2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo1' fetch --depth=2
remote: Enumerating objects: 1, done.
remote: Counting objects: 100% (1/1), done.
remote: Total 1 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (1/1), 157 bytes | 31.00 KiB/s, done.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo1' lg --all
* 83020ee - 2026-05-30 16:27 (6 seconds ago) 4 - Han Jiang (refs/remotes/server/master, refs/remotes/server/HEAD)
* 554f6e5 - 2026-05-30 16:27 (7 seconds ago) 3 - Han Jiang (grafted)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo1/.git/shallow'
./client/repo1/.git/shallow -/0o100/regular file rw-r--r--/0o644
1 554f6e5a6bc8024df35cb5bdb97e5673536421a2\n
2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo1' fetch --depth=4
remote: Enumerating objects: 2, done.
remote: Counting objects: 100% (2/2), done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 2 (delta 1), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (2/2), 198 bytes | 28.00 KiB/s, done.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo1' lg --all
* 83020ee - 2026-05-30 16:27 (8 seconds ago) 4 - Han Jiang (refs/remotes/server/master, refs/remotes/server/HEAD)
* 554f6e5 - 2026-05-30 16:27 (9 seconds ago) 3 - Han Jiang
* 1ba7dc9 - 2026-05-30 16:27 (9 seconds ago) 2 - Han Jiang
* 2353323 - 2026-05-30 16:27 (10 seconds ago) 1 - Han Jiang (grafted)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo1/.git/shallow'
./client/repo1/.git/shallow -/0o100/regular file rw-r--r--/0o644
1 2353323b410e8a333b8d7286be785c456d966055\n
2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo1' fetch --depth=8
remote: Total 0 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo1' lg --all
* 83020ee - 2026-05-30 16:27 (10 seconds ago) 4 - Han Jiang (refs/remotes/server/master, refs/remotes/server/HEAD)
* 554f6e5 - 2026-05-30 16:27 (11 seconds ago) 3 - Han Jiang
* 1ba7dc9 - 2026-05-30 16:27 (11 seconds ago) 2 - Han Jiang
* 2353323 - 2026-05-30 16:27 (12 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo1/.git/shallow'
find: ‘./client/repo1/.git/shallow’: No such file or directory
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' init './repo2'
Initialized empty Git repository in C:/Program Files/Git/test_git/client/repo2/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo2' remote add server 'file://'"$(realpath './server/repo.git')"
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo2' remote --verbose
server file:///test_git/server/repo.git (fetch)
server file:///test_git/server/repo.git (push)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo2' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server/repo.git
local file:.git/config remote.server.fetch=+refs/heads/*:refs/remotes/server/*
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo2' fetch --deepen=1
remote: Enumerating objects: 2, done.
remote: Counting objects: 100% (2/2), done.
remote: Total 2 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (2/2), 168 bytes | 16.00 KiB/s, done.
From file:///test_git/server/repo
* [new branch] master -> server/master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo2' lg --all
* 83020ee - 2026-05-30 16:27 (13 seconds ago) 4 - Han Jiang (grafted, refs/remotes/server/master, refs/remotes/server/HEAD)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo2/.git/shallow'
./client/repo2/.git/shallow -/0o100/regular file rw-r--r--/0o644
1 83020eedd92d617c54794d716e987b942830ba00\n
2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' init './repo3'
Initialized empty Git repository in C:/Program Files/Git/test_git/client/repo3/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo3' remote add server 'file://'"$(realpath './server/repo.git')"
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo3' remote --verbose
server file:///test_git/server/repo.git (fetch)
server file:///test_git/server/repo.git (push)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo3' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server/repo.git
local file:.git/config remote.server.fetch=+refs/heads/*:refs/remotes/server/*
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo3' fetch --depth=1
remote: Enumerating objects: 2, done.
remote: Counting objects: 100% (2/2), done.
remote: Total 2 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (2/2), 168 bytes | 21.00 KiB/s, done.
From file:///test_git/server/repo
* [new branch] master -> server/master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo3' lg --all
* 83020ee - 2026-05-30 16:27 (17 seconds ago) 4 - Han Jiang (grafted, refs/remotes/server/master, refs/remotes/server/HEAD)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo3/.git/shallow'
./client/repo3/.git/shallow -/0o100/regular file rw-r--r--/0o644
1 83020eedd92d617c54794d716e987b942830ba00\n
2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo3' fetch --deepen=1
remote: Enumerating objects: 1, done.
remote: Counting objects: 100% (1/1), done.
remote: Total 1 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (1/1), 157 bytes | 39.00 KiB/s, done.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo3' lg --all
* 83020ee - 2026-05-30 16:27 (19 seconds ago) 4 - Han Jiang (refs/remotes/server/master, refs/remotes/server/HEAD)
* 554f6e5 - 2026-05-30 16:27 (20 seconds ago) 3 - Han Jiang (grafted)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo3/.git/shallow'
./client/repo3/.git/shallow -/0o100/regular file rw-r--r--/0o644
1 554f6e5a6bc8024df35cb5bdb97e5673536421a2\n
2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo3' fetch --deepen=2
remote: Enumerating objects: 2, done.
remote: Counting objects: 100% (2/2), done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 2 (delta 1), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (2/2), 198 bytes | 39.00 KiB/s, done.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo3' lg --all
* 83020ee - 2026-05-30 16:27 (21 seconds ago) 4 - Han Jiang (refs/remotes/server/master, refs/remotes/server/HEAD)
* 554f6e5 - 2026-05-30 16:27 (22 seconds ago) 3 - Han Jiang
* 1ba7dc9 - 2026-05-30 16:27 (22 seconds ago) 2 - Han Jiang
* 2353323 - 2026-05-30 16:27 (23 seconds ago) 1 - Han Jiang (grafted)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo3/.git/shallow'
./client/repo3/.git/shallow -/0o100/regular file rw-r--r--/0o644
1 2353323b410e8a333b8d7286be785c456d966055\n
2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo3' fetch --deepen=4
remote: Total 0 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo3' lg --all
* 83020ee - 2026-05-30 16:27 (23 seconds ago) 4 - Han Jiang (refs/remotes/server/master, refs/remotes/server/HEAD)
* 554f6e5 - 2026-05-30 16:27 (24 seconds ago) 3 - Han Jiang
* 1ba7dc9 - 2026-05-30 16:27 (24 seconds ago) 2 - Han Jiang
* 2353323 - 2026-05-30 16:27 (25 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo3/.git/shallow'
find: ‘./client/repo3/.git/shallow’: No such file or directory
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server' init --bare './repo.git'
Initialized empty Git repository in C:/Program Files/Git/test_git/server/repo.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ branch_default_path="$(git -C './server/repo.git' symbolic-ref HEAD)"; echo "$branch_default_path"
refs/heads/master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo "$((++number))" >'./file'; git --git-dir='./server/repo.git' --work-tree='.' add './file'; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$(<'./file')"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 798cb2f] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' branch branch; git -C './server/repo.git' tag tag
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo "$((++number))" >'./file'; git --git-dir='./server/repo.git' --work-tree='.' add './file'; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$(<'./file')"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master 9a0955b] 2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ # git --git-dir='./server/repo.git' --work-tree='.' checkout branch
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' symbolic-ref HEAD "$(git -C './server/repo.git' rev-parse --symbolic-full-name branch)"
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' symbolic-ref HEAD
refs/heads/branch
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo "$((++number))" >'./file'; git --git-dir='./server/repo.git' --work-tree='.' add './file'; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$(<'./file')"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch 4aa834b] 3
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --all
* 4aa834b - 2026-05-30 16:28 (1 second ago) 3 - Han Jiang (HEAD -> refs/heads/branch)
| * 9a0955b - 2026-05-30 16:28 (2 seconds ago) 2 - Han Jiang (refs/heads/master)
|/
* 798cb2f - 2026-05-30 16:28 (3 seconds ago) 1 - Han Jiang (tag: refs/tags/tag)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' cat-file --batch-check --batch-all-objects
00750edc07d6415dcc07ae0351e9397b0222b7ba blob 2
0cfbf08886fca9a91cb753ec8734c84fcbe52c9f blob 2
4aa834bd633c8362e55e9d014414106881518a86 commit 214
798cb2fda72b7dd1f6b1dacb4a97eeeb905f3239 commit 166
9a0955bdd7e514f361327ed6f28bf57ab066514b commit 214
aff6316148f1524977997c486bcfe624c9094c4e tree 32
d00491fd7e5bb6fa28c517a0bb32b8b506539d4d blob 2
d9cc608eedd5d2cc63c262272b7a0f6ab6aed5dd tree 32
f27c6ae26adb8396d3861976ba268f87ad8afa0b tree 32
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' init './repo1'
Initialized empty Git repository in C:/Program Files/Git/test_git/client/repo1/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo1' remote add server 'file://'"$(realpath './server/repo.git')"
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo1' remote --verbose
server file:///test_git/server/repo.git (fetch)
server file:///test_git/server/repo.git (push)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo1' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server/repo.git
local file:.git/config remote.server.fetch=+refs/heads/*:refs/remotes/server/*
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo1' fetch server branch
remote: Enumerating objects: 6, done.
remote: Counting objects: 100% (6/6), done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 6 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (6/6), 384 bytes | 22.00 KiB/s, done.
From file:///test_git/server/repo
* branch branch -> FETCH_HEAD
* [new branch] branch -> server/branch
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo1' lg --all
* 4aa834b - 2026-05-30 16:28 (4 seconds ago) 3 - Han Jiang (refs/remotes/server/branch)
* 798cb2f - 2026-05-30 16:28 (6 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo1' cat-file --batch-check --batch-all-objects
00750edc07d6415dcc07ae0351e9397b0222b7ba blob 2
4aa834bd633c8362e55e9d014414106881518a86 commit 214
798cb2fda72b7dd1f6b1dacb4a97eeeb905f3239 commit 166
aff6316148f1524977997c486bcfe624c9094c4e tree 32
d00491fd7e5bb6fa28c517a0bb32b8b506539d4d blob 2
f27c6ae26adb8396d3861976ba268f87ad8afa0b tree 32
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' init './repo2'
Initialized empty Git repository in C:/Program Files/Git/test_git/client/repo2/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo2' remote add server 'file://'"$(realpath './server/repo.git')"
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo2' remote --verbose
server file:///test_git/server/repo.git (fetch)
server file:///test_git/server/repo.git (push)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo2' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server/repo.git
local file:.git/config remote.server.fetch=+refs/heads/*:refs/remotes/server/*
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo2' fetch --shallow-exclude="$branch_default_path" server branch
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (3/3), 214 bytes | 21.00 KiB/s, done.
From file:///test_git/server/repo
* branch branch -> FETCH_HEAD
* [new branch] branch -> server/branch
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo2' lg --all
* 4aa834b - 2026-05-30 16:28 (8 seconds ago) 3 - Han Jiang (grafted, refs/remotes/server/branch)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo2' cat-file --batch-check --batch-all-objects
00750edc07d6415dcc07ae0351e9397b0222b7ba blob 2
4aa834bd633c8362e55e9d014414106881518a86 commit 214
aff6316148f1524977997c486bcfe624c9094c4e tree 32
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo2/.git/shallow'
./client/repo2/.git/shallow -/0o100/regular file rw-r--r--/0o644
1 4aa834bd633c8362e55e9d014414106881518a86\n
2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server1' init --bare './repo.git'
Initialized empty Git repository in C:/Program Files/Git/test_git/server1/repo.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server1/repo.git' config list --local --show-scope --show-origin
local file:config core.repositoryformatversion=0
local file:config core.filemode=false
local file:config core.bare=true
local file:config core.ignorecase=true
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server1/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
[master (root-commit) 5ac49ba] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server1/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
[master cc1ba4f] 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server1/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
[master 3574842] 3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server1/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
[master 691fc8e] 4
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server1/repo.git' lg --all
* 691fc8e - 2026-05-30 16:28 (1 second ago) 4 - Han Jiang (HEAD -> refs/heads/master)
* 3574842 - 2026-05-30 16:28 (1 second ago) 3 - Han Jiang
* cc1ba4f - 2026-05-30 16:28 (2 seconds ago) 2 - Han Jiang
* 5ac49ba - 2026-05-30 16:28 (2 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server2' clone --mirror --depth=2 'file://'"$(realpath './server1/repo.git')" './repo.git'
Cloning into bare repository './repo.git'...
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 3 (delta 1), reused 0 (delta 0), pack-reused 0 (from 0)
Receiving objects: 100% (3/3), done.
Resolving deltas: 100% (1/1), done.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server2/repo.git' remote --verbose
origin file:///test_git/server1/repo.git (fetch)
origin file:///test_git/server1/repo.git (push)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server2/repo.git' config list --local --show-scope --show-origin
local file:config core.repositoryformatversion=0
local file:config core.filemode=false
local file:config core.bare=true
local file:config core.ignorecase=true
local file:config remote.origin.url=file:///test_git/server1/repo.git
local file:config remote.origin.tagopt=--no-tags
local file:config remote.origin.fetch=+refs/*:refs/*
local file:config remote.origin.mirror=true
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server2/repo.git' lg --all
* 691fc8e - 2026-05-30 16:28 (3 seconds ago) 4 - Han Jiang (HEAD -> refs/heads/master)
* 3574842 - 2026-05-30 16:28 (3 seconds ago) 3 - Han Jiang (grafted)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './server2/repo.git/shallow'
./server2/repo.git/shallow -/0o100/regular file rw-r--r--/0o644
1 3574842979029aa09abf4430b57a0d5a04b8ad4b\n
2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/client/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote add server2 'file://'"$(realpath './server2/repo.git')"
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose
server2 file:///test_git/server2/repo.git (fetch)
server2 file:///test_git/server2/repo.git (push)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server2.url=file:///test_git/server2/repo.git
local file:.git/config remote.server2.fetch=+refs/heads/*:refs/remotes/server2/*
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Total 3 (delta 1), reused 3 (delta 1), pack-reused 0 (from 0)
Unpacking objects: 100% (3/3), 232 bytes | 16.00 KiB/s, done.
warning: rejected refs/remotes/server2/master because shallow roots are not allowed to be updated
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo/.git/shallow'
find: ‘./client/repo/.git/shallow’: No such file or directory
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch --update-shallow
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Total 3 (delta 1), reused 3 (delta 1), pack-reused 0 (from 0)
Unpacking objects: 100% (3/3), 232 bytes | 232.00 KiB/s, done.
From file:///test_git/server2/repo
* [new branch] master -> server2/master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
remotes/server2/HEAD -> server2/master
remotes/server2/master 691fc8e 4
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all
* 691fc8e - 2026-05-30 16:28 (9 seconds ago) 4 - Han Jiang (refs/remotes/server2/master, refs/remotes/server2/HEAD)
* 3574842 - 2026-05-30 16:28 (9 seconds ago) 3 - Han Jiang (grafted)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo/.git/shallow'
./client/repo/.git/shallow -/0o100/regular file rw-r--r--/0o644
1 3574842979029aa09abf4430b57a0d5a04b8ad4b\n
2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server1/repo.git' --work-tree='.' checkout --orphan branch1
Switched to a new branch 'branch1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server1/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
[branch1 (root-commit) 8748781] 5
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server1/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
[branch1 a67e972] 6
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server1/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
[branch1 7ce7a4b] 7
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server1/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
[branch1 371dc2b] 8
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server1/repo.git' lg --all
* 371dc2b - 2026-05-30 16:28 (0 seconds ago) 8 - Han Jiang (HEAD -> refs/heads/branch1)
* 7ce7a4b - 2026-05-30 16:28 (1 second ago) 7 - Han Jiang
* a67e972 - 2026-05-30 16:28 (1 second ago) 6 - Han Jiang
* 8748781 - 2026-05-30 16:28 (1 second ago) 5 - Han Jiang
* 691fc8e - 2026-05-30 16:28 (13 seconds ago) 4 - Han Jiang (refs/heads/master)
* 3574842 - 2026-05-30 16:28 (13 seconds ago) 3 - Han Jiang
* cc1ba4f - 2026-05-30 16:28 (14 seconds ago) 2 - Han Jiang
* 5ac49ba - 2026-05-30 16:28 (14 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server2/repo.git' fetch --depth=2
remote: Enumerating objects: 2, done.
remote: Counting objects: 100% (2/2), done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 2 (delta 1), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (2/2), 238 bytes | 26.00 KiB/s, done.
From file:///test_git/server1/repo
* [new branch] branch1 -> branch1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server2/repo.git' lg --all
* 371dc2b - 2026-05-30 16:28 (2 seconds ago) 8 - Han Jiang (HEAD -> refs/heads/branch1)
* 7ce7a4b - 2026-05-30 16:28 (3 seconds ago) 7 - Han Jiang (grafted)
* 691fc8e - 2026-05-30 16:28 (15 seconds ago) 4 - Han Jiang (refs/heads/master)
* 3574842 - 2026-05-30 16:28 (15 seconds ago) 3 - Han Jiang (grafted)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './server2/repo.git/shallow'
./server2/repo.git/shallow -/0o100/regular file rw-r--r--/0o644
1 3574842979029aa09abf4430b57a0d5a04b8ad4b\n
2 7ce7a4b56d299a6e8a190f66fae0090c32f794fc\n
3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch
remote: Enumerating objects: 2, done.
remote: Counting objects: 100% (2/2), done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 2 (delta 1), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (2/2), 238 bytes | 29.00 KiB/s, done.
warning: rejected refs/remotes/server2/branch1 because shallow roots are not allowed to be updated
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
remotes/server2/HEAD -> server2/master
remotes/server2/master 691fc8e 4
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all
* 691fc8e - 2026-05-30 16:28 (17 seconds ago) 4 - Han Jiang (refs/remotes/server2/master, refs/remotes/server2/HEAD)
* 3574842 - 2026-05-30 16:28 (17 seconds ago) 3 - Han Jiang (grafted)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo/.git/shallow'
./client/repo/.git/shallow -/0o100/regular file rw-r--r--/0o644
1 3574842979029aa09abf4430b57a0d5a04b8ad4b\n
2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch --update-shallow
remote: Enumerating objects: 2, done.
remote: Counting objects: 100% (2/2), done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 2 (delta 1), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (2/2), 238 bytes | 238.00 KiB/s, done.
error: Could not read a67e9725bbeed91fd7500a0b408cdd50e183385f
From file:///test_git/server2/repo
* [new branch] branch1 -> server2/branch1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
remotes/server2/HEAD -> server2/master
remotes/server2/branch1 371dc2b 8
remotes/server2/master 691fc8e 4
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all
* 371dc2b - 2026-05-30 16:28 (7 seconds ago) 8 - Han Jiang (refs/remotes/server2/branch1)
* 7ce7a4b - 2026-05-30 16:28 (8 seconds ago) 7 - Han Jiang (grafted)
* 691fc8e - 2026-05-30 16:28 (20 seconds ago) 4 - Han Jiang (refs/remotes/server2/master, refs/remotes/server2/HEAD)
* 3574842 - 2026-05-30 16:28 (20 seconds ago) 3 - Han Jiang (grafted)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo/.git/shallow'
./client/repo/.git/shallow -/0o100/regular file rw-r--r--/0o644
1 3574842979029aa09abf4430b57a0d5a04b8ad4b\n
2 7ce7a4b56d299a6e8a190f66fae0090c32f794fc\n
3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server' init --bare './repo.git'
Initialized empty Git repository in C:/Program Files/Git/test_git/server/repo.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty; git -C './server/repo.git' branch branch1; git -C './server/repo.git' branch branch2
[master (root-commit) 2051cd4] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/client/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote add server 'file://'"$(realpath './server/repo.git')"
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose
server file:///test_git/server/repo.git (fetch)
server file:///test_git/server/repo.git (push)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server/repo.git
local file:.git/config remote.server.fetch=+refs/heads/*:refs/remotes/server/*
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch --set-upstream server
remote: Enumerating objects: 2, done.
remote: Counting objects: 100% (2/2), done.
remote: Total 2 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (2/2), 139 bytes | 13.00 KiB/s, done.
warning: no source branch found;
you need to specify exactly one branch with the --set-upstream option
From file:///test_git/server/repo
* [new branch] branch1 -> server/branch1
* [new branch] branch2 -> server/branch2
* [new branch] master -> server/master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo/.git/FETCH_HEAD'
./client/repo/.git/FETCH_HEAD -/0o100/regular file rw-r--r--/0o644
1 2051cd421337120a8a2b673203feea6853146280\tnot-for-merge\tbranch 'branch1' of file:///test_git/server/repo\n
2 2051cd421337120a8a2b673203feea6853146280\tnot-for-merge\tbranch 'branch2' of file:///test_git/server/repo\n
3 2051cd421337120a8a2b673203feea6853146280\tnot-for-merge\tbranch 'master' of file:///test_git/server/repo\n
4
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server/repo.git
local file:.git/config remote.server.fetch=+refs/heads/*:refs/remotes/server/*
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
remotes/server/HEAD -> server/master
remotes/server/branch1 2051cd4 1
remotes/server/branch2 2051cd4 1
remotes/server/master 2051cd4 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server' init --bare './repo.git'
Initialized empty Git repository in C:/Program Files/Git/test_git/server/repo.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty; git -C './server/repo.git' branch branch1; git -C './server/repo.git' branch branch2
[master (root-commit) 26690a2] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/client/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote add server 'file://'"$(realpath './server/repo.git')"
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose
server file:///test_git/server/repo.git (fetch)
server file:///test_git/server/repo.git (push)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server/repo.git
local file:.git/config remote.server.fetch=+refs/heads/*:refs/remotes/server/*
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch --set-upstream server branch1 branch2
remote: Enumerating objects: 2, done.
remote: Counting objects: 100% (2/2), done.
remote: Total 2 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (2/2), 139 bytes | 19.00 KiB/s, done.
warning: multiple branches detected, incompatible with --set-upstream
From file:///test_git/server/repo
* branch branch1 -> FETCH_HEAD
* branch branch2 -> FETCH_HEAD
* [new branch] branch1 -> server/branch1
* [new branch] branch2 -> server/branch2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo/.git/FETCH_HEAD'
./client/repo/.git/FETCH_HEAD -/0o100/regular file rw-r--r--/0o644
1 26690a2baac5aa172093f9d9a0bb76eff8d0b348\t\tbranch 'branch1' of file:///test_git/server/repo\n
2 26690a2baac5aa172093f9d9a0bb76eff8d0b348\t\tbranch 'branch2' of file:///test_git/server/repo\n
3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server/repo.git
local file:.git/config remote.server.fetch=+refs/heads/*:refs/remotes/server/*
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
remotes/server/branch1 26690a2 1
remotes/server/branch2 26690a2 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server' init --bare './repo.git'
Initialized empty Git repository in C:/Program Files/Git/test_git/server/repo.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty; git -C './server/repo.git' branch branch1; git -C './server/repo.git' branch branch2
[master (root-commit) f62dd72] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/client/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote add server 'file://'"$(realpath './server/repo.git')"
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose
server file:///test_git/server/repo.git (fetch)
server file:///test_git/server/repo.git (push)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server/repo.git
local file:.git/config remote.server.fetch=+refs/heads/*:refs/remotes/server/*
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch --set-upstream server branch1
remote: Enumerating objects: 2, done.
remote: Counting objects: 100% (2/2), done.
remote: Total 2 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (2/2), 138 bytes | 17.00 KiB/s, done.
From file:///test_git/server/repo
* branch branch1 -> FETCH_HEAD
* [new branch] branch1 -> server/branch1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo/.git/FETCH_HEAD'
./client/repo/.git/FETCH_HEAD -/0o100/regular file rw-r--r--/0o644
1 f62dd72b20a98f0af3f7f3e875ab71cc443ad399\t\tbranch 'branch1' of file:///test_git/server/repo\n
2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server/repo.git
local file:.git/config remote.server.fetch=+refs/heads/*:refs/remotes/server/*
local file:.git/config branch.master.remote=server
local file:.git/config branch.master.merge=refs/heads/branch1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
remotes/server/branch1 f62dd72 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch --set-upstream server refs/heads/branch2
From file:///test_git/server/repo
* branch branch2 -> FETCH_HEAD
* [new branch] branch2 -> server/branch2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo/.git/FETCH_HEAD'
./client/repo/.git/FETCH_HEAD -/0o100/regular file rw-r--r--/0o644
1 f62dd72b20a98f0af3f7f3e875ab71cc443ad399\t\tbranch 'branch2' of file:///test_git/server/repo\n
2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server/repo.git
local file:.git/config remote.server.fetch=+refs/heads/*:refs/remotes/server/*
local file:.git/config branch.master.remote=server
local file:.git/config branch.master.merge=refs/heads/branch2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
remotes/server/branch1 f62dd72 1
remotes/server/branch2 f62dd72 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server' init --bare './repo.git'
Initialized empty Git repository in C:/Program Files/Git/test_git/server/repo.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty; git -C './server/repo.git' branch branch1; git -C './server/repo.git' branch branch2
[master (root-commit) 1db4b8f] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/client/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch --set-upstream 'file://'"$(realpath './server/repo.git')"
remote: Enumerating objects: 2, done.
remote: Counting objects: 100% (2/2), done.
remote: Total 2 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (2/2), 138 bytes | 19.00 KiB/s, done.
From file:///test_git/server/repo
* branch HEAD -> FETCH_HEAD
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo/.git/FETCH_HEAD'
./client/repo/.git/FETCH_HEAD -/0o100/regular file rw-r--r--/0o644
1 1db4b8f5c2998938d2c6aabb03bcc5ceeb2945e7\t\tfile:///test_git/server/repo\n
2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config branch.master.remote=file:///test_git/server/repo.git
local file:.git/config branch.master.merge=HEAD
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch
From file:///test_git/server/repo
* branch HEAD -> FETCH_HEAD
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo/.git/FETCH_HEAD'
./client/repo/.git/FETCH_HEAD -/0o100/regular file rw-r--r--/0o644
1 1db4b8f5c2998938d2c6aabb03bcc5ceeb2945e7\t\tfile:///test_git/server/repo\n
2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config branch.master.remote=file:///test_git/server/repo.git
local file:.git/config branch.master.merge=HEAD
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config set --local 'remote.''file://'"$(realpath './server/repo.git')"'.fetch' '+HEAD:refs/remotes/server/HEAD'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch
From file:///test_git/server/repo
* [new ref] HEAD -> server/HEAD
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo/.git/FETCH_HEAD'
./client/repo/.git/FETCH_HEAD -/0o100/regular file rw-r--r--/0o644
1 1db4b8f5c2998938d2c6aabb03bcc5ceeb2945e7\t\tfile:///test_git/server/repo\n
2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config branch.master.remote=file:///test_git/server/repo.git
local file:.git/config branch.master.merge=HEAD
local file:.git/config remote.file:///test_git/server/repo.git.fetch=+HEAD:refs/remotes/server/HEAD
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
remotes/server/HEAD 1db4b8f 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config set --local --append 'remote.''file://'"$(realpath './server/repo.git')"'.fetch' '+refs/heads/*:refs/remotes/server/*'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch
From file:///test_git/server/repo
* [new branch] branch1 -> server/branch1
* [new branch] branch2 -> server/branch2
* [new branch] master -> server/master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo/.git/FETCH_HEAD'
./client/repo/.git/FETCH_HEAD -/0o100/regular file rw-r--r--/0o644
1 1db4b8f5c2998938d2c6aabb03bcc5ceeb2945e7\t\tfile:///test_git/server/repo\n
2 1db4b8f5c2998938d2c6aabb03bcc5ceeb2945e7\tnot-for-merge\tbranch 'branch1' of file:///test_git/server/repo\n
3 1db4b8f5c2998938d2c6aabb03bcc5ceeb2945e7\tnot-for-merge\tbranch 'branch2' of file:///test_git/server/repo\n
4 1db4b8f5c2998938d2c6aabb03bcc5ceeb2945e7\tnot-for-merge\tbranch 'master' of file:///test_git/server/repo\n
5
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config branch.master.remote=file:///test_git/server/repo.git
local file:.git/config branch.master.merge=HEAD
local file:.git/config remote.file:///test_git/server/repo.git.fetch=+HEAD:refs/remotes/server/HEAD
local file:.git/config remote.file:///test_git/server/repo.git.fetch=+refs/heads/*:refs/remotes/server/*
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
remotes/server/HEAD 1db4b8f 1
remotes/server/branch1 1db4b8f 1
remotes/server/branch2 1db4b8f 1
remotes/server/master 1db4b8f 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server1' init --bare './repo.git'
Initialized empty Git repository in C:/Program Files/Git/test_git/server1/repo.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ branch_default_name="$(git -C './server1/repo.git' branch --show-current)"; echo "$branch_default_name"
master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server2' init --bare './repo.git'
Initialized empty Git repository in C:/Program Files/Git/test_git/server2/repo.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/client/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote add server1 'file://'"$(realpath './server1/repo.git')"
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote add server2 'file://'"$(realpath './server2/repo.git')"
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose
server1 file:///test_git/server1/repo.git (fetch)
server1 file:///test_git/server1/repo.git (push)
server2 file:///test_git/server2/repo.git (fetch)
server2 file:///test_git/server2/repo.git (push)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server1.url=file:///test_git/server1/repo.git
local file:.git/config remote.server1.fetch=+refs/heads/*:refs/remotes/server1/*
local file:.git/config remote.server2.url=file:///test_git/server2/repo.git
local file:.git/config remote.server2.fetch=+refs/heads/*:refs/remotes/server2/*
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server1/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty; git --git-dir='./server1/repo.git' --work-tree='.' checkout -b branch1
[master (root-commit) f64171d] 1
Switched to a new branch 'branch1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server2/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty; git --git-dir='./server2/repo.git' --work-tree='.' checkout -b branch2
[master (root-commit) 3c6f808] 2
Switched to a new branch 'branch2'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo/.git/FETCH_HEAD'
./client/repo/.git/FETCH_HEAD -/0o100/regular empty file rw-r--r--/0o644
1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server1/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
[branch1 b6eaaba] 3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server2/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
[branch2 2b94308] 4
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote remove server1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server2.url=file:///test_git/server2/repo.git
local file:.git/config remote.server2.fetch=+refs/heads/*:refs/remotes/server2/*
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 3 (delta 1), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (3/3), 206 bytes | 17.00 KiB/s, done.
From file:///test_git/server2/repo
* [new branch] branch2 -> server2/branch2
* [new branch] master -> server2/master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo/.git/FETCH_HEAD'
./client/repo/.git/FETCH_HEAD -/0o100/regular file rw-r--r--/0o644
1 2b94308112633b93887ad74487ccdf7a7205d02e\tnot-for-merge\tbranch 'branch2' of file:///test_git/server2/repo\n
2 3c6f8083d59e7dd9cda34b757fd078e17ccc9ecd\tnot-for-merge\tbranch 'master' of file:///test_git/server2/repo\n
3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all
* 2b94308 - 2026-05-30 16:29 (2 seconds ago) 4 - Han Jiang (refs/remotes/server2/branch2, refs/remotes/server2/HEAD)
* 3c6f808 - 2026-05-30 16:29 (6 seconds ago) 2 - Han Jiang (refs/remotes/server2/master)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server1/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
[branch1 ccae47c] 5
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server2/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
[branch2 8f1d440] 6
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --set-upstream-to='file://'"$(realpath './server1/repo.git')" "$branch_default_name"
fatal: no commit on branch 'master' yet
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server2.url=file:///test_git/server2/repo.git
local file:.git/config remote.server2.fetch=+refs/heads/*:refs/remotes/server2/*
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config set --local 'branch.'"$branch_default_name"'.remote' 'file://'"$(realpath './server1/repo.git')"
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server2.url=file:///test_git/server2/repo.git
local file:.git/config remote.server2.fetch=+refs/heads/*:refs/remotes/server2/*
local file:.git/config branch.master.remote=file:///test_git/server1/repo.git
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch
remote: Enumerating objects: 4, done.
remote: Counting objects: 100% (4/4), done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 4 (delta 2), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (4/4), 284 bytes | 23.00 KiB/s, done.
From file:///test_git/server1/repo
* branch HEAD -> FETCH_HEAD
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo/.git/FETCH_HEAD'
./client/repo/.git/FETCH_HEAD -/0o100/regular file rw-r--r--/0o644
1 ccae47c3784684203d77a39b6194a19050c94d7a\t\tfile:///test_git/server1/repo\n
2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all
* 2b94308 - 2026-05-30 16:29 (8 seconds ago) 4 - Han Jiang (refs/remotes/server2/branch2, refs/remotes/server2/HEAD)
* 3c6f808 - 2026-05-30 16:29 (12 seconds ago) 2 - Han Jiang (refs/remotes/server2/master)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ awk 'BEGIN { ORS = "\0"; } { print $1; }' <'./client/repo/.git/FETCH_HEAD' | xargs --null git -C './client/repo' lg --all
* ccae47c - 2026-05-30 16:29 (5 seconds ago) 5 - Han Jiang
* b6eaaba - 2026-05-30 16:29 (9 seconds ago) 3 - Han Jiang
* f64171d - 2026-05-30 16:29 (12 seconds ago) 1 - Han Jiang
* 2b94308 - 2026-05-30 16:29 (8 seconds ago) 4 - Han Jiang (refs/remotes/server2/branch2, refs/remotes/server2/HEAD)
* 3c6f808 - 2026-05-30 16:29 (12 seconds ago) 2 - Han Jiang (refs/remotes/server2/master)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server1/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
[branch1 3e76abd] 7
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server2/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
[branch2 788a148] 8
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config unset --local 'branch.'"$branch_default_name"'.remote'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote add server1 'file://'"$(realpath './server1/repo.git')"
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server2.url=file:///test_git/server2/repo.git
local file:.git/config remote.server2.fetch=+refs/heads/*:refs/remotes/server2/*
local file:.git/config remote.server1.url=file:///test_git/server1/repo.git
local file:.git/config remote.server1.fetch=+refs/heads/*:refs/remotes/server1/*
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch server2
remote: Enumerating objects: 2, done.
remote: Counting objects: 100% (2/2), done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 2 (delta 1), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (2/2), 236 bytes | 26.00 KiB/s, done.
From file:///test_git/server2/repo
2b94308..788a148 branch2 -> server2/branch2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo/.git/FETCH_HEAD'
./client/repo/.git/FETCH_HEAD -/0o100/regular file rw-r--r--/0o644
1 788a1481590460aae576fce1a1fc9271e3185e9e\tnot-for-merge\tbranch 'branch2' of file:///test_git/server2/repo\n
2 3c6f8083d59e7dd9cda34b757fd078e17ccc9ecd\tnot-for-merge\tbranch 'master' of file:///test_git/server2/repo\n
3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all
* 788a148 - 2026-05-30 16:29 (3 seconds ago) 8 - Han Jiang (refs/remotes/server2/branch2, refs/remotes/server2/HEAD)
* 8f1d440 - 2026-05-30 16:29 (8 seconds ago) 6 - Han Jiang
* 2b94308 - 2026-05-30 16:29 (12 seconds ago) 4 - Han Jiang
* 3c6f808 - 2026-05-30 16:29 (16 seconds ago) 2 - Han Jiang (refs/remotes/server2/master)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server1/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
[branch1 ee58582] 9
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server2/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
[branch2 69eb906] 10
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch 'file://'"$(realpath './server1/repo.git')"
remote: Enumerating objects: 6, done.
remote: Counting objects: 100% (6/6), done.
remote: Compressing objects: 100% (5/5), done.
remote: Total 6 (delta 4), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (6/6), 445 bytes | 40.00 KiB/s, done.
From file:///test_git/server1/repo
* branch HEAD -> FETCH_HEAD
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo/.git/FETCH_HEAD'
./client/repo/.git/FETCH_HEAD -/0o100/regular file rw-r--r--/0o644
1 ee58582d519956adeb3fdaafa9df951682ba9e3b\t\tfile:///test_git/server1/repo\n
2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all
* 788a148 - 2026-05-30 16:29 (7 seconds ago) 8 - Han Jiang (refs/remotes/server2/branch2, refs/remotes/server2/HEAD)
* 8f1d440 - 2026-05-30 16:29 (12 seconds ago) 6 - Han Jiang
* 2b94308 - 2026-05-30 16:29 (16 seconds ago) 4 - Han Jiang
* 3c6f808 - 2026-05-30 16:29 (20 seconds ago) 2 - Han Jiang (refs/remotes/server2/master)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all FETCH_HEAD
* ee58582 - 2026-05-30 16:29 (3 seconds ago) 9 - Han Jiang
* 3e76abd - 2026-05-30 16:29 (7 seconds ago) 7 - Han Jiang
* ccae47c - 2026-05-30 16:29 (13 seconds ago) 5 - Han Jiang
* b6eaaba - 2026-05-30 16:29 (17 seconds ago) 3 - Han Jiang
* f64171d - 2026-05-30 16:29 (20 seconds ago) 1 - Han Jiang
* 788a148 - 2026-05-30 16:29 (7 seconds ago) 8 - Han Jiang (refs/remotes/server2/branch2, refs/remotes/server2/HEAD)
* 8f1d440 - 2026-05-30 16:29 (12 seconds ago) 6 - Han Jiang
* 2b94308 - 2026-05-30 16:29 (16 seconds ago) 4 - Han Jiang
* 3c6f808 - 2026-05-30 16:29 (20 seconds ago) 2 - Han Jiang (refs/remotes/server2/master)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ awk 'BEGIN { ORS = "\0"; } { print $1; }' <'./client/repo/.git/FETCH_HEAD' | xargs --null git -C './client/repo' lg --all
* ee58582 - 2026-05-30 16:29 (4 seconds ago) 9 - Han Jiang
* 3e76abd - 2026-05-30 16:29 (8 seconds ago) 7 - Han Jiang
* ccae47c - 2026-05-30 16:29 (14 seconds ago) 5 - Han Jiang
* b6eaaba - 2026-05-30 16:29 (18 seconds ago) 3 - Han Jiang
* f64171d - 2026-05-30 16:29 (21 seconds ago) 1 - Han Jiang
* 788a148 - 2026-05-30 16:29 (8 seconds ago) 8 - Han Jiang (refs/remotes/server2/branch2, refs/remotes/server2/HEAD)
* 8f1d440 - 2026-05-30 16:29 (13 seconds ago) 6 - Han Jiang
* 2b94308 - 2026-05-30 16:29 (17 seconds ago) 4 - Han Jiang
* 3c6f808 - 2026-05-30 16:29 (21 seconds ago) 2 - Han Jiang (refs/remotes/server2/master)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server1/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
[branch1 0d1c7e0] 11
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server2/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
[branch2 e4ecc29] 12
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch 'file://'"$(realpath './server1/repo.git')" "$branch_default_name" branch1
remote: Enumerating objects: 7, done.
remote: Counting objects: 100% (7/7), done.
remote: Compressing objects: 100% (6/6), done.
remote: Total 7 (delta 5), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (7/7), 522 bytes | 65.00 KiB/s, done.
From file:///test_git/server1/repo
* branch master -> FETCH_HEAD
* branch branch1 -> FETCH_HEAD
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo/.git/FETCH_HEAD'
./client/repo/.git/FETCH_HEAD -/0o100/regular file rw-r--r--/0o644
1 f64171d764c2ddb38cef8cb40023a3ff203e6474\t\tbranch 'master' of file:///test_git/server1/repo\n
2 0d1c7e0c8f8e789ed52ed88c7f7945059db0d9ce\t\tbranch 'branch1' of file:///test_git/server1/repo\n
3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all
* 788a148 - 2026-05-30 16:29 (11 seconds ago) 8 - Han Jiang (refs/remotes/server2/branch2, refs/remotes/server2/HEAD)
* 8f1d440 - 2026-05-30 16:29 (16 seconds ago) 6 - Han Jiang
* 2b94308 - 2026-05-30 16:29 (20 seconds ago) 4 - Han Jiang
* 3c6f808 - 2026-05-30 16:29 (24 seconds ago) 2 - Han Jiang (refs/remotes/server2/master)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all FETCH_HEAD
* 788a148 - 2026-05-30 16:29 (11 seconds ago) 8 - Han Jiang (refs/remotes/server2/branch2, refs/remotes/server2/HEAD)
* 8f1d440 - 2026-05-30 16:29 (16 seconds ago) 6 - Han Jiang
* 2b94308 - 2026-05-30 16:29 (20 seconds ago) 4 - Han Jiang
* 3c6f808 - 2026-05-30 16:29 (24 seconds ago) 2 - Han Jiang (refs/remotes/server2/master)
* f64171d - 2026-05-30 16:29 (24 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ awk 'BEGIN { ORS = "\0"; } { print $1; }' <'./client/repo/.git/FETCH_HEAD' | xargs --null git -C './client/repo' lg --all
* 0d1c7e0 - 2026-05-30 16:29 (4 seconds ago) 11 - Han Jiang
* ee58582 - 2026-05-30 16:29 (8 seconds ago) 9 - Han Jiang
* 3e76abd - 2026-05-30 16:29 (12 seconds ago) 7 - Han Jiang
* ccae47c - 2026-05-30 16:29 (18 seconds ago) 5 - Han Jiang
* b6eaaba - 2026-05-30 16:29 (22 seconds ago) 3 - Han Jiang
* f64171d - 2026-05-30 16:29 (25 seconds ago) 1 - Han Jiang
* 788a148 - 2026-05-30 16:29 (12 seconds ago) 8 - Han Jiang (refs/remotes/server2/branch2, refs/remotes/server2/HEAD)
* 8f1d440 - 2026-05-30 16:29 (17 seconds ago) 6 - Han Jiang
* 2b94308 - 2026-05-30 16:29 (21 seconds ago) 4 - Han Jiang
* 3c6f808 - 2026-05-30 16:29 (25 seconds ago) 2 - Han Jiang (refs/remotes/server2/master)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server1/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
[branch1 12da095] 13
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server2/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
[branch2 e50785b] 14
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch 'file://'"$(realpath './server1/repo.git')" branch1 "$branch_default_name"
remote: Enumerating objects: 8, done.
remote: Counting objects: 100% (8/8), done.
remote: Compressing objects: 100% (7/7), done.
remote: Total 8 (delta 6), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (8/8), 603 bytes | 86.00 KiB/s, done.
From file:///test_git/server1/repo
* branch branch1 -> FETCH_HEAD
* branch master -> FETCH_HEAD
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo/.git/FETCH_HEAD'
./client/repo/.git/FETCH_HEAD -/0o100/regular file rw-r--r--/0o644
1 12da0955aa57fd03d651075b6d0b27f5f8512669\t\tbranch 'branch1' of file:///test_git/server1/repo\n
2 f64171d764c2ddb38cef8cb40023a3ff203e6474\t\tbranch 'master' of file:///test_git/server1/repo\n
3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all
* 788a148 - 2026-05-30 16:29 (15 seconds ago) 8 - Han Jiang (refs/remotes/server2/branch2, refs/remotes/server2/HEAD)
* 8f1d440 - 2026-05-30 16:29 (20 seconds ago) 6 - Han Jiang
* 2b94308 - 2026-05-30 16:29 (24 seconds ago) 4 - Han Jiang
* 3c6f808 - 2026-05-30 16:29 (28 seconds ago) 2 - Han Jiang (refs/remotes/server2/master)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all FETCH_HEAD
* 12da095 - 2026-05-30 16:30 (3 seconds ago) 13 - Han Jiang
* 0d1c7e0 - 2026-05-30 16:29 (8 seconds ago) 11 - Han Jiang
* ee58582 - 2026-05-30 16:29 (12 seconds ago) 9 - Han Jiang
* 3e76abd - 2026-05-30 16:29 (16 seconds ago) 7 - Han Jiang
* ccae47c - 2026-05-30 16:29 (22 seconds ago) 5 - Han Jiang
* b6eaaba - 2026-05-30 16:29 (26 seconds ago) 3 - Han Jiang
* f64171d - 2026-05-30 16:29 (29 seconds ago) 1 - Han Jiang
* 788a148 - 2026-05-30 16:29 (16 seconds ago) 8 - Han Jiang (refs/remotes/server2/branch2, refs/remotes/server2/HEAD)
* 8f1d440 - 2026-05-30 16:29 (21 seconds ago) 6 - Han Jiang
* 2b94308 - 2026-05-30 16:29 (25 seconds ago) 4 - Han Jiang
* 3c6f808 - 2026-05-30 16:29 (29 seconds ago) 2 - Han Jiang (refs/remotes/server2/master)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ awk 'BEGIN { ORS = "\0"; } { print $1; }' <'./client/repo/.git/FETCH_HEAD' | xargs --null git -C './client/repo' lg --all
* 12da095 - 2026-05-30 16:30 (3 seconds ago) 13 - Han Jiang
* 0d1c7e0 - 2026-05-30 16:29 (8 seconds ago) 11 - Han Jiang
* ee58582 - 2026-05-30 16:29 (12 seconds ago) 9 - Han Jiang
* 3e76abd - 2026-05-30 16:29 (16 seconds ago) 7 - Han Jiang
* ccae47c - 2026-05-30 16:29 (22 seconds ago) 5 - Han Jiang
* b6eaaba - 2026-05-30 16:29 (26 seconds ago) 3 - Han Jiang
* f64171d - 2026-05-30 16:29 (29 seconds ago) 1 - Han Jiang
* 788a148 - 2026-05-30 16:29 (16 seconds ago) 8 - Han Jiang (refs/remotes/server2/branch2, refs/remotes/server2/HEAD)
* 8f1d440 - 2026-05-30 16:29 (21 seconds ago) 6 - Han Jiang
* 2b94308 - 2026-05-30 16:29 (25 seconds ago) 4 - Han Jiang
* 3c6f808 - 2026-05-30 16:29 (29 seconds ago) 2 - Han Jiang (refs/remotes/server2/master)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server' init --bare './repo.git'
Initialized empty Git repository in C:/Program Files/Git/test_git/server/repo.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' checkout --orphan branch1; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
Switched to a new branch 'branch1'
[branch1 (root-commit) 91f1a80] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' checkout --orphan branch2; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
Switched to a new branch 'branch2'
[branch2 (root-commit) 4af7971] 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' checkout --orphan branch3; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
Switched to a new branch 'branch3'
[branch3 (root-commit) 62028e6] 3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' checkout --orphan branch4; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
Switched to a new branch 'branch4'
[branch4 (root-commit) 26e5500] 4
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' checkout --orphan branch5; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
Switched to a new branch 'branch5'
[branch5 (root-commit) 378f0b5] 5
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' checkout --orphan branch6; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
Switched to a new branch 'branch6'
[branch6 (root-commit) 019b60c] 6
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' checkout --orphan branch7; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
Switched to a new branch 'branch7'
[branch7 (root-commit) bd63651] 7
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' checkout --orphan branch8; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
Switched to a new branch 'branch8'
[branch8 (root-commit) cf0a7dd] 8
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/client/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote add server 'file://'"$(realpath './server/repo.git')"
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose
server file:///test_git/server/repo.git (fetch)
server file:///test_git/server/repo.git (push)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server/repo.git
local file:.git/config remote.server.fetch=+refs/heads/*:refs/remotes/server/*
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config unset --local 'remote.server.fetch'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server/repo.git
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch server
remote: Enumerating objects: 2, done.
remote: Counting objects: 100% (2/2), done.
remote: Total 2 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (2/2), 138 bytes | 15.00 KiB/s, done.
From file:///test_git/server/repo
* branch HEAD -> FETCH_HEAD
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo/.git/FETCH_HEAD'
./client/repo/.git/FETCH_HEAD -/0o100/regular file rw-r--r--/0o644
1 cf0a7dd8c4235dff8c5ad568f62d75c4a314eb4c\t\tfile:///test_git/server/repo\n
2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all FETCH_HEAD
* cf0a7dd - 2026-05-30 16:30 (5 seconds ago) 8 - Han Jiang
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' -c 'remote.server.fetch=+refs/heads/*' fetch server
fatal: invalid refspec '+refs/heads/*'
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' -c 'remote.server.fetch=+refs/heads/*:' fetch server
fatal: invalid refspec '+refs/heads/*:'
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' -c 'remote.server.fetch=+refs/heads/*:refs/remotes/server/*' fetch server
remote: Enumerating objects: 9, done.
remote: Counting objects: 100% (9/9), done.
remote: Compressing objects: 100% (8/8), done.
remote: Total 9 (delta 7), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (9/9), 334 bytes | 11.00 KiB/s, done.
From file:///test_git/server/repo
* [new branch] branch1 -> server/branch1
* [new branch] branch2 -> server/branch2
* [new branch] branch3 -> server/branch3
* [new branch] branch4 -> server/branch4
* [new branch] branch5 -> server/branch5
* [new branch] branch6 -> server/branch6
* [new branch] branch7 -> server/branch7
* [new branch] branch8 -> server/branch8
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo/.git/FETCH_HEAD'
./client/repo/.git/FETCH_HEAD -/0o100/regular file rw-r--r--/0o644
1 91f1a80233cbdaa303f0c0aaefdd5821b6a39ed7\tnot-for-merge\tbranch 'branch1' of file:///test_git/server/repo\n
2 4af79719071aaff0868e93d9e57769aa1bda7958\tnot-for-merge\tbranch 'branch2' of file:///test_git/server/repo\n
3 62028e6ffba88fd0a51b9bad4f7f5a91fbba00bf\tnot-for-merge\tbranch 'branch3' of file:///test_git/server/repo\n
4 26e55009b8bdda906f778bb755ab9281a2fd7c90\tnot-for-merge\tbranch 'branch4' of file:///test_git/server/repo\n
5 378f0b549e15a4e8cb78b9148437718e84be8ff9\tnot-for-merge\tbranch 'branch5' of file:///test_git/server/repo\n
6 019b60ce2e1298801a21d104f98ea50c555d0402\tnot-for-merge\tbranch 'branch6' of file:///test_git/server/repo\n
7 bd63651877008467d54cc6272ed9524459a2738d\tnot-for-merge\tbranch 'branch7' of file:///test_git/server/repo\n
8 cf0a7dd8c4235dff8c5ad568f62d75c4a314eb4c\tnot-for-merge\tbranch 'branch8' of file:///test_git/server/repo\n
9
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all
* cf0a7dd - 2026-05-30 16:30 (9 seconds ago) 8 - Han Jiang (refs/remotes/server/branch8, refs/remotes/server/HEAD)
* 019b60c - 2026-05-30 16:30 (10 seconds ago) 6 - Han Jiang (refs/remotes/server/branch6)
* bd63651 - 2026-05-30 16:30 (10 seconds ago) 7 - Han Jiang (refs/remotes/server/branch7)
* 378f0b5 - 2026-05-30 16:30 (11 seconds ago) 5 - Han Jiang (refs/remotes/server/branch5)
* 62028e6 - 2026-05-30 16:30 (12 seconds ago) 3 - Han Jiang (refs/remotes/server/branch3)
* 26e5500 - 2026-05-30 16:30 (12 seconds ago) 4 - Han Jiang (refs/remotes/server/branch4)
* 91f1a80 - 2026-05-30 16:30 (13 seconds ago) 1 - Han Jiang (refs/remotes/server/branch1)
* 4af7971 - 2026-05-30 16:30 (13 seconds ago) 2 - Han Jiang (refs/remotes/server/branch2)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' checkout branch1; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty; git --git-dir='./server/repo.git' --work-tree='.' checkout branch2; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty; git --git-dir='./server/repo.git' --work-tree='.' checkout branch3; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty; git --git-dir='./server/repo.git' --work-tree='.' checkout branch4; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty; git --git-dir='./server/repo.git' --work-tree='.' checkout branch5; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty; git --git-dir='./server/repo.git' --work-tree='.' checkout branch6; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty; git --git-dir='./server/repo.git' --work-tree='.' checkout branch7; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty; git --git-dir='./server/repo.git' --work-tree='.' checkout branch8; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
Switched to branch 'branch1'
[branch1 e860eab] 9
Switched to branch 'branch2'
[branch2 8f41692] 10
Switched to branch 'branch3'
[branch3 c6af7f6] 11
Switched to branch 'branch4'
[branch4 b0d3828] 12
Switched to branch 'branch5'
[branch5 9176ee4] 13
Switched to branch 'branch6'
[branch6 3cbcd9d] 14
Switched to branch 'branch7'
[branch7 6843640] 15
Switched to branch 'branch8'
[branch8 9bb7cdb] 16
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' -c 'remote.server.fetch=+branch1' -c 'remote.server.fetch=+branch2:' -c 'remote.server.fetch=+heads/branch3:' -c 'remote.server.fetch=+heads/branch4' -c 'remote.server.fetch=+refs/heads/branch5' -c 'remote.server.fetch=+refs/heads/branch6:' fetch server
remote: Enumerating objects: 6, done.
remote: Counting objects: 100% (6/6), done.
remote: Compressing objects: 100% (6/6), done.
remote: Total 6 (delta 5), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (6/6), 497 bytes | 23.00 KiB/s, done.
From file:///test_git/server/repo
* branch branch1 -> FETCH_HEAD
* branch branch2 -> FETCH_HEAD
* branch branch3 -> FETCH_HEAD
* branch branch4 -> FETCH_HEAD
* branch branch5 -> FETCH_HEAD
* branch branch6 -> FETCH_HEAD
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo/.git/FETCH_HEAD'
./client/repo/.git/FETCH_HEAD -/0o100/regular file rw-r--r--/0o644
1 e860eabb3b6863d879198b7ac19d46d7dcbd7b80\t\tbranch 'branch1' of file:///test_git/server/repo\n
2 8f416924b8910dc9c77e46f73f4a1ee0607d7aba\tnot-for-merge\tbranch 'branch2' of file:///test_git/server/repo\n
3 c6af7f6de7f84dcf25df4f37f6c2d85bd5bbe5bf\tnot-for-merge\tbranch 'branch3' of file:///test_git/server/repo\n
4 b0d38282eea3d81f2b479b3df6b53abadea013c7\tnot-for-merge\tbranch 'branch4' of file:///test_git/server/repo\n
5 9176ee43d03dd261d74c3810ae9b78495a5be6e1\tnot-for-merge\tbranch 'branch5' of file:///test_git/server/repo\n
6 3cbcd9d2d580075ecf14e6ac4a4e9a22ee231481\tnot-for-merge\tbranch 'branch6' of file:///test_git/server/repo\n
7
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all
* cf0a7dd - 2026-05-30 16:30 (14 seconds ago) 8 - Han Jiang (refs/remotes/server/branch8, refs/remotes/server/HEAD)
* 019b60c - 2026-05-30 16:30 (15 seconds ago) 6 - Han Jiang (refs/remotes/server/branch6)
* bd63651 - 2026-05-30 16:30 (15 seconds ago) 7 - Han Jiang (refs/remotes/server/branch7)
* 378f0b5 - 2026-05-30 16:30 (16 seconds ago) 5 - Han Jiang (refs/remotes/server/branch5)
* 62028e6 - 2026-05-30 16:30 (17 seconds ago) 3 - Han Jiang (refs/remotes/server/branch3)
* 26e5500 - 2026-05-30 16:30 (17 seconds ago) 4 - Han Jiang (refs/remotes/server/branch4)
* 91f1a80 - 2026-05-30 16:30 (18 seconds ago) 1 - Han Jiang (refs/remotes/server/branch1)
* 4af7971 - 2026-05-30 16:30 (18 seconds ago) 2 - Han Jiang (refs/remotes/server/branch2)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all FETCH_HEAD
* e860eab - 2026-05-30 16:30 (5 seconds ago) 9 - Han Jiang
* 91f1a80 - 2026-05-30 16:30 (19 seconds ago) 1 - Han Jiang (refs/remotes/server/branch1)
* cf0a7dd - 2026-05-30 16:30 (15 seconds ago) 8 - Han Jiang (refs/remotes/server/branch8, refs/remotes/server/HEAD)
* 019b60c - 2026-05-30 16:30 (16 seconds ago) 6 - Han Jiang (refs/remotes/server/branch6)
* bd63651 - 2026-05-30 16:30 (16 seconds ago) 7 - Han Jiang (refs/remotes/server/branch7)
* 378f0b5 - 2026-05-30 16:30 (17 seconds ago) 5 - Han Jiang (refs/remotes/server/branch5)
* 62028e6 - 2026-05-30 16:30 (18 seconds ago) 3 - Han Jiang (refs/remotes/server/branch3)
* 26e5500 - 2026-05-30 16:30 (18 seconds ago) 4 - Han Jiang (refs/remotes/server/branch4)
* 4af7971 - 2026-05-30 16:30 (19 seconds ago) 2 - Han Jiang (refs/remotes/server/branch2)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ awk 'BEGIN { ORS = "\0"; } { print $1; }' <'./client/repo/.git/FETCH_HEAD' | xargs --null git -C './client/repo' lg --all
* b0d3828 - 2026-05-30 16:30 (4 seconds ago) 12 - Han Jiang
* 26e5500 - 2026-05-30 16:30 (18 seconds ago) 4 - Han Jiang (refs/remotes/server/branch4)
* 9176ee4 - 2026-05-30 16:30 (4 seconds ago) 13 - Han Jiang
* 378f0b5 - 2026-05-30 16:30 (17 seconds ago) 5 - Han Jiang (refs/remotes/server/branch5)
* 3cbcd9d - 2026-05-30 16:30 (4 seconds ago) 14 - Han Jiang
* 019b60c - 2026-05-30 16:30 (16 seconds ago) 6 - Han Jiang (refs/remotes/server/branch6)
* e860eab - 2026-05-30 16:30 (5 seconds ago) 9 - Han Jiang
* 91f1a80 - 2026-05-30 16:30 (19 seconds ago) 1 - Han Jiang (refs/remotes/server/branch1)
* 8f41692 - 2026-05-30 16:30 (5 seconds ago) 10 - Han Jiang
* 4af7971 - 2026-05-30 16:30 (19 seconds ago) 2 - Han Jiang (refs/remotes/server/branch2)
* c6af7f6 - 2026-05-30 16:30 (5 seconds ago) 11 - Han Jiang
* 62028e6 - 2026-05-30 16:30 (18 seconds ago) 3 - Han Jiang (refs/remotes/server/branch3)
* cf0a7dd - 2026-05-30 16:30 (15 seconds ago) 8 - Han Jiang (refs/remotes/server/branch8, refs/remotes/server/HEAD)
* bd63651 - 2026-05-30 16:30 (16 seconds ago) 7 - Han Jiang (refs/remotes/server/branch7)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch server 'branch*'
fatal: invalid refspec 'branch*'
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch server 'branch*:'
fatal: invalid refspec 'branch*:'
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch server 'heads/branch*'
fatal: invalid refspec 'heads/branch*'
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch server 'heads/branch*:'
fatal: invalid refspec 'heads/branch*:'
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch server 'refs/heads/branch*'
fatal: invalid refspec 'refs/heads/branch*'
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch server 'refs/heads/branch*:'
fatal: invalid refspec 'refs/heads/branch*:'
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' checkout branch1; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty; git --git-dir='./server/repo.git' --work-tree='.' checkout branch2; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty; git --git-dir='./server/repo.git' --work-tree='.' checkout branch3; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty; git --git-dir='./server/repo.git' --work-tree='.' checkout branch4; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty; git --git-dir='./server/repo.git' --work-tree='.' checkout branch5; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty; git --git-dir='./server/repo.git' --work-tree='.' checkout branch6; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty; git --git-dir='./server/repo.git' --work-tree='.' checkout branch7; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty; git --git-dir='./server/repo.git' --work-tree='.' checkout branch8; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
Switched to branch 'branch1'
[branch1 74c4f6e] 17
Switched to branch 'branch2'
[branch2 2d32c58] 18
Switched to branch 'branch3'
[branch3 2b3cff6] 19
Switched to branch 'branch4'
[branch4 0e9690f] 20
Switched to branch 'branch5'
[branch5 b4ee68b] 21
Switched to branch 'branch6'
[branch6 b91c5c4] 22
Switched to branch 'branch7'
[branch7 2927653] 23
Switched to branch 'branch8'
[branch8 b4f65eb] 24
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' -c 'remote.server.fetch=+refs/heads/branch1:refs/remotes/server/branch1' fetch server 'branch2' 'branch3:' 'heads/branch4:' 'heads/branch5' 'refs/heads/branch6' 'refs/heads/branch7:'
remote: Enumerating objects: 12, done.
remote: Counting objects: 100% (12/12), done.
remote: Compressing objects: 100% (12/12), done.
remote: Total 12 (delta 11), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (12/12), 944 bytes | 32.00 KiB/s, done.
From file:///test_git/server/repo
* branch branch2 -> FETCH_HEAD
* branch branch3 -> FETCH_HEAD
* branch branch4 -> FETCH_HEAD
* branch branch5 -> FETCH_HEAD
* branch branch6 -> FETCH_HEAD
* branch branch7 -> FETCH_HEAD
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo/.git/FETCH_HEAD'
./client/repo/.git/FETCH_HEAD -/0o100/regular file rw-r--r--/0o644
1 2d32c58179893a93050d833cd52434dfc6d3d7e9\t\tbranch 'branch2' of file:///test_git/server/repo\n
2 2b3cff6ad3102b236791c3bf7cdecd7159482b6e\t\tbranch 'branch3' of file:///test_git/server/repo\n
3 0e9690fd7da4909601f357879344ba0523338ee7\t\tbranch 'branch4' of file:///test_git/server/repo\n
4 b4ee68b01078dcb6823b0dd4d4c72e7bd00e8684\t\tbranch 'branch5' of file:///test_git/server/repo\n
5 b91c5c490cceba631ea27d767abbb4558106cc66\t\tbranch 'branch6' of file:///test_git/server/repo\n
6 292765338fb26c7a340064dcf5884a84b2a6c9a3\t\tbranch 'branch7' of file:///test_git/server/repo\n
7
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all
* cf0a7dd - 2026-05-30 16:30 (23 seconds ago) 8 - Han Jiang (refs/remotes/server/branch8, refs/remotes/server/HEAD)
* 019b60c - 2026-05-30 16:30 (24 seconds ago) 6 - Han Jiang (refs/remotes/server/branch6)
* bd63651 - 2026-05-30 16:30 (24 seconds ago) 7 - Han Jiang (refs/remotes/server/branch7)
* 378f0b5 - 2026-05-30 16:30 (25 seconds ago) 5 - Han Jiang (refs/remotes/server/branch5)
* 62028e6 - 2026-05-30 16:30 (26 seconds ago) 3 - Han Jiang (refs/remotes/server/branch3)
* 26e5500 - 2026-05-30 16:30 (26 seconds ago) 4 - Han Jiang (refs/remotes/server/branch4)
* 91f1a80 - 2026-05-30 16:30 (27 seconds ago) 1 - Han Jiang (refs/remotes/server/branch1)
* 4af7971 - 2026-05-30 16:30 (27 seconds ago) 2 - Han Jiang (refs/remotes/server/branch2)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all FETCH_HEAD
* 2d32c58 - 2026-05-30 16:30 (5 seconds ago) 18 - Han Jiang
* 8f41692 - 2026-05-30 16:30 (14 seconds ago) 10 - Han Jiang
* 4af7971 - 2026-05-30 16:30 (28 seconds ago) 2 - Han Jiang (refs/remotes/server/branch2)
* cf0a7dd - 2026-05-30 16:30 (24 seconds ago) 8 - Han Jiang (refs/remotes/server/branch8, refs/remotes/server/HEAD)
* 019b60c - 2026-05-30 16:30 (25 seconds ago) 6 - Han Jiang (refs/remotes/server/branch6)
* bd63651 - 2026-05-30 16:30 (25 seconds ago) 7 - Han Jiang (refs/remotes/server/branch7)
* 378f0b5 - 2026-05-30 16:30 (26 seconds ago) 5 - Han Jiang (refs/remotes/server/branch5)
* 62028e6 - 2026-05-30 16:30 (27 seconds ago) 3 - Han Jiang (refs/remotes/server/branch3)
* 26e5500 - 2026-05-30 16:30 (27 seconds ago) 4 - Han Jiang (refs/remotes/server/branch4)
* 91f1a80 - 2026-05-30 16:30 (28 seconds ago) 1 - Han Jiang (refs/remotes/server/branch1)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ awk 'BEGIN { ORS = "\0"; } { print $1; }' <'./client/repo/.git/FETCH_HEAD' | xargs --null git -C './client/repo' lg --all
* 2927653 - 2026-05-30 16:30 (3 seconds ago) 23 - Han Jiang
* 6843640 - 2026-05-30 16:30 (12 seconds ago) 15 - Han Jiang
* bd63651 - 2026-05-30 16:30 (25 seconds ago) 7 - Han Jiang (refs/remotes/server/branch7)
* 0e9690f - 2026-05-30 16:30 (4 seconds ago) 20 - Han Jiang
* b0d3828 - 2026-05-30 16:30 (13 seconds ago) 12 - Han Jiang
* 26e5500 - 2026-05-30 16:30 (27 seconds ago) 4 - Han Jiang (refs/remotes/server/branch4)
* b4ee68b - 2026-05-30 16:30 (4 seconds ago) 21 - Han Jiang
* 9176ee4 - 2026-05-30 16:30 (13 seconds ago) 13 - Han Jiang
* 378f0b5 - 2026-05-30 16:30 (26 seconds ago) 5 - Han Jiang (refs/remotes/server/branch5)
* b91c5c4 - 2026-05-30 16:30 (4 seconds ago) 22 - Han Jiang
* 3cbcd9d - 2026-05-30 16:30 (13 seconds ago) 14 - Han Jiang
* 019b60c - 2026-05-30 16:30 (25 seconds ago) 6 - Han Jiang (refs/remotes/server/branch6)
* 2d32c58 - 2026-05-30 16:30 (5 seconds ago) 18 - Han Jiang
* 8f41692 - 2026-05-30 16:30 (14 seconds ago) 10 - Han Jiang
* 4af7971 - 2026-05-30 16:30 (28 seconds ago) 2 - Han Jiang (refs/remotes/server/branch2)
* 2b3cff6 - 2026-05-30 16:30 (5 seconds ago) 19 - Han Jiang
* c6af7f6 - 2026-05-30 16:30 (14 seconds ago) 11 - Han Jiang
* 62028e6 - 2026-05-30 16:30 (27 seconds ago) 3 - Han Jiang (refs/remotes/server/branch3)
* cf0a7dd - 2026-05-30 16:30 (24 seconds ago) 8 - Han Jiang (refs/remotes/server/branch8, refs/remotes/server/HEAD)
* 91f1a80 - 2026-05-30 16:30 (28 seconds ago) 1 - Han Jiang (refs/remotes/server/branch1)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server' init --bare './repo.git'
Initialized empty Git repository in C:/Program Files/Git/test_git/server/repo.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' checkout --orphan branch1; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
Switched to a new branch 'branch1'
[branch1 (root-commit) ab5f982] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' checkout --orphan branch2; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
Switched to a new branch 'branch2'
[branch2 (root-commit) 6da5c12] 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/client/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote add server 'file://'"$(realpath './server/repo.git')"
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose
server file:///test_git/server/repo.git (fetch)
server file:///test_git/server/repo.git (push)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server/repo.git
local file:.git/config remote.server.fetch=+refs/heads/*:refs/remotes/server/*
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config set --local --all 'remote.server.fetch' '+refs/heads/*:refs/remotes/server/*1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config set --local --append 'remote.server.fetch' '+refs/heads/*:refs/remotes/server/*2'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server/repo.git
local file:.git/config remote.server.fetch=+refs/heads/*:refs/remotes/server/*1
local file:.git/config remote.server.fetch=+refs/heads/*:refs/remotes/server/*2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch server
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 3 (delta 1), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (3/3), 171 bytes | 15.00 KiB/s, done.
From file:///test_git/server/repo
* [new branch] branch1 -> server/branch11
* [new branch] branch2 -> server/branch21
* [new branch] branch1 -> server/branch12
* [new branch] branch2 -> server/branch22
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo/.git/FETCH_HEAD'
./client/repo/.git/FETCH_HEAD -/0o100/regular file rw-r--r--/0o644
1 ab5f9820a8499efe003ab23f645b0caa8ad88b27\tnot-for-merge\tbranch 'branch1' of file:///test_git/server/repo\n
2 6da5c12e55dfc8d9378b829c14923a3f2b1999b5\tnot-for-merge\tbranch 'branch2' of file:///test_git/server/repo\n
3 ab5f9820a8499efe003ab23f645b0caa8ad88b27\tnot-for-merge\tbranch 'branch1' of file:///test_git/server/repo\n
4 6da5c12e55dfc8d9378b829c14923a3f2b1999b5\tnot-for-merge\tbranch 'branch2' of file:///test_git/server/repo\n
5
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all
* 6da5c12 - 2026-05-30 16:30 (6 seconds ago) 2 - Han Jiang (refs/remotes/server/branch22, refs/remotes/server/branch21)
* ab5f982 - 2026-05-30 16:30 (7 seconds ago) 1 - Han Jiang (refs/remotes/server/branch12, refs/remotes/server/branch11)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' checkout branch1; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty; git --git-dir='./server/repo.git' --work-tree='.' checkout branch2; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
Switched to branch 'branch1'
[branch1 56cf371] 3
Switched to branch 'branch2'
[branch2 4fbfd28] 4
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch server branch1
remote: Enumerating objects: 1, done.
remote: Counting objects: 100% (1/1), done.
remote: Total 1 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (1/1), 157 bytes | 39.00 KiB/s, done.
From file:///test_git/server/repo
* branch branch1 -> FETCH_HEAD
ab5f982..56cf371 branch1 -> server/branch11
ab5f982..56cf371 branch1 -> server/branch12
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo/.git/FETCH_HEAD'
./client/repo/.git/FETCH_HEAD -/0o100/regular file rw-r--r--/0o644
1 56cf37104aef5ecb5c0fb1f93dc0e202cdf0580c\t\tbranch 'branch1' of file:///test_git/server/repo\n
2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all
* 56cf371 - 2026-05-30 16:30 (3 seconds ago) 3 - Han Jiang (refs/remotes/server/branch12, refs/remotes/server/branch11)
* ab5f982 - 2026-05-30 16:30 (10 seconds ago) 1 - Han Jiang
* 6da5c12 - 2026-05-30 16:30 (9 seconds ago) 2 - Han Jiang (refs/remotes/server/branch22, refs/remotes/server/branch21)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' checkout branch1; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty; git --git-dir='./server/repo.git' --work-tree='.' checkout branch2; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
Switched to branch 'branch1'
[branch1 e2067a0] 5
Switched to branch 'branch2'
[branch2 66195d4] 6
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch server --refmap='+refs/heads/*:refs/remotes/server/*5' --refmap='+refs/heads/*:refs/remotes/server/*6' branch1
remote: Enumerating objects: 1, done.
remote: Counting objects: 100% (1/1), done.
remote: Total 1 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (1/1), 158 bytes | 31.00 KiB/s, done.
From file:///test_git/server/repo
* branch branch1 -> FETCH_HEAD
* [new branch] branch1 -> server/branch15
* [new branch] branch1 -> server/branch16
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo/.git/FETCH_HEAD'
./client/repo/.git/FETCH_HEAD -/0o100/regular file rw-r--r--/0o644
1 e2067a08f16bec00d257bf77575dab27ddcda98c\t\tbranch 'branch1' of file:///test_git/server/repo\n
2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all
* e2067a0 - 2026-05-30 16:30 (2 seconds ago) 5 - Han Jiang (refs/remotes/server/branch16, refs/remotes/server/branch15)
* 56cf371 - 2026-05-30 16:30 (6 seconds ago) 3 - Han Jiang (refs/remotes/server/branch12, refs/remotes/server/branch11)
* ab5f982 - 2026-05-30 16:30 (13 seconds ago) 1 - Han Jiang
* 6da5c12 - 2026-05-30 16:30 (12 seconds ago) 2 - Han Jiang (refs/remotes/server/branch22, refs/remotes/server/branch21)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' checkout branch1; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty; git --git-dir='./server/repo.git' --work-tree='.' checkout branch2; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
Switched to branch 'branch1'
[branch1 b45c453] 7
Switched to branch 'branch2'
[branch2 6629e9e] 8
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch server '+refs/heads/branch*:refs/remotes/server/branch*3' '+refs/heads/branch*:refs/remotes/server/branch*4'
remote: Enumerating objects: 4, done.
remote: Counting objects: 100% (4/4), done.
remote: Compressing objects: 100% (4/4), done.
remote: Total 4 (delta 3), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (4/4), 392 bytes | 28.00 KiB/s, done.
From file:///test_git/server/repo
* [new branch] branch1 -> server/branch13
* [new branch] branch2 -> server/branch23
* [new branch] branch1 -> server/branch14
* [new branch] branch2 -> server/branch24
56cf371..b45c453 branch1 -> server/branch11
6da5c12..6629e9e branch2 -> server/branch21
56cf371..b45c453 branch1 -> server/branch12
6da5c12..6629e9e branch2 -> server/branch22
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo/.git/FETCH_HEAD'
./client/repo/.git/FETCH_HEAD -/0o100/regular file rw-r--r--/0o644
1 b45c45398594d3f5d7db8e87c6fdf574debecfc8\t\tbranch 'branch1' of file:///test_git/server/repo\n
2 6629e9e39b2259046fd688ff7136589701dffa4f\t\tbranch 'branch2' of file:///test_git/server/repo\n
3 b45c45398594d3f5d7db8e87c6fdf574debecfc8\t\tbranch 'branch1' of file:///test_git/server/repo\n
4 6629e9e39b2259046fd688ff7136589701dffa4f\t\tbranch 'branch2' of file:///test_git/server/repo\n
5
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all
* 6629e9e - 2026-05-30 16:30 (2 seconds ago) 8 - Han Jiang (refs/remotes/server/branch24, refs/remotes/server/branch23, refs/remotes/server/branch22, refs/remotes/server/branch21)
* 66195d4 - 2026-05-30 16:30 (6 seconds ago) 6 - Han Jiang
* 4fbfd28 - 2026-05-30 16:30 (9 seconds ago) 4 - Han Jiang
* 6da5c12 - 2026-05-30 16:30 (16 seconds ago) 2 - Han Jiang
* b45c453 - 2026-05-30 16:30 (3 seconds ago) 7 - Han Jiang (refs/remotes/server/branch14, refs/remotes/server/branch13, refs/remotes/server/branch12, refs/remotes/server/branch11)
* e2067a0 - 2026-05-30 16:30 (6 seconds ago) 5 - Han Jiang (refs/remotes/server/branch16, refs/remotes/server/branch15)
* 56cf371 - 2026-05-30 16:30 (10 seconds ago) 3 - Han Jiang
* ab5f982 - 2026-05-30 16:30 (17 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' checkout branch1; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty; git --git-dir='./server/repo.git' --work-tree='.' checkout branch2; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
Switched to branch 'branch1'
[branch1 6c6e0af] 9
Switched to branch 'branch2'
[branch2 fbe9f61] 10
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch server --refmap='+refs/heads/*:refs/remotes/server/*5' --refmap='+refs/heads/*:refs/remotes/server/*6' '+refs/heads/branch*:refs/remotes/server/branch*3' '+refs/heads/branch*:refs/remotes/server/branch*4'
remote: Enumerating objects: 2, done.
remote: Counting objects: 100% (2/2), done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 2 (delta 1), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (2/2), 224 bytes | 24.00 KiB/s, done.
From file:///test_git/server/repo
b45c453..6c6e0af branch1 -> server/branch13
6629e9e..fbe9f61 branch2 -> server/branch23
b45c453..6c6e0af branch1 -> server/branch14
6629e9e..fbe9f61 branch2 -> server/branch24
e2067a0..6c6e0af branch1 -> server/branch15
* [new branch] branch2 -> server/branch25
e2067a0..6c6e0af branch1 -> server/branch16
* [new branch] branch2 -> server/branch26
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo/.git/FETCH_HEAD'
./client/repo/.git/FETCH_HEAD -/0o100/regular file rw-r--r--/0o644
1 6c6e0afdf4b98c1adec7ddfa73ef9e2818dcb3f7\t\tbranch 'branch1' of file:///test_git/server/repo\n
2 fbe9f61cd7618912b38d68a9ec73e311222d6938\t\tbranch 'branch2' of file:///test_git/server/repo\n
3 6c6e0afdf4b98c1adec7ddfa73ef9e2818dcb3f7\t\tbranch 'branch1' of file:///test_git/server/repo\n
4 fbe9f61cd7618912b38d68a9ec73e311222d6938\t\tbranch 'branch2' of file:///test_git/server/repo\n
5
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all
* 6c6e0af - 2026-05-30 16:30 (2 seconds ago) 9 - Han Jiang (refs/remotes/server/branch16, refs/remotes/server/branch15, refs/remotes/server/branch14, refs/remotes/server/branch13)
* b45c453 - 2026-05-30 16:30 (6 seconds ago) 7 - Han Jiang (refs/remotes/server/branch12, refs/remotes/server/branch11)
* e2067a0 - 2026-05-30 16:30 (9 seconds ago) 5 - Han Jiang
* 56cf371 - 2026-05-30 16:30 (13 seconds ago) 3 - Han Jiang
* ab5f982 - 2026-05-30 16:30 (20 seconds ago) 1 - Han Jiang
* fbe9f61 - 2026-05-30 16:30 (2 seconds ago) 10 - Han Jiang (refs/remotes/server/branch26, refs/remotes/server/branch25, refs/remotes/server/branch24, refs/remotes/server/branch23)
* 6629e9e - 2026-05-30 16:30 (5 seconds ago) 8 - Han Jiang (refs/remotes/server/branch22, refs/remotes/server/branch21)
* 66195d4 - 2026-05-30 16:30 (9 seconds ago) 6 - Han Jiang
* 4fbfd28 - 2026-05-30 16:30 (12 seconds ago) 4 - Han Jiang
* 6da5c12 - 2026-05-30 16:30 (19 seconds ago) 2 - Han Jiang
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' checkout branch1; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty; git --git-dir='./server/repo.git' --work-tree='.' checkout branch2; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
Switched to branch 'branch1'
[branch1 050e2d9] 11
Switched to branch 'branch2'
[branch2 a4b2cf6] 12
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch server '+refs/heads/branch*:refs/remotes/server/branch*3' '+refs/heads/branch*:refs/remotes/server/branch*4' branch1
remote: Enumerating objects: 2, done.
remote: Counting objects: 100% (2/2), done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 2 (delta 1), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (2/2), 224 bytes | 24.00 KiB/s, done.
From file:///test_git/server/repo
6c6e0af..050e2d9 branch1 -> server/branch13
fbe9f61..a4b2cf6 branch2 -> server/branch23
6c6e0af..050e2d9 branch1 -> server/branch14
fbe9f61..a4b2cf6 branch2 -> server/branch24
* branch branch1 -> FETCH_HEAD
b45c453..050e2d9 branch1 -> server/branch11
6629e9e..a4b2cf6 branch2 -> server/branch21
b45c453..050e2d9 branch1 -> server/branch12
6629e9e..a4b2cf6 branch2 -> server/branch22
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo/.git/FETCH_HEAD'
./client/repo/.git/FETCH_HEAD -/0o100/regular file rw-r--r--/0o644
1 050e2d97e96a3e0657766bb60cc7389583e3d542\t\tbranch 'branch1' of file:///test_git/server/repo\n
2 a4b2cf6f03b5e1b28ac2882db3fd72298bfa2c25\t\tbranch 'branch2' of file:///test_git/server/repo\n
3 050e2d97e96a3e0657766bb60cc7389583e3d542\t\tbranch 'branch1' of file:///test_git/server/repo\n
4 a4b2cf6f03b5e1b28ac2882db3fd72298bfa2c25\t\tbranch 'branch2' of file:///test_git/server/repo\n
5 050e2d97e96a3e0657766bb60cc7389583e3d542\t\tbranch 'branch1' of file:///test_git/server/repo\n
6
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all
* 050e2d9 - 2026-05-30 16:31 (2 seconds ago) 11 - Han Jiang (refs/remotes/server/branch14, refs/remotes/server/branch13, refs/remotes/server/branch12, refs/remotes/server/branch11)
* 6c6e0af - 2026-05-30 16:30 (5 seconds ago) 9 - Han Jiang (refs/remotes/server/branch16, refs/remotes/server/branch15)
* b45c453 - 2026-05-30 16:30 (9 seconds ago) 7 - Han Jiang
* e2067a0 - 2026-05-30 16:30 (12 seconds ago) 5 - Han Jiang
* 56cf371 - 2026-05-30 16:30 (16 seconds ago) 3 - Han Jiang
* ab5f982 - 2026-05-30 16:30 (23 seconds ago) 1 - Han Jiang
* a4b2cf6 - 2026-05-30 16:31 (2 seconds ago) 12 - Han Jiang (refs/remotes/server/branch24, refs/remotes/server/branch23, refs/remotes/server/branch22, refs/remotes/server/branch21)
* fbe9f61 - 2026-05-30 16:30 (5 seconds ago) 10 - Han Jiang (refs/remotes/server/branch26, refs/remotes/server/branch25)
* 6629e9e - 2026-05-30 16:30 (8 seconds ago) 8 - Han Jiang
* 66195d4 - 2026-05-30 16:30 (12 seconds ago) 6 - Han Jiang
* 4fbfd28 - 2026-05-30 16:30 (15 seconds ago) 4 - Han Jiang
* 6da5c12 - 2026-05-30 16:30 (22 seconds ago) 2 - Han Jiang
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' checkout branch1; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty; git --git-dir='./server/repo.git' --work-tree='.' checkout branch2; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
Switched to branch 'branch1'
[branch1 0a0aecb] 13
Switched to branch 'branch2'
[branch2 dc804ed] 14
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch server --refmap='+refs/heads/*:refs/remotes/server/*5' --refmap='+refs/heads/*:refs/remotes/server/*6' '+refs/heads/branch*:refs/remotes/server/branch*3' '+refs/heads/branch*:refs/remotes/server/branch*4' branch1
remote: Enumerating objects: 2, done.
remote: Counting objects: 100% (2/2), done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 2 (delta 1), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (2/2), 223 bytes | 27.00 KiB/s, done.
From file:///test_git/server/repo
050e2d9..0a0aecb branch1 -> server/branch13
a4b2cf6..dc804ed branch2 -> server/branch23
050e2d9..0a0aecb branch1 -> server/branch14
a4b2cf6..dc804ed branch2 -> server/branch24
* branch branch1 -> FETCH_HEAD
6c6e0af..0a0aecb branch1 -> server/branch15
fbe9f61..dc804ed branch2 -> server/branch25
6c6e0af..0a0aecb branch1 -> server/branch16
fbe9f61..dc804ed branch2 -> server/branch26
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo/.git/FETCH_HEAD'
./client/repo/.git/FETCH_HEAD -/0o100/regular file rw-r--r--/0o644
1 0a0aecb746f3c6a7cdebf626e1050510a9f81167\t\tbranch 'branch1' of file:///test_git/server/repo\n
2 dc804ed50e2d86521108bcfb982a5546e0257330\t\tbranch 'branch2' of file:///test_git/server/repo\n
3 0a0aecb746f3c6a7cdebf626e1050510a9f81167\t\tbranch 'branch1' of file:///test_git/server/repo\n
4 dc804ed50e2d86521108bcfb982a5546e0257330\t\tbranch 'branch2' of file:///test_git/server/repo\n
5 0a0aecb746f3c6a7cdebf626e1050510a9f81167\t\tbranch 'branch1' of file:///test_git/server/repo\n
6
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all
* 0a0aecb - 2026-05-30 16:31 (3 seconds ago) 13 - Han Jiang (refs/remotes/server/branch16, refs/remotes/server/branch15, refs/remotes/server/branch14, refs/remotes/server/branch13)
* 050e2d9 - 2026-05-30 16:31 (6 seconds ago) 11 - Han Jiang (refs/remotes/server/branch12, refs/remotes/server/branch11)
* 6c6e0af - 2026-05-30 16:30 (9 seconds ago) 9 - Han Jiang
* b45c453 - 2026-05-30 16:30 (13 seconds ago) 7 - Han Jiang
* e2067a0 - 2026-05-30 16:30 (16 seconds ago) 5 - Han Jiang
* 56cf371 - 2026-05-30 16:30 (20 seconds ago) 3 - Han Jiang
* ab5f982 - 2026-05-30 16:30 (27 seconds ago) 1 - Han Jiang
* dc804ed - 2026-05-30 16:31 (3 seconds ago) 14 - Han Jiang (refs/remotes/server/branch26, refs/remotes/server/branch25, refs/remotes/server/branch24, refs/remotes/server/branch23)
* a4b2cf6 - 2026-05-30 16:31 (6 seconds ago) 12 - Han Jiang (refs/remotes/server/branch22, refs/remotes/server/branch21)
* fbe9f61 - 2026-05-30 16:30 (9 seconds ago) 10 - Han Jiang
* 6629e9e - 2026-05-30 16:30 (12 seconds ago) 8 - Han Jiang
* 66195d4 - 2026-05-30 16:30 (16 seconds ago) 6 - Han Jiang
* 4fbfd28 - 2026-05-30 16:30 (19 seconds ago) 4 - Han Jiang
* 6da5c12 - 2026-05-30 16:30 (26 seconds ago) 2 - Han Jiang
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' checkout branch1; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty; git --git-dir='./server/repo.git' --work-tree='.' checkout branch2; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
Switched to branch 'branch1'
[branch1 97a28db] 15
Switched to branch 'branch2'
[branch2 6164030] 16
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch server '+refs/heads/branch1:refs/remotes/server/branch13' branch1
remote: Enumerating objects: 1, done.
remote: Counting objects: 100% (1/1), done.
remote: Total 1 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (1/1), 158 bytes | 31.00 KiB/s, done.
From file:///test_git/server/repo
0a0aecb..97a28db branch1 -> server/branch13
* branch branch1 -> FETCH_HEAD
050e2d9..97a28db branch1 -> server/branch11
050e2d9..97a28db branch1 -> server/branch12
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo/.git/FETCH_HEAD'
./client/repo/.git/FETCH_HEAD -/0o100/regular file rw-r--r--/0o644
1 97a28db869754aa9a6f325bd3b6ea8c8cc386283\t\tbranch 'branch1' of file:///test_git/server/repo\n
2 97a28db869754aa9a6f325bd3b6ea8c8cc386283\t\tbranch 'branch1' of file:///test_git/server/repo\n
3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all
* 97a28db - 2026-05-30 16:31 (3 seconds ago) 15 - Han Jiang (refs/remotes/server/branch13, refs/remotes/server/branch12, refs/remotes/server/branch11)
* 0a0aecb - 2026-05-30 16:31 (6 seconds ago) 13 - Han Jiang (refs/remotes/server/branch16, refs/remotes/server/branch15, refs/remotes/server/branch14)
* 050e2d9 - 2026-05-30 16:31 (9 seconds ago) 11 - Han Jiang
* 6c6e0af - 2026-05-30 16:30 (12 seconds ago) 9 - Han Jiang
* b45c453 - 2026-05-30 16:30 (16 seconds ago) 7 - Han Jiang
* e2067a0 - 2026-05-30 16:30 (19 seconds ago) 5 - Han Jiang
* 56cf371 - 2026-05-30 16:30 (23 seconds ago) 3 - Han Jiang
* ab5f982 - 2026-05-30 16:30 (30 seconds ago) 1 - Han Jiang
* dc804ed - 2026-05-30 16:31 (6 seconds ago) 14 - Han Jiang (refs/remotes/server/branch26, refs/remotes/server/branch25, refs/remotes/server/branch24, refs/remotes/server/branch23)
* a4b2cf6 - 2026-05-30 16:31 (9 seconds ago) 12 - Han Jiang (refs/remotes/server/branch22, refs/remotes/server/branch21)
* fbe9f61 - 2026-05-30 16:30 (12 seconds ago) 10 - Han Jiang
* 6629e9e - 2026-05-30 16:30 (15 seconds ago) 8 - Han Jiang
* 66195d4 - 2026-05-30 16:30 (19 seconds ago) 6 - Han Jiang
* 4fbfd28 - 2026-05-30 16:30 (22 seconds ago) 4 - Han Jiang
* 6da5c12 - 2026-05-30 16:30 (29 seconds ago) 2 - Han Jiang
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' checkout branch1; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty; git --git-dir='./server/repo.git' --work-tree='.' checkout branch2; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
Switched to branch 'branch1'
[branch1 9ca0486] 17
Switched to branch 'branch2'
[branch2 58a4d76] 18
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch server --refmap='+refs/heads/*:refs/remotes/server/*5' --refmap='+refs/heads/*:refs/remotes/server/*6' '+refs/heads/branch1:refs/remotes/server/branch13' branch1
remote: Enumerating objects: 1, done.
remote: Counting objects: 100% (1/1), done.
remote: Total 1 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (1/1), 158 bytes | 31.00 KiB/s, done.
From file:///test_git/server/repo
97a28db..9ca0486 branch1 -> server/branch13
* branch branch1 -> FETCH_HEAD
0a0aecb..9ca0486 branch1 -> server/branch15
0a0aecb..9ca0486 branch1 -> server/branch16
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo/.git/FETCH_HEAD'
./client/repo/.git/FETCH_HEAD -/0o100/regular file rw-r--r--/0o644
1 9ca0486250e36f1cd3ef469e27e38b0f69b47f5b\t\tbranch 'branch1' of file:///test_git/server/repo\n
2 9ca0486250e36f1cd3ef469e27e38b0f69b47f5b\t\tbranch 'branch1' of file:///test_git/server/repo\n
3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all
* 9ca0486 - 2026-05-30 16:31 (2 seconds ago) 17 - Han Jiang (refs/remotes/server/branch16, refs/remotes/server/branch15, refs/remotes/server/branch13)
* 97a28db - 2026-05-30 16:31 (6 seconds ago) 15 - Han Jiang (refs/remotes/server/branch12, refs/remotes/server/branch11)
* 0a0aecb - 2026-05-30 16:31 (9 seconds ago) 13 - Han Jiang (refs/remotes/server/branch14)
* 050e2d9 - 2026-05-30 16:31 (12 seconds ago) 11 - Han Jiang
* 6c6e0af - 2026-05-30 16:30 (15 seconds ago) 9 - Han Jiang
* b45c453 - 2026-05-30 16:30 (19 seconds ago) 7 - Han Jiang
* e2067a0 - 2026-05-30 16:30 (22 seconds ago) 5 - Han Jiang
* 56cf371 - 2026-05-30 16:30 (26 seconds ago) 3 - Han Jiang
* ab5f982 - 2026-05-30 16:30 (33 seconds ago) 1 - Han Jiang
* dc804ed - 2026-05-30 16:31 (9 seconds ago) 14 - Han Jiang (refs/remotes/server/branch26, refs/remotes/server/branch25, refs/remotes/server/branch24, refs/remotes/server/branch23)
* a4b2cf6 - 2026-05-30 16:31 (12 seconds ago) 12 - Han Jiang (refs/remotes/server/branch22, refs/remotes/server/branch21)
* fbe9f61 - 2026-05-30 16:30 (15 seconds ago) 10 - Han Jiang
* 6629e9e - 2026-05-30 16:30 (18 seconds ago) 8 - Han Jiang
* 66195d4 - 2026-05-30 16:30 (22 seconds ago) 6 - Han Jiang
* 4fbfd28 - 2026-05-30 16:30 (25 seconds ago) 4 - Han Jiang
* 6da5c12 - 2026-05-30 16:30 (32 seconds ago) 2 - Han Jiang
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server' init --bare './repo.git'
Initialized empty Git repository in C:/Program Files/Git/test_git/server/repo.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ branch_default_name="$(git -C './server/repo.git' branch --show-current)"; echo "$branch_default_name"
master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
[master (root-commit) 8328fb6] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' checkout -b branch1 "$branch_default_name"; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
Switched to a new branch 'branch1'
[branch1 0bd45f2] 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' checkout -b branch2 "$branch_default_name"; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
Switched to a new branch 'branch2'
[branch2 1f9d949] 3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --all
* 1f9d949 - 2026-05-30 16:31 (0 seconds ago) 3 - Han Jiang (HEAD -> refs/heads/branch2)
| * 0bd45f2 - 2026-05-30 16:31 (1 second ago) 2 - Han Jiang (refs/heads/branch1)
|/
* 8328fb6 - 2026-05-30 16:31 (2 seconds ago) 1 - Han Jiang (refs/heads/master)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/client/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ branch_default_name="$(git -C './client/repo' branch --show-current)"; echo "$branch_default_name"
master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote add server 'file://'"$(realpath './server/repo.git')"
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose show server
* remote server
Fetch URL: file:///test_git/server/repo.git
Push URL: file:///test_git/server/repo.git
HEAD branch: branch2
Remote branches:
branch1 new (next fetch will store in remotes/server)
branch2 new (next fetch will store in remotes/server)
master new (next fetch will store in remotes/server)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server/repo.git
local file:.git/config remote.server.fetch=+refs/heads/*:refs/remotes/server/*
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch server "$branch_default_name"
remote: Enumerating objects: 2, done.
remote: Counting objects: 100% (2/2), done.
remote: Total 2 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (2/2), 138 bytes | 17.00 KiB/s, done.
From file:///test_git/server/repo
* branch master -> FETCH_HEAD
* [new branch] master -> server/master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo/.git/FETCH_HEAD'
./client/repo/.git/FETCH_HEAD -/0o100/regular file rw-r--r--/0o644
1 8328fb63a32a8f725d8beecdf00b324290367424\t\tbranch 'master' of file:///test_git/server/repo\n
2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' reset 'server/'"$branch_default_name"
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' commit --message="$((++number))" --allow-empty
[master 333a101] 4
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all
* 333a101 - 2026-05-30 16:31 (1 second ago) 4 - Han Jiang (HEAD -> refs/heads/master)
* 8328fb6 - 2026-05-30 16:31 (8 seconds ago) 1 - Han Jiang (refs/remotes/server/master)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' merge --message="$((++number))"
fatal: No remote for the current branch.
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config set --local --append 'remote.server.fetch' '+refs/heads/branch2:refs/remotes/server/branch2'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose show server
* remote server
Fetch URL: file:///test_git/server/repo.git
Push URL: file:///test_git/server/repo.git
HEAD branch: branch2
Remote branches:
branch1 new (next fetch will store in remotes/server)
branch2 new (next fetch will store in remotes/server)
master tracked
Local ref configured for 'git push':
master pushes to master (fast-forwardable)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server/repo.git
local file:.git/config remote.server.fetch=+refs/heads/*:refs/remotes/server/*
local file:.git/config remote.server.fetch=+refs/heads/branch2:refs/remotes/server/branch2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' -c 'core.editor=:' pull
remote: Enumerating objects: 2, done.
remote: Counting objects: 100% (2/2), done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 2 (delta 1), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (2/2), 193 bytes | 19.00 KiB/s, done.
From file:///test_git/server/repo
* [new branch] branch1 -> server/branch1
* [new branch] branch2 -> server/branch2
There is no tracking information for the current branch.
Please specify which branch you want to merge with.
See git-pull(1) for details.
git pull <remote> <branch>
If you wish to set tracking information for this branch you can do so with:
git branch --set-upstream-to=server/<branch> master
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' -c 'core.editor=:' pull --ff
There is no tracking information for the current branch.
Please specify which branch you want to merge with.
See git-pull(1) for details.
git pull <remote> <branch>
If you wish to set tracking information for this branch you can do so with:
git branch --set-upstream-to=server/<branch> master
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo/.git/FETCH_HEAD'
./client/repo/.git/FETCH_HEAD -/0o100/regular file rw-r--r--/0o644
1 0bd45f22969fe59d99c5d49df455db322545f288\tnot-for-merge\tbranch 'branch1' of file:///test_git/server/repo\n
2 1f9d949713e9c6b16aa49b3bf9976ae6c97330aa\tnot-for-merge\tbranch 'branch2' of file:///test_git/server/repo\n
3 8328fb63a32a8f725d8beecdf00b324290367424\tnot-for-merge\tbranch 'master' of file:///test_git/server/repo\n
4
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all
* 333a101 - 2026-05-30 16:31 (5 seconds ago) 4 - Han Jiang (HEAD -> refs/heads/master)
| * 1f9d949 - 2026-05-30 16:31 (10 seconds ago) 3 - Han Jiang (refs/remotes/server/branch2, refs/remotes/server/HEAD)
|/
| * 0bd45f2 - 2026-05-30 16:31 (11 seconds ago) 2 - Han Jiang (refs/remotes/server/branch1)
|/
* 8328fb6 - 2026-05-30 16:31 (12 seconds ago) 1 - Han Jiang (refs/remotes/server/master)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config set --local --all 'remote.server.fetch' '+refs/heads/branch1:refs/remotes/server/branch1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config set --local --append 'remote.server.fetch' '+refs/heads/*:refs/remotes/server/*'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose show server
* remote server
Fetch URL: file:///test_git/server/repo.git
Push URL: file:///test_git/server/repo.git
HEAD branch: branch2
Remote branches:
branch1 tracked
branch2 tracked
master tracked
Local ref configured for 'git push':
master pushes to master (fast-forwardable)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server/repo.git
local file:.git/config remote.server.fetch=+refs/heads/branch1:refs/remotes/server/branch1
local file:.git/config remote.server.fetch=+refs/heads/*:refs/remotes/server/*
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' -c 'core.editor=:' pull
hint: Diverging branches can't be fast-forwarded, you need to either:
hint:
hint: git merge --no-ff
hint:
hint: or:
hint:
hint: git rebase
hint:
hint: Disable this message with "git config set advice.diverging false"
fatal: Not possible to fast-forward, aborting.
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' -c 'core.editor=:' pull --ff
Merge made by the 'ort' strategy.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo/.git/FETCH_HEAD'
./client/repo/.git/FETCH_HEAD -/0o100/regular file rw-r--r--/0o644
1 0bd45f22969fe59d99c5d49df455db322545f288\t\tbranch 'branch1' of file:///test_git/server/repo\n
2 1f9d949713e9c6b16aa49b3bf9976ae6c97330aa\tnot-for-merge\tbranch 'branch2' of file:///test_git/server/repo\n
3 8328fb63a32a8f725d8beecdf00b324290367424\tnot-for-merge\tbranch 'master' of file:///test_git/server/repo\n
4
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all
* 1a6826c - 2026-05-30 16:31 (2 seconds ago) Merge branch 'branch1' of file:///test_git/server/repo - Han Jiang (HEAD -> refs/heads/master)
|\
| * 0bd45f2 - 2026-05-30 16:31 (16 seconds ago) 2 - Han Jiang (refs/remotes/server/branch1)
* | 333a101 - 2026-05-30 16:31 (10 seconds ago) 4 - Han Jiang
|/
| * 1f9d949 - 2026-05-30 16:31 (15 seconds ago) 3 - Han Jiang (refs/remotes/server/branch2, refs/remotes/server/HEAD)
|/
* 8328fb6 - 2026-05-30 16:31 (17 seconds ago) 1 - Han Jiang (refs/remotes/server/master)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' checkout branch1; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
Switched to branch 'branch1'
[branch1 fb3264e] 6
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' checkout branch2; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
Switched to branch 'branch2'
[branch2 a57ab34] 7
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config set --local --all 'remote.server.fetch' '+refs/heads/branch1:refs/remotes/server/branch1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config set --local --append 'remote.server.fetch' '+refs/heads/branch2:refs/remotes/server/branch2'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose show server
* remote server
Fetch URL: file:///test_git/server/repo.git
Push URL: file:///test_git/server/repo.git
HEAD branch: branch2
Remote branches:
branch1 tracked
branch2 tracked
Local ref configured for 'git push':
master pushes to master (fast-forwardable)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server/repo.git
local file:.git/config remote.server.fetch=+refs/heads/branch1:refs/remotes/server/branch1
local file:.git/config remote.server.fetch=+refs/heads/branch2:refs/remotes/server/branch2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' -c 'core.editor=:' pull --ff
remote: Enumerating objects: 2, done.
remote: Counting objects: 100% (2/2), done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 2 (delta 1), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (2/2), 223 bytes | 22.00 KiB/s, done.
From file:///test_git/server/repo
0bd45f2..fb3264e branch1 -> server/branch1
1f9d949..a57ab34 branch2 -> server/branch2
Merge made by the 'ort' strategy.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo/.git/FETCH_HEAD'
./client/repo/.git/FETCH_HEAD -/0o100/regular file rw-r--r--/0o644
1 fb3264eb1d9e861ffe0800f32d75818060e2b6bc\t\tbranch 'branch1' of file:///test_git/server/repo\n
2 a57ab34e31c0a66ace5ee370c7658a6d2346e77f\tnot-for-merge\tbranch 'branch2' of file:///test_git/server/repo\n
3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all
* 5486aa0 - 2026-05-30 16:31 (1 second ago) Merge branch 'branch1' of file:///test_git/server/repo - Han Jiang (HEAD -> refs/heads/master)
|\
| * fb3264e - 2026-05-30 16:31 (4 seconds ago) 6 - Han Jiang (refs/remotes/server/branch1)
* | 1a6826c - 2026-05-30 16:31 (7 seconds ago) Merge branch 'branch1' of file:///test_git/server/repo - Han Jiang
|\|
| * 0bd45f2 - 2026-05-30 16:31 (21 seconds ago) 2 - Han Jiang
* | 333a101 - 2026-05-30 16:31 (15 seconds ago) 4 - Han Jiang
|/
| * a57ab34 - 2026-05-30 16:31 (4 seconds ago) 7 - Han Jiang (refs/remotes/server/branch2, refs/remotes/server/HEAD)
| * 1f9d949 - 2026-05-30 16:31 (20 seconds ago) 3 - Han Jiang
|/
* 8328fb6 - 2026-05-30 16:31 (22 seconds ago) 1 - Han Jiang (refs/remotes/server/master)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' checkout branch1; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
Switched to branch 'branch1'
[branch1 64c4318] 8
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' checkout branch2; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
Switched to branch 'branch2'
[branch2 22f1b87] 9
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config set --local --all 'remote.server.fetch' '+refs/heads/branch1:refs/remotes/server/branch1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config set --local 'branch.'"$branch_default_name"'.remote' 'server'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config set --local 'branch.'"$branch_default_name"'.merge' 'refs/heads/branch2'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose show server
* remote server
Fetch URL: file:///test_git/server/repo.git
Push URL: file:///test_git/server/repo.git
HEAD branch: branch2
Remote branch:
branch1 tracked
Local branch configured for 'git pull':
master merges with remote branch2
Local ref configured for 'git push':
master pushes to master (fast-forwardable)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server/repo.git
local file:.git/config remote.server.fetch=+refs/heads/branch1:refs/remotes/server/branch1
local file:.git/config branch.master.remote=server
local file:.git/config branch.master.merge=refs/heads/branch2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' -c 'core.editor=:' pull --ff
remote: Enumerating objects: 2, done.
remote: Counting objects: 100% (2/2), done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 2 (delta 1), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (2/2), 236 bytes | 29.00 KiB/s, done.
From file:///test_git/server/repo
* branch branch2 -> FETCH_HEAD
fb3264e..64c4318 branch1 -> server/branch1
Merge made by the 'ort' strategy.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo/.git/FETCH_HEAD'
./client/repo/.git/FETCH_HEAD -/0o100/regular file rw-r--r--/0o644
1 22f1b873ea4653266e09ba511e8b0135137639fb\t\tbranch 'branch2' of file:///test_git/server/repo\n
2 64c4318fca59419a874511ccb52fd3d518671b1c\tnot-for-merge\tbranch 'branch1' of file:///test_git/server/repo\n
3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all
* e784add - 2026-05-30 16:31 (2 seconds ago) Merge branch 'branch2' of file:///test_git/server/repo - Han Jiang (HEAD -> refs/heads/master)
|\
| * 22f1b87 - 2026-05-30 16:31 (4 seconds ago) 9 - Han Jiang
| * a57ab34 - 2026-05-30 16:31 (10 seconds ago) 7 - Han Jiang (refs/remotes/server/branch2, refs/remotes/server/HEAD)
| * 1f9d949 - 2026-05-30 16:31 (26 seconds ago) 3 - Han Jiang
* | 5486aa0 - 2026-05-30 16:31 (7 seconds ago) Merge branch 'branch1' of file:///test_git/server/repo - Han Jiang
|\ \
* \ \ 1a6826c - 2026-05-30 16:31 (13 seconds ago) Merge branch 'branch1' of file:///test_git/server/repo - Han Jiang
|\ \ \
* | | | 333a101 - 2026-05-30 16:31 (21 seconds ago) 4 - Han Jiang
| |_|/
|/| |
| | | * 64c4318 - 2026-05-30 16:31 (5 seconds ago) 8 - Han Jiang (refs/remotes/server/branch1)
| | |/
| | * fb3264e - 2026-05-30 16:31 (10 seconds ago) 6 - Han Jiang
| |/
| * 0bd45f2 - 2026-05-30 16:31 (27 seconds ago) 2 - Han Jiang
|/
* 8328fb6 - 2026-05-30 16:31 (28 seconds ago) 1 - Han Jiang (refs/remotes/server/master)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' checkout branch1; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
Switched to branch 'branch1'
[branch1 dcccb21] 10
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' checkout branch2; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
Switched to branch 'branch2'
[branch2 e76111f] 11
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config set --local --append 'branch.'"$branch_default_name"'.merge' 'refs/heads/branch1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose show server
* remote server
Fetch URL: file:///test_git/server/repo.git
Push URL: file:///test_git/server/repo.git
HEAD branch: branch2
Remote branch:
branch1 tracked
Local branch configured for 'git pull':
master merges with remote branch2
and with remote branch1
Local ref configured for 'git push':
master pushes to master (fast-forwardable)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server/repo.git
local file:.git/config remote.server.fetch=+refs/heads/branch1:refs/remotes/server/branch1
local file:.git/config branch.master.remote=server
local file:.git/config branch.master.merge=refs/heads/branch2
local file:.git/config branch.master.merge=refs/heads/branch1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' -c 'core.editor=:' pull --ff
remote: Enumerating objects: 2, done.
remote: Counting objects: 100% (2/2), done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 2 (delta 1), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (2/2), 223 bytes | 13.00 KiB/s, done.
From file:///test_git/server/repo
64c4318..dcccb21 branch1 -> server/branch1
* branch branch2 -> FETCH_HEAD
Trying simple merge with dcccb21fa5a09a7055773e2de8ddd3c1d6710d2b
Trying simple merge with e76111f42d219fbc5f4998987846b27bc607329a
Merge made by the 'octopus' strategy.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo/.git/FETCH_HEAD'
./client/repo/.git/FETCH_HEAD -/0o100/regular file rw-r--r--/0o644
1 dcccb21fa5a09a7055773e2de8ddd3c1d6710d2b\t\tbranch 'branch1' of file:///test_git/server/repo\n
2 e76111f42d219fbc5f4998987846b27bc607329a\t\tbranch 'branch2' of file:///test_git/server/repo\n
3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all
*-. 607e06f - 2026-05-30 16:31 (3 seconds ago) Merge branches 'branch1' and 'branch2' of file:///test_git/server/repo - Han Jiang (HEAD -> refs/heads/master)
|\ \
| | * e76111f - 2026-05-30 16:31 (5 seconds ago) 11 - Han Jiang
| * | dcccb21 - 2026-05-30 16:31 (5 seconds ago) 10 - Han Jiang (refs/remotes/server/branch1)
| * | 64c4318 - 2026-05-30 16:31 (11 seconds ago) 8 - Han Jiang
* | | e784add - 2026-05-30 16:31 (8 seconds ago) Merge branch 'branch2' of file:///test_git/server/repo - Han Jiang
|\ \ \
| | |/
| |/|
| * | 22f1b87 - 2026-05-30 16:31 (10 seconds ago) 9 - Han Jiang
| * | a57ab34 - 2026-05-30 16:31 (16 seconds ago) 7 - Han Jiang (refs/remotes/server/branch2, refs/remotes/server/HEAD)
| * | 1f9d949 - 2026-05-30 16:31 (32 seconds ago) 3 - Han Jiang
* | | 5486aa0 - 2026-05-30 16:31 (13 seconds ago) Merge branch 'branch1' of file:///test_git/server/repo - Han Jiang
|\ \ \
| | |/
| |/|
| * | fb3264e - 2026-05-30 16:31 (16 seconds ago) 6 - Han Jiang
* | | 1a6826c - 2026-05-30 16:31 (19 seconds ago) Merge branch 'branch1' of file:///test_git/server/repo - Han Jiang
|\| |
| * | 0bd45f2 - 2026-05-30 16:31 (33 seconds ago) 2 - Han Jiang
| |/
* / 333a101 - 2026-05-30 16:31 (27 seconds ago) 4 - Han Jiang
|/
* 8328fb6 - 2026-05-30 16:31 (34 seconds ago) 1 - Han Jiang (refs/remotes/server/master)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' checkout branch1; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
Switched to branch 'branch1'
[branch1 f0394c0] 12
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' checkout branch2; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
Switched to branch 'branch2'
[branch2 23351cb] 13
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' checkout -b branch3 branch1; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
Switched to a new branch 'branch3'
[branch3 62d9d57] 14
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' checkout -b branch4 branch1; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
Switched to a new branch 'branch4'
[branch4 4cb331a] 15
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config set --local --all 'branch.'"$branch_default_name"'.merge' 'refs/heads/branch2'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose show server
* remote server
Fetch URL: file:///test_git/server/repo.git
Push URL: file:///test_git/server/repo.git
HEAD branch: branch4
Remote branch:
branch1 tracked
Local branch configured for 'git pull':
master merges with remote branch2
Local ref configured for 'git push':
master pushes to master (fast-forwardable)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server/repo.git
local file:.git/config remote.server.fetch=+refs/heads/branch1:refs/remotes/server/branch1
local file:.git/config branch.master.remote=server
local file:.git/config branch.master.merge=refs/heads/branch2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' -c 'core.editor=:' pull --ff server branch3 branch4
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 3 (delta 2), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (3/3), 258 bytes | 21.00 KiB/s, done.
From file:///test_git/server/repo
* branch branch3 -> FETCH_HEAD
* branch branch4 -> FETCH_HEAD
Trying simple merge with 62d9d57475968638bba1f1a874d49b733ad7d52a
Trying simple merge with 4cb331ae1c545cd843e177d6a8dcfb172bb3bff2
Merge made by the 'octopus' strategy.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo/.git/FETCH_HEAD'
./client/repo/.git/FETCH_HEAD -/0o100/regular file rw-r--r--/0o644
1 62d9d57475968638bba1f1a874d49b733ad7d52a\t\tbranch 'branch3' of file:///test_git/server/repo\n
2 4cb331ae1c545cd843e177d6a8dcfb172bb3bff2\t\tbranch 'branch4' of file:///test_git/server/repo\n
3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all
*-. e21e730 - 2026-05-30 16:31 (3 seconds ago) Merge branches 'branch3' and 'branch4' of file:///test_git/server/repo - Han Jiang (HEAD -> refs/heads/master)
|\ \
| | * 4cb331a - 2026-05-30 16:31 (5 seconds ago) 15 - Han Jiang
| * | 62d9d57 - 2026-05-30 16:31 (5 seconds ago) 14 - Han Jiang
| |/
| * f0394c0 - 2026-05-30 16:31 (7 seconds ago) 12 - Han Jiang
| |
| \
*-. \ 607e06f - 2026-05-30 16:31 (11 seconds ago) Merge branches 'branch1' and 'branch2' of file:///test_git/server/repo - Han Jiang
|\ \ \
| | |/
| |/|
| | * e76111f - 2026-05-30 16:31 (13 seconds ago) 11 - Han Jiang
| * | dcccb21 - 2026-05-30 16:31 (13 seconds ago) 10 - Han Jiang (refs/remotes/server/branch1)
| * | 64c4318 - 2026-05-30 16:31 (19 seconds ago) 8 - Han Jiang
* | | e784add - 2026-05-30 16:31 (16 seconds ago) Merge branch 'branch2' of file:///test_git/server/repo - Han Jiang
|\ \ \
| | |/
| |/|
| * | 22f1b87 - 2026-05-30 16:31 (18 seconds ago) 9 - Han Jiang
| * | a57ab34 - 2026-05-30 16:31 (24 seconds ago) 7 - Han Jiang (refs/remotes/server/branch2, refs/remotes/server/HEAD)
| * | 1f9d949 - 2026-05-30 16:31 (40 seconds ago) 3 - Han Jiang
* | | 5486aa0 - 2026-05-30 16:31 (21 seconds ago) Merge branch 'branch1' of file:///test_git/server/repo - Han Jiang
|\ \ \
| | |/
| |/|
| * | fb3264e - 2026-05-30 16:31 (24 seconds ago) 6 - Han Jiang
* | | 1a6826c - 2026-05-30 16:31 (27 seconds ago) Merge branch 'branch1' of file:///test_git/server/repo - Han Jiang
|\| |
| * | 0bd45f2 - 2026-05-30 16:31 (41 seconds ago) 2 - Han Jiang
| |/
* / 333a101 - 2026-05-30 16:31 (35 seconds ago) 4 - Han Jiang
|/
* 8328fb6 - 2026-05-30 16:31 (42 seconds ago) 1 - Han Jiang (refs/remotes/server/master)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' checkout branch3; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
Switched to branch 'branch3'
[branch3 07bab4d] 16
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' checkout branch4; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
Switched to branch 'branch4'
[branch4 9d2e81b] 17
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' -c 'core.editor=:' pull --ff server branch3 'refs/heads/branch4:refs/remotes/server/branch4'
remote: Enumerating objects: 2, done.
remote: Counting objects: 100% (2/2), done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 2 (delta 1), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (2/2), 237 bytes | 29.00 KiB/s, done.
From file:///test_git/server/repo
* branch branch3 -> FETCH_HEAD
* [new branch] branch4 -> server/branch4
Trying simple merge with 07bab4dd5b720abe07bede69983fe6f7c9ddecc3
Trying simple merge with 9d2e81b7e248cdd882c67adf1f9408c6fa310bce
Merge made by the 'octopus' strategy.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo/.git/FETCH_HEAD'
./client/repo/.git/FETCH_HEAD -/0o100/regular file rw-r--r--/0o644
1 07bab4dd5b720abe07bede69983fe6f7c9ddecc3\t\tbranch 'branch3' of file:///test_git/server/repo\n
2 9d2e81b7e248cdd882c67adf1f9408c6fa310bce\t\tbranch 'branch4' of file:///test_git/server/repo\n
3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all
*-. 3555e3a - 2026-05-30 16:32 (4 seconds ago) Merge branches 'branch3' and 'branch4' of file:///test_git/server/repo - Han Jiang (HEAD -> refs/heads/master)
|\ \
| | * 9d2e81b - 2026-05-30 16:32 (4 seconds ago) 17 - Han Jiang (refs/remotes/server/branch4)
| * | 07bab4d - 2026-05-30 16:32 (5 seconds ago) 16 - Han Jiang
| | |
| \ \
*-. \ \ e21e730 - 2026-05-30 16:31 (9 seconds ago) Merge branches 'branch3' and 'branch4' of file:///test_git/server/repo - Han Jiang
|\ \ \ \
| | |/ /
| |/| /
| | |/
| | * 4cb331a - 2026-05-30 16:31 (11 seconds ago) 15 - Han Jiang
| * | 62d9d57 - 2026-05-30 16:31 (11 seconds ago) 14 - Han Jiang
| |/
| * f0394c0 - 2026-05-30 16:31 (13 seconds ago) 12 - Han Jiang
| |
| \
*-. \ 607e06f - 2026-05-30 16:31 (17 seconds ago) Merge branches 'branch1' and 'branch2' of file:///test_git/server/repo - Han Jiang
|\ \ \
| | |/
| |/|
| | * e76111f - 2026-05-30 16:31 (19 seconds ago) 11 - Han Jiang
| * | dcccb21 - 2026-05-30 16:31 (19 seconds ago) 10 - Han Jiang (refs/remotes/server/branch1)
| * | 64c4318 - 2026-05-30 16:31 (25 seconds ago) 8 - Han Jiang
* | | e784add - 2026-05-30 16:31 (22 seconds ago) Merge branch 'branch2' of file:///test_git/server/repo - Han Jiang
|\ \ \
| | |/
| |/|
| * | 22f1b87 - 2026-05-30 16:31 (24 seconds ago) 9 - Han Jiang
| * | a57ab34 - 2026-05-30 16:31 (30 seconds ago) 7 - Han Jiang (refs/remotes/server/branch2, refs/remotes/server/HEAD)
| * | 1f9d949 - 2026-05-30 16:31 (46 seconds ago) 3 - Han Jiang
* | | 5486aa0 - 2026-05-30 16:31 (27 seconds ago) Merge branch 'branch1' of file:///test_git/server/repo - Han Jiang
|\ \ \
| | |/
| |/|
| * | fb3264e - 2026-05-30 16:31 (30 seconds ago) 6 - Han Jiang
* | | 1a6826c - 2026-05-30 16:31 (33 seconds ago) Merge branch 'branch1' of file:///test_git/server/repo - Han Jiang
|\| |
| * | 0bd45f2 - 2026-05-30 16:31 (47 seconds ago) 2 - Han Jiang
| |/
* / 333a101 - 2026-05-30 16:31 (41 seconds ago) 4 - Han Jiang
|/
* 8328fb6 - 2026-05-30 16:31 (48 seconds ago) 1 - Han Jiang (refs/remotes/server/master)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' checkout branch1; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
Switched to branch 'branch1'
[branch1 673a1ca] 18
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' checkout branch2; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
Switched to branch 'branch2'
[branch2 52e915a] 19
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' checkout branch3; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
Switched to branch 'branch3'
[branch3 35c64ca] 20
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' checkout branch4; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
Switched to branch 'branch4'
[branch4 a261173] 21
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config set --local --all 'remote.server.fetch' '+refs/heads/*:refs/remotes/server/*'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose show server
* remote server
Fetch URL: file:///test_git/server/repo.git
Push URL: file:///test_git/server/repo.git
HEAD branch: branch4
Remote branches:
branch1 tracked
branch2 tracked
branch3 new (next fetch will store in remotes/server)
branch4 tracked
master tracked
Local branch configured for 'git pull':
master merges with remote branch2
Local ref configured for 'git push':
master pushes to master (fast-forwardable)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server/repo.git
local file:.git/config remote.server.fetch=+refs/heads/*:refs/remotes/server/*
local file:.git/config branch.master.remote=server
local file:.git/config branch.master.merge=refs/heads/branch2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' -c 'core.editor=:' pull --ff server branch3 branch4
remote: Enumerating objects: 2, done.
remote: Counting objects: 100% (2/2), done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 2 (delta 1), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (2/2), 224 bytes | 22.00 KiB/s, done.
From file:///test_git/server/repo
* branch branch3 -> FETCH_HEAD
* branch branch4 -> FETCH_HEAD
* [new branch] branch3 -> server/branch3
9d2e81b..a261173 branch4 -> server/branch4
Trying simple merge with 35c64ca75bc99db206847f1b97b57e6b9405e07f
Trying simple merge with a261173e4817631136ba6974981ba0ad83206e3a
Merge made by the 'octopus' strategy.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo/.git/FETCH_HEAD'
./client/repo/.git/FETCH_HEAD -/0o100/regular file rw-r--r--/0o644
1 35c64ca75bc99db206847f1b97b57e6b9405e07f\t\tbranch 'branch3' of file:///test_git/server/repo\n
2 a261173e4817631136ba6974981ba0ad83206e3a\t\tbranch 'branch4' of file:///test_git/server/repo\n
3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all
*-. 0afd6ad - 2026-05-30 16:32 (3 seconds ago) Merge branches 'branch3' and 'branch4' of file:///test_git/server/repo - Han Jiang (HEAD -> refs/heads/master)
|\ \
| | * a261173 - 2026-05-30 16:32 (5 seconds ago) 21 - Han Jiang (refs/remotes/server/branch4)
| * | 35c64ca - 2026-05-30 16:32 (5 seconds ago) 20 - Han Jiang (refs/remotes/server/branch3)
| | |
| \ \
*-. \ \ 3555e3a - 2026-05-30 16:32 (11 seconds ago) Merge branches 'branch3' and 'branch4' of file:///test_git/server/repo - Han Jiang
|\ \ \ \
| | |/ /
| |/| /
| | |/
| | * 9d2e81b - 2026-05-30 16:32 (11 seconds ago) 17 - Han Jiang
| * | 07bab4d - 2026-05-30 16:32 (12 seconds ago) 16 - Han Jiang
| | |
| \ \
*-. \ \ e21e730 - 2026-05-30 16:31 (16 seconds ago) Merge branches 'branch3' and 'branch4' of file:///test_git/server/repo - Han Jiang
|\ \ \ \
| | |/ /
| |/| /
| | |/
| | * 4cb331a - 2026-05-30 16:31 (18 seconds ago) 15 - Han Jiang
| * | 62d9d57 - 2026-05-30 16:31 (18 seconds ago) 14 - Han Jiang
| |/
| * f0394c0 - 2026-05-30 16:31 (20 seconds ago) 12 - Han Jiang
| |
| \
*-. \ 607e06f - 2026-05-30 16:31 (24 seconds ago) Merge branches 'branch1' and 'branch2' of file:///test_git/server/repo - Han Jiang
|\ \ \
| | |/
| |/|
| | * e76111f - 2026-05-30 16:31 (26 seconds ago) 11 - Han Jiang
| * | dcccb21 - 2026-05-30 16:31 (26 seconds ago) 10 - Han Jiang (refs/remotes/server/branch1)
| * | 64c4318 - 2026-05-30 16:31 (32 seconds ago) 8 - Han Jiang
* | | e784add - 2026-05-30 16:31 (29 seconds ago) Merge branch 'branch2' of file:///test_git/server/repo - Han Jiang
|\ \ \
| | |/
| |/|
| * | 22f1b87 - 2026-05-30 16:31 (31 seconds ago) 9 - Han Jiang
| * | a57ab34 - 2026-05-30 16:31 (37 seconds ago) 7 - Han Jiang (refs/remotes/server/branch2, refs/remotes/server/HEAD)
| * | 1f9d949 - 2026-05-30 16:31 (53 seconds ago) 3 - Han Jiang
* | | 5486aa0 - 2026-05-30 16:31 (34 seconds ago) Merge branch 'branch1' of file:///test_git/server/repo - Han Jiang
|\ \ \
| | |/
| |/|
| * | fb3264e - 2026-05-30 16:31 (37 seconds ago) 6 - Han Jiang
* | | 1a6826c - 2026-05-30 16:31 (40 seconds ago) Merge branch 'branch1' of file:///test_git/server/repo - Han Jiang
|\| |
| * | 0bd45f2 - 2026-05-30 16:31 (54 seconds ago) 2 - Han Jiang
| |/
* / 333a101 - 2026-05-30 16:31 (48 seconds ago) 4 - Han Jiang
|/
* 8328fb6 - 2026-05-30 16:31 (55 seconds ago) 1 - Han Jiang (refs/remotes/server/master)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' checkout branch1; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
Switched to branch 'branch1'
[branch1 d845f90] 22
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' checkout branch2; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
Switched to branch 'branch2'
[branch2 b0fed36] 23
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' checkout branch3; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
Switched to branch 'branch3'
[branch3 0f91f49] 24
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' checkout branch4; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
Switched to branch 'branch4'
[branch4 878ede8] 25
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' -c 'core.editor=:' pull --ff server '+refs/heads/branch*:refs/remotes/server/branch*'
remote: Enumerating objects: 7, done.
remote: Counting objects: 100% (7/7), done.
remote: Compressing objects: 100% (7/7), done.
remote: Total 7 (delta 6), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (7/7), 623 bytes | 25.00 KiB/s, done.
From file:///test_git/server/repo
dcccb21..d845f90 branch1 -> server/branch1
a57ab34..b0fed36 branch2 -> server/branch2
35c64ca..0f91f49 branch3 -> server/branch3
a261173..878ede8 branch4 -> server/branch4
Trying simple merge with d845f900a86fcd1ef65abaafcced4dbf368cea74
Trying simple merge with b0fed362bdec11f4b45fae0f88fcb7e6fa8db366
Trying simple merge with 0f91f491f17aa9e437caf16dd41d7453e0f4b645
Trying simple merge with 878ede8db81dc0072558b1606b60f78e315181ab
Merge made by the 'octopus' strategy.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo/.git/FETCH_HEAD'
./client/repo/.git/FETCH_HEAD -/0o100/regular file rw-r--r--/0o644
1 d845f900a86fcd1ef65abaafcced4dbf368cea74\t\tbranch 'branch1' of file:///test_git/server/repo\n
2 b0fed362bdec11f4b45fae0f88fcb7e6fa8db366\t\tbranch 'branch2' of file:///test_git/server/repo\n
3 0f91f491f17aa9e437caf16dd41d7453e0f4b645\t\tbranch 'branch3' of file:///test_git/server/repo\n
4 878ede8db81dc0072558b1606b60f78e315181ab\t\tbranch 'branch4' of file:///test_git/server/repo\n
5
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all
*-----. 496a165 - 2026-05-30 16:32 (4 seconds ago) Merge branches 'branch1', 'branch2', 'branch3' and 'branch4' of file:///test_git/server/repo - Han Jiang (HEAD -> refs/heads/master)
|\ \ \ \
| | | | * 878ede8 - 2026-05-30 16:32 (5 seconds ago) 25 - Han Jiang (refs/remotes/server/branch4)
| | | * | 0f91f49 - 2026-05-30 16:32 (6 seconds ago) 24 - Han Jiang (refs/remotes/server/branch3)
| | * | | b0fed36 - 2026-05-30 16:32 (6 seconds ago) 23 - Han Jiang (refs/remotes/server/branch2, refs/remotes/server/HEAD)
| | * | | 52e915a - 2026-05-30 16:32 (14 seconds ago) 19 - Han Jiang
| | * | | 23351cb - 2026-05-30 16:31 (27 seconds ago) 13 - Han Jiang
| * | | | d845f90 - 2026-05-30 16:32 (7 seconds ago) 22 - Han Jiang (refs/remotes/server/branch1)
| * | | | 673a1ca - 2026-05-30 16:32 (15 seconds ago) 18 - Han Jiang
| | | | |
| \ \ \ \
*-. \ \ \ \ 0afd6ad - 2026-05-30 16:32 (11 seconds ago) Merge branches 'branch3' and 'branch4' of file:///test_git/server/repo - Han Jiang
|\ \ \ \ \ \
| | |_|_|/ /
| |/| | | /
| | | |_|/
| | |/| |
| | * | | a261173 - 2026-05-30 16:32 (13 seconds ago) 21 - Han Jiang
| * | | | 35c64ca - 2026-05-30 16:32 (13 seconds ago) 20 - Han Jiang
| | | | |
| \ \ \ \
*-. \ \ \ \ 3555e3a - 2026-05-30 16:32 (19 seconds ago) Merge branches 'branch3' and 'branch4' of file:///test_git/server/repo - Han Jiang
|\ \ \ \ \ \
| | |/ / / /
| |/| / / /
| | |/ / /
| | * | | 9d2e81b - 2026-05-30 16:32 (19 seconds ago) 17 - Han Jiang
| * | | | 07bab4d - 2026-05-30 16:32 (20 seconds ago) 16 - Han Jiang
| | | | |
| \ \ \ \
*-. \ \ \ \ e21e730 - 2026-05-30 16:31 (24 seconds ago) Merge branches 'branch3' and 'branch4' of file:///test_git/server/repo - Han Jiang
|\ \ \ \ \ \
| | |/ / / /
| |/| / / /
| | |/ / /
| | * / / 4cb331a - 2026-05-30 16:31 (26 seconds ago) 15 - Han Jiang
| | |/ /
| * / / 62d9d57 - 2026-05-30 16:31 (26 seconds ago) 14 - Han Jiang
| |/ /
| * | f0394c0 - 2026-05-30 16:31 (28 seconds ago) 12 - Han Jiang
| | |
| \ \
*-. \ \ 607e06f - 2026-05-30 16:31 (32 seconds ago) Merge branches 'branch1' and 'branch2' of file:///test_git/server/repo - Han Jiang
|\ \ \ \
| | |/ /
| |/| /
| | |/
| | * e76111f - 2026-05-30 16:31 (34 seconds ago) 11 - Han Jiang
| * | dcccb21 - 2026-05-30 16:31 (34 seconds ago) 10 - Han Jiang
| * | 64c4318 - 2026-05-30 16:31 (40 seconds ago) 8 - Han Jiang
* | | e784add - 2026-05-30 16:31 (37 seconds ago) Merge branch 'branch2' of file:///test_git/server/repo - Han Jiang
|\ \ \
| | |/
| |/|
| * | 22f1b87 - 2026-05-30 16:31 (39 seconds ago) 9 - Han Jiang
| * | a57ab34 - 2026-05-30 16:31 (45 seconds ago) 7 - Han Jiang
| * | 1f9d949 - 2026-05-30 16:31 (61 seconds ago) 3 - Han Jiang
* | | 5486aa0 - 2026-05-30 16:31 (42 seconds ago) Merge branch 'branch1' of file:///test_git/server/repo - Han Jiang
|\ \ \
| | |/
| |/|
| * | fb3264e - 2026-05-30 16:31 (45 seconds ago) 6 - Han Jiang
* | | 1a6826c - 2026-05-30 16:31 (48 seconds ago) Merge branch 'branch1' of file:///test_git/server/repo - Han Jiang
|\| |
| * | 0bd45f2 - 2026-05-30 16:31 (62 seconds ago) 2 - Han Jiang
| |/
* / 333a101 - 2026-05-30 16:31 (56 seconds ago) 4 - Han Jiang
|/
* 8328fb6 - 2026-05-30 16:31 (63 seconds ago) 1 - Han Jiang (refs/remotes/server/master)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server' init --bare './repo.git'
Initialized empty Git repository in C:/Program Files/Git/test_git/server/repo.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
[master (root-commit) 203c29d] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --all
* 203c29d - 2026-05-30 16:32 (1 second ago) 1 - Han Jiang (HEAD -> refs/heads/master)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client1' clone 'file://'"$(realpath './server/repo.git')" './repo'
Cloning into './repo'...
remote: Enumerating objects: 2, done.
remote: Counting objects: 100% (2/2), done.
remote: Total 2 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Receiving objects: 100% (2/2), done.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client1/repo' lg --all
* 203c29d - 2026-05-30 16:32 (2 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client1/repo' commit --message="$((++number))" --allow-empty
[master 0e3e302] 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client1/repo' lg --all
* 0e3e302 - 2026-05-30 16:32 (1 second ago) 2 - Han Jiang (HEAD -> refs/heads/master)
* 203c29d - 2026-05-30 16:32 (3 seconds ago) 1 - Han Jiang (refs/remotes/origin/master, refs/remotes/origin/HEAD)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client1/repo' push --force-with-lease
Enumerating objects: 1, done.
Counting objects: 100% (1/1), done.
Writing objects: 100% (1/1), 179 bytes | 179.00 KiB/s, done.
Total 1 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
To file:///test_git/server/repo.git
203c29d..0e3e302 master -> master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client1/repo' lg --all
* 0e3e302 - 2026-05-30 16:32 (2 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
* 203c29d - 2026-05-30 16:32 (4 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --all
* 0e3e302 - 2026-05-30 16:32 (2 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
* 203c29d - 2026-05-30 16:32 (4 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client2' clone 'file://'"$(realpath './server/repo.git')" './repo'
Cloning into './repo'...
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 3 (delta 1), reused 0 (delta 0), pack-reused 0 (from 0)
Receiving objects: 100% (3/3), done.
Resolving deltas: 100% (1/1), done.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client2/repo' lg --all
* 0e3e302 - 2026-05-30 16:32 (4 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
* 203c29d - 2026-05-30 16:32 (6 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client2/repo' commit --message="$((++number))" --allow-empty
[master 0b4f508] 3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client2/repo' lg --all
* 0b4f508 - 2026-05-30 16:32 (0 seconds ago) 3 - Han Jiang (HEAD -> refs/heads/master)
* 0e3e302 - 2026-05-30 16:32 (4 seconds ago) 2 - Han Jiang (refs/remotes/origin/master, refs/remotes/origin/HEAD)
* 203c29d - 2026-05-30 16:32 (6 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client2/repo' push --force-with-lease
Enumerating objects: 1, done.
Counting objects: 100% (1/1), done.
Writing objects: 100% (1/1), 178 bytes | 178.00 KiB/s, done.
Total 1 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
To file:///test_git/server/repo.git
0e3e302..0b4f508 master -> master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client2/repo' lg --all
* 0b4f508 - 2026-05-30 16:32 (2 seconds ago) 3 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
* 0e3e302 - 2026-05-30 16:32 (6 seconds ago) 2 - Han Jiang
* 203c29d - 2026-05-30 16:32 (8 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --all
* 0b4f508 - 2026-05-30 16:32 (2 seconds ago) 3 - Han Jiang (HEAD -> refs/heads/master)
* 0e3e302 - 2026-05-30 16:32 (6 seconds ago) 2 - Han Jiang
* 203c29d - 2026-05-30 16:32 (8 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client1/repo' commit --message="$((++number))" --allow-empty --amend
[master a73a224] 4
Date: Sat May 30 16:32:48 2026 +1200
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client1/repo' lg --all
* a73a224 - 2026-05-30 16:32 (7 seconds ago) 4 - Han Jiang (HEAD -> refs/heads/master)
| * 0e3e302 - 2026-05-30 16:32 (7 seconds ago) 2 - Han Jiang (refs/remotes/origin/master, refs/remotes/origin/HEAD)
|/
* 203c29d - 2026-05-30 16:32 (9 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client1/repo' push --force-with-lease
To file:///test_git/server/repo.git
! [rejected] master -> master (stale info)
error: failed to push some refs to 'file:///test_git/server/repo.git'
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client1/repo' fetch
remote: Enumerating objects: 1, done.
remote: Counting objects: 100% (1/1), done.
remote: Total 1 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (1/1), 158 bytes | 39.00 KiB/s, done.
From file:///test_git/server/repo
0e3e302..0b4f508 master -> origin/master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client1/repo' lg --all
* a73a224 - 2026-05-30 16:32 (9 seconds ago) 4 - Han Jiang (HEAD -> refs/heads/master)
| * 0b4f508 - 2026-05-30 16:32 (5 seconds ago) 3 - Han Jiang (refs/remotes/origin/master, refs/remotes/origin/HEAD)
| * 0e3e302 - 2026-05-30 16:32 (9 seconds ago) 2 - Han Jiang
|/
* 203c29d - 2026-05-30 16:32 (11 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client1/repo' push --force-with-lease
Enumerating objects: 1, done.
Counting objects: 100% (1/1), done.
Writing objects: 100% (1/1), 183 bytes | 183.00 KiB/s, done.
Total 1 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
To file:///test_git/server/repo.git
+ 0b4f508...a73a224 master -> master (forced update)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client1/repo' lg --all
* a73a224 - 2026-05-30 16:32 (10 seconds ago) 4 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
* 203c29d - 2026-05-30 16:32 (12 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --all
* a73a224 - 2026-05-30 16:32 (10 seconds ago) 4 - Han Jiang (HEAD -> refs/heads/master)
* 203c29d - 2026-05-30 16:32 (12 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server' init --bare './repo.git'
Initialized empty Git repository in C:/Program Files/Git/test_git/server/repo.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
[master (root-commit) 26f71e0] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --all
* 26f71e0 - 2026-05-30 16:33 (1 second ago) 1 - Han Jiang (HEAD -> refs/heads/master)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client1' clone 'file://'"$(realpath './server/repo.git')" './repo'
Cloning into './repo'...
remote: Enumerating objects: 2, done.
remote: Counting objects: 100% (2/2), done.
remote: Total 2 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Receiving objects: 100% (2/2), done.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ branch_default_name="$(git -C './client1/repo' branch --show-current)"; echo "$branch_default_name"
master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client1/repo' lg --all
* 26f71e0 - 2026-05-30 16:33 (3 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client1/repo' commit --message="$((++number))" --allow-empty
[master d9c7481] 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client1/repo' lg --all
* d9c7481 - 2026-05-30 16:33 (0 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
* 26f71e0 - 2026-05-30 16:33 (3 seconds ago) 1 - Han Jiang (refs/remotes/origin/master, refs/remotes/origin/HEAD)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client1/repo' push --force-with-lease --force-if-includes
Enumerating objects: 1, done.
Counting objects: 100% (1/1), done.
Writing objects: 100% (1/1), 178 bytes | 178.00 KiB/s, done.
Total 1 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
To file:///test_git/server/repo.git
26f71e0..d9c7481 master -> master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client1/repo' lg --all
* d9c7481 - 2026-05-30 16:33 (1 second ago) 2 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
* 26f71e0 - 2026-05-30 16:33 (4 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --all
* d9c7481 - 2026-05-30 16:33 (2 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
* 26f71e0 - 2026-05-30 16:33 (5 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client2' clone 'file://'"$(realpath './server/repo.git')" './repo'
Cloning into './repo'...
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 3 (delta 1), reused 0 (delta 0), pack-reused 0 (from 0)
Receiving objects: 100% (3/3), done.
Resolving deltas: 100% (1/1), done.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client2/repo' lg --all
* d9c7481 - 2026-05-30 16:33 (3 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
* 26f71e0 - 2026-05-30 16:33 (6 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client2/repo' commit --message="$((++number))" --allow-empty
[master 8063352] 3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client2/repo' lg --all
* 8063352 - 2026-05-30 16:33 (0 seconds ago) 3 - Han Jiang (HEAD -> refs/heads/master)
* d9c7481 - 2026-05-30 16:33 (4 seconds ago) 2 - Han Jiang (refs/remotes/origin/master, refs/remotes/origin/HEAD)
* 26f71e0 - 2026-05-30 16:33 (7 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client2/repo' push --force-with-lease --force-if-includes
Enumerating objects: 1, done.
Counting objects: 100% (1/1), done.
Writing objects: 100% (1/1), 179 bytes | 179.00 KiB/s, done.
Total 1 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
To file:///test_git/server/repo.git
d9c7481..8063352 master -> master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client2/repo' lg --all
* 8063352 - 2026-05-30 16:33 (1 second ago) 3 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
* d9c7481 - 2026-05-30 16:33 (5 seconds ago) 2 - Han Jiang
* 26f71e0 - 2026-05-30 16:33 (8 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --all
* 8063352 - 2026-05-30 16:33 (2 seconds ago) 3 - Han Jiang (HEAD -> refs/heads/master)
* d9c7481 - 2026-05-30 16:33 (6 seconds ago) 2 - Han Jiang
* 26f71e0 - 2026-05-30 16:33 (9 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client1/repo' commit --message="$((++number))" --allow-empty --amend
[master 2422af8] 4
Date: Sat May 30 16:33:05 2026 +1200
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client1/repo' lg --all
* 2422af8 - 2026-05-30 16:33 (7 seconds ago) 4 - Han Jiang (HEAD -> refs/heads/master)
| * d9c7481 - 2026-05-30 16:33 (7 seconds ago) 2 - Han Jiang (refs/remotes/origin/master, refs/remotes/origin/HEAD)
|/
* 26f71e0 - 2026-05-30 16:33 (10 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client1/repo' fetch
remote: Enumerating objects: 1, done.
remote: Counting objects: 100% (1/1), done.
remote: Total 1 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (1/1), 159 bytes | 26.00 KiB/s, done.
From file:///test_git/server/repo
d9c7481..8063352 master -> origin/master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client1/repo' lg --all
* 2422af8 - 2026-05-30 16:33 (8 seconds ago) 4 - Han Jiang (HEAD -> refs/heads/master)
| * 8063352 - 2026-05-30 16:33 (4 seconds ago) 3 - Han Jiang (refs/remotes/origin/master, refs/remotes/origin/HEAD)
| * d9c7481 - 2026-05-30 16:33 (8 seconds ago) 2 - Han Jiang
|/
* 26f71e0 - 2026-05-30 16:33 (11 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client1/repo' push --force-with-lease --force-if-includes
To file:///test_git/server/repo.git
! [rejected] master -> master (remote ref updated since checkout)
error: failed to push some refs to 'file:///test_git/server/repo.git'
hint: Updates were rejected because the tip of the remote-tracking branch has
hint: been updated since the last checkout. If you want to integrate the
hint: remote changes, use 'git pull' before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client1/repo' reflog show --format=tformat:'%gD' HEAD
HEAD@{0}
HEAD@{1}
HEAD@{2}
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client1/repo' lg --not $(git -C './client1/repo' reflog show --format=tformat:'%gD' HEAD) --not 'HEAD@{upstream}'
* 8063352 - 2026-05-30 16:33 (5 seconds ago) 3 - Han Jiang (refs/remotes/origin/master, refs/remotes/origin/HEAD)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --all
* 8063352 - 2026-05-30 16:33 (6 seconds ago) 3 - Han Jiang (HEAD -> refs/heads/master)
* d9c7481 - 2026-05-30 16:33 (10 seconds ago) 2 - Han Jiang
* 26f71e0 - 2026-05-30 16:33 (13 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client1/repo' rebase --onto=HEAD 'HEAD@{upstream}@{1}' 'HEAD@{upstream}'
Successfully rebased and updated detached HEAD.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client1/repo' lg --all
* b8fdb47 - 2026-05-30 16:33 (7 seconds ago) 3 - Han Jiang (HEAD)
* 2422af8 - 2026-05-30 16:33 (11 seconds ago) 4 - Han Jiang (refs/heads/master)
| * 8063352 - 2026-05-30 16:33 (7 seconds ago) 3 - Han Jiang (refs/remotes/origin/master, refs/remotes/origin/HEAD)
| * d9c7481 - 2026-05-30 16:33 (11 seconds ago) 2 - Han Jiang
|/
* 26f71e0 - 2026-05-30 16:33 (14 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client1/repo' checkout -B "$branch_default_name"
Switched to and reset branch 'master'
Your branch and 'origin/master' have diverged,
and have 2 and 2 different commits each, respectively.
(use "git pull" if you want to integrate the remote branch with yours)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client1/repo' lg --all
* b8fdb47 - 2026-05-30 16:33 (7 seconds ago) 3 - Han Jiang (HEAD -> refs/heads/master)
* 2422af8 - 2026-05-30 16:33 (11 seconds ago) 4 - Han Jiang
| * 8063352 - 2026-05-30 16:33 (7 seconds ago) 3 - Han Jiang (refs/remotes/origin/master, refs/remotes/origin/HEAD)
| * d9c7481 - 2026-05-30 16:33 (11 seconds ago) 2 - Han Jiang
|/
* 26f71e0 - 2026-05-30 16:33 (14 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client1/repo' push --force-with-lease --force-if-includes
To file:///test_git/server/repo.git
! [rejected] master -> master (remote ref updated since checkout)
error: failed to push some refs to 'file:///test_git/server/repo.git'
hint: Updates were rejected because the tip of the remote-tracking branch has
hint: been updated since the last checkout. If you want to integrate the
hint: remote changes, use 'git pull' before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client1/repo' push --force-with-lease
Enumerating objects: 2, done.
Counting objects: 100% (2/2), done.
Delta compression using up to 8 threads
Compressing objects: 100% (2/2), done.
Writing objects: 100% (2/2), 259 bytes | 259.00 KiB/s, done.
Total 2 (delta 1), reused 0 (delta 0), pack-reused 0 (from 0)
To file:///test_git/server/repo.git
+ 8063352...b8fdb47 master -> master (forced update)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client1/repo' lg --all
* b8fdb47 - 2026-05-30 16:33 (9 seconds ago) 3 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
* 2422af8 - 2026-05-30 16:33 (13 seconds ago) 4 - Han Jiang
* 26f71e0 - 2026-05-30 16:33 (16 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --all
* b8fdb47 - 2026-05-30 16:33 (9 seconds ago) 3 - Han Jiang (HEAD -> refs/heads/master)
* 2422af8 - 2026-05-30 16:33 (13 seconds ago) 4 - Han Jiang
* 26f71e0 - 2026-05-30 16:33 (16 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server' init --bare './repo.git'
Initialized empty Git repository in C:/Program Files/Git/test_git/server/repo.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
[master (root-commit) a4fd4b6] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --all
* a4fd4b6 - 2026-05-30 16:33 (0 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client1' clone 'file://'"$(realpath './server/repo.git')" './repo'
Cloning into './repo'...
remote: Enumerating objects: 2, done.
remote: Counting objects: 100% (2/2), done.
remote: Total 2 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Receiving objects: 100% (2/2), done.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ branch_default_name="$(git -C './client1/repo' branch --show-current)"; echo "$branch_default_name"
master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client1/repo' lg --all
* a4fd4b6 - 2026-05-30 16:33 (2 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client1/repo' commit --message="$((++number))" --allow-empty
[master c20238e] 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client1/repo' lg --all
* c20238e - 2026-05-30 16:33 (1 second ago) 2 - Han Jiang (HEAD -> refs/heads/master)
* a4fd4b6 - 2026-05-30 16:33 (3 seconds ago) 1 - Han Jiang (refs/remotes/origin/master, refs/remotes/origin/HEAD)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client1/repo' push
Enumerating objects: 1, done.
Counting objects: 100% (1/1), done.
Writing objects: 100% (1/1), 178 bytes | 178.00 KiB/s, done.
Total 1 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
To file:///test_git/server/repo.git
a4fd4b6..c20238e master -> master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client1/repo' lg --all
* c20238e - 2026-05-30 16:33 (2 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
* a4fd4b6 - 2026-05-30 16:33 (4 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --all
* c20238e - 2026-05-30 16:33 (2 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
* a4fd4b6 - 2026-05-30 16:33 (4 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client2' clone 'file://'"$(realpath './server/repo.git')" './repo'
Cloning into './repo'...
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 3 (delta 1), reused 0 (delta 0), pack-reused 0 (from 0)
Receiving objects: 100% (3/3), done.
Resolving deltas: 100% (1/1), done.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client2/repo' lg --all
* c20238e - 2026-05-30 16:33 (3 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
* a4fd4b6 - 2026-05-30 16:33 (5 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client2/repo' commit --message="$((++number))" --allow-empty
[master 50fbc4f] 3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client2/repo' lg --all
* 50fbc4f - 2026-05-30 16:33 (0 seconds ago) 3 - Han Jiang (HEAD -> refs/heads/master)
* c20238e - 2026-05-30 16:33 (4 seconds ago) 2 - Han Jiang (refs/remotes/origin/master, refs/remotes/origin/HEAD)
* a4fd4b6 - 2026-05-30 16:33 (6 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client2/repo' push
Enumerating objects: 1, done.
Counting objects: 100% (1/1), done.
Writing objects: 100% (1/1), 178 bytes | 178.00 KiB/s, done.
Total 1 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
To file:///test_git/server/repo.git
c20238e..50fbc4f master -> master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client2/repo' lg --all
* 50fbc4f - 2026-05-30 16:33 (2 seconds ago) 3 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
* c20238e - 2026-05-30 16:33 (6 seconds ago) 2 - Han Jiang
* a4fd4b6 - 2026-05-30 16:33 (8 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --all
* 50fbc4f - 2026-05-30 16:33 (2 seconds ago) 3 - Han Jiang (HEAD -> refs/heads/master)
* c20238e - 2026-05-30 16:33 (6 seconds ago) 2 - Han Jiang
* a4fd4b6 - 2026-05-30 16:33 (8 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client1/repo' commit --message="$((++number))" --allow-empty --amend
[master ade71e5] 4
Date: Sat May 30 16:33:25 2026 +1200
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client1/repo' lg --all
* ade71e5 - 2026-05-30 16:33 (7 seconds ago) 4 - Han Jiang (HEAD -> refs/heads/master)
| * c20238e - 2026-05-30 16:33 (7 seconds ago) 2 - Han Jiang (refs/remotes/origin/master, refs/remotes/origin/HEAD)
|/
* a4fd4b6 - 2026-05-30 16:33 (9 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client1/repo' push
To file:///test_git/server/repo.git
! [rejected] master -> master (fetch first)
error: failed to push some refs to 'file:///test_git/server/repo.git'
hint: Updates were rejected because the remote contains work that you do not
hint: have locally. This is usually caused by another repository pushing to
hint: the same ref. If you want to integrate the remote changes, use
hint: 'git pull' before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client1/repo' fetch
remote: Enumerating objects: 1, done.
remote: Counting objects: 100% (1/1), done.
remote: Total 1 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (1/1), 158 bytes | 31.00 KiB/s, done.
From file:///test_git/server/repo
c20238e..50fbc4f master -> origin/master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client1/repo' lg --all
* ade71e5 - 2026-05-30 16:33 (9 seconds ago) 4 - Han Jiang (HEAD -> refs/heads/master)
| * 50fbc4f - 2026-05-30 16:33 (5 seconds ago) 3 - Han Jiang (refs/remotes/origin/master, refs/remotes/origin/HEAD)
| * c20238e - 2026-05-30 16:33 (9 seconds ago) 2 - Han Jiang
|/
* a4fd4b6 - 2026-05-30 16:33 (11 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --all
* 50fbc4f - 2026-05-30 16:33 (5 seconds ago) 3 - Han Jiang (HEAD -> refs/heads/master)
* c20238e - 2026-05-30 16:33 (9 seconds ago) 2 - Han Jiang
* a4fd4b6 - 2026-05-30 16:33 (11 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client1/repo' rebase --onto=HEAD 'HEAD@{upstream}@{1}' 'HEAD@{upstream}'
Successfully rebased and updated detached HEAD.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client1/repo' lg --all
* 5b43524 - 2026-05-30 16:33 (6 seconds ago) 3 - Han Jiang (HEAD)
* ade71e5 - 2026-05-30 16:33 (10 seconds ago) 4 - Han Jiang (refs/heads/master)
| * 50fbc4f - 2026-05-30 16:33 (6 seconds ago) 3 - Han Jiang (refs/remotes/origin/master, refs/remotes/origin/HEAD)
| * c20238e - 2026-05-30 16:33 (10 seconds ago) 2 - Han Jiang
|/
* a4fd4b6 - 2026-05-30 16:33 (12 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client1/repo' checkout -B "$branch_default_name"
Switched to and reset branch 'master'
Your branch and 'origin/master' have diverged,
and have 2 and 2 different commits each, respectively.
(use "git pull" if you want to integrate the remote branch with yours)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client1/repo' lg --all
* 5b43524 - 2026-05-30 16:33 (7 seconds ago) 3 - Han Jiang (HEAD -> refs/heads/master)
* ade71e5 - 2026-05-30 16:33 (11 seconds ago) 4 - Han Jiang
| * 50fbc4f - 2026-05-30 16:33 (7 seconds ago) 3 - Han Jiang (refs/remotes/origin/master, refs/remotes/origin/HEAD)
| * c20238e - 2026-05-30 16:33 (11 seconds ago) 2 - Han Jiang
|/
* a4fd4b6 - 2026-05-30 16:33 (13 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client1/repo' push --force-with-lease="$branch_default_name"':HEAD@{upstream}'
Enumerating objects: 2, done.
Counting objects: 100% (2/2), done.
Delta compression using up to 8 threads
Compressing objects: 100% (2/2), done.
Writing objects: 100% (2/2), 257 bytes | 257.00 KiB/s, done.
Total 2 (delta 1), reused 0 (delta 0), pack-reused 0 (from 0)
To file:///test_git/server/repo.git
+ 50fbc4f...5b43524 master -> master (forced update)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client1/repo' lg --all
* 5b43524 - 2026-05-30 16:33 (8 seconds ago) 3 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
* ade71e5 - 2026-05-30 16:33 (12 seconds ago) 4 - Han Jiang
* a4fd4b6 - 2026-05-30 16:33 (14 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --all
* 5b43524 - 2026-05-30 16:33 (8 seconds ago) 3 - Han Jiang (HEAD -> refs/heads/master)
* ade71e5 - 2026-05-30 16:33 (12 seconds ago) 4 - Han Jiang
* a4fd4b6 - 2026-05-30 16:33 (14 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server' init --bare './repo.git'
Initialized empty Git repository in C:/Program Files/Git/test_git/server/repo.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/client/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote add server 'file://'"$(realpath './server/repo.git')"
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' commit --message="$((++number))" --allow-empty; git -C './client/repo' branch branch1; git -C './client/repo' tag tag11; git -C './client/repo' tag --annotate --message="$((++number))" tag12
[master (root-commit) 4a09243] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' push server 'refs/heads/*:refs/heads/*' 'refs/tags/*:refs/tags/*'
Enumerating objects: 3, done.
Counting objects: 100% (3/3), done.
Delta compression using up to 8 threads
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 282 bytes | 282.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
To file:///test_git/server/repo.git
* [new branch] branch1 -> branch1
* [new branch] master -> master
* [new tag] tag11 -> tag11
* [new tag] tag12 -> tag12
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
branch1 4a09243 1
* master 4a09243 1
remotes/server/branch1 4a09243 1
remotes/server/master 4a09243 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' tag --list
tag11
tag12
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --all
* 4a09243 - 2026-05-30 16:33 (2 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, tag: refs/tags/tag12, tag: refs/tags/tag11, refs/heads/branch1)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --delete branch1; git -C './client/repo' tag --delete tag11; git -C './client/repo' tag --delete tag12
Deleted branch branch1 (was 4a09243).
Deleted tag 'tag11' (was 4a09243)
Deleted tag 'tag12' (was 1bbb04a)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch branch2; git -C './client/repo' tag tag21; git -C './client/repo' tag --annotate --message="$((++number))" tag22
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' push server 'refs/heads/*:refs/heads/*' 'refs/tags/*:refs/tags/*'
Enumerating objects: 1, done.
Counting objects: 100% (1/1), done.
Writing objects: 100% (1/1), 157 bytes | 157.00 KiB/s, done.
Total 1 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
To file:///test_git/server/repo.git
* [new branch] branch2 -> branch2
* [new tag] tag21 -> tag21
* [new tag] tag22 -> tag22
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
branch2 4a09243 1
* master 4a09243 1
remotes/server/branch1 4a09243 1
remotes/server/branch2 4a09243 1
remotes/server/master 4a09243 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' tag --list
tag21
tag22
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --all
* 4a09243 - 2026-05-30 16:33 (6 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, tag: refs/tags/tag22, tag: refs/tags/tag21, tag: refs/tags/tag12, tag: refs/tags/tag11, refs/heads/branch2, refs/heads/branch1)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' push --prune server 'refs/heads/*:refs/heads/*' 'refs/tags/*:refs/tags/*'
To file:///test_git/server/repo.git
- [deleted] branch1
- [deleted] tag11
- [deleted] tag12
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
branch2 4a09243 1
* master 4a09243 1
remotes/server/branch2 4a09243 1
remotes/server/master 4a09243 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' tag --list
tag21
tag22
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --all
* 4a09243 - 2026-05-30 16:33 (8 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, tag: refs/tags/tag22, tag: refs/tags/tag21, refs/heads/branch2)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server' init --bare './repo.git'
Initialized empty Git repository in C:/Program Files/Git/test_git/server/repo.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/client/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote add server 'file://'"$(realpath './server/repo.git')"
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server/repo.git
local file:.git/config remote.server.fetch=+refs/heads/*:refs/remotes/server/*
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' commit --message="$((++number))" --allow-empty; git -C './client/repo' branch branch1; git -C './client/repo' branch branch2; git -C './client/repo' branch branch3
[master (root-commit) 5cb04ce] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
branch1 5cb04ce 1
branch2 5cb04ce 1
branch3 5cb04ce 1
* master 5cb04ce 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' push 'file://'"$(realpath './server/repo.git')" 'refs/heads/branch*:refs/heads/branch*' branch1 branch2
Enumerating objects: 2, done.
Counting objects: 100% (2/2), done.
Writing objects: 100% (2/2), 158 bytes | 158.00 KiB/s, done.
Total 2 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
To file:///test_git/server/repo.git
* [new branch] branch1 -> branch1
* [new branch] branch2 -> branch2
* [new branch] branch3 -> branch3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server/repo.git
local file:.git/config remote.server.fetch=+refs/heads/*:refs/remotes/server/*
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
branch1 5cb04ce 1
branch2 5cb04ce 1
branch3 5cb04ce 1
* master 5cb04ce 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server' init --bare './repo.git'
Initialized empty Git repository in C:/Program Files/Git/test_git/server/repo.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/client/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote add server 'file://'"$(realpath './server/repo.git')"
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server/repo.git
local file:.git/config remote.server.fetch=+refs/heads/*:refs/remotes/server/*
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' commit --message="$((++number))" --allow-empty; git -C './client/repo' branch branch1; git -C './client/repo' branch branch2; git -C './client/repo' branch branch3
[master (root-commit) 6ab4b84] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
branch1 6ab4b84 1
branch2 6ab4b84 1
branch3 6ab4b84 1
* master 6ab4b84 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' push --set-upstream 'file://'"$(realpath './server/repo.git')" 'refs/heads/branch*:refs/heads/branch*' branch1 branch2
Enumerating objects: 2, done.
Counting objects: 100% (2/2), done.
Writing objects: 100% (2/2), 158 bytes | 158.00 KiB/s, done.
Total 2 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
To file:///test_git/server/repo.git
* [new branch] branch1 -> branch1
* [new branch] branch2 -> branch2
* [new branch] branch3 -> branch3
branch 'branch1' set up to track 'file:///test_git/server/repo.git/branch1'.
branch 'branch2' set up to track 'file:///test_git/server/repo.git/branch2'.
branch 'branch3' set up to track 'file:///test_git/server/repo.git/branch3'.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server/repo.git
local file:.git/config remote.server.fetch=+refs/heads/*:refs/remotes/server/*
local file:.git/config branch.branch1.remote=file:///test_git/server/repo.git
local file:.git/config branch.branch1.merge=refs/heads/branch1
local file:.git/config branch.branch2.remote=file:///test_git/server/repo.git
local file:.git/config branch.branch2.merge=refs/heads/branch2
local file:.git/config branch.branch3.remote=file:///test_git/server/repo.git
local file:.git/config branch.branch3.merge=refs/heads/branch3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
branch1 6ab4b84 1
branch2 6ab4b84 1
branch3 6ab4b84 1
* master 6ab4b84 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server' init --bare './repo.git'
Initialized empty Git repository in C:/Program Files/Git/test_git/server/repo.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/client/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote add server 'file://'"$(realpath './server/repo.git')"
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server/repo.git
local file:.git/config remote.server.fetch=+refs/heads/*:refs/remotes/server/*
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' commit --message="$((++number))" --allow-empty; git -C './client/repo' branch branch1; git -C './client/repo' branch branch2; git -C './client/repo' branch branch3
[master (root-commit) b9cf216] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
branch1 b9cf216 1
branch2 b9cf216 1
branch3 b9cf216 1
* master b9cf216 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' push server 'refs/heads/branch*:refs/heads/branch*' branch1 branch2
Enumerating objects: 2, done.
Counting objects: 100% (2/2), done.
Writing objects: 100% (2/2), 158 bytes | 158.00 KiB/s, done.
Total 2 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
To file:///test_git/server/repo.git
* [new branch] branch1 -> branch1
* [new branch] branch2 -> branch2
* [new branch] branch3 -> branch3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server/repo.git
local file:.git/config remote.server.fetch=+refs/heads/*:refs/remotes/server/*
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
branch1 b9cf216 1
branch2 b9cf216 1
branch3 b9cf216 1
* master b9cf216 1
remotes/server/branch1 b9cf216 1
remotes/server/branch2 b9cf216 1
remotes/server/branch3 b9cf216 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server' init --bare './repo.git'
Initialized empty Git repository in C:/Program Files/Git/test_git/server/repo.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/client/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote add server 'file://'"$(realpath './server/repo.git')"
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server/repo.git
local file:.git/config remote.server.fetch=+refs/heads/*:refs/remotes/server/*
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' commit --message="$((++number))" --allow-empty; git -C './client/repo' branch branch1; git -C './client/repo' branch branch2; git -C './client/repo' branch branch3
[master (root-commit) 6d5ffa2] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
branch1 6d5ffa2 1
branch2 6d5ffa2 1
branch3 6d5ffa2 1
* master 6d5ffa2 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' push --set-upstream server 'refs/heads/branch*:refs/heads/branch*' branch1 branch2
Enumerating objects: 2, done.
Counting objects: 100% (2/2), done.
Writing objects: 100% (2/2), 158 bytes | 158.00 KiB/s, done.
Total 2 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
To file:///test_git/server/repo.git
* [new branch] branch1 -> branch1
* [new branch] branch2 -> branch2
* [new branch] branch3 -> branch3
branch 'branch1' set up to track 'server/branch1'.
branch 'branch2' set up to track 'server/branch2'.
branch 'branch3' set up to track 'server/branch3'.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server/repo.git
local file:.git/config remote.server.fetch=+refs/heads/*:refs/remotes/server/*
local file:.git/config branch.branch1.remote=server
local file:.git/config branch.branch1.merge=refs/heads/branch1
local file:.git/config branch.branch2.remote=server
local file:.git/config branch.branch2.merge=refs/heads/branch2
local file:.git/config branch.branch3.remote=server
local file:.git/config branch.branch3.merge=refs/heads/branch3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
branch1 6d5ffa2 [server/branch1] 1
branch2 6d5ffa2 [server/branch2] 1
branch3 6d5ffa2 [server/branch3] 1
* master 6d5ffa2 1
remotes/server/branch1 6d5ffa2 1
remotes/server/branch2 6d5ffa2 1
remotes/server/branch3 6d5ffa2 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server1' init --bare './repo.git'
Initialized empty Git repository in C:/Program Files/Git/test_git/server1/repo.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server2' init --bare './repo.git'
Initialized empty Git repository in C:/Program Files/Git/test_git/server2/repo.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/client/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ branch_default_name="$(git -C './client/repo' branch --show-current)"; echo "$branch_default_name"
master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote add server1 'file://'"$(realpath './server1/repo.git')"
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote add server2 'file://'"$(realpath './server2/repo.git')"
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config unset --local 'remote.server1.fetch'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config unset --local 'remote.server2.fetch'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose
server1 file:///test_git/server1/repo.git (fetch)
server1 file:///test_git/server1/repo.git (push)
server2 file:///test_git/server2/repo.git (fetch)
server2 file:///test_git/server2/repo.git (push)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server1.url=file:///test_git/server1/repo.git
local file:.git/config remote.server2.url=file:///test_git/server2/repo.git
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' commit --message="$((++number))" --allow-empty
[master (root-commit) 155f3a6] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' push
fatal: No configured push destination.
Either specify the URL from the command-line or configure a remote repository using
git remote add <name> <url>
and then push using the remote name
git push <name>
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote remove server1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server2.url=file:///test_git/server2/repo.git
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' push
fatal: The current branch master has no upstream branch.
To push the current branch and set the remote as upstream, use
git push --set-upstream server2 master
To have this happen automatically for branches without a tracking
upstream, see 'push.autoSetupRemote' in 'git help config'.
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config set --local 'push.default' 'current'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server2.url=file:///test_git/server2/repo.git
local file:.git/config push.default=current
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' push
Enumerating objects: 2, done.
Counting objects: 100% (2/2), done.
Writing objects: 100% (2/2), 158 bytes | 158.00 KiB/s, done.
Total 2 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
To file:///test_git/server2/repo.git
* [new branch] master -> master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config unset --local 'push.default'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote add server1 'file://'"$(realpath './server1/repo.git')"
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config unset --local 'remote.server1.fetch'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config set --local 'branch.'"$branch_default_name"'.remote' 'server2'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config set --local 'branch.'"$branch_default_name"'.merge' 'refs/heads/'"$branch_default_name"
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server2.url=file:///test_git/server2/repo.git
local file:.git/config remote.server1.url=file:///test_git/server1/repo.git
local file:.git/config branch.master.remote=server2
local file:.git/config branch.master.merge=refs/heads/master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' push
Everything up-to-date
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server2/repo.git' lg --all
* 155f3a6 - 2026-05-30 16:34 (6 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' commit --message="$((++number))" --allow-empty
[master 3aaa344] 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config set --local 'remote.pushDefault' 'server1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server2.url=file:///test_git/server2/repo.git
local file:.git/config remote.server1.url=file:///test_git/server1/repo.git
local file:.git/config branch.master.remote=server2
local file:.git/config branch.master.merge=refs/heads/master
local file:.git/config remote.pushdefault=server1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' push
Enumerating objects: 3, done.
Counting objects: 100% (3/3), done.
Delta compression using up to 8 threads
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 227 bytes | 227.00 KiB/s, done.
Total 3 (delta 1), reused 0 (delta 0), pack-reused 0 (from 0)
To file:///test_git/server1/repo.git
* [new branch] master -> master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server1/repo.git' lg --all
* 3aaa344 - 2026-05-30 16:34 (1 second ago) 2 - Han Jiang (HEAD -> refs/heads/master)
* 155f3a6 - 2026-05-30 16:34 (8 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' commit --message="$((++number))" --allow-empty
[master 6b681c1] 3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config set --local 'branch.'"$branch_default_name"'.pushRemote' 'server2'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server2.url=file:///test_git/server2/repo.git
local file:.git/config remote.server1.url=file:///test_git/server1/repo.git
local file:.git/config branch.master.remote=server2
local file:.git/config branch.master.merge=refs/heads/master
local file:.git/config branch.master.pushremote=server2
local file:.git/config remote.pushdefault=server1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' push
Enumerating objects: 2, done.
Counting objects: 100% (2/2), done.
Delta compression using up to 8 threads
Compressing objects: 100% (2/2), done.
Writing objects: 100% (2/2), 256 bytes | 256.00 KiB/s, done.
Total 2 (delta 1), reused 0 (delta 0), pack-reused 0 (from 0)
To file:///test_git/server2/repo.git
155f3a6..6b681c1 master -> master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server2/repo.git' lg --all
* 6b681c1 - 2026-05-30 16:34 (2 seconds ago) 3 - Han Jiang (HEAD -> refs/heads/master)
* 3aaa344 - 2026-05-30 16:34 (4 seconds ago) 2 - Han Jiang
* 155f3a6 - 2026-05-30 16:34 (11 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' commit --message="$((++number))" --allow-empty
[master c5c9203] 4
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' push server1
Enumerating objects: 2, done.
Counting objects: 100% (2/2), done.
Delta compression using up to 8 threads
Compressing objects: 100% (2/2), done.
Writing objects: 100% (2/2), 260 bytes | 260.00 KiB/s, done.
Total 2 (delta 1), reused 0 (delta 0), pack-reused 0 (from 0)
To file:///test_git/server1/repo.git
3aaa344..c5c9203 master -> master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server1/repo.git' lg --all
* c5c9203 - 2026-05-30 16:35 (1 second ago) 4 - Han Jiang (HEAD -> refs/heads/master)
* 6b681c1 - 2026-05-30 16:34 (4 seconds ago) 3 - Han Jiang
* 3aaa344 - 2026-05-30 16:34 (6 seconds ago) 2 - Han Jiang
* 155f3a6 - 2026-05-30 16:34 (13 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server' init --bare './repo.git'
Initialized empty Git repository in C:/Program Files/Git/test_git/server/repo.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/client/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ branch_default_name="$(git -C './client/repo' branch --show-current)"; echo "$branch_default_name"
master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote add server 'file://'"$(realpath './server/repo.git')"
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config unset --local 'remote.server.fetch'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose
server file:///test_git/server/repo.git (fetch)
server file:///test_git/server/repo.git (push)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server/repo.git
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' commit --message="$((++number))" --allow-empty
[master (root-commit) ecf2da4] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose show server
* remote server
Fetch URL: file:///test_git/server/repo.git
Push URL: file:///test_git/server/repo.git
HEAD branch: (unknown)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' push
fatal: The current branch master has no upstream branch.
To push the current branch and set the remote as upstream, use
git push --set-upstream server master
To have this happen automatically for branches without a tracking
upstream, see 'push.autoSetupRemote' in 'git help config'.
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config set --local 'branch.'"$branch_default_name"'.remote' 'server'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config set --local 'branch.'"$branch_default_name"'.merge' 'refs/heads/'"$branch_default_name"
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server/repo.git
local file:.git/config branch.master.remote=server
local file:.git/config branch.master.merge=refs/heads/master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose show server
* remote server
Fetch URL: file:///test_git/server/repo.git
Push URL: file:///test_git/server/repo.git
HEAD branch: (unknown)
Local branch configured for 'git pull':
master merges with remote master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' push
Enumerating objects: 2, done.
Counting objects: 100% (2/2), done.
Writing objects: 100% (2/2), 158 bytes | 158.00 KiB/s, done.
Total 2 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
To file:///test_git/server/repo.git
* [new branch] master -> master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose show server
* remote server
Fetch URL: file:///test_git/server/repo.git
Push URL: file:///test_git/server/repo.git
HEAD branch: master
Local branch configured for 'git pull':
master merges with remote master
Local ref configured for 'git push':
master pushes to master (up to date)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --all
* ecf2da4 - 2026-05-30 16:35 (4 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' commit --message="$((++number))" --allow-empty
[master b5ac545] 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config set --local 'branch.'"$branch_default_name"'.merge' 'refs/heads/'"$branch_default_name"'1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server/repo.git
local file:.git/config branch.master.remote=server
local file:.git/config branch.master.merge=refs/heads/master1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose show server
* remote server
Fetch URL: file:///test_git/server/repo.git
Push URL: file:///test_git/server/repo.git
HEAD branch: master
Local branch configured for 'git pull':
master merges with remote master1
Local ref configured for 'git push':
master pushes to master (fast-forwardable)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' push
fatal: The upstream branch of your current branch does not match
the name of your current branch. To push to the upstream branch
on the remote, use
git push server HEAD:master1
To push to the branch of the same name on the remote, use
git push server HEAD
To choose either option permanently, see push.default in 'git help config'.
To avoid automatically configuring an upstream branch when its name
won't match the local branch, see option 'simple' of branch.autoSetupMerge
in 'git help config'.
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --move "$branch_default_name" "$branch_default_name"'1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server/repo.git
local file:.git/config branch.master1.remote=server
local file:.git/config branch.master1.merge=refs/heads/master1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose show server
* remote server
Fetch URL: file:///test_git/server/repo.git
Push URL: file:///test_git/server/repo.git
HEAD branch: master
Local branch configured for 'git pull':
master1 merges with remote master1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' push
Enumerating objects: 1, done.
Counting objects: 100% (1/1), done.
Writing objects: 100% (1/1), 178 bytes | 178.00 KiB/s, done.
Total 1 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
To file:///test_git/server/repo.git
* [new branch] master1 -> master1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose show server
* remote server
Fetch URL: file:///test_git/server/repo.git
Push URL: file:///test_git/server/repo.git
HEAD branch: master
Local branch configured for 'git pull':
master1 merges with remote master1
Local ref configured for 'git push':
master1 pushes to master1 (up to date)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --all
* b5ac545 - 2026-05-30 16:35 (4 seconds ago) 2 - Han Jiang (refs/heads/master1)
* ecf2da4 - 2026-05-30 16:35 (9 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config set --local 'push.default' 'nothing'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server/repo.git
local file:.git/config branch.master1.remote=server
local file:.git/config branch.master1.merge=refs/heads/master1
local file:.git/config push.default=nothing
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose show server
* remote server
Fetch URL: file:///test_git/server/repo.git
Push URL: file:///test_git/server/repo.git
HEAD branch: master
Local branch configured for 'git pull':
master1 merges with remote master1
Local ref configured for 'git push':
master1 pushes to master1 (up to date)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' push
fatal: You didn't specify any refspecs to push, and push.default is "nothing".
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' commit --message="$((++number))" --allow-empty
[master1 fdc2a30] 3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config set --local 'push.default' 'current'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config unset --local 'branch.'"$branch_default_name"'1.remote'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config unset --local 'branch.'"$branch_default_name"'1.merge'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server/repo.git
local file:.git/config push.default=current
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose show server
* remote server
Fetch URL: file:///test_git/server/repo.git
Push URL: file:///test_git/server/repo.git
HEAD branch: master
Local ref configured for 'git push':
master1 pushes to master1 (fast-forwardable)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' push
Enumerating objects: 1, done.
Counting objects: 100% (1/1), done.
Writing objects: 100% (1/1), 179 bytes | 179.00 KiB/s, done.
Total 1 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
To file:///test_git/server/repo.git
b5ac545..fdc2a30 master1 -> master1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --all
* fdc2a30 - 2026-05-30 16:35 (3 seconds ago) 3 - Han Jiang (refs/heads/master1)
* b5ac545 - 2026-05-30 16:35 (10 seconds ago) 2 - Han Jiang
* ecf2da4 - 2026-05-30 16:35 (15 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' commit --message="$((++number))" --allow-empty
[master1 1bd952e] 4
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config set --local 'push.default' 'upstream'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server/repo.git
local file:.git/config push.default=upstream
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose show server
* remote server
Fetch URL: file:///test_git/server/repo.git
Push URL: file:///test_git/server/repo.git
HEAD branch: master
Local ref configured for 'git push':
master1 pushes to master1 (fast-forwardable)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' push
fatal: The current branch master1 has no upstream branch.
To push the current branch and set the remote as upstream, use
git push --set-upstream server master1
To have this happen automatically for branches without a tracking
upstream, see 'push.autoSetupRemote' in 'git help config'.
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config set --local 'branch.'"$branch_default_name"'1.remote' 'server'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config set --local 'branch.'"$branch_default_name"'1.merge' 'refs/heads/'"$branch_default_name"'2'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server/repo.git
local file:.git/config push.default=upstream
local file:.git/config branch.master1.remote=server
local file:.git/config branch.master1.merge=refs/heads/master2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose show server
* remote server
Fetch URL: file:///test_git/server/repo.git
Push URL: file:///test_git/server/repo.git
HEAD branch: master
Local branch configured for 'git pull':
master1 merges with remote master2
Local ref configured for 'git push':
master1 pushes to master1 (fast-forwardable)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' push
Enumerating objects: 1, done.
Counting objects: 100% (1/1), done.
Writing objects: 100% (1/1), 178 bytes | 178.00 KiB/s, done.
Total 1 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
To file:///test_git/server/repo.git
* [new branch] master1 -> master2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --all
* 1bd952e - 2026-05-30 16:35 (5 seconds ago) 4 - Han Jiang (refs/heads/master2)
* fdc2a30 - 2026-05-30 16:35 (8 seconds ago) 3 - Han Jiang (refs/heads/master1)
* b5ac545 - 2026-05-30 16:35 (15 seconds ago) 2 - Han Jiang
* ecf2da4 - 2026-05-30 16:35 (20 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' commit --message="$((++number))" --allow-empty
[master1 88e5142] 5
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config set --local 'remote.server.push' 'refs/heads/'"$branch_default_name"'1:refs/heads/'"$branch_default_name"'1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config set --local --append 'remote.server.push' 'refs/heads/'"$branch_default_name"'1:refs/heads/'"$branch_default_name"''
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server/repo.git
local file:.git/config remote.server.push=refs/heads/master1:refs/heads/master1
local file:.git/config remote.server.push=refs/heads/master1:refs/heads/master
local file:.git/config push.default=upstream
local file:.git/config branch.master1.remote=server
local file:.git/config branch.master1.merge=refs/heads/master2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose show server
* remote server
Fetch URL: file:///test_git/server/repo.git
Push URL: file:///test_git/server/repo.git
HEAD branch: master
Local branch configured for 'git pull':
master1 merges with remote master2
Local refs configured for 'git push':
master1 pushes to master (fast-forwardable)
master1 pushes to master1 (fast-forwardable)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' push
Enumerating objects: 1, done.
Counting objects: 100% (1/1), done.
Writing objects: 100% (1/1), 178 bytes | 178.00 KiB/s, done.
Total 1 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
To file:///test_git/server/repo.git
ecf2da4..88e5142 master1 -> master
fdc2a30..88e5142 master1 -> master1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --all
* 88e5142 - 2026-05-30 16:35 (3 seconds ago) 5 - Han Jiang (HEAD -> refs/heads/master, refs/heads/master1)
* 1bd952e - 2026-05-30 16:35 (8 seconds ago) 4 - Han Jiang (refs/heads/master2)
* fdc2a30 - 2026-05-30 16:35 (11 seconds ago) 3 - Han Jiang
* b5ac545 - 2026-05-30 16:35 (18 seconds ago) 2 - Han Jiang
* ecf2da4 - 2026-05-30 16:35 (23 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' commit --message="$((++number))" --allow-empty
[master1 90d712a] 6
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' push server "$branch_default_name"'1' 'refs/heads/'"$branch_default_name"'1:refs/heads/'"$branch_default_name"'3'
Enumerating objects: 1, done.
Counting objects: 100% (1/1), done.
Writing objects: 100% (1/1), 178 bytes | 178.00 KiB/s, done.
Total 1 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
To file:///test_git/server/repo.git
88e5142..90d712a master1 -> master1
* [new branch] master1 -> master3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --all
* 90d712a - 2026-05-30 16:35 (1 second ago) 6 - Han Jiang (refs/heads/master3, refs/heads/master1)
* 88e5142 - 2026-05-30 16:35 (5 seconds ago) 5 - Han Jiang (HEAD -> refs/heads/master)
* 1bd952e - 2026-05-30 16:35 (10 seconds ago) 4 - Han Jiang (refs/heads/master2)
* fdc2a30 - 2026-05-30 16:35 (13 seconds ago) 3 - Han Jiang
* b5ac545 - 2026-05-30 16:35 (20 seconds ago) 2 - Han Jiang
* ecf2da4 - 2026-05-30 16:35 (25 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server' init --bare './repo.git'
Initialized empty Git repository in C:/Program Files/Git/test_git/server/repo.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/client/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ branch_default_name="$(git -C './client/repo' branch --show-current)"; echo "$branch_default_name"
master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote add server 'file://'"$(realpath './server/repo.git')"
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config unset --local 'remote.server.fetch'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose
server file:///test_git/server/repo.git (fetch)
server file:///test_git/server/repo.git (push)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server/repo.git
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' commit --message="$((++number))" --allow-empty; git -C './client/repo' branch --force branch1; git -C './client/repo' branch --force branch2
[master (root-commit) 1c80561] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' push server branch1
Enumerating objects: 2, done.
Counting objects: 100% (2/2), done.
Writing objects: 100% (2/2), 158 bytes | 158.00 KiB/s, done.
Total 2 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
To file:///test_git/server/repo.git
* [new branch] branch1 -> branch1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --all
* 1c80561 - 2026-05-30 16:35 (1 second ago) 1 - Han Jiang (refs/heads/branch1)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' commit --message="$((++number))" --allow-empty; git -C './client/repo' branch --force branch1; git -C './client/repo' branch --force branch2
[master 9e49d38] 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' push server 'refs/heads/branch*:refs/heads/branch*3' 'refs/heads/branch*:refs/heads/branch*4'
Enumerating objects: 1, done.
Counting objects: 100% (1/1), done.
Writing objects: 100% (1/1), 177 bytes | 177.00 KiB/s, done.
Total 1 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
To file:///test_git/server/repo.git
* [new branch] branch1 -> branch13
* [new branch] branch2 -> branch23
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --all
* 9e49d38 - 2026-05-30 16:35 (1 second ago) 2 - Han Jiang (refs/heads/branch23, refs/heads/branch13)
* 1c80561 - 2026-05-30 16:35 (3 seconds ago) 1 - Han Jiang (refs/heads/branch1)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' commit --message="$((++number))" --allow-empty; git -C './client/repo' branch --force branch1; git -C './client/repo' branch --force branch2
[master 8b5bb4e] 3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' push server 'refs/heads/branch*:refs/heads/branch*4' 'refs/heads/branch*:refs/heads/branch*3'
Enumerating objects: 1, done.
Counting objects: 100% (1/1), done.
Writing objects: 100% (1/1), 179 bytes | 179.00 KiB/s, done.
Total 1 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
To file:///test_git/server/repo.git
* [new branch] branch1 -> branch14
* [new branch] branch2 -> branch24
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --all
* 8b5bb4e - 2026-05-30 16:35 (1 second ago) 3 - Han Jiang (refs/heads/branch24, refs/heads/branch14)
* 9e49d38 - 2026-05-30 16:35 (3 seconds ago) 2 - Han Jiang (refs/heads/branch23,
refs/heads/branch13)
* 1c80561 - 2026-05-30 16:35 (5 seconds ago) 1 - Han Jiang (refs/heads/branch1)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' commit --message="$((++number))" --allow-empty; git -C './client/repo' branch --force branch1; git -C './client/repo' branch --force branch2
[master b79385c] 4
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' push server 'refs/heads/branch*:refs/heads/branch*3' 'refs/heads/branch*:refs/heads/branch*4' branch1
Enumerating objects: 1, done.
Counting objects: 100% (1/1), done.
Writing objects: 100% (1/1), 178 bytes | 178.00 KiB/s, done.
Total 1 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
To file:///test_git/server/repo.git
1c80561..b79385c branch1 -> branch1
9e49d38..b79385c branch1 -> branch13
9e49d38..b79385c branch2 -> branch23
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --all
* b79385c - 2026-05-30 16:35 (1 second ago) 4 - Han Jiang (refs/heads/branch23, refs/heads/branch13, refs/heads/branch1)
* 8b5bb4e - 2026-05-30 16:35 (3 seconds ago) 3 - Han Jiang (refs/heads/branch24,
refs/heads/branch14)
* 9e49d38 - 2026-05-30 16:35 (5 seconds ago) 2 - Han Jiang
* 1c80561 - 2026-05-30 16:35 (7 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config set --local --append 'remote.server.push' '+refs/heads/branch*:refs/remotes/server/branch*2'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server/repo.git
local file:.git/config remote.server.push=+refs/heads/branch*:refs/remotes/server/branch*2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' commit --message="$((++number))" --allow-empty; git -C './client/repo' branch --force branch1; git -C './client/repo' branch --force branch2
[master e2be38c] 5
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' push server branch1
Enumerating objects: 1, done.
Counting objects: 100% (1/1), done.
Writing objects: 100% (1/1), 179 bytes | 179.00 KiB/s, done.
Total 1 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
To file:///test_git/server/repo.git
* [new reference] branch1 -> server/branch12
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --all
* e2be38c - 2026-05-30 16:35 (1 second ago) 5 - Han Jiang (refs/remotes/server/branch12)
* b79385c - 2026-05-30 16:35 (4 seconds ago) 4 - Han Jiang (refs/heads/branch23,
refs/heads/branch13, refs/heads/branch1)
* 8b5bb4e - 2026-05-30 16:35 (6 seconds ago) 3 - Han Jiang (refs/heads/branch24,
refs/heads/branch14)
* 9e49d38 - 2026-05-30 16:35 (8 seconds ago) 2 - Han Jiang
* 1c80561 - 2026-05-30 16:35 (10 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' commit --message="$((++number))" --allow-empty; git -C './client/repo' branch --force branch1; git -C './client/repo' branch --force branch2
[master 23e63fa] 6
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' push server 'refs/heads/branch*:refs/heads/branch*3' 'refs/heads/branch*:refs/heads/branch*4'
Enumerating objects: 1, done.
Counting objects: 100% (1/1), done.
Writing objects: 100% (1/1), 177 bytes | 177.00 KiB/s, done.
Total 1 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
To file:///test_git/server/repo.git
b79385c..23e63fa branch1 -> branch13
b79385c..23e63fa branch2 -> branch23
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --all
* 23e63fa - 2026-05-30 16:35 (1 second ago) 6 - Han Jiang (refs/heads/branch23, refs/heads/branch13)
* e2be38c - 2026-05-30 16:35 (3 seconds ago) 5 - Han Jiang (refs/remotes/server/branch12)
* b79385c - 2026-05-30 16:35 (6 seconds ago) 4 - Han Jiang (refs/heads/branch1)
* 8b5bb4e - 2026-05-30 16:35 (8 seconds ago) 3 - Han Jiang (refs/heads/branch24,
refs/heads/branch14)
* 9e49d38 - 2026-05-30 16:35 (10 seconds ago) 2 - Han Jiang
* 1c80561 - 2026-05-30 16:35 (12 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' commit --message="$((++number))" --allow-empty; git -C './client/repo' branch --force branch1; git -C './client/repo' branch --force branch2
[master c178968] 7
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' push server 'refs/heads/branch*:refs/heads/branch*4' 'refs/heads/branch*:refs/heads/branch*3'
Enumerating objects: 1, done.
Counting objects: 100% (1/1), done.
Writing objects: 100% (1/1), 178 bytes | 178.00 KiB/s, done.
Total 1 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
To file:///test_git/server/repo.git
8b5bb4e..c178968 branch1 -> branch14
8b5bb4e..c178968 branch2 -> branch24
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --all
* c178968 - 2026-05-30 16:35 (1 second ago) 7 - Han Jiang (refs/heads/branch24, refs/heads/branch14)
* 23e63fa - 2026-05-30 16:35 (3 seconds ago) 6 - Han Jiang (refs/heads/branch23,
refs/heads/branch13)
* e2be38c - 2026-05-30 16:35 (5 seconds ago) 5 - Han Jiang (refs/remotes/server/branch12)
* b79385c - 2026-05-30 16:35 (8 seconds ago) 4 - Han Jiang (refs/heads/branch1)
* 8b5bb4e - 2026-05-30 16:35 (10 seconds ago) 3 - Han Jiang
* 9e49d38 - 2026-05-30 16:35 (12 seconds ago) 2 - Han Jiang
* 1c80561 - 2026-05-30 16:35 (14 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' commit --message="$((++number))" --allow-empty; git -C './client/repo' branch --force branch1; git -C './client/repo' branch --force branch2
[master 87e1083] 8
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' push server 'refs/heads/branch*:refs/heads/branch*3' 'refs/heads/branch*:refs/heads/branch*4' branch1
Enumerating objects: 1, done.
Counting objects: 100% (1/1), done.
Writing objects: 100% (1/1), 179 bytes | 179.00 KiB/s, done.
Total 1 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
To file:///test_git/server/repo.git
23e63fa..87e1083 branch1 -> branch13
23e63fa..87e1083 branch2 -> branch23
e2be38c..87e1083 branch1 -> server/branch12
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --all
* 87e1083 - 2026-05-30 16:35 (1 second ago) 8 - Han Jiang (refs/remotes/server/branch12, refs/heads/branch23, refs/heads/branch13)
* c178968 - 2026-05-30 16:35 (3 seconds ago) 7 - Han Jiang (refs/heads/branch24,
refs/heads/branch14)
* 23e63fa - 2026-05-30 16:35 (5 seconds ago) 6 - Han Jiang
* e2be38c - 2026-05-30 16:35 (7 seconds ago) 5 - Han Jiang
* b79385c - 2026-05-30 16:35 (10 seconds ago) 4 - Han Jiang (refs/heads/branch1)
* 8b5bb4e - 2026-05-30 16:35 (12 seconds ago) 3 - Han Jiang
* 9e49d38 - 2026-05-30 16:35 (14 seconds ago) 2 - Han Jiang
* 1c80561 - 2026-05-30 16:35 (16 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'; mkdir -- './repo/dir'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file_add'; echo '2' >'./repo/file_modify'; echo '4' >'./repo/file_remove'; git -C './repo' add './file_modify' './file_remove'; echo '3' >'./repo/file_modify'; rm -- './repo/file_remove'
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file_remove', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '5' >'./repo/dir/file_add'; echo '6' >'./repo/dir/file_modify'; echo '8' >'./repo/dir/file_remove'; git -C './repo/dir' add './file_modify' './file_remove'; echo '7' >'./repo/dir/file_modify'; rm -- './repo/dir/file_remove'
warning: in the working copy of 'dir/file_modify', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'dir/file_remove', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ mkdir -- './repo/dir_add' './repo/dir/dir_add'; echo '9' >'./repo/dir_add/file'; echo '10' >'./repo/dir/dir_add/file'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
dir/dir_add/file
dir/file_add
dir_add/file
file_add
100644 1e8b314962144c26d5e0e50fd29d2ca327864913 0 dir/file_modify
100644 45a4fb75db864000d01701c0f7a51864bd4daabf 0 dir/file_remove
100644 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f 0 file_modify
100644 b8626c4cff2849624fb67f87cd0ad72b163671ad 0 file_remove
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: dir/file_modify
new file: dir/file_remove
new file: file_modify
new file: file_remove
Changes not staged for commit:
(use "git add/rm <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: dir/file_modify
deleted: dir/file_remove
modified: file_modify
deleted: file_remove
Untracked files:
(use "git add <file>..." to include in what will be committed)
dir/dir_add/
dir/file_add
dir_add/
file_add
Changes to be committed:
diff --git c/dir/file_modify i/dir/file_modify
new file mode 100644
index 0000000..1e8b314
--- /dev/null
+++ i/dir/file_modify
@@ -0,0 +1 @@
+6
diff --git c/dir/file_remove i/dir/file_remove
new file mode 100644
index 0000000..45a4fb7
--- /dev/null
+++ i/dir/file_remove
@@ -0,0 +1 @@
+8
diff --git c/file_modify i/file_modify
new file mode 100644
index 0000000..0cfbf08
--- /dev/null
+++ i/file_modify
@@ -0,0 +1 @@
+2
diff --git c/file_remove i/file_remove
new file mode 100644
index 0000000..b8626c4
--- /dev/null
+++ i/file_remove
@@ -0,0 +1 @@
+4
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'dir/file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/dir/file_modify w/dir/file_modify
index 1e8b314..7f8f011 100644
--- i/dir/file_modify
+++ w/dir/file_modify
@@ -1 +1 @@
-6
+7
diff --git i/dir/file_remove w/dir/file_remove
deleted file mode 100644
index 45a4fb7..0000000
--- i/dir/file_remove
+++ /dev/null
@@ -1 +0,0 @@
-8
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/file_modify w/file_modify
index 0cfbf08..00750ed 100644
--- i/file_modify
+++ w/file_modify
@@ -1 +1 @@
-2
+3
diff --git i/file_remove w/file_remove
deleted file mode 100644
index b8626c4..0000000
--- i/file_remove
+++ /dev/null
@@ -1 +0,0 @@
-4
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo/dir' ls-files --stage --others
dir_add/file
file_add
100644 1e8b314962144c26d5e0e50fd29d2ca327864913 0 file_modify
100644 45a4fb75db864000d01701c0f7a51864bd4daabf 0 file_remove
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo/dir' status --verbose --verbose '.'
On branch master
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: file_modify
new file: file_remove
Changes not staged for commit:
(use "git add/rm <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: file_modify
deleted: file_remove
Untracked files:
(use "git add <file>..." to include in what will be committed)
dir_add/
file_add
Changes to be committed:
diff --git c/dir/file_modify i/dir/file_modify
new file mode 100644
index 0000000..1e8b314
--- /dev/null
+++ i/dir/file_modify
@@ -0,0 +1 @@
+6
diff --git c/dir/file_remove i/dir/file_remove
new file mode 100644
index 0000000..45a4fb7
--- /dev/null
+++ i/dir/file_remove
@@ -0,0 +1 @@
+8
diff --git c/file_modify i/file_modify
new file mode 100644
index 0000000..0cfbf08
--- /dev/null
+++ i/file_modify
@@ -0,0 +1 @@
+2
diff --git c/file_remove i/file_remove
new file mode 100644
index 0000000..b8626c4
--- /dev/null
+++ i/file_remove
@@ -0,0 +1 @@
+4
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'dir/file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/dir/file_modify w/dir/file_modify
index 1e8b314..7f8f011 100644
--- i/dir/file_modify
+++ w/dir/file_modify
@@ -1 +1 @@
-6
+7
diff --git i/dir/file_remove w/dir/file_remove
deleted file mode 100644
index 45a4fb7..0000000
--- i/dir/file_remove
+++ /dev/null
@@ -1 +0,0 @@
-8
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/file_modify w/file_modify
index 0cfbf08..00750ed 100644
--- i/file_modify
+++ w/file_modify
@@ -1 +1 @@
-2
+3
diff --git i/file_remove w/file_remove
deleted file mode 100644
index b8626c4..0000000
--- i/file_remove
+++ /dev/null
@@ -1 +0,0 @@
-4
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
no <pathspec>: no-op
<pathspec>: add/modify/remove
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo/dir' add --dry-run
Nothing specified, nothing added.
hint: Maybe you wanted to say 'git add .'?
hint: Disable this message with "git config set advice.addEmptyPathspec false"
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo/dir' add --dry-run '.'
add 'dir/file_modify'
remove 'dir/file_remove'
add 'dir/dir_add/file'
add 'dir/file_add'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
no <pathspec>: add/modify/remove entire working tree
<pathspec>: add/modify/remove
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo/dir' add --dry-run --all
add 'dir/file_modify'
remove 'dir/file_remove'
add 'file_modify'
remove 'file_remove'
add 'dir/dir_add/file'
add 'dir/file_add'
add 'dir_add/file'
add 'file_add'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo/dir' add --dry-run --all '.'
add 'dir/file_modify'
remove 'dir/file_remove'
add 'dir/dir_add/file'
add 'dir/file_add'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
no <pathspec>: modify/remove entire working tree
<pathspec>: modify/remove
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo/dir' add --dry-run --update
add 'dir/file_modify'
remove 'dir/file_remove'
add 'file_modify'
remove 'file_remove'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo/dir' add --dry-run --update '.'
add 'dir/file_modify'
remove 'dir/file_remove'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
no <pathspec>: no-op
<pathspec>: add/modify
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo/dir' add --dry-run --ignore-removal
Nothing specified, nothing added.
hint: Maybe you wanted to say 'git add .'?
hint: Disable this message with "git config set advice.addEmptyPathspec false"
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo/dir' add --dry-run --ignore-removal '.'
add 'dir/file_modify'
add 'dir/dir_add/file'
add 'dir/file_add'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'; mkdir -- './repo/dir' './repo/dir/dir'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ touch -- './repo/file_add' './repo/file_new' './repo/dir/file_add' './repo/dir/file_new' './repo/dir/dir/file_add' './repo/dir/dir/file_new'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '*_add' > './repo/.gitignore'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' add --dry-run '.'
add '.gitignore'
add 'dir/dir/file_new'
add 'dir/file_new'
add 'file_new'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' add --dry-run --force '.'
add '.gitignore'
add 'dir/dir/file_add'
add 'dir/dir/file_new'
add 'dir/file_add'
add 'dir/file_new'
add 'file_add'
add 'file_new'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' add --dry-run '*'
add '.gitignore'
add 'dir/dir/file_new'
add 'dir/file_new'
add 'file_new'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' add --dry-run --force '*'
add '.gitignore'
add 'dir/dir/file_add'
add 'dir/dir/file_new'
add 'dir/file_add'
add 'dir/file_new'
add 'file_add'
add 'file_new'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' add --dry-run '*/*'
add 'dir/dir/file_new'
add 'dir/file_new'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' add --dry-run --force '*/*'
add 'dir/dir/file_add'
add 'dir/dir/file_new'
add 'dir/file_add'
add 'dir/file_new'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' add --dry-run './file_add'
The following paths are ignored by one of your .gitignore files:
file_add
hint: Use -f if you really want to add them.
hint: Disable this message with "git config set advice.addIgnoredFile false"
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' add --dry-run --force './file_add'
add 'file_add'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' add --dry-run './file_new'
add 'file_new'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' add --dry-run --force './file_new'
add 'file_new'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' add --dry-run 'file_add'
The following paths are ignored by one of your .gitignore files:
file_add
hint: Use -f if you really want to add them.
hint: Disable this message with "git config set advice.addIgnoredFile false"
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' add --dry-run --force 'file_add'
add 'file_add'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' add --dry-run 'file_new'
add 'file_new'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' add --dry-run --force 'file_new'
add 'file_new'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' add --dry-run '*file_add'
fatal: pathspec '*file_add' did not match any files
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' add --dry-run --force '*file_add'
add 'dir/dir/file_add'
add 'dir/file_add'
add 'file_add'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' add --dry-run '*file_new'
add 'dir/dir/file_new'
add 'dir/file_new'
add 'file_new'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' add --dry-run --force '*file_new'
add 'dir/dir/file_new'
add 'dir/file_new'
add 'file_new'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' add --dry-run '*file*'
add 'dir/dir/file_new'
add 'dir/file_new'
add 'file_new'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' add --dry-run --force '*file*'
add 'dir/dir/file_add'
add 'dir/dir/file_new'
add 'dir/file_add'
add 'dir/file_new'
add 'file_add'
add 'file_new'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'; mkdir -- './repo/dir'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file_add'; echo '2' >'./repo/file_modify'; echo '4' >'./repo/file_remove'; git -C './repo' add './file_modify' './file_remove'; echo '3' >'./repo/file_modify'; rm -- './repo/file_remove'
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file_remove', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '5' >'./repo/dir/file_add'; echo '6' >'./repo/dir/file_modify'; echo '8' >'./repo/dir/file_remove'; git -C './repo/dir' add './file_modify' './file_remove'; echo '7' >'./repo/dir/file_modify'; rm -- './repo/dir/file_remove'
warning: in the working copy of 'dir/file_modify', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'dir/file_remove', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ mkdir -- './repo/dir_add' './repo/dir/dir_add'; echo '9' >'./repo/dir_add/file'; echo '10' >'./repo/dir/dir_add/file'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
dir/dir_add/file
dir/file_add
dir_add/file
file_add
100644 1e8b314962144c26d5e0e50fd29d2ca327864913 0 dir/file_modify
100644 45a4fb75db864000d01701c0f7a51864bd4daabf 0 dir/file_remove
100644 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f 0 file_modify
100644 b8626c4cff2849624fb67f87cd0ad72b163671ad 0 file_remove
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: dir/file_modify
new file: dir/file_remove
new file: file_modify
new file: file_remove
Changes not staged for commit:
(use "git add/rm <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: dir/file_modify
deleted: dir/file_remove
modified: file_modify
deleted: file_remove
Untracked files:
(use "git add <file>..." to include in what will be committed)
dir/dir_add/
dir/file_add
dir_add/
file_add
Changes to be committed:
diff --git c/dir/file_modify i/dir/file_modify
new file mode 100644
index 0000000..1e8b314
--- /dev/null
+++ i/dir/file_modify
@@ -0,0 +1 @@
+6
diff --git c/dir/file_remove i/dir/file_remove
new file mode 100644
index 0000000..45a4fb7
--- /dev/null
+++ i/dir/file_remove
@@ -0,0 +1 @@
+8
diff --git c/file_modify i/file_modify
new file mode 100644
index 0000000..0cfbf08
--- /dev/null
+++ i/file_modify
@@ -0,0 +1 @@
+2
diff --git c/file_remove i/file_remove
new file mode 100644
index 0000000..b8626c4
--- /dev/null
+++ i/file_remove
@@ -0,0 +1 @@
+4
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'dir/file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/dir/file_modify w/dir/file_modify
index 1e8b314..7f8f011 100644
--- i/dir/file_modify
+++ w/dir/file_modify
@@ -1 +1 @@
-6
+7
diff --git i/dir/file_remove w/dir/file_remove
deleted file mode 100644
index 45a4fb7..0000000
--- i/dir/file_remove
+++ /dev/null
@@ -1 +0,0 @@
-8
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/file_modify w/file_modify
index 0cfbf08..00750ed 100644
--- i/file_modify
+++ w/file_modify
@@ -1 +1 @@
-2
+3
diff --git i/file_remove w/file_remove
deleted file mode 100644
index b8626c4..0000000
--- i/file_remove
+++ /dev/null
@@ -1 +0,0 @@
-4
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo/dir' ls-files --stage --others
dir_add/file
file_add
100644 1e8b314962144c26d5e0e50fd29d2ca327864913 0 file_modify
100644 45a4fb75db864000d01701c0f7a51864bd4daabf 0 file_remove
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo/dir' status --verbose --verbose '.'
On branch master
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: file_modify
new file: file_remove
Changes not staged for commit:
(use "git add/rm <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: file_modify
deleted: file_remove
Untracked files:
(use "git add <file>..." to include in what will be committed)
dir_add/
file_add
Changes to be committed:
diff --git c/dir/file_modify i/dir/file_modify
new file mode 100644
index 0000000..1e8b314
--- /dev/null
+++ i/dir/file_modify
@@ -0,0 +1 @@
+6
diff --git c/dir/file_remove i/dir/file_remove
new file mode 100644
index 0000000..45a4fb7
--- /dev/null
+++ i/dir/file_remove
@@ -0,0 +1 @@
+8
diff --git c/file_modify i/file_modify
new file mode 100644
index 0000000..0cfbf08
--- /dev/null
+++ i/file_modify
@@ -0,0 +1 @@
+2
diff --git c/file_remove i/file_remove
new file mode 100644
index 0000000..b8626c4
--- /dev/null
+++ i/file_remove
@@ -0,0 +1 @@
+4
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'dir/file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/dir/file_modify w/dir/file_modify
index 1e8b314..7f8f011 100644
--- i/dir/file_modify
+++ w/dir/file_modify
@@ -1 +1 @@
-6
+7
diff --git i/dir/file_remove w/dir/file_remove
deleted file mode 100644
index 45a4fb7..0000000
--- i/dir/file_remove
+++ /dev/null
@@ -1 +0,0 @@
-8
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/file_modify w/file_modify
index 0cfbf08..00750ed 100644
--- i/file_modify
+++ w/file_modify
@@ -1 +1 @@
-2
+3
diff --git i/file_remove w/file_remove
deleted file mode 100644
index b8626c4..0000000
--- i/file_remove
+++ /dev/null
@@ -1 +0,0 @@
-4
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo/dir' add --intent-to-add
Nothing specified, nothing added.
hint: Maybe you wanted to say 'git add .'?
hint: Disable this message with "git config set advice.addEmptyPathspec false"
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
dir/dir_add/file
dir/file_add
dir_add/file
file_add
100644 1e8b314962144c26d5e0e50fd29d2ca327864913 0 dir/file_modify
100644 45a4fb75db864000d01701c0f7a51864bd4daabf 0 dir/file_remove
100644 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f 0 file_modify
100644 b8626c4cff2849624fb67f87cd0ad72b163671ad 0 file_remove
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: dir/file_modify
new file: dir/file_remove
new file: file_modify
new file: file_remove
Changes not staged for commit:
(use "git add/rm <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: dir/file_modify
deleted: dir/file_remove
modified: file_modify
deleted: file_remove
Untracked files:
(use "git add <file>..." to include in what will be committed)
dir/dir_add/
dir/file_add
dir_add/
file_add
Changes to be committed:
diff --git c/dir/file_modify i/dir/file_modify
new file mode 100644
index 0000000..1e8b314
--- /dev/null
+++ i/dir/file_modify
@@ -0,0 +1 @@
+6
diff --git c/dir/file_remove i/dir/file_remove
new file mode 100644
index 0000000..45a4fb7
--- /dev/null
+++ i/dir/file_remove
@@ -0,0 +1 @@
+8
diff --git c/file_modify i/file_modify
new file mode 100644
index 0000000..0cfbf08
--- /dev/null
+++ i/file_modify
@@ -0,0 +1 @@
+2
diff --git c/file_remove i/file_remove
new file mode 100644
index 0000000..b8626c4
--- /dev/null
+++ i/file_remove
@@ -0,0 +1 @@
+4
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'dir/file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/dir/file_modify w/dir/file_modify
index 1e8b314..7f8f011 100644
--- i/dir/file_modify
+++ w/dir/file_modify
@@ -1 +1 @@
-6
+7
diff --git i/dir/file_remove w/dir/file_remove
deleted file mode 100644
index 45a4fb7..0000000
--- i/dir/file_remove
+++ /dev/null
@@ -1 +0,0 @@
-8
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/file_modify w/file_modify
index 0cfbf08..00750ed 100644
--- i/file_modify
+++ w/file_modify
@@ -1 +1 @@
-2
+3
diff --git i/file_remove w/file_remove
deleted file mode 100644
index b8626c4..0000000
--- i/file_remove
+++ /dev/null
@@ -1 +0,0 @@
-4
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo/dir' ls-files --stage --others
dir_add/file
file_add
100644 1e8b314962144c26d5e0e50fd29d2ca327864913 0 file_modify
100644 45a4fb75db864000d01701c0f7a51864bd4daabf 0 file_remove
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo/dir' status --verbose --verbose '.'
On branch master
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: file_modify
new file: file_remove
Changes not staged for commit:
(use "git add/rm <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: file_modify
deleted: file_remove
Untracked files:
(use "git add <file>..." to include in what will be committed)
dir_add/
file_add
Changes to be committed:
diff --git c/dir/file_modify i/dir/file_modify
new file mode 100644
index 0000000..1e8b314
--- /dev/null
+++ i/dir/file_modify
@@ -0,0 +1 @@
+6
diff --git c/dir/file_remove i/dir/file_remove
new file mode 100644
index 0000000..45a4fb7
--- /dev/null
+++ i/dir/file_remove
@@ -0,0 +1 @@
+8
diff --git c/file_modify i/file_modify
new file mode 100644
index 0000000..0cfbf08
--- /dev/null
+++ i/file_modify
@@ -0,0 +1 @@
+2
diff --git c/file_remove i/file_remove
new file mode 100644
index 0000000..b8626c4
--- /dev/null
+++ i/file_remove
@@ -0,0 +1 @@
+4
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'dir/file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/dir/file_modify w/dir/file_modify
index 1e8b314..7f8f011 100644
--- i/dir/file_modify
+++ w/dir/file_modify
@@ -1 +1 @@
-6
+7
diff --git i/dir/file_remove w/dir/file_remove
deleted file mode 100644
index 45a4fb7..0000000
--- i/dir/file_remove
+++ /dev/null
@@ -1 +0,0 @@
-8
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/file_modify w/file_modify
index 0cfbf08..00750ed 100644
--- i/file_modify
+++ w/file_modify
@@ -1 +1 @@
-2
+3
diff --git i/file_remove w/file_remove
deleted file mode 100644
index b8626c4..0000000
--- i/file_remove
+++ /dev/null
@@ -1 +0,0 @@
-4
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo/dir' add --intent-to-add '.'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
dir_add/file
file_add
100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 dir/dir_add/file
100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 dir/file_add
100644 1e8b314962144c26d5e0e50fd29d2ca327864913 0 dir/file_modify
100644 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f 0 file_modify
100644 b8626c4cff2849624fb67f87cd0ad72b163671ad 0 file_remove
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
warning: in the working copy of 'dir/dir_add/file', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'dir/file_add', LF will be replaced by CRLF the next time Git touches it
On branch master
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: dir/file_modify
new file: file_modify
new file: file_remove
Changes not staged for commit:
(use "git add/rm <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
new file: dir/dir_add/file
new file: dir/file_add
modified: dir/file_modify
modified: file_modify
deleted: file_remove
Untracked files:
(use "git add <file>..." to include in what will be committed)
dir_add/
file_add
Changes to be committed:
diff --git c/dir/file_modify i/dir/file_modify
new file mode 100644
index 0000000..1e8b314
--- /dev/null
+++ i/dir/file_modify
@@ -0,0 +1 @@
+6
diff --git c/file_modify i/file_modify
new file mode 100644
index 0000000..0cfbf08
--- /dev/null
+++ i/file_modify
@@ -0,0 +1 @@
+2
diff --git c/file_remove i/file_remove
new file mode 100644
index 0000000..b8626c4
--- /dev/null
+++ i/file_remove
@@ -0,0 +1 @@
+4
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'dir/dir_add/file', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'dir/file_add', LF will be replaced by CRLF the next time Git touches it
diff --git i/dir/dir_add/file w/dir/dir_add/file
new file mode 100644
index 0000000..f599e28
warning: in the working copy of 'dir/dir_add/file', LF will be replaced by CRLF the next time Git touches it
--- /dev/null
+++ w/dir/dir_add/file
@@ -0,0 +1 @@
+10
diff --git i/dir/file_add w/dir/file_add
new file mode 100644
index 0000000..7ed6ff8
warning: in the working copy of 'dir/file_add', LF will be replaced by CRLF the next time Git touches it
--- /dev/null
+++ w/dir/file_add
@@ -0,0 +1 @@
+5
warning: in the working copy of 'dir/file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/dir/file_modify w/dir/file_modify
index 1e8b314..7f8f011 100644
--- i/dir/file_modify
+++ w/dir/file_modify
@@ -1 +1 @@
-6
+7
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/file_modify w/file_modify
index 0cfbf08..00750ed 100644
--- i/file_modify
+++ w/file_modify
@@ -1 +1 @@
-2
+3
diff --git i/file_remove w/file_remove
deleted file mode 100644
index b8626c4..0000000
--- i/file_remove
+++ /dev/null
@@ -1 +0,0 @@
-4
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo/dir' ls-files --stage --others
100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 dir_add/file
100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 file_add
100644 1e8b314962144c26d5e0e50fd29d2ca327864913 0 file_modify
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo/dir' status --verbose --verbose '.'
On branch master
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: file_modify
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
new file: dir_add/file
new file: file_add
modified: file_modify
Changes to be committed:
diff --git c/dir/file_modify i/dir/file_modify
new file mode 100644
index 0000000..1e8b314
--- /dev/null
+++ i/dir/file_modify
@@ -0,0 +1 @@
+6
diff --git c/file_modify i/file_modify
new file mode 100644
index 0000000..0cfbf08
--- /dev/null
+++ i/file_modify
@@ -0,0 +1 @@
+2
diff --git c/file_remove i/file_remove
new file mode 100644
index 0000000..b8626c4
--- /dev/null
+++ i/file_remove
@@ -0,0 +1 @@
+4
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'dir/dir_add/file', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'dir/file_add', LF will be replaced by CRLF the next time Git touches it
diff --git i/dir/dir_add/file w/dir/dir_add/file
new file mode 100644
index 0000000..f599e28
warning: in the working copy of 'dir/dir_add/file', LF will be replaced by CRLF the next time Git touches it
--- /dev/null
+++ w/dir/dir_add/file
@@ -0,0 +1 @@
+10
diff --git i/dir/file_add w/dir/file_add
new file mode 100644
index 0000000..7ed6ff8
warning: in the working copy of 'dir/file_add', LF will be replaced by CRLF the next time Git touches it
--- /dev/null
+++ w/dir/file_add
@@ -0,0 +1 @@
+5
warning: in the working copy of 'dir/file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/dir/file_modify w/dir/file_modify
index 1e8b314..7f8f011 100644
--- i/dir/file_modify
+++ w/dir/file_modify
@@ -1 +1 @@
-6
+7
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/file_modify w/file_modify
index 0cfbf08..00750ed 100644
--- i/file_modify
+++ w/file_modify
@@ -1 +1 @@
-2
+3
diff --git i/file_remove w/file_remove
deleted file mode 100644
index b8626c4..0000000
--- i/file_remove
+++ /dev/null
@@ -1 +0,0 @@
-4
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo/dir' add --intent-to-add --all
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 dir/dir_add/file
100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 dir/file_add
100644 1e8b314962144c26d5e0e50fd29d2ca327864913 0 dir/file_modify
100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 dir_add/file
100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 file_add
100644 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f 0 file_modify
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: dir/file_modify
new file: file_modify
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
new file: dir/dir_add/file
new file: dir/file_add
modified: dir/file_modify
new file: dir_add/file
new file: file_add
modified: file_modify
Changes to be committed:
diff --git c/dir/file_modify i/dir/file_modify
new file mode 100644
index 0000000..1e8b314
--- /dev/null
+++ i/dir/file_modify
@@ -0,0 +1 @@
+6
diff --git c/file_modify i/file_modify
new file mode 100644
index 0000000..0cfbf08
--- /dev/null
+++ i/file_modify
@@ -0,0 +1 @@
+2
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'dir/dir_add/file', LF will be replaced by CRLF the next time Git touches it
diff --git i/dir/dir_add/file w/dir/dir_add/file
new file mode 100644
index 0000000..f599e28
--- /dev/null
+++ w/dir/dir_add/file
@@ -0,0 +1 @@
+10
warning: in the working copy of 'dir/file_add', LF will be replaced by CRLF the next time Git touches it
diff --git i/dir/file_add w/dir/file_add
new file mode 100644
index 0000000..7ed6ff8
--- /dev/null
+++ w/dir/file_add
@@ -0,0 +1 @@
+5
warning: in the working copy of 'dir/file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/dir/file_modify w/dir/file_modify
index 1e8b314..7f8f011 100644
--- i/dir/file_modify
+++ w/dir/file_modify
@@ -1 +1 @@
-6
+7
warning: in the working copy of 'dir_add/file', LF will be replaced by CRLF the next time Git touches it
diff --git i/dir_add/file w/dir_add/file
new file mode 100644
index 0000000..ec63514
--- /dev/null
+++ w/dir_add/file
@@ -0,0 +1 @@
+9
warning: in the working copy of 'file_add', LF will be replaced by CRLF the next time Git touches it
diff --git i/file_add w/file_add
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ w/file_add
@@ -0,0 +1 @@
+1
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/file_modify w/file_modify
index 0cfbf08..00750ed 100644
--- i/file_modify
+++ w/file_modify
@@ -1 +1 @@
-2
+3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo/dir' ls-files --stage --others
100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 dir_add/file
100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 file_add
100644 1e8b314962144c26d5e0e50fd29d2ca327864913 0 file_modify
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo/dir' status --verbose --verbose '.'
On branch master
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: file_modify
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
new file: dir_add/file
new file: file_add
modified: file_modify
Changes to be committed:
diff --git c/dir/file_modify i/dir/file_modify
new file mode 100644
index 0000000..1e8b314
--- /dev/null
+++ i/dir/file_modify
@@ -0,0 +1 @@
+6
diff --git c/file_modify i/file_modify
new file mode 100644
index 0000000..0cfbf08
--- /dev/null
+++ i/file_modify
@@ -0,0 +1 @@
+2
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'dir/dir_add/file', LF will be replaced by CRLF the next time Git touches it
diff --git i/dir/dir_add/file w/dir/dir_add/file
new file mode 100644
index 0000000..f599e28
--- /dev/null
+++ w/dir/dir_add/file
@@ -0,0 +1 @@
+10
warning: in the working copy of 'dir/file_add', LF will be replaced by CRLF the next time Git touches it
diff --git i/dir/file_add w/dir/file_add
new file mode 100644
index 0000000..7ed6ff8
--- /dev/null
+++ w/dir/file_add
@@ -0,0 +1 @@
+5
warning: in the working copy of 'dir/file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/dir/file_modify w/dir/file_modify
index 1e8b314..7f8f011 100644
--- i/dir/file_modify
+++ w/dir/file_modify
@@ -1 +1 @@
-6
+7
warning: in the working copy of 'dir_add/file', LF will be replaced by CRLF the next time Git touches it
diff --git i/dir_add/file w/dir_add/file
new file mode 100644
index 0000000..ec63514
--- /dev/null
+++ w/dir_add/file
@@ -0,0 +1 @@
+9
warning: in the working copy of 'file_add', LF will be replaced by CRLF the next time Git touches it
diff --git i/file_add w/file_add
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ w/file_add
@@ -0,0 +1 @@
+1
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/file_modify w/file_modify
index 0cfbf08..00750ed 100644
--- i/file_modify
+++ w/file_modify
@@ -1 +1 @@
-2
+3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo/dir' add --intent-to-add --all '.'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
dir_add/file
file_add
100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 dir/dir_add/file
100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 dir/file_add
100644 1e8b314962144c26d5e0e50fd29d2ca327864913 0 dir/file_modify
100644 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f 0 file_modify
100644 b8626c4cff2849624fb67f87cd0ad72b163671ad 0 file_remove
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
warning: in the working copy of 'dir/dir_add/file', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'dir/file_add', LF will be replaced by CRLF the next time Git touches it
On branch master
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: dir/file_modify
new file: file_modify
new file: file_remove
Changes not staged for commit:
(use "git add/rm <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
new file: dir/dir_add/file
new file: dir/file_add
modified: dir/file_modify
modified: file_modify
deleted: file_remove
Untracked files:
(use "git add <file>..." to include in what will be committed)
dir_add/
file_add
Changes to be committed:
diff --git c/dir/file_modify i/dir/file_modify
new file mode 100644
index 0000000..1e8b314
--- /dev/null
+++ i/dir/file_modify
@@ -0,0 +1 @@
+6
diff --git c/file_modify i/file_modify
new file mode 100644
index 0000000..0cfbf08
--- /dev/null
+++ i/file_modify
@@ -0,0 +1 @@
+2
diff --git c/file_remove i/file_remove
new file mode 100644
index 0000000..b8626c4
--- /dev/null
+++ i/file_remove
@@ -0,0 +1 @@
+4
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'dir/dir_add/file', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'dir/file_add', LF will be replaced by CRLF the next time Git touches it
diff --git i/dir/dir_add/file w/dir/dir_add/file
new file mode 100644
index 0000000..f599e28
warning: in the working copy of 'dir/dir_add/file', LF will be replaced by CRLF the next time Git touches it
--- /dev/null
+++ w/dir/dir_add/file
@@ -0,0 +1 @@
+10
diff --git i/dir/file_add w/dir/file_add
new file mode 100644
index 0000000..7ed6ff8
warning: in the working copy of 'dir/file_add', LF will be replaced by CRLF the next time Git touches it
--- /dev/null
+++ w/dir/file_add
@@ -0,0 +1 @@
+5
warning: in the working copy of 'dir/file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/dir/file_modify w/dir/file_modify
index 1e8b314..7f8f011 100644
--- i/dir/file_modify
+++ w/dir/file_modify
@@ -1 +1 @@
-6
+7
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/file_modify w/file_modify
index 0cfbf08..00750ed 100644
--- i/file_modify
+++ w/file_modify
@@ -1 +1 @@
-2
+3
diff --git i/file_remove w/file_remove
deleted file mode 100644
index b8626c4..0000000
--- i/file_remove
+++ /dev/null
@@ -1 +0,0 @@
-4
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo/dir' ls-files --stage --others
100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 dir_add/file
100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 file_add
100644 1e8b314962144c26d5e0e50fd29d2ca327864913 0 file_modify
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo/dir' status --verbose --verbose '.'
On branch master
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: file_modify
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
new file: dir_add/file
new file: file_add
modified: file_modify
Changes to be committed:
diff --git c/dir/file_modify i/dir/file_modify
new file mode 100644
index 0000000..1e8b314
--- /dev/null
+++ i/dir/file_modify
@@ -0,0 +1 @@
+6
diff --git c/file_modify i/file_modify
new file mode 100644
index 0000000..0cfbf08
--- /dev/null
+++ i/file_modify
@@ -0,0 +1 @@
+2
diff --git c/file_remove i/file_remove
new file mode 100644
index 0000000..b8626c4
--- /dev/null
+++ i/file_remove
@@ -0,0 +1 @@
+4
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'dir/dir_add/file', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'dir/file_add', LF will be replaced by CRLF the next time Git touches it
diff --git i/dir/dir_add/file w/dir/dir_add/file
new file mode 100644
index 0000000..f599e28
warning: in the working copy of 'dir/dir_add/file', LF will be replaced by CRLF the next time Git touches it
--- /dev/null
+++ w/dir/dir_add/file
@@ -0,0 +1 @@
+10
diff --git i/dir/file_add w/dir/file_add
new file mode 100644
index 0000000..7ed6ff8
warning: in the working copy of 'dir/file_add', LF will be replaced by CRLF the next time Git touches it
--- /dev/null
+++ w/dir/file_add
@@ -0,0 +1 @@
+5
warning: in the working copy of 'dir/file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/dir/file_modify w/dir/file_modify
index 1e8b314..7f8f011 100644
--- i/dir/file_modify
+++ w/dir/file_modify
@@ -1 +1 @@
-6
+7
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/file_modify w/file_modify
index 0cfbf08..00750ed 100644
--- i/file_modify
+++ w/file_modify
@@ -1 +1 @@
-2
+3
diff --git i/file_remove w/file_remove
deleted file mode 100644
index b8626c4..0000000
--- i/file_remove
+++ /dev/null
@@ -1 +0,0 @@
-4
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo/dir' add --intent-to-add --update
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
dir/dir_add/file
dir/file_add
dir_add/file
file_add
100644 1e8b314962144c26d5e0e50fd29d2ca327864913 0 dir/file_modify
100644 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f 0 file_modify
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: dir/file_modify
new file: file_modify
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: dir/file_modify
modified: file_modify
Untracked files:
(use "git add <file>..." to include in what will be committed)
dir/dir_add/
dir/file_add
dir_add/
file_add
Changes to be committed:
diff --git c/dir/file_modify i/dir/file_modify
new file mode 100644
index 0000000..1e8b314
--- /dev/null
+++ i/dir/file_modify
@@ -0,0 +1 @@
+6
diff --git c/file_modify i/file_modify
new file mode 100644
index 0000000..0cfbf08
--- /dev/null
+++ i/file_modify
@@ -0,0 +1 @@
+2
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'dir/file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/dir/file_modify w/dir/file_modify
index 1e8b314..7f8f011 100644
--- i/dir/file_modify
+++ w/dir/file_modify
@@ -1 +1 @@
-6
+7
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/file_modify w/file_modify
index 0cfbf08..00750ed 100644
--- i/file_modify
+++ w/file_modify
@@ -1 +1 @@
-2
+3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo/dir' ls-files --stage --others
dir_add/file
file_add
100644 1e8b314962144c26d5e0e50fd29d2ca327864913 0 file_modify
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo/dir' status --verbose --verbose '.'
On branch master
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: file_modify
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: file_modify
Untracked files:
(use "git add <file>..." to include in what will be committed)
dir_add/
file_add
Changes to be committed:
diff --git c/dir/file_modify i/dir/file_modify
new file mode 100644
index 0000000..1e8b314
--- /dev/null
+++ i/dir/file_modify
@@ -0,0 +1 @@
+6
diff --git c/file_modify i/file_modify
new file mode 100644
index 0000000..0cfbf08
--- /dev/null
+++ i/file_modify
@@ -0,0 +1 @@
+2
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'dir/file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/dir/file_modify w/dir/file_modify
index 1e8b314..7f8f011 100644
--- i/dir/file_modify
+++ w/dir/file_modify
@@ -1 +1 @@
-6
+7
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/file_modify w/file_modify
index 0cfbf08..00750ed 100644
--- i/file_modify
+++ w/file_modify
@@ -1 +1 @@
-2
+3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo/dir' add --intent-to-add --update '.'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
dir/dir_add/file
dir/file_add
dir_add/file
file_add
100644 1e8b314962144c26d5e0e50fd29d2ca327864913 0 dir/file_modify
100644 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f 0 file_modify
100644 b8626c4cff2849624fb67f87cd0ad72b163671ad 0 file_remove
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: dir/file_modify
new file: file_modify
new file: file_remove
Changes not staged for commit:
(use "git add/rm <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: dir/file_modify
modified: file_modify
deleted: file_remove
Untracked files:
(use "git add <file>..." to include in what will be committed)
dir/dir_add/
dir/file_add
dir_add/
file_add
Changes to be committed:
diff --git c/dir/file_modify i/dir/file_modify
new file mode 100644
index 0000000..1e8b314
--- /dev/null
+++ i/dir/file_modify
@@ -0,0 +1 @@
+6
diff --git c/file_modify i/file_modify
new file mode 100644
index 0000000..0cfbf08
--- /dev/null
+++ i/file_modify
@@ -0,0 +1 @@
+2
diff --git c/file_remove i/file_remove
new file mode 100644
index 0000000..b8626c4
--- /dev/null
+++ i/file_remove
@@ -0,0 +1 @@
+4
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'dir/file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/dir/file_modify w/dir/file_modify
index 1e8b314..7f8f011 100644
--- i/dir/file_modify
+++ w/dir/file_modify
@@ -1 +1 @@
-6
+7
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/file_modify w/file_modify
index 0cfbf08..00750ed 100644
--- i/file_modify
+++ w/file_modify
@@ -1 +1 @@
-2
+3
diff --git i/file_remove w/file_remove
deleted file mode 100644
index b8626c4..0000000
--- i/file_remove
+++ /dev/null
@@ -1 +0,0 @@
-4
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo/dir' ls-files --stage --others
dir_add/file
file_add
100644 1e8b314962144c26d5e0e50fd29d2ca327864913 0 file_modify
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo/dir' status --verbose --verbose '.'
On branch master
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: file_modify
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: file_modify
Untracked files:
(use "git add <file>..." to include in what will be committed)
dir_add/
file_add
Changes to be committed:
diff --git c/dir/file_modify i/dir/file_modify
new file mode 100644
index 0000000..1e8b314
--- /dev/null
+++ i/dir/file_modify
@@ -0,0 +1 @@
+6
diff --git c/file_modify i/file_modify
new file mode 100644
index 0000000..0cfbf08
--- /dev/null
+++ i/file_modify
@@ -0,0 +1 @@
+2
diff --git c/file_remove i/file_remove
new file mode 100644
index 0000000..b8626c4
--- /dev/null
+++ i/file_remove
@@ -0,0 +1 @@
+4
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'dir/file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/dir/file_modify w/dir/file_modify
index 1e8b314..7f8f011 100644
--- i/dir/file_modify
+++ w/dir/file_modify
@@ -1 +1 @@
-6
+7
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/file_modify w/file_modify
index 0cfbf08..00750ed 100644
--- i/file_modify
+++ w/file_modify
@@ -1 +1 @@
-2
+3
diff --git i/file_remove w/file_remove
deleted file mode 100644
index b8626c4..0000000
--- i/file_remove
+++ /dev/null
@@ -1 +0,0 @@
-4
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo/dir' add --intent-to-add --ignore-removal
Nothing specified, nothing added.
hint: Maybe you wanted to say 'git add .'?
hint: Disable this message with "git config set advice.addEmptyPathspec false"
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
dir/dir_add/file
dir/file_add
dir_add/file
file_add
100644 1e8b314962144c26d5e0e50fd29d2ca327864913 0 dir/file_modify
100644 45a4fb75db864000d01701c0f7a51864bd4daabf 0 dir/file_remove
100644 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f 0 file_modify
100644 b8626c4cff2849624fb67f87cd0ad72b163671ad 0 file_remove
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: dir/file_modify
new file: dir/file_remove
new file: file_modify
new file: file_remove
Changes not staged for commit:
(use "git add/rm <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: dir/file_modify
deleted: dir/file_remove
modified: file_modify
deleted: file_remove
Untracked files:
(use "git add <file>..." to include in what will be committed)
dir/dir_add/
dir/file_add
dir_add/
file_add
Changes to be committed:
diff --git c/dir/file_modify i/dir/file_modify
new file mode 100644
index 0000000..1e8b314
--- /dev/null
+++ i/dir/file_modify
@@ -0,0 +1 @@
+6
diff --git c/dir/file_remove i/dir/file_remove
new file mode 100644
index 0000000..45a4fb7
--- /dev/null
+++ i/dir/file_remove
@@ -0,0 +1 @@
+8
diff --git c/file_modify i/file_modify
new file mode 100644
index 0000000..0cfbf08
--- /dev/null
+++ i/file_modify
@@ -0,0 +1 @@
+2
diff --git c/file_remove i/file_remove
new file mode 100644
index 0000000..b8626c4
--- /dev/null
+++ i/file_remove
@@ -0,0 +1 @@
+4
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'dir/file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/dir/file_modify w/dir/file_modify
index 1e8b314..7f8f011 100644
--- i/dir/file_modify
+++ w/dir/file_modify
@@ -1 +1 @@
-6
+7
diff --git i/dir/file_remove w/dir/file_remove
deleted file mode 100644
index 45a4fb7..0000000
--- i/dir/file_remove
+++ /dev/null
@@ -1 +0,0 @@
-8
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/file_modify w/file_modify
index 0cfbf08..00750ed 100644
--- i/file_modify
+++ w/file_modify
@@ -1 +1 @@
-2
+3
diff --git i/file_remove w/file_remove
deleted file mode 100644
index b8626c4..0000000
--- i/file_remove
+++ /dev/null
@@ -1 +0,0 @@
-4
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo/dir' ls-files --stage --others
dir_add/file
file_add
100644 1e8b314962144c26d5e0e50fd29d2ca327864913 0 file_modify
100644 45a4fb75db864000d01701c0f7a51864bd4daabf 0 file_remove
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo/dir' status --verbose --verbose '.'
On branch master
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: file_modify
new file: file_remove
Changes not staged for commit:
(use "git add/rm <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: file_modify
deleted: file_remove
Untracked files:
(use "git add <file>..." to include in what will be committed)
dir_add/
file_add
Changes to be committed:
diff --git c/dir/file_modify i/dir/file_modify
new file mode 100644
index 0000000..1e8b314
--- /dev/null
+++ i/dir/file_modify
@@ -0,0 +1 @@
+6
diff --git c/dir/file_remove i/dir/file_remove
new file mode 100644
index 0000000..45a4fb7
--- /dev/null
+++ i/dir/file_remove
@@ -0,0 +1 @@
+8
diff --git c/file_modify i/file_modify
new file mode 100644
index 0000000..0cfbf08
--- /dev/null
+++ i/file_modify
@@ -0,0 +1 @@
+2
diff --git c/file_remove i/file_remove
new file mode 100644
index 0000000..b8626c4
--- /dev/null
+++ i/file_remove
@@ -0,0 +1 @@
+4
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'dir/file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/dir/file_modify w/dir/file_modify
index 1e8b314..7f8f011 100644
--- i/dir/file_modify
+++ w/dir/file_modify
@@ -1 +1 @@
-6
+7
diff --git i/dir/file_remove w/dir/file_remove
deleted file mode 100644
index 45a4fb7..0000000
--- i/dir/file_remove
+++ /dev/null
@@ -1 +0,0 @@
-8
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/file_modify w/file_modify
index 0cfbf08..00750ed 100644
--- i/file_modify
+++ w/file_modify
@@ -1 +1 @@
-2
+3
diff --git i/file_remove w/file_remove
deleted file mode 100644
index b8626c4..0000000
--- i/file_remove
+++ /dev/null
@@ -1 +0,0 @@
-4
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo/dir' add --intent-to-add --ignore-removal '.'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
dir_add/file
file_add
100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 dir/dir_add/file
100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 dir/file_add
100644 1e8b314962144c26d5e0e50fd29d2ca327864913 0 dir/file_modify
100644 45a4fb75db864000d01701c0f7a51864bd4daabf 0 dir/file_remove
100644 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f 0 file_modify
100644 b8626c4cff2849624fb67f87cd0ad72b163671ad 0 file_remove
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
warning: in the working copy of 'dir/dir_add/file', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'dir/file_add', LF will be replaced by CRLF the next time Git touches it
On branch master
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: dir/file_modify
new file: dir/file_remove
new file: file_modify
new file: file_remove
Changes not staged for commit:
(use "git add/rm <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
new file: dir/dir_add/file
new file: dir/file_add
modified: dir/file_modify
deleted: dir/file_remove
modified: file_modify
deleted: file_remove
Untracked files:
(use "git add <file>..." to include in what will be committed)
dir_add/
file_add
Changes to be committed:
diff --git c/dir/file_modify i/dir/file_modify
new file mode 100644
index 0000000..1e8b314
--- /dev/null
+++ i/dir/file_modify
@@ -0,0 +1 @@
+6
diff --git c/dir/file_remove i/dir/file_remove
new file mode 100644
index 0000000..45a4fb7
--- /dev/null
+++ i/dir/file_remove
@@ -0,0 +1 @@
+8
diff --git c/file_modify i/file_modify
new file mode 100644
index 0000000..0cfbf08
--- /dev/null
+++ i/file_modify
@@ -0,0 +1 @@
+2
diff --git c/file_remove i/file_remove
new file mode 100644
index 0000000..b8626c4
--- /dev/null
+++ i/file_remove
@@ -0,0 +1 @@
+4
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'dir/dir_add/file', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'dir/file_add', LF will be replaced by CRLF the next time Git touches it
diff --git i/dir/dir_add/file w/dir/dir_add/file
new file mode 100644
index 0000000..f599e28
warning: in the working copy of 'dir/dir_add/file', LF will be replaced by CRLF the next time Git touches it
--- /dev/null
+++ w/dir/dir_add/file
@@ -0,0 +1 @@
+10
diff --git i/dir/file_add w/dir/file_add
new file mode 100644
index 0000000..7ed6ff8
warning: in the working copy of 'dir/file_add', LF will be replaced by CRLF the next time Git touches it
--- /dev/null
+++ w/dir/file_add
@@ -0,0 +1 @@
+5
warning: in the working copy of 'dir/file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/dir/file_modify w/dir/file_modify
index 1e8b314..7f8f011 100644
--- i/dir/file_modify
+++ w/dir/file_modify
@@ -1 +1 @@
-6
+7
diff --git i/dir/file_remove w/dir/file_remove
deleted file mode 100644
index 45a4fb7..0000000
--- i/dir/file_remove
+++ /dev/null
@@ -1 +0,0 @@
-8
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/file_modify w/file_modify
index 0cfbf08..00750ed 100644
--- i/file_modify
+++ w/file_modify
@@ -1 +1 @@
-2
+3
diff --git i/file_remove w/file_remove
deleted file mode 100644
index b8626c4..0000000
--- i/file_remove
+++ /dev/null
@@ -1 +0,0 @@
-4
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo/dir' ls-files --stage --others
100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 dir_add/file
100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 file_add
100644 1e8b314962144c26d5e0e50fd29d2ca327864913 0 file_modify
100644 45a4fb75db864000d01701c0f7a51864bd4daabf 0 file_remove
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo/dir' status --verbose --verbose '.'
warning: in the working copy of 'dir/dir_add/file', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'dir/file_add', LF will be replaced by CRLF the next time Git touches it
On branch master
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: file_modify
new file: file_remove
Changes not staged for commit:
(use "git add/rm <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
new file: dir_add/file
new file: file_add
modified: file_modify
deleted: file_remove
Changes to be committed:
diff --git c/dir/file_modify i/dir/file_modify
new file mode 100644
index 0000000..1e8b314
--- /dev/null
+++ i/dir/file_modify
@@ -0,0 +1 @@
+6
diff --git c/dir/file_remove i/dir/file_remove
new file mode 100644
index 0000000..45a4fb7
--- /dev/null
+++ i/dir/file_remove
@@ -0,0 +1 @@
+8
diff --git c/file_modify i/file_modify
new file mode 100644
index 0000000..0cfbf08
--- /dev/null
+++ i/file_modify
@@ -0,0 +1 @@
+2
diff --git c/file_remove i/file_remove
new file mode 100644
index 0000000..b8626c4
--- /dev/null
+++ i/file_remove
@@ -0,0 +1 @@
+4
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'dir/dir_add/file', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'dir/file_add', LF will be replaced by CRLF the next time Git touches it
diff --git i/dir/dir_add/file w/dir/dir_add/file
new file mode 100644
index 0000000..f599e28
warning: in the working copy of 'dir/dir_add/file', LF will be replaced by CRLF the next time Git touches it
--- /dev/null
+++ w/dir/dir_add/file
@@ -0,0 +1 @@
+10
diff --git i/dir/file_add w/dir/file_add
new file mode 100644
index 0000000..7ed6ff8
warning: in the working copy of 'dir/file_add', LF will be replaced by CRLF the next time Git touches it
--- /dev/null
+++ w/dir/file_add
@@ -0,0 +1 @@
+5
warning: in the working copy of 'dir/file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/dir/file_modify w/dir/file_modify
index 1e8b314..7f8f011 100644
--- i/dir/file_modify
+++ w/dir/file_modify
@@ -1 +1 @@
-6
+7
diff --git i/dir/file_remove w/dir/file_remove
deleted file mode 100644
index 45a4fb7..0000000
--- i/dir/file_remove
+++ /dev/null
@@ -1 +0,0 @@
-8
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/file_modify w/file_modify
index 0cfbf08..00750ed 100644
--- i/file_modify
+++ w/file_modify
@@ -1 +1 @@
-2
+3
diff --git i/file_remove w/file_remove
deleted file mode 100644
index b8626c4..0000000
--- i/file_remove
+++ /dev/null
@@ -1 +0,0 @@
-4
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'; mkdir -- './repo/dir' './repo/dir/dir'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ touch -- './repo/file_add' './repo/file_new' './repo/dir/file_add' './repo/dir/file_new' './repo/dir/dir/file_add' './repo/dir/dir/file_new'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '*_add' > './repo/.gitignore'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' add --dry-run '.'
add '.gitignore'
add 'dir/dir/file_new'
add 'dir/file_new'
add 'file_new'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' add --dry-run --ignore-missing '.'
add '.gitignore'
add 'dir/dir/file_new'
add 'dir/file_new'
add 'file_new'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' add --dry-run '*'
add '.gitignore'
add 'dir/dir/file_new'
add 'dir/file_new'
add 'file_new'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' add --dry-run --ignore-missing '*'
add '.gitignore'
add 'dir/dir/file_new'
add 'dir/file_new'
add 'file_new'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' add --dry-run '*/*'
add 'dir/dir/file_new'
add 'dir/file_new'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' add --dry-run --ignore-missing '*/*'
add 'dir/dir/file_new'
add 'dir/file_new'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' add --dry-run './file_add'
The following paths are ignored by one of your .gitignore files:
file_add
hint: Use -f if you really want to add them.
hint: Disable this message with "git config set advice.addIgnoredFile false"
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' add --dry-run --ignore-missing './file_add'
The following paths are ignored by one of your .gitignore files:
file_add
hint: Use -f if you really want to add them.
hint: Disable this message with "git config set advice.addIgnoredFile false"
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' add --dry-run './file_new'
add 'file_new'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' add --dry-run --ignore-missing './file_new'
add 'file_new'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' add --dry-run 'file_add'
The following paths are ignored by one of your .gitignore files:
file_add
hint: Use -f if you really want to add them.
hint: Disable this message with "git config set advice.addIgnoredFile false"
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' add --dry-run --ignore-missing 'file_add'
The following paths are ignored by one of your .gitignore files:
file_add
hint: Use -f if you really want to add them.
hint: Disable this message with "git config set advice.addIgnoredFile false"
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' add --dry-run 'file_new'
add 'file_new'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' add --dry-run --ignore-missing 'file_new'
add 'file_new'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' add --dry-run '*file_add'
fatal: pathspec '*file_add' did not match any files
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' add --dry-run --ignore-missing '*file_add'
The following paths are ignored by one of your .gitignore files:
*file_add
hint: Use -f if you really want to add them.
hint: Disable this message with "git config set advice.addIgnoredFile false"
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' add --dry-run '*file_new'
add 'dir/dir/file_new'
add 'dir/file_new'
add 'file_new'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' add --dry-run --ignore-missing '*file_new'
add 'dir/dir/file_new'
add 'dir/file_new'
add 'file_new'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' add --dry-run '*file*'
add 'dir/dir/file_new'
add 'dir/file_new'
add 'file_new'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' add --dry-run --ignore-missing '*file*'
add 'dir/dir/file_new'
add 'dir/file_new'
add 'file_new'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '* -text' >'./repo/.gitattributes'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e '1\r\n2' >'./repo/file_modify'; git -C './repo' add './file_modify'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show ':./file_modify' | special_character_to_escape_sequence_preserve_line_ending | cat_with_line_number
1 1\r\n
2 2\n
3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ <'./repo/file_modify' special_character_to_escape_sequence_preserve_line_ending | cat_with_line_number
1 1\r\n
2 2\n
3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '* text' >'./repo/.gitattributes'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -c 'core.autocrlf=false' -C './repo' add --renormalize '.'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show ':./file_modify' | special_character_to_escape_sequence_preserve_line_ending | cat_with_line_number
1 1\n
2 2\n
3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ <'./repo/file_modify' special_character_to_escape_sequence_preserve_line_ending | cat_with_line_number
1 1\r\n
2 2\n
3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'; mkdir --parents -- './repo/dir'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file_add'; echo '2' >'./repo/file_modify'; echo '4' >'./repo/file_remove'; git -C './repo' add './file_modify' './file_remove'; echo '3' >'./repo/file_modify'; rm -- './repo/file_remove'
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file_remove', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '5' >'./repo/dir/file_add'; echo '6' >'./repo/dir/file_modify'; echo '8' >'./repo/dir/file_remove'; git -C './repo/dir' add './file_modify' './file_remove'; echo '7' >'./repo/dir/file_modify'; rm -- './repo/dir/file_remove'
warning: in the working copy of 'dir/file_modify', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'dir/file_remove', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ mkdir -- './repo/dir_add' './repo/dir/dir_add'; echo '9' >'./repo/dir_add/file'; echo '10' >'./repo/dir/dir_add/file'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
dir/dir_add/file
dir/file_add
dir_add/file
file_add
100644 1e8b314962144c26d5e0e50fd29d2ca327864913 0 dir/file_modify
100644 45a4fb75db864000d01701c0f7a51864bd4daabf 0 dir/file_remove
100644 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f 0 file_modify
100644 b8626c4cff2849624fb67f87cd0ad72b163671ad 0 file_remove
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: dir/file_modify
new file: dir/file_remove
new file: file_modify
new file: file_remove
Changes not staged for commit:
(use "git add/rm <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: dir/file_modify
deleted: dir/file_remove
modified: file_modify
deleted: file_remove
Untracked files:
(use "git add <file>..." to include in what will be committed)
dir/dir_add/
dir/file_add
dir_add/
file_add
Changes to be committed:
diff --git c/dir/file_modify i/dir/file_modify
new file mode 100644
index 0000000..1e8b314
--- /dev/null
+++ i/dir/file_modify
@@ -0,0 +1 @@
+6
diff --git c/dir/file_remove i/dir/file_remove
new file mode 100644
index 0000000..45a4fb7
--- /dev/null
+++ i/dir/file_remove
@@ -0,0 +1 @@
+8
diff --git c/file_modify i/file_modify
new file mode 100644
index 0000000..0cfbf08
--- /dev/null
+++ i/file_modify
@@ -0,0 +1 @@
+2
diff --git c/file_remove i/file_remove
new file mode 100644
index 0000000..b8626c4
--- /dev/null
+++ i/file_remove
@@ -0,0 +1 @@
+4
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'dir/file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/dir/file_modify w/dir/file_modify
index 1e8b314..7f8f011 100644
--- i/dir/file_modify
+++ w/dir/file_modify
@@ -1 +1 @@
-6
+7
diff --git i/dir/file_remove w/dir/file_remove
deleted file mode 100644
index 45a4fb7..0000000
--- i/dir/file_remove
+++ /dev/null
@@ -1 +0,0 @@
-8
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/file_modify w/file_modify
index 0cfbf08..00750ed 100644
--- i/file_modify
+++ w/file_modify
@@ -1 +1 @@
-2
+3
diff --git i/file_remove w/file_remove
deleted file mode 100644
index b8626c4..0000000
--- i/file_remove
+++ /dev/null
@@ -1 +0,0 @@
-4
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo/dir' ls-files --stage --others
dir_add/file
file_add
100644 1e8b314962144c26d5e0e50fd29d2ca327864913 0 file_modify
100644 45a4fb75db864000d01701c0f7a51864bd4daabf 0 file_remove
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo/dir' status --verbose --verbose '.'
On branch master
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: file_modify
new file: file_remove
Changes not staged for commit:
(use "git add/rm <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: file_modify
deleted: file_remove
Untracked files:
(use "git add <file>..." to include in what will be committed)
dir_add/
file_add
Changes to be committed:
diff --git c/dir/file_modify i/dir/file_modify
new file mode 100644
index 0000000..1e8b314
--- /dev/null
+++ i/dir/file_modify
@@ -0,0 +1 @@
+6
diff --git c/dir/file_remove i/dir/file_remove
new file mode 100644
index 0000000..45a4fb7
--- /dev/null
+++ i/dir/file_remove
@@ -0,0 +1 @@
+8
diff --git c/file_modify i/file_modify
new file mode 100644
index 0000000..0cfbf08
--- /dev/null
+++ i/file_modify
@@ -0,0 +1 @@
+2
diff --git c/file_remove i/file_remove
new file mode 100644
index 0000000..b8626c4
--- /dev/null
+++ i/file_remove
@@ -0,0 +1 @@
+4
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'dir/file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/dir/file_modify w/dir/file_modify
index 1e8b314..7f8f011 100644
--- i/dir/file_modify
+++ w/dir/file_modify
@@ -1 +1 @@
-6
+7
diff --git i/dir/file_remove w/dir/file_remove
deleted file mode 100644
index 45a4fb7..0000000
--- i/dir/file_remove
+++ /dev/null
@@ -1 +0,0 @@
-8
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/file_modify w/file_modify
index 0cfbf08..00750ed 100644
--- i/file_modify
+++ w/file_modify
@@ -1 +1 @@
-2
+3
diff --git i/file_remove w/file_remove
deleted file mode 100644
index b8626c4..0000000
--- i/file_remove
+++ /dev/null
@@ -1 +0,0 @@
-4
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo/dir' lg --patch
fatal: your current branch 'master' does not have any commits yet
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo/dir' commit --message="$((++number))"
[master (root-commit) 1827343] 1
4 files changed, 4 insertions(+)
create mode 100644 dir/file_modify
create mode 100644 dir/file_remove
create mode 100644 file_modify
create mode 100644 file_remove
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
dir/dir_add/file
dir/file_add
dir_add/file
file_add
100644 1e8b314962144c26d5e0e50fd29d2ca327864913 0 dir/file_modify
100644 45a4fb75db864000d01701c0f7a51864bd4daabf 0 dir/file_remove
100644 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f 0 file_modify
100644 b8626c4cff2849624fb67f87cd0ad72b163671ad 0 file_remove
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
Changes not staged for commit:
(use "git add/rm <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: dir/file_modify
deleted: dir/file_remove
modified: file_modify
deleted: file_remove
Untracked files:
(use "git add <file>..." to include in what will be committed)
dir/dir_add/
dir/file_add
dir_add/
file_add
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'dir/file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/dir/file_modify w/dir/file_modify
index 1e8b314..7f8f011 100644
--- i/dir/file_modify
+++ w/dir/file_modify
@@ -1 +1 @@
-6
+7
diff --git i/dir/file_remove w/dir/file_remove
deleted file mode 100644
index 45a4fb7..0000000
--- i/dir/file_remove
+++ /dev/null
@@ -1 +0,0 @@
-8
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/file_modify w/file_modify
index 0cfbf08..00750ed 100644
--- i/file_modify
+++ w/file_modify
@@ -1 +1 @@
-2
+3
diff --git i/file_remove w/file_remove
deleted file mode 100644
index b8626c4..0000000
--- i/file_remove
+++ /dev/null
@@ -1 +0,0 @@
-4
no changes added to commit (use "git add" and/or "git commit -a")
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo/dir' ls-files --stage --others
dir_add/file
file_add
100644 1e8b314962144c26d5e0e50fd29d2ca327864913 0 file_modify
100644 45a4fb75db864000d01701c0f7a51864bd4daabf 0 file_remove
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo/dir' status --verbose --verbose '.'
On branch master
Changes not staged for commit:
(use "git add/rm <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: file_modify
deleted: file_remove
Untracked files:
(use "git add <file>..." to include in what will be committed)
dir_add/
file_add
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'dir/file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/dir/file_modify w/dir/file_modify
index 1e8b314..7f8f011 100644
--- i/dir/file_modify
+++ w/dir/file_modify
@@ -1 +1 @@
-6
+7
diff --git i/dir/file_remove w/dir/file_remove
deleted file mode 100644
index 45a4fb7..0000000
--- i/dir/file_remove
+++ /dev/null
@@ -1 +0,0 @@
-8
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/file_modify w/file_modify
index 0cfbf08..00750ed 100644
--- i/file_modify
+++ w/file_modify
@@ -1 +1 @@
-2
+3
diff --git i/file_remove w/file_remove
deleted file mode 100644
index b8626c4..0000000
--- i/file_remove
+++ /dev/null
@@ -1 +0,0 @@
-4
no changes added to commit (use "git add" and/or "git commit -a")
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo/dir' lg --patch
* 1827343 - 2026-05-30 16:37 (2 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master)
diff --git a/dir/file_modify b/dir/file_modify
new file mode 100644
index 0000000..1e8b314
--- /dev/null
+++ b/dir/file_modify
@@ -0,0 +1 @@
+6
diff --git a/dir/file_remove b/dir/file_remove
new file mode 100644
index 0000000..45a4fb7
--- /dev/null
+++ b/dir/file_remove
@@ -0,0 +1 @@
+8
diff --git a/file_modify b/file_modify
new file mode 100644
index 0000000..0cfbf08
--- /dev/null
+++ b/file_modify
@@ -0,0 +1 @@
+2
diff --git a/file_remove b/file_remove
new file mode 100644
index 0000000..b8626c4
--- /dev/null
+++ b/file_remove
@@ -0,0 +1 @@
+4
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'; mkdir --parents -- './repo/dir'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file_add'; echo '2' >'./repo/file_modify'; echo '4' >'./repo/file_remove'; git -C './repo' add './file_modify' './file_remove'; echo '3' >'./repo/file_modify'; rm -- './repo/file_remove'
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file_remove', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '5' >'./repo/dir/file_add'; echo '6' >'./repo/dir/file_modify'; echo '8' >'./repo/dir/file_remove'; git -C './repo/dir' add './file_modify' './file_remove'; echo '7' >'./repo/dir/file_modify'; rm -- './repo/dir/file_remove'
warning: in the working copy of 'dir/file_modify', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'dir/file_remove', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ mkdir -- './repo/dir_add' './repo/dir/dir_add'; echo '9' >'./repo/dir_add/file'; echo '10' >'./repo/dir/dir_add/file'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
dir/dir_add/file
dir/file_add
dir_add/file
file_add
100644 1e8b314962144c26d5e0e50fd29d2ca327864913 0 dir/file_modify
100644 45a4fb75db864000d01701c0f7a51864bd4daabf 0 dir/file_remove
100644 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f 0 file_modify
100644 b8626c4cff2849624fb67f87cd0ad72b163671ad 0 file_remove
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: dir/file_modify
new file: dir/file_remove
new file: file_modify
new file: file_remove
Changes not staged for commit:
(use "git add/rm <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: dir/file_modify
deleted: dir/file_remove
modified: file_modify
deleted: file_remove
Untracked files:
(use "git add <file>..." to include in what will be committed)
dir/dir_add/
dir/file_add
dir_add/
file_add
Changes to be committed:
diff --git c/dir/file_modify i/dir/file_modify
new file mode 100644
index 0000000..1e8b314
--- /dev/null
+++ i/dir/file_modify
@@ -0,0 +1 @@
+6
diff --git c/dir/file_remove i/dir/file_remove
new file mode 100644
index 0000000..45a4fb7
--- /dev/null
+++ i/dir/file_remove
@@ -0,0 +1 @@
+8
diff --git c/file_modify i/file_modify
new file mode 100644
index 0000000..0cfbf08
--- /dev/null
+++ i/file_modify
@@ -0,0 +1 @@
+2
diff --git c/file_remove i/file_remove
new file mode 100644
index 0000000..b8626c4
--- /dev/null
+++ i/file_remove
@@ -0,0 +1 @@
+4
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'dir/file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/dir/file_modify w/dir/file_modify
index 1e8b314..7f8f011 100644
--- i/dir/file_modify
+++ w/dir/file_modify
@@ -1 +1 @@
-6
+7
diff --git i/dir/file_remove w/dir/file_remove
deleted file mode 100644
index 45a4fb7..0000000
--- i/dir/file_remove
+++ /dev/null
@@ -1 +0,0 @@
-8
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/file_modify w/file_modify
index 0cfbf08..00750ed 100644
--- i/file_modify
+++ w/file_modify
@@ -1 +1 @@
-2
+3
diff --git i/file_remove w/file_remove
deleted file mode 100644
index b8626c4..0000000
--- i/file_remove
+++ /dev/null
@@ -1 +0,0 @@
-4
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo/dir' ls-files --stage --others
dir_add/file
file_add
100644 1e8b314962144c26d5e0e50fd29d2ca327864913 0 file_modify
100644 45a4fb75db864000d01701c0f7a51864bd4daabf 0 file_remove
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo/dir' status --verbose --verbose '.'
On branch master
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: file_modify
new file: file_remove
Changes not staged for commit:
(use "git add/rm <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: file_modify
deleted: file_remove
Untracked files:
(use "git add <file>..." to include in what will be committed)
dir_add/
file_add
Changes to be committed:
diff --git c/dir/file_modify i/dir/file_modify
new file mode 100644
index 0000000..1e8b314
--- /dev/null
+++ i/dir/file_modify
@@ -0,0 +1 @@
+6
diff --git c/dir/file_remove i/dir/file_remove
new file mode 100644
index 0000000..45a4fb7
--- /dev/null
+++ i/dir/file_remove
@@ -0,0 +1 @@
+8
diff --git c/file_modify i/file_modify
new file mode 100644
index 0000000..0cfbf08
--- /dev/null
+++ i/file_modify
@@ -0,0 +1 @@
+2
diff --git c/file_remove i/file_remove
new file mode 100644
index 0000000..b8626c4
--- /dev/null
+++ i/file_remove
@@ -0,0 +1 @@
+4
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'dir/file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/dir/file_modify w/dir/file_modify
index 1e8b314..7f8f011 100644
--- i/dir/file_modify
+++ w/dir/file_modify
@@ -1 +1 @@
-6
+7
diff --git i/dir/file_remove w/dir/file_remove
deleted file mode 100644
index 45a4fb7..0000000
--- i/dir/file_remove
+++ /dev/null
@@ -1 +0,0 @@
-8
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/file_modify w/file_modify
index 0cfbf08..00750ed 100644
--- i/file_modify
+++ w/file_modify
@@ -1 +1 @@
-2
+3
diff --git i/file_remove w/file_remove
deleted file mode 100644
index b8626c4..0000000
--- i/file_remove
+++ /dev/null
@@ -1 +0,0 @@
-4
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo/dir' lg --patch
fatal: your current branch 'master' does not have any commits yet
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo/dir' commit --message="$((++number))" '*'
warning: in the working copy of 'dir/file_modify', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'dir/file_modify', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 2fef9ab] 1
1 file changed, 1 insertion(+)
create mode 100644 dir/file_modify
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
dir/dir_add/file
dir/file_add
dir_add/file
file_add
100644 7f8f011eb73d6043d2e6db9d2c101195ae2801f2 0 dir/file_modify
100644 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f 0 file_modify
100644 b8626c4cff2849624fb67f87cd0ad72b163671ad 0 file_remove
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
new file: file_modify
new file: file_remove
Changes not staged for commit:
(use "git add/rm <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: file_modify
deleted: file_remove
Untracked files:
(use "git add <file>..." to include in what will be committed)
dir/dir_add/
dir/file_add
dir_add/
file_add
Changes to be committed:
diff --git c/file_modify i/file_modify
new file mode 100644
index 0000000..0cfbf08
--- /dev/null
+++ i/file_modify
@@ -0,0 +1 @@
+2
diff --git c/file_remove i/file_remove
new file mode 100644
index 0000000..b8626c4
--- /dev/null
+++ i/file_remove
@@ -0,0 +1 @@
+4
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/file_modify w/file_modify
index 0cfbf08..00750ed 100644
--- i/file_modify
+++ w/file_modify
@@ -1 +1 @@
-2
+3
diff --git i/file_remove w/file_remove
deleted file mode 100644
index b8626c4..0000000
--- i/file_remove
+++ /dev/null
@@ -1 +0,0 @@
-4
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo/dir' ls-files --stage --others
dir_add/file
file_add
100644 7f8f011eb73d6043d2e6db9d2c101195ae2801f2 0 file_modify
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo/dir' status --verbose --verbose '.'
On branch master
Untracked files:
(use "git add <file>..." to include in what will be committed)
dir_add/
file_add
diff --git a/file_modify b/file_modify
new file mode 100644
index 0000000..0cfbf08
--- /dev/null
+++ b/file_modify
@@ -0,0 +1 @@
+2
diff --git a/file_remove b/file_remove
new file mode 100644
index 0000000..b8626c4
--- /dev/null
+++ b/file_remove
@@ -0,0 +1 @@
+4
nothing added to commit but untracked files present (use "git add" to track)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo/dir' lg --patch
* 2fef9ab - 2026-05-30 16:38 (2 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master)
diff --git a/dir/file_modify b/dir/file_modify
new file mode 100644
index 0000000..7f8f011
--- /dev/null
+++ b/dir/file_modify
@@ -0,0 +1 @@
+7
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '0' >'./repo/file_modify'; git -C './repo' add './file_modify'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 70600af] 1
1 file changed, 1 insertion(+)
create mode 100644 file_modify
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file_modify'; git -C './repo' add './file_modify'; git -C './repo' commit --message="$((++number))"; echo '2' >'./repo/file_modify'; git -C './repo' add './file_modify'; echo '3' >'./repo/file_modify'; echo '4' >'./repo/file_add'
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
[master fc4df0f] 2
1 file changed, 1 insertion(+), 1 deletion(-)
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
file_add
100644 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f 0 file_modify
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
modified: file_modify
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: file_modify
Untracked files:
(use "git add <file>..." to include in what will be committed)
file_add
Changes to be committed:
diff --git c/file_modify i/file_modify
index d00491f..0cfbf08 100644
--- c/file_modify
+++ i/file_modify
@@ -1 +1 @@
-1
+2
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/file_modify w/file_modify
index 0cfbf08..00750ed 100644
--- i/file_modify
+++ w/file_modify
@@ -1 +1 @@
-2
+3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --patch
* fc4df0f - 2026-05-30 16:38 (1 second ago) 2 - Han Jiang (HEAD -> refs/heads/master)
|
| diff --git a/file_modify b/file_modify
| index 573541a..d00491f 100644
| --- a/file_modify
| +++ b/file_modify
| @@ -1 +1 @@
| -0
| +1
* 70600af - 2026-05-30 16:38 (2 seconds ago) 1 - Han Jiang
diff --git a/file_modify b/file_modify
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/file_modify
@@ -0,0 +1 @@
+0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --amend
[master b55e62b] 3
Date: Sat May 30 16:38:12 2026 +1200
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
file_add
100644 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f 0 file_modify
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: file_modify
Untracked files:
(use "git add <file>..." to include in what will be committed)
file_add
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/file_modify w/file_modify
index 0cfbf08..00750ed 100644
--- i/file_modify
+++ w/file_modify
@@ -1 +1 @@
-2
+3
no changes added to commit (use "git add" and/or "git commit -a")
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --patch
* b55e62b - 2026-05-30 16:38 (3 seconds ago) 3 - Han Jiang (HEAD -> refs/heads/master)
|
| diff --git a/file_modify b/file_modify
| index 573541a..0cfbf08 100644
| --- a/file_modify
| +++ b/file_modify
| @@ -1 +1 @@
| -0
| +2
* 70600af - 2026-05-30 16:38 (4 seconds ago) 1 - Han Jiang
diff --git a/file_modify b/file_modify
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/file_modify
@@ -0,0 +1 @@
+0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '0' >'./repo/file_modify'; git -C './repo' add './file_modify'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 01a8e2b] 1
1 file changed, 1 insertion(+)
create mode 100644 file_modify
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master 1ce239f] 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 573541ac9702dd3969c9bc859d2b91ec1f7e6e56 0 file_modify
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
nothing to commit, working tree clean
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --patch
* 1ce239f - 2026-05-30 16:38 (1 second ago) 2 - Han Jiang (HEAD -> refs/heads/master)
* 01a8e2b - 2026-05-30 16:38 (2 seconds ago) 1 - Han Jiang
diff --git a/file_modify b/file_modify
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/file_modify
@@ -0,0 +1 @@
+0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --amend
On branch master
No changes
You asked to amend the most recent commit, but doing so would make
it empty. You can repeat your command with --allow-empty, or you can
remove the commit entirely with "git reset HEAD^".
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --amend --allow-empty
[master 2a379bb] 4
Date: Sat May 30 16:38:20 2026 +1200
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 573541ac9702dd3969c9bc859d2b91ec1f7e6e56 0 file_modify
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
nothing to commit, working tree clean
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --patch
* 2a379bb - 2026-05-30 16:38 (3 seconds ago) 4 - Han Jiang (HEAD -> refs/heads/master)
* 01a8e2b - 2026-05-30 16:38 (4 seconds ago) 1 - Han Jiang
diff --git a/file_modify b/file_modify
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/file_modify
@@ -0,0 +1 @@
+0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '0' >'./repo/file_modify'; git -C './repo' add './file_modify'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) ef336a9] 1
1 file changed, 1 insertion(+)
create mode 100644 file_modify
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file_modify'; git -C './repo' add './file_modify'; git -C './repo' commit --message="$((++number))"; echo '2' >'./repo/file_modify'; git -C './repo' add './file_modify'; echo '3' >'./repo/file_modify'; echo '4' >'./repo/file_add'
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
[master cb6af2b] 2
1 file changed, 1 insertion(+), 1 deletion(-)
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
file_add
100644 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f 0 file_modify
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
modified: file_modify
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: file_modify
Untracked files:
(use "git add <file>..." to include in what will be committed)
file_add
Changes to be committed:
diff --git c/file_modify i/file_modify
index d00491f..0cfbf08 100644
--- c/file_modify
+++ i/file_modify
@@ -1 +1 @@
-1
+2
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/file_modify w/file_modify
index 0cfbf08..00750ed 100644
--- i/file_modify
+++ w/file_modify
@@ -1 +1 @@
-2
+3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --patch
* cb6af2b - 2026-05-30 16:38 (1 second ago) 2 - Han Jiang (HEAD -> refs/heads/master)
|
| diff --git a/file_modify b/file_modify
| index 573541a..d00491f 100644
| --- a/file_modify
| +++ b/file_modify
| @@ -1 +1 @@
| -0
| +1
* ef336a9 - 2026-05-30 16:38 (2 seconds ago) 1 - Han Jiang
diff --git a/file_modify b/file_modify
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/file_modify
@@ -0,0 +1 @@
+0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --amend --only
[master 8dfc81c] 3
Date: Sat May 30 16:38:28 2026 +1200
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
file_add
100644 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f 0 file_modify
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
modified: file_modify
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: file_modify
Untracked files:
(use "git add <file>..." to include in what will be committed)
file_add
Changes to be committed:
diff --git c/file_modify i/file_modify
index d00491f..0cfbf08 100644
--- c/file_modify
+++ i/file_modify
@@ -1 +1 @@
-1
+2
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/file_modify w/file_modify
index 0cfbf08..00750ed 100644
--- i/file_modify
+++ w/file_modify
@@ -1 +1 @@
-2
+3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --patch
* 8dfc81c - 2026-05-30 16:38 (3 seconds ago) 3 - Han Jiang (HEAD -> refs/heads/master)
|
| diff --git a/file_modify b/file_modify
| index 573541a..d00491f 100644
| --- a/file_modify
| +++ b/file_modify
| @@ -1 +1 @@
| -0
| +1
* ef336a9 - 2026-05-30 16:38 (4 seconds ago) 1 - Han Jiang
diff --git a/file_modify b/file_modify
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/file_modify
@@ -0,0 +1 @@
+0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '0' >'./repo/file_modify'; git -C './repo' add './file_modify'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) d225744] 1
1 file changed, 1 insertion(+)
create mode 100644 file_modify
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master 4569ad4] 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 573541ac9702dd3969c9bc859d2b91ec1f7e6e56 0 file_modify
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
nothing to commit, working tree clean
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --patch
* 4569ad4 - 2026-05-30 16:38 (1 second ago) 2 - Han Jiang (HEAD -> refs/heads/master)
* d225744 - 2026-05-30 16:38 (2 seconds ago) 1 - Han Jiang
diff --git a/file_modify b/file_modify
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/file_modify
@@ -0,0 +1 @@
+0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --amend --only
On branch master
No changes
You asked to amend the most recent commit, but doing so would make
it empty. You can repeat your command with --allow-empty, or you can
remove the commit entirely with "git reset HEAD^".
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --amend --only --allow-empty
[master 995cdd5] 4
Date: Sat May 30 16:38:36 2026 +1200
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 573541ac9702dd3969c9bc859d2b91ec1f7e6e56 0 file_modify
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
nothing to commit, working tree clean
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --patch
* 995cdd5 - 2026-05-30 16:38 (3 seconds ago) 4 - Han Jiang (HEAD -> refs/heads/master)
* d225744 - 2026-05-30 16:38 (4 seconds ago) 1 - Han Jiang
diff --git a/file_modify b/file_modify
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/file_modify
@@ -0,0 +1 @@
+0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '0' >'./repo/file_modify'; git -C './repo' add './file_modify'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 2a9a808] 1
1 file changed, 1 insertion(+)
create mode 100644 file_modify
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file_modify'; git -C './repo' add './file_modify'; git -C './repo' commit --message="$((++number))"; echo '2' >'./repo/file_modify'; git -C './repo' add './file_modify'; echo '3' >'./repo/file_modify'; echo '4' >'./repo/file_add'
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
[master 92dd2c6] 2
1 file changed, 1 insertion(+), 1 deletion(-)
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
file_add
100644 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f 0 file_modify
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
modified: file_modify
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: file_modify
Untracked files:
(use "git add <file>..." to include in what will be committed)
file_add
Changes to be committed:
diff --git c/file_modify i/file_modify
index d00491f..0cfbf08 100644
--- c/file_modify
+++ i/file_modify
@@ -1 +1 @@
-1
+2
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/file_modify w/file_modify
index 0cfbf08..00750ed 100644
--- i/file_modify
+++ w/file_modify
@@ -1 +1 @@
-2
+3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --patch
* 92dd2c6 - 2026-05-30 16:38 (2 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
|
| diff --git a/file_modify b/file_modify
| index 573541a..d00491f 100644
| --- a/file_modify
| +++ b/file_modify
| @@ -1 +1 @@
| -0
| +1
* 2a9a808 - 2026-05-30 16:38 (2 seconds ago) 1 - Han Jiang
diff --git a/file_modify b/file_modify
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/file_modify
@@ -0,0 +1 @@
+0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --amend --include './file_add'
error: pathspec './file_add' did not match any file(s) known to git
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' add --intent-to-add './file_add'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 file_add
100644 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f 0 file_modify
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
modified: file_modify
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
new file: file_add
modified: file_modify
Changes to be committed:
diff --git c/file_modify i/file_modify
index d00491f..0cfbf08 100644
--- c/file_modify
+++ i/file_modify
@@ -1 +1 @@
-1
+2
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'file_add', LF will be replaced by CRLF the next time Git touches it
diff --git i/file_add w/file_add
new file mode 100644
index 0000000..b8626c4
--- /dev/null
+++ w/file_add
@@ -0,0 +1 @@
+4
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/file_modify w/file_modify
index 0cfbf08..00750ed 100644
--- i/file_modify
+++ w/file_modify
@@ -1 +1 @@
-2
+3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --amend --include './file_add'
warning: in the working copy of 'file_add', LF will be replaced by CRLF the next time Git touches it
[master a4a08da] 4
Date: Sat May 30 16:38:44 2026 +1200
2 files changed, 2 insertions(+), 1 deletion(-)
create mode 100644 file_add
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 b8626c4cff2849624fb67f87cd0ad72b163671ad 0 file_add
100644 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f 0 file_modify
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: file_modify
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/file_modify w/file_modify
index 0cfbf08..00750ed 100644
--- i/file_modify
+++ w/file_modify
@@ -1 +1 @@
-2
+3
no changes added to commit (use "git add" and/or "git commit -a")
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --patch
* a4a08da - 2026-05-30 16:38 (5 seconds ago) 4 - Han Jiang (HEAD -> refs/heads/master)
|
| diff --git a/file_add b/file_add
| new file mode 100644
| index 0000000..b8626c4
| --- /dev/null
| +++ b/file_add
| @@ -0,0 +1 @@
| +4
| diff --git a/file_modify b/file_modify
| index 573541a..0cfbf08 100644
| --- a/file_modify
| +++ b/file_modify
| @@ -1 +1 @@
| -0
| +2
* 2a9a808 - 2026-05-30 16:38 (5 seconds ago) 1 - Han Jiang
diff --git a/file_modify b/file_modify
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/file_modify
@@ -0,0 +1 @@
+0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '0' >'./repo/file_modify'; git -C './repo' add './file_modify'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 2ad4425] 1
1 file changed, 1 insertion(+)
create mode 100644 file_modify
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master 29e346c] 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 573541ac9702dd3969c9bc859d2b91ec1f7e6e56 0 file_modify
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
nothing to commit, working tree clean
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --patch
* 29e346c - 2026-05-30 16:38 (1 second ago) 2 - Han Jiang (HEAD -> refs/heads/master)
* 2ad4425 - 2026-05-30 16:38 (2 seconds ago) 1 - Han Jiang
diff --git a/file_modify b/file_modify
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/file_modify
@@ -0,0 +1 @@
+0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --amend --include './file_modify'
On branch master
No changes
You asked to amend the most recent commit, but doing so would make
it empty. You can repeat your command with --allow-empty, or you can
remove the commit entirely with "git reset HEAD^".
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --amend --include --allow-empty './file_modify'
[master a11813e] 4
Date: Sat May 30 16:38:54 2026 +1200
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 573541ac9702dd3969c9bc859d2b91ec1f7e6e56 0 file_modify
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
nothing to commit, working tree clean
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --patch
* a11813e - 2026-05-30 16:38 (3 seconds ago) 4 - Han Jiang (HEAD -> refs/heads/master)
* 2ad4425 - 2026-05-30 16:38 (4 seconds ago) 1 - Han Jiang
diff --git a/file_modify b/file_modify
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/file_modify
@@ -0,0 +1 @@
+0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '0' >'./repo/file_modify'; git -C './repo' add './file_modify'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 38153ca] 1
1 file changed, 1 insertion(+)
create mode 100644 file_modify
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file_modify'; git -C './repo' add './file_modify'; git -C './repo' commit --message="$((++number))"; echo '2' >'./repo/file_modify'; git -C './repo' add './file_modify'; echo '3' >'./repo/file_modify'; echo '4' >'./repo/file_add'
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
[master 9e49a0d] 2
1 file changed, 1 insertion(+), 1 deletion(-)
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
file_add
100644 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f 0 file_modify
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
modified: file_modify
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: file_modify
Untracked files:
(use "git add <file>..." to include in what will be committed)
file_add
Changes to be committed:
diff --git c/file_modify i/file_modify
index d00491f..0cfbf08 100644
--- c/file_modify
+++ i/file_modify
@@ -1 +1 @@
-1
+2
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/file_modify w/file_modify
index 0cfbf08..00750ed 100644
--- i/file_modify
+++ w/file_modify
@@ -1 +1 @@
-2
+3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --patch
* 9e49a0d - 2026-05-30 16:39 (2 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
|
| diff --git a/file_modify b/file_modify
| index 573541a..d00491f 100644
| --- a/file_modify
| +++ b/file_modify
| @@ -1 +1 @@
| -0
| +1
* 38153ca - 2026-05-30 16:39 (2 seconds ago) 1 - Han Jiang
diff --git a/file_modify b/file_modify
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/file_modify
@@ -0,0 +1 @@
+0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --amend './file_add'
error: pathspec './file_add' did not match any file(s) known to git
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' add --intent-to-add './file_add'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 file_add
100644 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f 0 file_modify
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
modified: file_modify
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
new file: file_add
modified: file_modify
Changes to be committed:
diff --git c/file_modify i/file_modify
index d00491f..0cfbf08 100644
--- c/file_modify
+++ i/file_modify
@@ -1 +1 @@
-1
+2
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'file_add', LF will be replaced by CRLF the next time Git touches it
diff --git i/file_add w/file_add
new file mode 100644
index 0000000..b8626c4
--- /dev/null
+++ w/file_add
@@ -0,0 +1 @@
+4
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/file_modify w/file_modify
index 0cfbf08..00750ed 100644
--- i/file_modify
+++ w/file_modify
@@ -1 +1 @@
-2
+3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --amend './file_add'
warning: in the working copy of 'file_add', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file_add', LF will be replaced by CRLF the next time Git touches it
[master 82a95c9] 4
Date: Sat May 30 16:39:02 2026 +1200
2 files changed, 2 insertions(+), 1 deletion(-)
create mode 100644 file_add
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 b8626c4cff2849624fb67f87cd0ad72b163671ad 0 file_add
100644 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f 0 file_modify
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
modified: file_modify
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: file_modify
Changes to be committed:
diff --git c/file_modify i/file_modify
index d00491f..0cfbf08 100644
--- c/file_modify
+++ i/file_modify
@@ -1 +1 @@
-1
+2
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/file_modify w/file_modify
index 0cfbf08..00750ed 100644
--- i/file_modify
+++ w/file_modify
@@ -1 +1 @@
-2
+3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --patch
* 82a95c9 - 2026-05-30 16:39 (5 seconds ago) 4 - Han Jiang (HEAD -> refs/heads/master)
|
| diff --git a/file_add b/file_add
| new file mode 100644
| index 0000000..b8626c4
| --- /dev/null
| +++ b/file_add
| @@ -0,0 +1 @@
| +4
| diff --git a/file_modify b/file_modify
| index 573541a..d00491f 100644
| --- a/file_modify
| +++ b/file_modify
| @@ -1 +1 @@
| -0
| +1
* 38153ca - 2026-05-30 16:39 (5 seconds ago) 1 - Han Jiang
diff --git a/file_modify b/file_modify
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/file_modify
@@ -0,0 +1 @@
+0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '0' >'./repo/file1_modify'; echo '0' >'./repo/file2_modify'; git -C './repo' add './file1_modify' './file2_modify'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file1_modify', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file2_modify', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 6f7eaac] 1
2 files changed, 2 insertions(+)
create mode 100644 file1_modify
create mode 100644 file2_modify
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master a7662d0] 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file1_modify'; git -C './repo' add './file1_modify'
warning: in the working copy of 'file1_modify', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 d00491fd7e5bb6fa28c517a0bb32b8b506539d4d 0 file1_modify
100644 573541ac9702dd3969c9bc859d2b91ec1f7e6e56 0 file2_modify
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
modified: file1_modify
Changes to be committed:
diff --git c/file1_modify i/file1_modify
index 573541a..d00491f 100644
--- c/file1_modify
+++ i/file1_modify
@@ -1 +1 @@
-0
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --patch
* a7662d0 - 2026-05-30 16:39 (1 second ago) 2 - Han Jiang (HEAD -> refs/heads/master)
* 6f7eaac - 2026-05-30 16:39 (2 seconds ago) 1 - Han Jiang
diff --git a/file1_modify b/file1_modify
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/file1_modify
@@ -0,0 +1 @@
+0
diff --git a/file2_modify b/file2_modify
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/file2_modify
@@ -0,0 +1 @@
+0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --amend './file2_modify'
On branch master
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: file1_modify
No changes
You asked to amend the most recent commit, but doing so would make
it empty. You can repeat your command with --allow-empty, or you can
remove the commit entirely with "git reset HEAD^".
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --amend --allow-empty './file2_modify'
[master 0a82c9b] 4
Date: Sat May 30 16:39:12 2026 +1200
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 d00491fd7e5bb6fa28c517a0bb32b8b506539d4d 0 file1_modify
100644 573541ac9702dd3969c9bc859d2b91ec1f7e6e56 0 file2_modify
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
modified: file1_modify
Changes to be committed:
diff --git c/file1_modify i/file1_modify
index 573541a..d00491f 100644
--- c/file1_modify
+++ i/file1_modify
@@ -1 +1 @@
-0
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --patch
* 0a82c9b - 2026-05-30 16:39 (4 seconds ago) 4 - Han Jiang (HEAD -> refs/heads/master)
* 6f7eaac - 2026-05-30 16:39 (5 seconds ago) 1 - Han Jiang
diff --git a/file1_modify b/file1_modify
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/file1_modify
@@ -0,0 +1 @@
+0
diff --git a/file2_modify b/file2_modify
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/file2_modify
@@ -0,0 +1 @@
+0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '0' >'./repo/file_modify'; git -C './repo' add './file_modify'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) f29ea7a] 1
1 file changed, 1 insertion(+)
create mode 100644 file_modify
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file_modify'; git -C './repo' add './file_modify'; git -C './repo' commit --message="$((++number))"; echo '2' >'./repo/file_modify'; git -C './repo' add './file_modify'; echo '3' >'./repo/file_modify'; echo '4' >'./repo/file_add'
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
[master 3db3b4d] 2
1 file changed, 1 insertion(+), 1 deletion(-)
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
file_add
100644 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f 0 file_modify
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
modified: file_modify
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: file_modify
Untracked files:
(use "git add <file>..." to include in what will be committed)
file_add
Changes to be committed:
diff --git c/file_modify i/file_modify
index d00491f..0cfbf08 100644
--- c/file_modify
+++ i/file_modify
@@ -1 +1 @@
-1
+2
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/file_modify w/file_modify
index 0cfbf08..00750ed 100644
--- i/file_modify
+++ w/file_modify
@@ -1 +1 @@
-2
+3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --graph --patch
* commit 3db3b4d37ec0fb8d87a5fec05015127d8bac0426 (HEAD -> master)
| Author: Han Jiang <jhcarl0814@gmail.com>
| Date: Sat May 30 16:39:21 2026 +1200
|
| 2
|
| diff --git a/file_modify b/file_modify
| index 573541a..d00491f 100644
| --- a/file_modify
| +++ b/file_modify
| @@ -1 +1 @@
| -0
| +1
|
* commit f29ea7a9fd863c10ba8d6e1321fa0f3ff58a19b6
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Sat May 30 16:39:20 2026 +1200
1
diff --git a/file_modify b/file_modify
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/file_modify
@@ -0,0 +1 @@
+0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --message="$((++number))" --fixup='HEAD'
[master 82215d8] fixup! 2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
file_add
100644 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f 0 file_modify
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: file_modify
Untracked files:
(use "git add <file>..." to include in what will be committed)
file_add
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/file_modify w/file_modify
index 0cfbf08..00750ed 100644
--- i/file_modify
+++ w/file_modify
@@ -1 +1 @@
-2
+3
no changes added to commit (use "git add" and/or "git commit -a")
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --graph --patch
* commit 82215d8e8388d731efe55b28d962164768f6234b (HEAD -> master)
| Author: Han Jiang <jhcarl0814@gmail.com>
| Date: Sat May 30 16:39:23 2026 +1200
|
| fixup! 2
|
| 3
|
| 4
|
| diff --git a/file_modify b/file_modify
| index d00491f..0cfbf08 100644
| --- a/file_modify
| +++ b/file_modify
| @@ -1 +1 @@
| -1
| +2
|
* commit 3db3b4d37ec0fb8d87a5fec05015127d8bac0426
| Author: Han Jiang <jhcarl0814@gmail.com>
| Date: Sat May 30 16:39:21 2026 +1200
|
| 2
|
| diff --git a/file_modify b/file_modify
| index 573541a..d00491f 100644
| --- a/file_modify
| +++ b/file_modify
| @@ -1 +1 @@
| -0
| +1
|
* commit f29ea7a9fd863c10ba8d6e1321fa0f3ff58a19b6
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Sat May 30 16:39:20 2026 +1200
1
diff --git a/file_modify b/file_modify
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/file_modify
@@ -0,0 +1 @@
+0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' rebase --autosquash --root
error: cannot rebase: You have unstaged changes.
error: Please commit or stash them.
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' rebase --autosquash --root --autostash
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
Created autostash: 88d83c9
Applied autostash.
Successfully rebased and updated refs/heads/master.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
file_add
100644 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f 0 file_modify
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: file_modify
Untracked files:
(use "git add <file>..." to include in what will be committed)
file_add
--------------------------------------------------
Changes not staged for commit:
diff --git i/file_modify w/file_modify
index 0cfbf08..00750ed 100644
--- i/file_modify
+++ w/file_modify
@@ -1 +1 @@
-2
+3
no changes added to commit (use "git add" and/or "git commit -a")
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --graph --patch
* commit 2c19a3494d5d1759f90ad8e5c807450bf749a778 (HEAD -> master)
| Author: Han Jiang <jhcarl0814@gmail.com>
| Date: Sat May 30 16:39:21 2026 +1200
|
| 2
|
| diff --git a/file_modify b/file_modify
| index 573541a..0cfbf08 100644
| --- a/file_modify
| +++ b/file_modify
| @@ -1 +1 @@
| -0
| +2
|
* commit f29ea7a9fd863c10ba8d6e1321fa0f3ff58a19b6
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Sat May 30 16:39:20 2026 +1200
1
diff --git a/file_modify b/file_modify
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/file_modify
@@ -0,0 +1 @@
+0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '0' >'./repo/file_modify'; git -C './repo' add './file_modify'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) f8e15df] 1
1 file changed, 1 insertion(+)
create mode 100644 file_modify
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 573541ac9702dd3969c9bc859d2b91ec1f7e6e56 0 file_modify
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
nothing to commit, working tree clean
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --graph --patch
* commit f8e15dff4f355a688791c75ea4062d71260f472f (HEAD -> master)
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Sat May 30 16:39:30 2026 +1200
1
diff --git a/file_modify b/file_modify
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/file_modify
@@ -0,0 +1 @@
+0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --fixup='HEAD'
On branch master
nothing to commit, working tree clean
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --fixup='HEAD' --allow-empty
[master 43ae0fa] fixup! 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 573541ac9702dd3969c9bc859d2b91ec1f7e6e56 0 file_modify
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
nothing to commit, working tree clean
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --graph --patch
* commit 43ae0fae8ab2290549a9e41db64c0940b5c0c603 (HEAD -> master)
| Author: Han Jiang <jhcarl0814@gmail.com>
| Date: Sat May 30 16:39:33 2026 +1200
|
| fixup! 1
|
* commit f8e15dff4f355a688791c75ea4062d71260f472f
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Sat May 30 16:39:30 2026 +1200
1
diff --git a/file_modify b/file_modify
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/file_modify
@@ -0,0 +1 @@
+0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' rebase --autosquash --root
Successfully rebased and updated refs/heads/master.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 573541ac9702dd3969c9bc859d2b91ec1f7e6e56 0 file_modify
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
nothing to commit, working tree clean
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --graph --patch
* commit b7b41ae05920e436714f9f70052077f9f978d94d (HEAD -> master)
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Sat May 30 16:39:30 2026 +1200
1
diff --git a/file_modify b/file_modify
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/file_modify
@@ -0,0 +1 @@
+0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '0' >'./repo/file_modify'; git -C './repo' add './file_modify'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 979feb3] 1
1 file changed, 1 insertion(+)
create mode 100644 file_modify
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file_modify'; git -C './repo' add './file_modify'; git -C './repo' commit --message="$((++number))"; echo '2' >'./repo/file_modify'; git -C './repo' add './file_modify'; echo '3' >'./repo/file_modify'; echo '4' >'./repo/file_add'
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
[master c99e1f9] 2
1 file changed, 1 insertion(+), 1 deletion(-)
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
file_add
100644 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f 0 file_modify
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
modified: file_modify
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: file_modify
Untracked files:
(use "git add <file>..." to include in what will be committed)
file_add
Changes to be committed:
diff --git c/file_modify i/file_modify
index d00491f..0cfbf08 100644
--- c/file_modify
+++ i/file_modify
@@ -1 +1 @@
-1
+2
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/file_modify w/file_modify
index 0cfbf08..00750ed 100644
--- i/file_modify
+++ w/file_modify
@@ -1 +1 @@
-2
+3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --graph --patch
* commit c99e1f9b5ffa16d148ca85d143821ce6fd1f38bc (HEAD -> master)
| Author: Han Jiang <jhcarl0814@gmail.com>
| Date: Sat May 30 16:39:40 2026 +1200
|
| 2
|
| diff --git a/file_modify b/file_modify
| index 573541a..d00491f 100644
| --- a/file_modify
| +++ b/file_modify
| @@ -1 +1 @@
| -0
| +1
|
* commit 979feb3a010fb1f15e3a91764bb0ece4fc5efe4c
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Sat May 30 16:39:40 2026 +1200
1
diff --git a/file_modify b/file_modify
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/file_modify
@@ -0,0 +1 @@
+0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --fixup=amend:'HEAD' --no-edit
[master e927c02] amend! 2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
file_add
100644 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f 0 file_modify
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: file_modify
Untracked files:
(use "git add <file>..." to include in what will be committed)
file_add
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/file_modify w/file_modify
index 0cfbf08..00750ed 100644
--- i/file_modify
+++ w/file_modify
@@ -1 +1 @@
-2
+3
no changes added to commit (use "git add" and/or "git commit -a")
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --graph --patch
* commit e927c02b1d60a115126fa94c10c58266c7f8aeda (HEAD -> master)
| Author: Han Jiang <jhcarl0814@gmail.com>
| Date: Sat May 30 16:39:42 2026 +1200
|
| amend! 2
|
| 2
|
| diff --git a/file_modify b/file_modify
| index d00491f..0cfbf08 100644
| --- a/file_modify
| +++ b/file_modify
| @@ -1 +1 @@
| -1
| +2
|
* commit c99e1f9b5ffa16d148ca85d143821ce6fd1f38bc
| Author: Han Jiang <jhcarl0814@gmail.com>
| Date: Sat May 30 16:39:40 2026 +1200
|
| 2
|
| diff --git a/file_modify b/file_modify
| index 573541a..d00491f 100644
| --- a/file_modify
| +++ b/file_modify
| @@ -1 +1 @@
| -0
| +1
|
* commit 979feb3a010fb1f15e3a91764bb0ece4fc5efe4c
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Sat May 30 16:39:40 2026 +1200
1
diff --git a/file_modify b/file_modify
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/file_modify
@@ -0,0 +1 @@
+0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' rebase --autosquash --root
error: cannot rebase: You have unstaged changes.
error: Please commit or stash them.
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' rebase --autosquash --root --autostash
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
Created autostash: 8515c71
Applied autostash.
Successfully rebased and updated refs/heads/master.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
file_add
100644 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f 0 file_modify
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: file_modify
Untracked files:
(use "git add <file>..." to include in what will be committed)
file_add
--------------------------------------------------
Changes not staged for commit:
diff --git i/file_modify w/file_modify
index 0cfbf08..00750ed 100644
--- i/file_modify
+++ w/file_modify
@@ -1 +1 @@
-2
+3
no changes added to commit (use "git add" and/or "git commit -a")
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --graph --patch
* commit bff76c159f418b8965143f88fe114f67000af9dd (HEAD -> master)
| Author: Han Jiang <jhcarl0814@gmail.com>
| Date: Sat May 30 16:39:40 2026 +1200
|
| 2
|
| diff --git a/file_modify b/file_modify
| index 573541a..0cfbf08 100644
| --- a/file_modify
| +++ b/file_modify
| @@ -1 +1 @@
| -0
| +2
|
* commit 979feb3a010fb1f15e3a91764bb0ece4fc5efe4c
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Sat May 30 16:39:40 2026 +1200
1
diff --git a/file_modify b/file_modify
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/file_modify
@@ -0,0 +1 @@
+0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '0' >'./repo/file_modify'; git -C './repo' add './file_modify'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 6ac0477] 1
1 file changed, 1 insertion(+)
create mode 100644 file_modify
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 573541ac9702dd3969c9bc859d2b91ec1f7e6e56 0 file_modify
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
nothing to commit, working tree clean
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --graph --patch
* commit 6ac0477946ab5ac84e1fe2bf59484a4b7886966b (HEAD -> master)
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Sat May 30 16:39:50 2026 +1200
1
diff --git a/file_modify b/file_modify
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/file_modify
@@ -0,0 +1 @@
+0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --fixup=amend:'HEAD' --no-edit
[master 97f2344] amend! 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 573541ac9702dd3969c9bc859d2b91ec1f7e6e56 0 file_modify
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
nothing to commit, working tree clean
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --graph --patch
* commit 97f2344de478a396385d8f19b27745e91153e5bf (HEAD -> master)
| Author: Han Jiang <jhcarl0814@gmail.com>
| Date: Sat May 30 16:39:52 2026 +1200
|
| amend! 1
|
| 1
|
* commit 6ac0477946ab5ac84e1fe2bf59484a4b7886966b
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Sat May 30 16:39:50 2026 +1200
1
diff --git a/file_modify b/file_modify
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/file_modify
@@ -0,0 +1 @@
+0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' rebase --autosquash --root
Successfully rebased and updated refs/heads/master.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 573541ac9702dd3969c9bc859d2b91ec1f7e6e56 0 file_modify
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
nothing to commit, working tree clean
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --graph --patch
* commit 9fcfa9083392d90435fcf4529cf5032515d9b6cd (HEAD -> master)
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Sat May 30 16:39:50 2026 +1200
1
diff --git a/file_modify b/file_modify
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/file_modify
@@ -0,0 +1 @@
+0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '0' >'./repo/file_modify'; git -C './repo' add './file_modify'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) a73b484] 1
1 file changed, 1 insertion(+)
create mode 100644 file_modify
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file_modify'; git -C './repo' add './file_modify'; git -C './repo' commit --message="$((++number))"; echo '2' >'./repo/file_modify'; git -C './repo' add './file_modify'; echo '3' >'./repo/file_modify'; echo '4' >'./repo/file_add'
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
[master 41b5ef9] 2
1 file changed, 1 insertion(+), 1 deletion(-)
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
file_add
100644 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f 0 file_modify
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
modified: file_modify
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: file_modify
Untracked files:
(use "git add <file>..." to include in what will be committed)
file_add
Changes to be committed:
diff --git c/file_modify i/file_modify
index d00491f..0cfbf08 100644
--- c/file_modify
+++ i/file_modify
@@ -1 +1 @@
-1
+2
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/file_modify w/file_modify
index 0cfbf08..00750ed 100644
--- i/file_modify
+++ w/file_modify
@@ -1 +1 @@
-2
+3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --graph --patch
* commit 41b5ef9a6053a8c9a22eef36d1965ee300694460 (HEAD -> master)
| Author: Han Jiang <jhcarl0814@gmail.com>
| Date: Sat May 30 16:40:00 2026 +1200
|
| 2
|
| diff --git a/file_modify b/file_modify
| index 573541a..d00491f 100644
| --- a/file_modify
| +++ b/file_modify
| @@ -1 +1 @@
| -0
| +1
|
* commit a73b4843ca28420c62901c46a738ada7bb28d640
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Sat May 30 16:39:59 2026 +1200
1
diff --git a/file_modify b/file_modify
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/file_modify
@@ -0,0 +1 @@
+0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --fixup=reword:'HEAD' --no-edit
[master 6afadb3] amend! 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
file_add
100644 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f 0 file_modify
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
modified: file_modify
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: file_modify
Untracked files:
(use "git add <file>..." to include in what will be committed)
file_add
Changes to be committed:
diff --git c/file_modify i/file_modify
index d00491f..0cfbf08 100644
--- c/file_modify
+++ i/file_modify
@@ -1 +1 @@
-1
+2
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/file_modify w/file_modify
index 0cfbf08..00750ed 100644
--- i/file_modify
+++ w/file_modify
@@ -1 +1 @@
-2
+3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --graph --patch
* commit 6afadb3fca6358f884e641f68fd89d0a941f4034 (HEAD -> master)
| Author: Han Jiang <jhcarl0814@gmail.com>
| Date: Sat May 30 16:40:02 2026 +1200
|
| amend! 2
|
| 2
|
* commit 41b5ef9a6053a8c9a22eef36d1965ee300694460
| Author: Han Jiang <jhcarl0814@gmail.com>
| Date: Sat May 30 16:40:00 2026 +1200
|
| 2
|
| diff --git a/file_modify b/file_modify
| index 573541a..d00491f 100644
| --- a/file_modify
| +++ b/file_modify
| @@ -1 +1 @@
| -0
| +1
|
* commit a73b4843ca28420c62901c46a738ada7bb28d640
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Sat May 30 16:39:59 2026 +1200
1
diff --git a/file_modify b/file_modify
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/file_modify
@@ -0,0 +1 @@
+0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' rebase --autosquash --root
error: cannot rebase: You have unstaged changes.
error: additionally, your index contains uncommitted changes.
error: Please commit or stash them.
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' rebase --autosquash --root --autostash
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
Created autostash: 06ac29e
Applied autostash.
Successfully rebased and updated refs/heads/master.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
file_add
100644 d00491fd7e5bb6fa28c517a0bb32b8b506539d4d 0 file_modify
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: file_modify
Untracked files:
(use "git add <file>..." to include in what will be committed)
file_add
--------------------------------------------------
Changes not staged for commit:
diff --git i/file_modify w/file_modify
index d00491f..00750ed 100644
--- i/file_modify
+++ w/file_modify
@@ -1 +1 @@
-1
+3
no changes added to commit (use "git add" and/or "git commit -a")
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --graph --patch
* commit 1ce3b86686c08f92df42a20a53cd64d6b6e23635 (HEAD -> master)
| Author: Han Jiang <jhcarl0814@gmail.com>
| Date: Sat May 30 16:40:00 2026 +1200
|
| 2
|
| diff --git a/file_modify b/file_modify
| index 573541a..d00491f 100644
| --- a/file_modify
| +++ b/file_modify
| @@ -1 +1 @@
| -0
| +1
|
* commit a73b4843ca28420c62901c46a738ada7bb28d640
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Sat May 30 16:39:59 2026 +1200
1
diff --git a/file_modify b/file_modify
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/file_modify
@@ -0,0 +1 @@
+0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '0' >'./repo/file_modify'; git -C './repo' add './file_modify'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 209fb07] 1
1 file changed, 1 insertion(+)
create mode 100644 file_modify
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 573541ac9702dd3969c9bc859d2b91ec1f7e6e56 0 file_modify
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
nothing to commit, working tree clean
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --graph --patch
* commit 209fb071535e174fa544000c7499f270b7f60e62 (HEAD -> master)
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Sat May 30 16:40:10 2026 +1200
1
diff --git a/file_modify b/file_modify
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/file_modify
@@ -0,0 +1 @@
+0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --fixup=reword:'HEAD' --no-edit
[master 5aec7a8] amend! 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 573541ac9702dd3969c9bc859d2b91ec1f7e6e56 0 file_modify
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
nothing to commit, working tree clean
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --graph --patch
* commit 5aec7a810f8eff18e8648a20b19051db1a4bfe51 (HEAD -> master)
| Author: Han Jiang <jhcarl0814@gmail.com>
| Date: Sat May 30 16:40:12 2026 +1200
|
| amend! 1
|
| 1
|
* commit 209fb071535e174fa544000c7499f270b7f60e62
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Sat May 30 16:40:10 2026 +1200
1
diff --git a/file_modify b/file_modify
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/file_modify
@@ -0,0 +1 @@
+0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' rebase --autosquash --root
Successfully rebased and updated refs/heads/master.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 573541ac9702dd3969c9bc859d2b91ec1f7e6e56 0 file_modify
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
nothing to commit, working tree clean
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --graph --patch
* commit 876ad3d5014ad5a56beb54762909d64b4d647fd0 (HEAD -> master)
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Sat May 30 16:40:10 2026 +1200
1
diff --git a/file_modify b/file_modify
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/file_modify
@@ -0,0 +1 @@
+0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '0' >'./repo/file_modify'; git -C './repo' add './file_modify'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 1a205c3] 1
1 file changed, 1 insertion(+)
create mode 100644 file_modify
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file_modify'; git -C './repo' add './file_modify'; git -C './repo' commit --message="$((++number))"; echo '2' >'./repo/file_modify'; git -C './repo' add './file_modify'; echo '3' >'./repo/file_modify'; echo '4' >'./repo/file_add'
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
[master 7023c16] 2
1 file changed, 1 insertion(+), 1 deletion(-)
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
file_add
100644 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f 0 file_modify
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
modified: file_modify
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: file_modify
Untracked files:
(use "git add <file>..." to include in what will be committed)
file_add
Changes to be committed:
diff --git c/file_modify i/file_modify
index d00491f..0cfbf08 100644
--- c/file_modify
+++ i/file_modify
@@ -1 +1 @@
-1
+2
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/file_modify w/file_modify
index 0cfbf08..00750ed 100644
--- i/file_modify
+++ w/file_modify
@@ -1 +1 @@
-2
+3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --graph --patch
* commit 7023c16e128a4b42ff7a672f314d9dbdb9cf51c1 (HEAD -> master)
| Author: Han Jiang <jhcarl0814@gmail.com>
| Date: Sat May 30 16:40:20 2026 +1200
|
| 2
|
| diff --git a/file_modify b/file_modify
| index 573541a..d00491f 100644
| --- a/file_modify
| +++ b/file_modify
| @@ -1 +1 @@
| -0
| +1
|
* commit 1a205c32b8817a26fe55127d1e1d0fafceca72e4
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Sat May 30 16:40:19 2026 +1200
1
diff --git a/file_modify b/file_modify
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/file_modify
@@ -0,0 +1 @@
+0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --message="$((++number))" --squash='HEAD'
[master d6443e3] squash! 2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
file_add
100644 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f 0 file_modify
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: file_modify
Untracked files:
(use "git add <file>..." to include in what will be committed)
file_add
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/file_modify w/file_modify
index 0cfbf08..00750ed 100644
--- i/file_modify
+++ w/file_modify
@@ -1 +1 @@
-2
+3
no changes added to commit (use "git add" and/or "git commit -a")
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --graph --patch
* commit d6443e30ba04f08823397dc562bde4fce1464e6c (HEAD -> master)
| Author: Han Jiang <jhcarl0814@gmail.com>
| Date: Sat May 30 16:40:22 2026 +1200
|
| squash! 2
|
| 3
|
| 4
|
| diff --git a/file_modify b/file_modify
| index d00491f..0cfbf08 100644
| --- a/file_modify
| +++ b/file_modify
| @@ -1 +1 @@
| -1
| +2
|
* commit 7023c16e128a4b42ff7a672f314d9dbdb9cf51c1
| Author: Han Jiang <jhcarl0814@gmail.com>
| Date: Sat May 30 16:40:20 2026 +1200
|
| 2
|
| diff --git a/file_modify b/file_modify
| index 573541a..d00491f 100644
| --- a/file_modify
| +++ b/file_modify
| @@ -1 +1 @@
| -0
| +1
|
* commit 1a205c32b8817a26fe55127d1e1d0fafceca72e4
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Sat May 30 16:40:19 2026 +1200
1
diff --git a/file_modify b/file_modify
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/file_modify
@@ -0,0 +1 @@
+0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' -c 'core.editor=:' rebase --autosquash --root
error: cannot rebase: You have unstaged changes.
error: Please commit or stash them.
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' -c 'core.editor=:' rebase --autosquash --root --autostash
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
Created autostash: 9b77604
[detached HEAD 4b5d4e0] 2
Date: Sat May 30 16:40:20 2026 +1200
1 file changed, 1 insertion(+), 1 deletion(-)
Applied autostash.
Successfully rebased and updated refs/heads/master.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
file_add
100644 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f 0 file_modify
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: file_modify
Untracked files:
(use "git add <file>..." to include in what will be committed)
file_add
--------------------------------------------------
Changes not staged for commit:
diff --git i/file_modify w/file_modify
index 0cfbf08..00750ed 100644
--- i/file_modify
+++ w/file_modify
@@ -1 +1 @@
-2
+3
no changes added to commit (use "git add" and/or "git commit -a")
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --graph --patch
* commit 4b5d4e025e75fff06cd8b8c2cbef46a36153fe29 (HEAD -> master)
| Author: Han Jiang <jhcarl0814@gmail.com>
| Date: Sat May 30 16:40:20 2026 +1200
|
| 2
|
| 3
|
| 4
|
| diff --git a/file_modify b/file_modify
| index 573541a..0cfbf08 100644
| --- a/file_modify
| +++ b/file_modify
| @@ -1 +1 @@
| -0
| +2
|
* commit 1a205c32b8817a26fe55127d1e1d0fafceca72e4
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Sat May 30 16:40:19 2026 +1200
1
diff --git a/file_modify b/file_modify
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/file_modify
@@ -0,0 +1 @@
+0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '0' >'./repo/file_modify'; git -C './repo' add './file_modify'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) fb91df8] 1
1 file changed, 1 insertion(+)
create mode 100644 file_modify
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 573541ac9702dd3969c9bc859d2b91ec1f7e6e56 0 file_modify
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
nothing to commit, working tree clean
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --graph --patch
* commit fb91df89b199d0df75d766cb8938bc2773c8bafe (HEAD -> master)
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Sat May 30 16:40:30 2026 +1200
1
diff --git a/file_modify b/file_modify
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/file_modify
@@ -0,0 +1 @@
+0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --message="$((++number))" --squash='HEAD'
On branch master
nothing to commit, working tree clean
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --message="$((++number))" --squash='HEAD' --allow-empty
[master 708b868] squash! 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 573541ac9702dd3969c9bc859d2b91ec1f7e6e56 0 file_modify
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
nothing to commit, working tree clean
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --graph --patch
* commit 708b8688d6ab6c63a2a435fe28eec95ae23c658a (HEAD -> master)
| Author: Han Jiang <jhcarl0814@gmail.com>
| Date: Sat May 30 16:40:32 2026 +1200
|
| squash! 1
|
| 4
|
| 5
|
* commit fb91df89b199d0df75d766cb8938bc2773c8bafe
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Sat May 30 16:40:30 2026 +1200
1
diff --git a/file_modify b/file_modify
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/file_modify
@@ -0,0 +1 @@
+0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' -c 'core.editor=:' rebase --autosquash --root
[detached HEAD e88b210] 1
Date: Sat May 30 16:40:30 2026 +1200
1 file changed, 1 insertion(+)
create mode 100644 file_modify
Successfully rebased and updated refs/heads/master.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 573541ac9702dd3969c9bc859d2b91ec1f7e6e56 0 file_modify
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
nothing to commit, working tree clean
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --graph --patch
* commit e88b210c23c567f967d736ae08e20a02095349bf (HEAD -> master)
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Sat May 30 16:40:30 2026 +1200
1
4
5
diff --git a/file_modify b/file_modify
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/file_modify
@@ -0,0 +1 @@
+0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/HEAD~1'; echo '1' >'./repo/file'; git -C './repo' add './HEAD~1' './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'HEAD~1', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 8268475] 1
2 files changed, 2 insertions(+)
create mode 100644 HEAD~1
create mode 100644 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./repo/HEAD~1'; echo '2' >'./repo/file'; git -C './repo' add './HEAD~1' './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'HEAD~1', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master 151d5b9] 2
2 files changed, 2 insertions(+), 2 deletions(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '3' >'./repo/HEAD~1'; echo '3' >'./repo/file'; git -C './repo' add './HEAD~1' './file'
warning: in the working copy of 'HEAD~1', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '4' >'./repo/HEAD~1'; echo '4' >'./repo/file';
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 00750edc07d6415dcc07ae0351e9397b0222b7ba 0 HEAD~1
100644 00750edc07d6415dcc07ae0351e9397b0222b7ba 0 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
modified: HEAD~1
modified: file
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: HEAD~1
modified: file
Changes to be committed:
diff --git c/HEAD~1 i/HEAD~1
index 0cfbf08..00750ed 100644
--- c/HEAD~1
+++ i/HEAD~1
@@ -1 +1 @@
-2
+3
diff --git c/file i/file
index 0cfbf08..00750ed 100644
--- c/file
+++ i/file
@@ -1 +1 @@
-2
+3
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'HEAD~1', LF will be replaced by CRLF the next time Git touches it
diff --git i/HEAD~1 w/HEAD~1
index 00750ed..b8626c4 100644
--- i/HEAD~1
+++ w/HEAD~1
@@ -1 +1 @@
-3
+4
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git i/file w/file
index 00750ed..b8626c4 100644
--- i/file
+++ w/file
@@ -1 +1 @@
-3
+4
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* 151d5b9 - 2026-05-30 16:40 (2 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
|
| diff --git a/HEAD~1 b/HEAD~1
| index d00491f..0cfbf08 100644
| --- a/HEAD~1
| +++ b/HEAD~1
| @@ -1 +1 @@
| -1
| +2
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 8268475 - 2026-05-30 16:40 (3 seconds ago) 1 - Han Jiang
diff --git a/HEAD~1 b/HEAD~1
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/HEAD~1
@@ -0,0 +1 @@
+1
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' reset -- 'HEAD~1'
Unstaged changes after reset:
M HEAD~1
M file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f 0 HEAD~1
100644 00750edc07d6415dcc07ae0351e9397b0222b7ba 0 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
modified: file
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: HEAD~1
modified: file
Changes to be committed:
diff --git c/file i/file
index 0cfbf08..00750ed 100644
--- c/file
+++ i/file
@@ -1 +1 @@
-2
+3
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'HEAD~1', LF will be replaced by CRLF the next time Git touches it
diff --git i/HEAD~1 w/HEAD~1
index 0cfbf08..b8626c4 100644
--- i/HEAD~1
+++ w/HEAD~1
@@ -1 +1 @@
-2
+4
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git i/file w/file
index 00750ed..b8626c4 100644
--- i/file
+++ w/file
@@ -1 +1 @@
-3
+4
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* 151d5b9 - 2026-05-30 16:40 (3 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
|
| diff --git a/HEAD~1 b/HEAD~1
| index d00491f..0cfbf08 100644
| --- a/HEAD~1
| +++ b/HEAD~1
| @@ -1 +1 @@
| -1
| +2
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 8268475 - 2026-05-30 16:40 (4 seconds ago) 1 - Han Jiang
diff --git a/HEAD~1 b/HEAD~1
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/HEAD~1
@@ -0,0 +1 @@
+1
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/HEAD~1'; echo '1' >'./repo/file'; git -C './repo' add './HEAD~1' './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'HEAD~1', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) a85d27e] 1
2 files changed, 2 insertions(+)
create mode 100644 HEAD~1
create mode 100644 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./repo/HEAD~1'; echo '2' >'./repo/file'; git -C './repo' add './HEAD~1' './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'HEAD~1', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master ce91966] 2
2 files changed, 2 insertions(+), 2 deletions(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '3' >'./repo/HEAD~1'; echo '3' >'./repo/file'; git -C './repo' add './HEAD~1' './file'
warning: in the working copy of 'HEAD~1', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '4' >'./repo/HEAD~1'; echo '4' >'./repo/file';
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 00750edc07d6415dcc07ae0351e9397b0222b7ba 0 HEAD~1
100644 00750edc07d6415dcc07ae0351e9397b0222b7ba 0 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
modified: HEAD~1
modified: file
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: HEAD~1
modified: file
Changes to be committed:
diff --git c/HEAD~1 i/HEAD~1
index 0cfbf08..00750ed 100644
--- c/HEAD~1
+++ i/HEAD~1
@@ -1 +1 @@
-2
+3
diff --git c/file i/file
index 0cfbf08..00750ed 100644
--- c/file
+++ i/file
@@ -1 +1 @@
-2
+3
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'HEAD~1', LF will be replaced by CRLF the next time Git touches it
diff --git i/HEAD~1 w/HEAD~1
index 00750ed..b8626c4 100644
--- i/HEAD~1
+++ w/HEAD~1
@@ -1 +1 @@
-3
+4
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git i/file w/file
index 00750ed..b8626c4 100644
--- i/file
+++ w/file
@@ -1 +1 @@
-3
+4
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* ce91966 - 2026-05-30 16:40 (2 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
|
| diff --git a/HEAD~1 b/HEAD~1
| index d00491f..0cfbf08 100644
| --- a/HEAD~1
| +++ b/HEAD~1
| @@ -1 +1 @@
| -1
| +2
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* a85d27e - 2026-05-30 16:40 (2 seconds ago) 1 - Han Jiang
diff --git a/HEAD~1 b/HEAD~1
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/HEAD~1
@@ -0,0 +1 @@
+1
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' reset HEAD~1 --
Unstaged changes after reset:
M HEAD~1
M file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 d00491fd7e5bb6fa28c517a0bb32b8b506539d4d 0 HEAD~1
100644 d00491fd7e5bb6fa28c517a0bb32b8b506539d4d 0 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: HEAD~1
modified: file
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'HEAD~1', LF will be replaced by CRLF the next time Git touches it
diff --git i/HEAD~1 w/HEAD~1
index d00491f..b8626c4 100644
--- i/HEAD~1
+++ w/HEAD~1
@@ -1 +1 @@
-1
+4
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git i/file w/file
index d00491f..b8626c4 100644
--- i/file
+++ w/file
@@ -1 +1 @@
-1
+4
no changes added to commit (use "git add" and/or "git commit -a")
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch ORIG_HEAD
* ce91966 - 2026-05-30 16:40 (4 seconds ago) 2 - Han Jiang
|
| diff --git a/HEAD~1 b/HEAD~1
| index d00491f..0cfbf08 100644
| --- a/HEAD~1
| +++ b/HEAD~1
| @@ -1 +1 @@
| -1
| +2
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* a85d27e - 2026-05-30 16:40 (4 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master)
diff --git a/HEAD~1 b/HEAD~1
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/HEAD~1
@@ -0,0 +1 @@
+1
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/HEAD~1'; echo '1' >'./repo/file'; git -C './repo' add './HEAD~1' './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'HEAD~1', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) a4c87c1] 1
2 files changed, 2 insertions(+)
create mode 100644 HEAD~1
create mode 100644 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./repo/HEAD~1'; echo '2' >'./repo/file'; git -C './repo' add './HEAD~1' './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'HEAD~1', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master 1b31591] 2
2 files changed, 2 insertions(+), 2 deletions(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '3' >'./repo/HEAD~1'; echo '3' >'./repo/file'; git -C './repo' add './HEAD~1' './file'
warning: in the working copy of 'HEAD~1', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '4' >'./repo/HEAD~1'; echo '4' >'./repo/file';
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 00750edc07d6415dcc07ae0351e9397b0222b7ba 0 HEAD~1
100644 00750edc07d6415dcc07ae0351e9397b0222b7ba 0 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
modified: HEAD~1
modified: file
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: HEAD~1
modified: file
Changes to be committed:
diff --git c/HEAD~1 i/HEAD~1
index 0cfbf08..00750ed 100644
--- c/HEAD~1
+++ i/HEAD~1
@@ -1 +1 @@
-2
+3
diff --git c/file i/file
index 0cfbf08..00750ed 100644
--- c/file
+++ i/file
@@ -1 +1 @@
-2
+3
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'HEAD~1', LF will be replaced by CRLF the next time Git touches it
diff --git i/HEAD~1 w/HEAD~1
index 00750ed..b8626c4 100644
--- i/HEAD~1
+++ w/HEAD~1
@@ -1 +1 @@
-3
+4
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git i/file w/file
index 00750ed..b8626c4 100644
--- i/file
+++ w/file
@@ -1 +1 @@
-3
+4
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* 1b31591 - 2026-05-30 16:40 (2 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
|
| diff --git a/HEAD~1 b/HEAD~1
| index d00491f..0cfbf08 100644
| --- a/HEAD~1
| +++ b/HEAD~1
| @@ -1 +1 @@
| -1
| +2
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* a4c87c1 - 2026-05-30 16:40 (2 seconds ago) 1 - Han Jiang
diff --git a/HEAD~1 b/HEAD~1
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/HEAD~1
@@ -0,0 +1 @@
+1
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' reset HEAD~1 -- '.'
Unstaged changes after reset:
M HEAD~1
M file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 d00491fd7e5bb6fa28c517a0bb32b8b506539d4d 0 HEAD~1
100644 d00491fd7e5bb6fa28c517a0bb32b8b506539d4d 0 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
modified: HEAD~1
modified: file
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: HEAD~1
modified: file
Changes to be committed:
diff --git c/HEAD~1 i/HEAD~1
index 0cfbf08..d00491f 100644
--- c/HEAD~1
+++ i/HEAD~1
@@ -1 +1 @@
-2
+1
diff --git c/file i/file
index 0cfbf08..d00491f 100644
--- c/file
+++ i/file
@@ -1 +1 @@
-2
+1
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'HEAD~1', LF will be replaced by CRLF the next time Git touches it
diff --git i/HEAD~1 w/HEAD~1
index d00491f..b8626c4 100644
--- i/HEAD~1
+++ w/HEAD~1
@@ -1 +1 @@
-1
+4
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git i/file w/file
index d00491f..b8626c4 100644
--- i/file
+++ w/file
@@ -1 +1 @@
-1
+4
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* 1b31591 - 2026-05-30 16:40 (4 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
|
| diff --git a/HEAD~1 b/HEAD~1
| index d00491f..0cfbf08 100644
| --- a/HEAD~1
| +++ b/HEAD~1
| @@ -1 +1 @@
| -1
| +2
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* a4c87c1 - 2026-05-30 16:40 (4 seconds ago) 1 - Han Jiang
diff --git a/HEAD~1 b/HEAD~1
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/HEAD~1
@@ -0,0 +1 @@
+1
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) ab35a72] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master 171ee02] 2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '3' >'./repo/file'; git -C './repo' add './file'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '4' >'./repo/file'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 00750edc07d6415dcc07ae0351e9397b0222b7ba 0 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
modified: file
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: file
Changes to be committed:
diff --git c/file i/file
index 0cfbf08..00750ed 100644
--- c/file
+++ i/file
@@ -1 +1 @@
-2
+3
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git i/file w/file
index 00750ed..b8626c4 100644
--- i/file
+++ w/file
@@ -1 +1 @@
-3
+4
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* 171ee02 - 2026-05-30 16:41 (2 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* ab35a72 - 2026-05-30 16:41 (3 seconds ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' reset --soft HEAD~1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 00750edc07d6415dcc07ae0351e9397b0222b7ba 0 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
modified: file
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: file
Changes to be committed:
diff --git c/file i/file
index d00491f..00750ed 100644
--- c/file
+++ i/file
@@ -1 +1 @@
-1
+3
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git i/file w/file
index 00750ed..b8626c4 100644
--- i/file
+++ w/file
@@ -1 +1 @@
-3
+4
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch ORIG_HEAD
* 171ee02 - 2026-05-30 16:41 (3 seconds ago) 2 - Han Jiang
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* ab35a72 - 2026-05-30 16:41 (4 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 2a71d1a] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master 502a4f2] 2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '3' >'./repo/file'; git -C './repo' add './file'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '4' >'./repo/file'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 00750edc07d6415dcc07ae0351e9397b0222b7ba 0 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
modified: file
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: file
Changes to be committed:
diff --git c/file i/file
index 0cfbf08..00750ed 100644
--- c/file
+++ i/file
@@ -1 +1 @@
-2
+3
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git i/file w/file
index 00750ed..b8626c4 100644
--- i/file
+++ w/file
@@ -1 +1 @@
-3
+4
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* 502a4f2 - 2026-05-30 16:41 (2 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 2a71d1a - 2026-05-30 16:41 (2 seconds ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' reset --mixed HEAD~1
Unstaged changes after reset:
M file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 d00491fd7e5bb6fa28c517a0bb32b8b506539d4d 0 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: file
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git i/file w/file
index d00491f..b8626c4 100644
--- i/file
+++ w/file
@@ -1 +1 @@
-1
+4
no changes added to commit (use "git add" and/or "git commit -a")
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch ORIG_HEAD
* 502a4f2 - 2026-05-30 16:41 (4 seconds ago) 2 - Han Jiang
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 2a71d1a - 2026-05-30 16:41 (4 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master (root-commit) 2815a64] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master c35327f] 2
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '3' >'./repo/file'; git -C './repo' add './file'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '4' >'./repo/file'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 00750edc07d6415dcc07ae0351e9397b0222b7ba 0 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
modified: file
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: file
Changes to be committed:
diff --git c/file i/file
index 0cfbf08..00750ed 100644
--- c/file
+++ i/file
@@ -1 +1 @@
-2
+3
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git i/file w/file
index 00750ed..b8626c4 100644
--- i/file
+++ w/file
@@ -1 +1 @@
-3
+4
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* c35327f - 2026-05-30 16:41 (2 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
|
| diff --git a/file b/file
| new file mode 100644
| index 0000000..0cfbf08
| --- /dev/null
| +++ b/file
| @@ -0,0 +1 @@
| +2
* 2815a64 - 2026-05-30 16:41 (3 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' reset --mixed HEAD~1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
Untracked files:
(use "git add <file>..." to include in what will be committed)
file
nothing added to commit but untracked files present (use "git add" to track)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch ORIG_HEAD
* c35327f - 2026-05-30 16:41 (3 seconds ago) 2 - Han Jiang
|
| diff --git a/file b/file
| new file mode 100644
| index 0000000..0cfbf08
| --- /dev/null
| +++ b/file
| @@ -0,0 +1 @@
| +2
* 2815a64 - 2026-05-30 16:41 (4 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master (root-commit) cc707b1] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master 761e374] 2
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '3' >'./repo/file'; git -C './repo' add './file'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '4' >'./repo/file'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 00750edc07d6415dcc07ae0351e9397b0222b7ba 0 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
modified: file
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: file
Changes to be committed:
diff --git c/file i/file
index 0cfbf08..00750ed 100644
--- c/file
+++ i/file
@@ -1 +1 @@
-2
+3
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git i/file w/file
index 00750ed..b8626c4 100644
--- i/file
+++ w/file
@@ -1 +1 @@
-3
+4
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* 761e374 - 2026-05-30 16:41 (2 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
|
| diff --git a/file b/file
| new file mode 100644
| index 0000000..0cfbf08
| --- /dev/null
| +++ b/file
| @@ -0,0 +1 @@
| +2
* cc707b1 - 2026-05-30 16:41 (2 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' reset --mixed --intent-to-add HEAD~1
Unstaged changes after reset:
A file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
new file: file
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git i/file w/file
new file mode 100644
index 0000000..b8626c4
--- /dev/null
+++ w/file
@@ -0,0 +1 @@
+4
no changes added to commit (use "git add" and/or "git commit -a")
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch ORIG_HEAD
* 761e374 - 2026-05-30 16:41 (4 seconds ago) 2 - Han Jiang
|
| diff --git a/file b/file
| new file mode 100644
| index 0000000..0cfbf08
| --- /dev/null
| +++ b/file
| @@ -0,0 +1 @@
| +2
* cc707b1 - 2026-05-30 16:41 (4 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 6df0353] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master dadca90] 2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '3' >'./repo/file'; git -C './repo' add './file'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '4' >'./repo/file'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 00750edc07d6415dcc07ae0351e9397b0222b7ba 0 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
modified: file
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: file
Changes to be committed:
diff --git c/file i/file
index 0cfbf08..00750ed 100644
--- c/file
+++ i/file
@@ -1 +1 @@
-2
+3
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git i/file w/file
index 00750ed..b8626c4 100644
--- i/file
+++ w/file
@@ -1 +1 @@
-3
+4
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* dadca90 - 2026-05-30 16:41 (1 second ago) 2 - Han Jiang (HEAD -> refs/heads/master)
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 6df0353 - 2026-05-30 16:41 (2 seconds ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' reset --hard HEAD~1
HEAD is now at 6df0353 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 d00491fd7e5bb6fa28c517a0bb32b8b506539d4d 0 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
nothing to commit, working tree clean
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch ORIG_HEAD
* dadca90 - 2026-05-30 16:41 (3 seconds ago) 2 - Han Jiang
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 6df0353 - 2026-05-30 16:41 (4 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
if index has unmerged entries, fatal: Cannot do a keep reset in the middle of a merge.
if index doesn't have unmerged entries,
HEAD: reset to <commit>
index: reset to <commit>
working tree: (see below)
if a file is different between <commit> and HEAD,
if <commit> != index && HEAD != index, then resetting index to <commit> would lose entries in index, so reset is aborted
if HEAD == index, then applies "index -> working tree" onto <commit> to yield working tree
if <commit> == index, then applies "index -> working tree" onto <commit> to yield working tree
if a file is same between <commit> and HEAD, then doesn't look at or touch working tree
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 325a9e8] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master c520ed3] 2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '3' >'./repo/file'; git -C './repo' add './file'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '3' >'./repo/file'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 00750edc07d6415dcc07ae0351e9397b0222b7ba 0 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
modified: file
Changes to be committed:
diff --git c/file i/file
index 0cfbf08..00750ed 100644
--- c/file
+++ i/file
@@ -1 +1 @@
-2
+3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* c520ed3 - 2026-05-30 16:41 (2 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 325a9e8 - 2026-05-30 16:41 (3 seconds ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' reset --keep HEAD~1
error: Entry 'file' would be overwritten by merge. Cannot merge.
fatal: Could not reset index file to revision 'HEAD~1'.
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 191dbf1] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master aafe66d] 2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./repo/file'; git -C './repo' add './file'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f 0 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: file
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git i/file w/file
index 0cfbf08..d00491f 100644
--- i/file
+++ w/file
@@ -1 +1 @@
-2
+1
no changes added to commit (use "git add" and/or "git commit -a")
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* aafe66d - 2026-05-30 16:41 (2 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 191dbf1 - 2026-05-30 16:41 (2 seconds ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' reset --keep HEAD~1
error: Entry 'file' not uptodate. Cannot merge.
fatal: Could not reset index file to revision 'HEAD~1'.
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) d1f3dd0] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master 5591c32] 2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./repo/file'; git -C './repo' add './file'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./repo/file'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f 0 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
nothing to commit, working tree clean
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* 5591c32 - 2026-05-30 16:42 (2 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* d1f3dd0 - 2026-05-30 16:42 (3 seconds ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' reset --keep HEAD~1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 d00491fd7e5bb6fa28c517a0bb32b8b506539d4d 0 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
nothing to commit, working tree clean
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch ORIG_HEAD
* 5591c32 - 2026-05-30 16:42 (3 seconds ago) 2 - Han Jiang
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* d1f3dd0 - 2026-05-30 16:42 (4 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 1c02615] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))" --allow-empty
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master c9fb48e] 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./repo/file'; git -C './repo' add './file'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '3' >'./repo/file'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f 0 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
modified: file
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: file
Changes to be committed:
diff --git c/file i/file
index d00491f..0cfbf08 100644
--- c/file
+++ i/file
@@ -1 +1 @@
-1
+2
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git i/file w/file
index 0cfbf08..00750ed 100644
--- i/file
+++ w/file
@@ -1 +1 @@
-2
+3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* c9fb48e - 2026-05-30 16:42 (2 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
* 1c02615 - 2026-05-30 16:42 (2 seconds ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' reset --keep HEAD~1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 d00491fd7e5bb6fa28c517a0bb32b8b506539d4d 0 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: file
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git i/file w/file
index d00491f..00750ed 100644
--- i/file
+++ w/file
@@ -1 +1 @@
-1
+3
no changes added to commit (use "git add" and/or "git commit -a")
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch ORIG_HEAD
* c9fb48e - 2026-05-30 16:42 (4 seconds ago) 2 - Han Jiang
* 1c02615 - 2026-05-30 16:42 (4 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
HEAD: reset to <commit>
index: reset to <commit>
working tree: (see below)
if index has unmerged entries, reset working tree to <commit>
if index doesn't have unmerged entries, apply "index -> working tree" onto <commit> to yield working tree
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ branch_default_path="$(git -C './repo' symbolic-ref HEAD)"; echo "$branch_default_path"
refs/heads/master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ branch_default_name="$(git -C './repo' branch --show-current)"; echo "$branch_default_name"
master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 8e4ea21] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master 1a5e613] 2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '3' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master c0a0c93] 3
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout -b branch1; echo '4' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
Switched to a new branch 'branch1'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch1 56166a6] 4
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout "$branch_default_name"
Switched to branch 'master'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout -b branch2; echo '5' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
Switched to a new branch 'branch2'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch2 42c7d66] 5
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1; git -C './repo' merge branch2
Switched to branch 'branch1'
Auto-merging file
CONFLICT (content): Merge conflict in file
Automatic merge failed; fix conflicts and then commit the result.
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '6' >'./repo/file'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' symbolic-ref HEAD "$branch_default_path"
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' symbolic-ref HEAD
refs/heads/master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' update-ref "$branch_default_path" HEAD~1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show-ref "$branch_default_path"
1a5e613e932dc7a8dcbaca111a801b47d8938ec7 refs/heads/master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 00750edc07d6415dcc07ae0351e9397b0222b7ba 1 file
100644 b8626c4cff2849624fb67f87cd0ad72b163671ad 2 file
100644 7ed6ff82de6bcc2a78243fc9c54d3ef5ac14da69 3 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
You have unmerged paths.
(fix conflicts and run "git commit")
(use "git merge --abort" to abort the merge)
Unmerged paths:
(use "git add <file>..." to mark resolution)
both modified: file
* Unmerged path file
no changes added to commit (use "git add" and/or "git commit -a")
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* 42c7d66 - 2026-05-30 16:42 (4 seconds ago) 5 - Han Jiang (refs/heads/branch2)
|
| diff --git a/file b/file
| index 00750ed..7ed6ff8 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -3
| +5
| * 56166a6 - 2026-05-30 16:42 (5 seconds ago) 4 - Han Jiang (refs/heads/branch1)
|/
|
| diff --git a/file b/file
| index 00750ed..b8626c4 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -3
| +4
* c0a0c93 - 2026-05-30 16:42 (6 seconds ago) 3 - Han Jiang
|
| diff --git a/file b/file
| index 0cfbf08..00750ed 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -2
| +3
* 1a5e613 - 2026-05-30 16:42 (7 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 8e4ea21 - 2026-05-30 16:42 (7 seconds ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --cc file
index b8626c4,7ed6ff8..0000000
--- a/file
+++ b/file
@@@ -1,1 -1,1 +1,1 @@@
- 4
-5
++6
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --base
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
* Unmerged path file
diff --git a/file b/file
index 00750ed..1e8b314 100644
--- a/file
+++ b/file
@@ -1 +1 @@
-3
+6
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --ours
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
* Unmerged path file
diff --git a/file b/file
index b8626c4..1e8b314 100644
--- a/file
+++ b/file
@@ -1 +1 @@
-4
+6
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --theirs
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
* Unmerged path file
diff --git a/file b/file
index 7ed6ff8..1e8b314 100644
--- a/file
+++ b/file
@@ -1 +1 @@
-5
+6
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff AUTO_MERGE
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git a/file b/file
index 4956321..1e8b314 100644
--- a/file
+++ b/file
@@ -1,5 +1 @@
-<<<<<<< HEAD
-4
-=======
-5
->>>>>>> branch2
+6
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' reset --merge HEAD~1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 d00491fd7e5bb6fa28c517a0bb32b8b506539d4d 0 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
nothing to commit, working tree clean
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch ORIG_HEAD
* 42c7d66 - 2026-05-30 16:42 (7 seconds ago) 5 - Han Jiang (refs/heads/branch2)
|
| diff --git a/file b/file
| index 00750ed..7ed6ff8 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -3
| +5
| * 56166a6 - 2026-05-30 16:42 (8 seconds ago) 4 - Han Jiang (refs/heads/branch1)
|/
|
| diff --git a/file b/file
| index 00750ed..b8626c4 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -3
| +4
* c0a0c93 - 2026-05-30 16:42 (9 seconds ago) 3 - Han Jiang
|
| diff --git a/file b/file
| index 0cfbf08..00750ed 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -2
| +3
* 1a5e613 - 2026-05-30 16:42 (10 seconds ago) 2 - Han Jiang
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 8e4ea21 - 2026-05-30 16:42 (10 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --base
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --ours
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --theirs
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff AUTO_MERGE
fatal: ambiguous argument 'AUTO_MERGE': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 02fc5f5] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master 86e34d3] 2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./repo/file'; git -C './repo' add './file'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f 0 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: file
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git i/file w/file
index 0cfbf08..d00491f 100644
--- i/file
+++ w/file
@@ -1 +1 @@
-2
+1
no changes added to commit (use "git add" and/or "git commit -a")
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* 86e34d3 - 2026-05-30 16:42 (2 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 02fc5f5 - 2026-05-30 16:42 (2 seconds ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' reset --merge HEAD~1
error: Entry 'file' not uptodate. Cannot merge.
fatal: Could not reset index file to revision 'HEAD~1'.
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 217e98a] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master a7266a6] 2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./repo/file'; git -C './repo' add './file'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./repo/file'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f 0 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
nothing to commit, working tree clean
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* a7266a6 - 2026-05-30 16:42 (2 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 217e98a - 2026-05-30 16:42 (2 seconds ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' reset --merge HEAD~1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 d00491fd7e5bb6fa28c517a0bb32b8b506539d4d 0 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
nothing to commit, working tree clean
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch ORIG_HEAD
* a7266a6 - 2026-05-30 16:42 (4 seconds ago) 2 - Han Jiang
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 217e98a - 2026-05-30 16:42 (4 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 9f000b2] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))" --allow-empty
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master a82064a] 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./repo/file'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 d00491fd7e5bb6fa28c517a0bb32b8b506539d4d 0 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: file
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git i/file w/file
index d00491f..0cfbf08 100644
--- i/file
+++ w/file
@@ -1 +1 @@
-1
+2
no changes added to commit (use "git add" and/or "git commit -a")
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* a82064a - 2026-05-30 16:42 (2 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
* 9f000b2 - 2026-05-30 16:42 (3 seconds ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' reset --merge HEAD~1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 d00491fd7e5bb6fa28c517a0bb32b8b506539d4d 0 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: file
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git i/file w/file
index d00491f..0cfbf08 100644
--- i/file
+++ w/file
@@ -1 +1 @@
-1
+2
no changes added to commit (use "git add" and/or "git commit -a")
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch ORIG_HEAD
* a82064a - 2026-05-30 16:42 (3 seconds ago) 2 - Han Jiang
* 9f000b2 - 2026-05-30 16:42 (4 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 4a354fb] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"; git -C './repo' branch branch1
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master 7796f24] 2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' reset --hard HEAD~1
HEAD is now at 4a354fb 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '3' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"; git -C './repo' branch branch2
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master fd75283] 3
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1; git -C './repo' merge branch2
Switched to branch 'branch1'
Auto-merging file
CONFLICT (content): Merge conflict in file
Automatic merge failed; fix conflicts and then commit the result.
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 d00491fd7e5bb6fa28c517a0bb32b8b506539d4d 1 file
100644 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f 2 file
100644 00750edc07d6415dcc07ae0351e9397b0222b7ba 3 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch branch1
You have unmerged paths.
(fix conflicts and run "git commit")
(use "git merge --abort" to abort the merge)
Unmerged paths:
(use "git add <file>..." to mark resolution)
both modified: file
* Unmerged path file
no changes added to commit (use "git add" and/or "git commit -a")
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* fd75283 - 2026-05-30 16:43 (2 seconds ago) 3 - Han Jiang (refs/heads/master, refs/heads/branch2)
|
| diff --git a/file b/file
| index d00491f..00750ed 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +3
| * 7796f24 - 2026-05-30 16:43 (3 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/branch1)
|/
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 4a354fb - 2026-05-30 16:43 (4 seconds ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff
diff --cc file
index 0cfbf08,00750ed..0000000
--- a/file
+++ b/file
@@@ -1,1 -1,1 +1,5 @@@
++<<<<<<< HEAD
+2
++=======
+ 3
++>>>>>>> branch2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --base
* Unmerged path file
diff --git a/file b/file
index d00491f..79f797c 100644
--- a/file
+++ b/file
@@ -1 +1,5 @@
-1
+<<<<<<< HEAD
+2
+=======
+3
+>>>>>>> branch2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --ours
* Unmerged path file
diff --git a/file b/file
index 0cfbf08..79f797c 100644
--- a/file
+++ b/file
@@ -1 +1,5 @@
+<<<<<<< HEAD
2
+=======
+3
+>>>>>>> branch2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --theirs
* Unmerged path file
diff --git a/file b/file
index 00750ed..79f797c 100644
--- a/file
+++ b/file
@@ -1 +1,5 @@
+<<<<<<< HEAD
+2
+=======
3
+>>>>>>> branch2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff AUTO_MERGE
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout '.'
error: path 'file' is unmerged
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) ce8059a] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"; git -C './repo' branch branch1
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master 94432bb] 2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' reset --hard HEAD~1
HEAD is now at ce8059a 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '3' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"; git -C './repo' branch branch2
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master 85a93d9] 3
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1; git -C './repo' merge branch2
Switched to branch 'branch1'
Auto-merging file
CONFLICT (content): Merge conflict in file
Automatic merge failed; fix conflicts and then commit the result.
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 d00491fd7e5bb6fa28c517a0bb32b8b506539d4d 1 file
100644 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f 2 file
100644 00750edc07d6415dcc07ae0351e9397b0222b7ba 3 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch branch1
You have unmerged paths.
(fix conflicts and run "git commit")
(use "git merge --abort" to abort the merge)
Unmerged paths:
(use "git add <file>..." to mark resolution)
both modified: file
* Unmerged path file
no changes added to commit (use "git add" and/or "git commit -a")
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* 85a93d9 - 2026-05-30 16:43 (2 seconds ago) 3 - Han Jiang (refs/heads/master, refs/heads/branch2)
|
| diff --git a/file b/file
| index d00491f..00750ed 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +3
| * 94432bb - 2026-05-30 16:43 (3 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/branch1)
|/
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* ce8059a - 2026-05-30 16:43 (4 seconds ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff
diff --cc file
index 0cfbf08,00750ed..0000000
--- a/file
+++ b/file
@@@ -1,1 -1,1 +1,5 @@@
++<<<<<<< HEAD
+2
++=======
+ 3
++>>>>>>> branch2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --base
* Unmerged path file
diff --git a/file b/file
index d00491f..79f797c 100644
--- a/file
+++ b/file
@@ -1 +1,5 @@
-1
+<<<<<<< HEAD
+2
+=======
+3
+>>>>>>> branch2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --ours
* Unmerged path file
diff --git a/file b/file
index 0cfbf08..79f797c 100644
--- a/file
+++ b/file
@@ -1 +1,5 @@
+<<<<<<< HEAD
2
+=======
+3
+>>>>>>> branch2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --theirs
* Unmerged path file
diff --git a/file b/file
index 00750ed..79f797c 100644
--- a/file
+++ b/file
@@ -1 +1,5 @@
+<<<<<<< HEAD
+2
+=======
3
+>>>>>>> branch2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff AUTO_MERGE
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout --force '.'
warning: path 'file' is unmerged
Updated 0 paths from the index
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ branch_default_name="$(git -C './repo' branch --show-current)"; echo "$branch_default_name"
master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo 'a' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message='a'; git -C './repo' branch branch1
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 67b4c9d] a
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo 'b1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message='b1'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master 470e8ed] b1
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1; echo 'b2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message='b2'
Switched to branch 'branch1'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch1 124d834] b2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout "$branch_default_name"; git -C './repo' merge :/'b2'
Switched to branch 'master'
Auto-merging file
CONFLICT (content): Merge conflict in file
Automatic merge failed; fix conflicts and then commit the result.
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 78981922613b2afb6025042ff6bd878ac1994e85 1 file
100644 c9c6af7f78bc47490dbf3e822cf2f3c24d4b9061 2 file
100644 e6bfff5c1d0f0ecd501552b43a1e13d8008abc31 3 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
You have unmerged paths.
(fix conflicts and run "git commit")
(use "git merge --abort" to abort the merge)
Unmerged paths:
(use "git add <file>..." to mark resolution)
both modified: file
* Unmerged path file
no changes added to commit (use "git add" and/or "git commit -a")
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 124d834 - 2026-05-30 16:43 (1 second ago) b2 - Han Jiang (refs/heads/branch1)
| * 470e8ed - 2026-05-30 16:43 (2 seconds ago) b1 - Han Jiang (HEAD -> refs/heads/master)
|/
* 67b4c9d - 2026-05-30 16:43 (3 seconds ago) a - Han Jiang
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff
diff --cc file
index c9c6af7,e6bfff5..0000000
--- a/file
+++ b/file
@@@ -1,1 -1,1 +1,5 @@@
++<<<<<<< HEAD
+b1
++=======
+ b2
++>>>>>>> :/b2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --base
* Unmerged path file
diff --git a/file b/file
index 7898192..8524fac 100644
--- a/file
+++ b/file
@@ -1 +1,5 @@
-a
+<<<<<<< HEAD
+b1
+=======
+b2
+>>>>>>> :/b2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --ours
* Unmerged path file
diff --git a/file b/file
index c9c6af7..8524fac 100644
--- a/file
+++ b/file
@@ -1 +1,5 @@
+<<<<<<< HEAD
b1
+=======
+b2
+>>>>>>> :/b2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --theirs
* Unmerged path file
diff --git a/file b/file
index e6bfff5..8524fac 100644
--- a/file
+++ b/file
@@ -1 +1,5 @@
+<<<<<<< HEAD
+b1
+=======
b2
+>>>>>>> :/b2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff AUTO_MERGE
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout --ours '.'
Updated 1 path from the index
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff
diff --cc file
index c9c6af7,e6bfff5..0000000
--- a/file
+++ b/file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --base
* Unmerged path file
diff --git a/file b/file
index 7898192..c9c6af7 100644
--- a/file
+++ b/file
@@ -1 +1 @@
-a
+b1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --ours
* Unmerged path file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --theirs
* Unmerged path file
diff --git a/file b/file
index e6bfff5..c9c6af7 100644
--- a/file
+++ b/file
@@ -1 +1 @@
-b2
+b1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff AUTO_MERGE
diff --git a/file b/file
index 8524fac..c9c6af7 100644
--- a/file
+++ b/file
@@ -1,5 +1 @@
-<<<<<<< HEAD
b1
-=======
-b2
->>>>>>> :/b2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout --theirs '.'
Updated 1 path from the index
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff
diff --cc file
index c9c6af7,e6bfff5..0000000
--- a/file
+++ b/file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --base
* Unmerged path file
diff --git a/file b/file
index 7898192..e6bfff5 100644
--- a/file
+++ b/file
@@ -1 +1 @@
-a
+b2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --ours
* Unmerged path file
diff --git a/file b/file
index c9c6af7..e6bfff5 100644
--- a/file
+++ b/file
@@ -1 +1 @@
-b1
+b2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --theirs
* Unmerged path file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff AUTO_MERGE
diff --git a/file b/file
index 8524fac..e6bfff5 100644
--- a/file
+++ b/file
@@ -1,5 +1 @@
-<<<<<<< HEAD
-b1
-=======
b2
->>>>>>> :/b2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout --merge '.'
Recreated 1 merge conflict
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff
diff --cc file
index c9c6af7,e6bfff5..0000000
--- a/file
+++ b/file
@@@ -1,1 -1,1 +1,5 @@@
++<<<<<<< ours
+b1
++=======
+ b2
++>>>>>>> theirs
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --base
* Unmerged path file
diff --git a/file b/file
index 7898192..727a935 100644
--- a/file
+++ b/file
@@ -1 +1,5 @@
-a
+<<<<<<< ours
+b1
+=======
+b2
+>>>>>>> theirs
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --ours
* Unmerged path file
diff --git a/file b/file
index c9c6af7..727a935 100644
--- a/file
+++ b/file
@@ -1 +1,5 @@
+<<<<<<< ours
b1
+=======
+b2
+>>>>>>> theirs
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --theirs
* Unmerged path file
diff --git a/file b/file
index e6bfff5..727a935 100644
--- a/file
+++ b/file
@@ -1 +1,5 @@
+<<<<<<< ours
+b1
+=======
b2
+>>>>>>> theirs
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff AUTO_MERGE
diff --git a/file b/file
index 8524fac..727a935 100644
--- a/file
+++ b/file
@@ -1,5 +1,5 @@
-<<<<<<< HEAD
+<<<<<<< ours
b1
=======
b2
->>>>>>> :/b2
+>>>>>>> theirs
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout --conflict=merge '.'
Recreated 1 merge conflict
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff
diff --cc file
index c9c6af7,e6bfff5..0000000
--- a/file
+++ b/file
@@@ -1,1 -1,1 +1,5 @@@
++<<<<<<< ours
+b1
++=======
+ b2
++>>>>>>> theirs
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --base
* Unmerged path file
diff --git a/file b/file
index 7898192..727a935 100644
--- a/file
+++ b/file
@@ -1 +1,5 @@
-a
+<<<<<<< ours
+b1
+=======
+b2
+>>>>>>> theirs
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --ours
* Unmerged path file
diff --git a/file b/file
index c9c6af7..727a935 100644
--- a/file
+++ b/file
@@ -1 +1,5 @@
+<<<<<<< ours
b1
+=======
+b2
+>>>>>>> theirs
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --theirs
* Unmerged path file
diff --git a/file b/file
index e6bfff5..727a935 100644
--- a/file
+++ b/file
@@ -1 +1,5 @@
+<<<<<<< ours
+b1
+=======
b2
+>>>>>>> theirs
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff AUTO_MERGE
diff --git a/file b/file
index 8524fac..727a935 100644
--- a/file
+++ b/file
@@ -1,5 +1,5 @@
-<<<<<<< HEAD
+<<<<<<< ours
b1
=======
b2
->>>>>>> :/b2
+>>>>>>> theirs
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout --conflict=diff3 '.'
Recreated 1 merge conflict
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff
diff --cc file
index c9c6af7,e6bfff5..0000000
--- a/file
+++ b/file
@@@ -1,1 -1,1 +1,7 @@@
++<<<<<<< ours
+b1
++||||||| base
++a
++=======
+ b2
++>>>>>>> theirs
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --base
* Unmerged path file
diff --git a/file b/file
index 7898192..052ce0b 100644
--- a/file
+++ b/file
@@ -1 +1,7 @@
+<<<<<<< ours
+b1
+||||||| base
a
+=======
+b2
+>>>>>>> theirs
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --ours
* Unmerged path file
diff --git a/file b/file
index c9c6af7..052ce0b 100644
--- a/file
+++ b/file
@@ -1 +1,7 @@
+<<<<<<< ours
b1
+||||||| base
+a
+=======
+b2
+>>>>>>> theirs
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --theirs
* Unmerged path file
diff --git a/file b/file
index e6bfff5..052ce0b 100644
--- a/file
+++ b/file
@@ -1 +1,7 @@
+<<<<<<< ours
+b1
+||||||| base
+a
+=======
b2
+>>>>>>> theirs
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff AUTO_MERGE
diff --git a/file b/file
index 8524fac..052ce0b 100644
--- a/file
+++ b/file
@@ -1,5 +1,7 @@
-<<<<<<< HEAD
+<<<<<<< ours
b1
+||||||| base
+a
=======
b2
->>>>>>> :/b2
+>>>>>>> theirs
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ branch_default_name="$(git -C './repo' branch --show-current)"; echo "$branch_default_name"
master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo 'a' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message='a'; git -C './repo' branch branch1
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 922a0e6] a
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo 'b1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message='b1'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master d1f7b52] b1
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1; echo 'b2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message='b2'
Switched to branch 'branch1'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch1 b3e61c2] b2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout "$branch_default_name"; git -C './repo' merge :/'b2'; echo 'c1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message='c1'
Switched to branch 'master'
Auto-merging file
CONFLICT (content): Merge conflict in file
Automatic merge failed; fix conflicts and then commit the result.
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master f03058a] c1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1; git -C './repo' merge :/'b1'; echo 'c2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message='c2'
Switched to branch 'branch1'
Auto-merging file
CONFLICT (content): Merge conflict in file
Automatic merge failed; fix conflicts and then commit the result.
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch1 18b35c9] c2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout "$branch_default_name"; git -C './repo' merge :/'c2'
Switched to branch 'master'
Auto-merging file
CONFLICT (content): Merge conflict in file
Automatic merge failed; fix conflicts and then commit the result.
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 cc2be80d5fbb34fa9f6ddbd61f239f8cc4db47b9 1 file
100644 ae9304576a6ec3419b231b2b9c8e33a06f97f9fb 2 file
100644 16f9ec009e5568c435f473ba3a1df732d49ce8c3 3 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
You have unmerged paths.
(fix conflicts and run "git commit")
(use "git merge --abort" to abort the merge)
Unmerged paths:
(use "git add <file>..." to mark resolution)
both modified: file
* Unmerged path file
no changes added to commit (use "git add" and/or "git commit -a")
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 18b35c9 - 2026-05-30 16:43 (2 seconds ago) c2 - Han Jiang (refs/heads/branch1)
|\
| | * f03058a - 2026-05-30 16:43 (3 seconds ago) c1 - Han Jiang (HEAD -> refs/heads/master)
| |/|
| |/
|/|
* | b3e61c2 - 2026-05-30 16:43 (4 seconds ago) b2 - Han Jiang
| * d1f7b52 - 2026-05-30 16:43 (5 seconds ago) b1 - Han Jiang
|/
* 922a0e6 - 2026-05-30 16:43 (6 seconds ago) a - Han Jiang
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff
diff --cc file
index ae93045,16f9ec0..0000000
--- a/file
+++ b/file
@@@ -1,1 -1,1 +1,5 @@@
++<<<<<<< HEAD
+c1
++=======
+ c2
++>>>>>>> :/c2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --base
* Unmerged path file
diff --git a/file b/file
index cc2be80..9ff16e1 100644
--- a/file
+++ b/file
@@ -1,5 +1,5 @@
-<<<<<<<<< Temporary merge branch 1
-b1
-=========
-b2
->>>>>>>>> Temporary merge branch 2
+<<<<<<< HEAD
+c1
+=======
+c2
+>>>>>>> :/c2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --ours
* Unmerged path file
diff --git a/file b/file
index ae93045..9ff16e1 100644
--- a/file
+++ b/file
@@ -1 +1,5 @@
+<<<<<<< HEAD
c1
+=======
+c2
+>>>>>>> :/c2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --theirs
* Unmerged path file
diff --git a/file b/file
index 16f9ec0..9ff16e1 100644
--- a/file
+++ b/file
@@ -1 +1,5 @@
+<<<<<<< HEAD
+c1
+=======
c2
+>>>>>>> :/c2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff AUTO_MERGE
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout --ours '.'
Updated 1 path from the index
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff
diff --cc file
index ae93045,16f9ec0..0000000
--- a/file
+++ b/file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --base
* Unmerged path file
diff --git a/file b/file
index cc2be80..ae93045 100644
--- a/file
+++ b/file
@@ -1,5 +1 @@
-<<<<<<<<< Temporary merge branch 1
-b1
-=========
-b2
->>>>>>>>> Temporary merge branch 2
+c1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --ours
* Unmerged path file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --theirs
* Unmerged path file
diff --git a/file b/file
index 16f9ec0..ae93045 100644
--- a/file
+++ b/file
@@ -1 +1 @@
-c2
+c1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff AUTO_MERGE
diff --git a/file b/file
index 9ff16e1..ae93045 100644
--- a/file
+++ b/file
@@ -1,5 +1 @@
-<<<<<<< HEAD
c1
-=======
-c2
->>>>>>> :/c2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout --theirs '.'
Updated 1 path from the index
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff
diff --cc file
index ae93045,16f9ec0..0000000
--- a/file
+++ b/file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --base
* Unmerged path file
diff --git a/file b/file
index cc2be80..16f9ec0 100644
--- a/file
+++ b/file
@@ -1,5 +1 @@
-<<<<<<<<< Temporary merge branch 1
-b1
-=========
-b2
->>>>>>>>> Temporary merge branch 2
+c2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --ours
* Unmerged path file
diff --git a/file b/file
index ae93045..16f9ec0 100644
--- a/file
+++ b/file
@@ -1 +1 @@
-c1
+c2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --theirs
* Unmerged path file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff AUTO_MERGE
diff --git a/file b/file
index 9ff16e1..16f9ec0 100644
--- a/file
+++ b/file
@@ -1,5 +1 @@
-<<<<<<< HEAD
-c1
-=======
c2
->>>>>>> :/c2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout --merge '.'
Recreated 1 merge conflict
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff
diff --cc file
index ae93045,16f9ec0..0000000
--- a/file
+++ b/file
@@@ -1,1 -1,1 +1,5 @@@
++<<<<<<< ours
+c1
++=======
+ c2
++>>>>>>> theirs
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --base
* Unmerged path file
diff --git a/file b/file
index cc2be80..9d93873 100644
--- a/file
+++ b/file
@@ -1,5 +1,5 @@
-<<<<<<<<< Temporary merge branch 1
-b1
-=========
-b2
->>>>>>>>> Temporary merge branch 2
+<<<<<<< ours
+c1
+=======
+c2
+>>>>>>> theirs
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --ours
* Unmerged path file
diff --git a/file b/file
index ae93045..9d93873 100644
--- a/file
+++ b/file
@@ -1 +1,5 @@
+<<<<<<< ours
c1
+=======
+c2
+>>>>>>> theirs
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --theirs
* Unmerged path file
diff --git a/file b/file
index 16f9ec0..9d93873 100644
--- a/file
+++ b/file
@@ -1 +1,5 @@
+<<<<<<< ours
+c1
+=======
c2
+>>>>>>> theirs
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff AUTO_MERGE
diff --git a/file b/file
index 9ff16e1..9d93873 100644
--- a/file
+++ b/file
@@ -1,5 +1,5 @@
-<<<<<<< HEAD
+<<<<<<< ours
c1
=======
c2
->>>>>>> :/c2
+>>>>>>> theirs
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout --conflict=merge '.'
Recreated 1 merge conflict
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff
diff --cc file
index ae93045,16f9ec0..0000000
--- a/file
+++ b/file
@@@ -1,1 -1,1 +1,5 @@@
++<<<<<<< ours
+c1
++=======
+ c2
++>>>>>>> theirs
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --base
* Unmerged path file
diff --git a/file b/file
index cc2be80..9d93873 100644
--- a/file
+++ b/file
@@ -1,5 +1,5 @@
-<<<<<<<<< Temporary merge branch 1
-b1
-=========
-b2
->>>>>>>>> Temporary merge branch 2
+<<<<<<< ours
+c1
+=======
+c2
+>>>>>>> theirs
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --ours
* Unmerged path file
diff --git a/file b/file
index ae93045..9d93873 100644
--- a/file
+++ b/file
@@ -1 +1,5 @@
+<<<<<<< ours
c1
+=======
+c2
+>>>>>>> theirs
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --theirs
* Unmerged path file
diff --git a/file b/file
index 16f9ec0..9d93873 100644
--- a/file
+++ b/file
@@ -1 +1,5 @@
+<<<<<<< ours
+c1
+=======
c2
+>>>>>>> theirs
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff AUTO_MERGE
diff --git a/file b/file
index 9ff16e1..9d93873 100644
--- a/file
+++ b/file
@@ -1,5 +1,5 @@
-<<<<<<< HEAD
+<<<<<<< ours
c1
=======
c2
->>>>>>> :/c2
+>>>>>>> theirs
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout --conflict=diff3 '.'
Recreated 1 merge conflict
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff
diff --cc file
index ae93045,16f9ec0..0000000
--- a/file
+++ b/file
@@@ -1,1 -1,1 +1,11 @@@
++<<<<<<< ours
+c1
++||||||| base
++<<<<<<<<< Temporary merge branch 1
++b1
++=========
++b2
++>>>>>>>>> Temporary merge branch 2
++=======
+ c2
++>>>>>>> theirs
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --base
* Unmerged path file
diff --git a/file b/file
index cc2be80..36b2609 100644
--- a/file
+++ b/file
@@ -1,5 +1,11 @@
+<<<<<<< ours
+c1
+||||||| base
<<<<<<<<< Temporary merge branch 1
b1
=========
b2
>>>>>>>>> Temporary merge branch 2
+=======
+c2
+>>>>>>> theirs
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --ours
* Unmerged path file
diff --git a/file b/file
index ae93045..36b2609 100644
--- a/file
+++ b/file
@@ -1 +1,11 @@
+<<<<<<< ours
c1
+||||||| base
+<<<<<<<<< Temporary merge branch 1
+b1
+=========
+b2
+>>>>>>>>> Temporary merge branch 2
+=======
+c2
+>>>>>>> theirs
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --theirs
* Unmerged path file
diff --git a/file b/file
index 16f9ec0..36b2609 100644
--- a/file
+++ b/file
@@ -1 +1,11 @@
+<<<<<<< ours
+c1
+||||||| base
+<<<<<<<<< Temporary merge branch 1
+b1
+=========
+b2
+>>>>>>>>> Temporary merge branch 2
+=======
c2
+>>>>>>> theirs
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff AUTO_MERGE
diff --git a/file b/file
index 9ff16e1..36b2609 100644
--- a/file
+++ b/file
@@ -1,5 +1,11 @@
-<<<<<<< HEAD
+<<<<<<< ours
c1
+||||||| base
+<<<<<<<<< Temporary merge branch 1
+b1
+=========
+b2
+>>>>>>>>> Temporary merge branch 2
=======
c2
->>>>>>> :/c2
+>>>>>>> theirs
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ branch_default_name="$(git -C './repo' branch --show-current)"; echo "$branch_default_name"
master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo 'a' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message='a'; git -C './repo' branch branch1; git -C './repo' branch branch2
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 2411b6b] a
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo 'b1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message='b1'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master c636828] b1
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1; echo 'b2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message='b2'
Switched to branch 'branch1'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch1 8cf5870] b2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch2; echo 'b3' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message='b3'
Switched to branch 'branch2'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch2 c42a51d] b3
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout "$branch_default_name"; git -C './repo' merge :/'b2'; echo 'c1_' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message='c1_'
Switched to branch 'master'
Auto-merging file
CONFLICT (content): Merge conflict in file
Automatic merge failed; fix conflicts and then commit the result.
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master bf1ca1b] c1_
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1; git -C './repo' merge :/'b1'; echo 'c2_' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message='c2_'
Switched to branch 'branch1'
Auto-merging file
CONFLICT (content): Merge conflict in file
Automatic merge failed; fix conflicts and then commit the result.
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch1 1708b0e] c2_
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout "$branch_default_name"; git -C './repo' merge :/'b3'; echo 'c1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message='c1'
Switched to branch 'master'
Auto-merging file
CONFLICT (content): Merge conflict in file
Automatic merge failed; fix conflicts and then commit the result.
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master d763d5e] c1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1; git -C './repo' merge :/'b3'; echo 'c2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message='c2'
Switched to branch 'branch1'
Auto-merging file
CONFLICT (content): Merge conflict in file
Automatic merge failed; fix conflicts and then commit the result.
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch1 ce533d1] c2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout "$branch_default_name"; git -C './repo' merge :/'c2'
Switched to branch 'master'
Auto-merging file
CONFLICT (content): Merge conflict in file
Automatic merge failed; fix conflicts and then commit the result.
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 5f40345c5cd4cd55cd266e70b77f56166bf569cd 1 file
100644 ae9304576a6ec3419b231b2b9c8e33a06f97f9fb 2 file
100644 16f9ec009e5568c435f473ba3a1df732d49ce8c3 3 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
You have unmerged paths.
(fix conflicts and run "git commit")
(use "git merge --abort" to abort the merge)
Unmerged paths:
(use "git add <file>..." to mark resolution)
both modified: file
* Unmerged path file
no changes added to commit (use "git add" and/or "git commit -a")
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* ce533d1 - 2026-05-30 16:44 (2 seconds ago) c2 - Han Jiang (refs/heads/branch1)
|\
* \ 1708b0e - 2026-05-30 16:44 (3 seconds ago) c2_ - Han Jiang
|\ \
| | | * d763d5e - 2026-05-30 16:44 (2 seconds ago) c1 - Han Jiang (HEAD -> refs/heads/master)
| | | |\
| | | |/
| | |/|
| | * | c42a51d - 2026-05-30 16:44 (5 seconds ago) b3 - Han Jiang (refs/heads/branch2)
| | | * bf1ca1b - 2026-05-30 16:44 (4 seconds ago) c1_ - Han Jiang
| | |/|
| |/|/
| |/|
|/| |
* | | 8cf5870 - 2026-05-30 16:44 (6 seconds ago) b2 - Han Jiang
| |/
|/|
| * c636828 - 2026-05-30 16:44 (7 seconds ago) b1 - Han Jiang
|/
* 2411b6b - 2026-05-30 16:44 (7 seconds ago) a - Han Jiang
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff
diff --cc file
index ae93045,16f9ec0..0000000
--- a/file
+++ b/file
@@@ -1,1 -1,1 +1,5 @@@
++<<<<<<< HEAD
+c1
++=======
+ c2
++>>>>>>> :/c2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --base
* Unmerged path file
diff --git a/file b/file
index 5f40345..9ff16e1 100644
--- a/file
+++ b/file
@@ -1,9 +1,5 @@
-<<<<<<<<< Temporary merge branch 1
-<<<<<<<<< Temporary merge branch 1
-b1
-=========
-b2
->>>>>>>>> Temporary merge branch 2
-=========
-b3
->>>>>>>>> Temporary merge branch 2
+<<<<<<< HEAD
+c1
+=======
+c2
+>>>>>>> :/c2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --ours
* Unmerged path file
diff --git a/file b/file
index ae93045..9ff16e1 100644
--- a/file
+++ b/file
@@ -1 +1,5 @@
+<<<<<<< HEAD
c1
+=======
+c2
+>>>>>>> :/c2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --theirs
* Unmerged path file
diff --git a/file b/file
index 16f9ec0..9ff16e1 100644
--- a/file
+++ b/file
@@ -1 +1,5 @@
+<<<<<<< HEAD
+c1
+=======
c2
+>>>>>>> :/c2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff AUTO_MERGE
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout --ours '.'
Updated 1 path from the index
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff
diff --cc file
index ae93045,16f9ec0..0000000
--- a/file
+++ b/file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --base
* Unmerged path file
diff --git a/file b/file
index 5f40345..ae93045 100644
--- a/file
+++ b/file
@@ -1,9 +1 @@
-<<<<<<<<< Temporary merge branch 1
-<<<<<<<<< Temporary merge branch 1
-b1
-=========
-b2
->>>>>>>>> Temporary merge branch 2
-=========
-b3
->>>>>>>>> Temporary merge branch 2
+c1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --ours
* Unmerged path file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --theirs
* Unmerged path file
diff --git a/file b/file
index 16f9ec0..ae93045 100644
--- a/file
+++ b/file
@@ -1 +1 @@
-c2
+c1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff AUTO_MERGE
diff --git a/file b/file
index 9ff16e1..ae93045 100644
--- a/file
+++ b/file
@@ -1,5 +1 @@
-<<<<<<< HEAD
c1
-=======
-c2
->>>>>>> :/c2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout --theirs '.'
Updated 1 path from the index
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff
diff --cc file
index ae93045,16f9ec0..0000000
--- a/file
+++ b/file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --base
* Unmerged path file
diff --git a/file b/file
index 5f40345..16f9ec0 100644
--- a/file
+++ b/file
@@ -1,9 +1 @@
-<<<<<<<<< Temporary merge branch 1
-<<<<<<<<< Temporary merge branch 1
-b1
-=========
-b2
->>>>>>>>> Temporary merge branch 2
-=========
-b3
->>>>>>>>> Temporary merge branch 2
+c2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --ours
* Unmerged path file
diff --git a/file b/file
index ae93045..16f9ec0 100644
--- a/file
+++ b/file
@@ -1 +1 @@
-c1
+c2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --theirs
* Unmerged path file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff AUTO_MERGE
diff --git a/file b/file
index 9ff16e1..16f9ec0 100644
--- a/file
+++ b/file
@@ -1,5 +1 @@
-<<<<<<< HEAD
-c1
-=======
c2
->>>>>>> :/c2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout --merge '.'
Recreated 1 merge conflict
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff
diff --cc file
index ae93045,16f9ec0..0000000
--- a/file
+++ b/file
@@@ -1,1 -1,1 +1,5 @@@
++<<<<<<< ours
+c1
++=======
+ c2
++>>>>>>> theirs
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --base
* Unmerged path file
diff --git a/file b/file
index 5f40345..9d93873 100644
--- a/file
+++ b/file
@@ -1,9 +1,5 @@
-<<<<<<<<< Temporary merge branch 1
-<<<<<<<<< Temporary merge branch 1
-b1
-=========
-b2
->>>>>>>>> Temporary merge branch 2
-=========
-b3
->>>>>>>>> Temporary merge branch 2
+<<<<<<< ours
+c1
+=======
+c2
+>>>>>>> theirs
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --ours
* Unmerged path file
diff --git a/file b/file
index ae93045..9d93873 100644
--- a/file
+++ b/file
@@ -1 +1,5 @@
+<<<<<<< ours
c1
+=======
+c2
+>>>>>>> theirs
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --theirs
* Unmerged path file
diff --git a/file b/file
index 16f9ec0..9d93873 100644
--- a/file
+++ b/file
@@ -1 +1,5 @@
+<<<<<<< ours
+c1
+=======
c2
+>>>>>>> theirs
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff AUTO_MERGE
diff --git a/file b/file
index 9ff16e1..9d93873 100644
--- a/file
+++ b/file
@@ -1,5 +1,5 @@
-<<<<<<< HEAD
+<<<<<<< ours
c1
=======
c2
->>>>>>> :/c2
+>>>>>>> theirs
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout --conflict=merge '.'
Recreated 1 merge conflict
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff
diff --cc file
index ae93045,16f9ec0..0000000
--- a/file
+++ b/file
@@@ -1,1 -1,1 +1,5 @@@
++<<<<<<< ours
+c1
++=======
+ c2
++>>>>>>> theirs
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --base
* Unmerged path file
diff --git a/file b/file
index 5f40345..9d93873 100644
--- a/file
+++ b/file
@@ -1,9 +1,5 @@
-<<<<<<<<< Temporary merge branch 1
-<<<<<<<<< Temporary merge branch 1
-b1
-=========
-b2
->>>>>>>>> Temporary merge branch 2
-=========
-b3
->>>>>>>>> Temporary merge branch 2
+<<<<<<< ours
+c1
+=======
+c2
+>>>>>>> theirs
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --ours
* Unmerged path file
diff --git a/file b/file
index ae93045..9d93873 100644
--- a/file
+++ b/file
@@ -1 +1,5 @@
+<<<<<<< ours
c1
+=======
+c2
+>>>>>>> theirs
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --theirs
* Unmerged path file
diff --git a/file b/file
index 16f9ec0..9d93873 100644
--- a/file
+++ b/file
@@ -1 +1,5 @@
+<<<<<<< ours
+c1
+=======
c2
+>>>>>>> theirs
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff AUTO_MERGE
diff --git a/file b/file
index 9ff16e1..9d93873 100644
--- a/file
+++ b/file
@@ -1,5 +1,5 @@
-<<<<<<< HEAD
+<<<<<<< ours
c1
=======
c2
->>>>>>> :/c2
+>>>>>>> theirs
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout --conflict=diff3 '.'
Recreated 1 merge conflict
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff
diff --cc file
index ae93045,16f9ec0..0000000
--- a/file
+++ b/file
@@@ -1,1 -1,1 +1,15 @@@
++<<<<<<< ours
+c1
++||||||| base
++<<<<<<<<< Temporary merge branch 1
++<<<<<<<<< Temporary merge branch 1
++b1
++=========
++b2
++>>>>>>>>> Temporary merge branch 2
++=========
++b3
++>>>>>>>>> Temporary merge branch 2
++=======
+ c2
++>>>>>>> theirs
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --base
* Unmerged path file
diff --git a/file b/file
index 5f40345..b64d132 100644
--- a/file
+++ b/file
@@ -1,3 +1,6 @@
+<<<<<<< ours
+c1
+||||||| base
<<<<<<<<< Temporary merge branch 1
<<<<<<<<< Temporary merge branch 1
b1
@@ -7,3 +10,6 @@ b2
=========
b3
>>>>>>>>> Temporary merge branch 2
+=======
+c2
+>>>>>>> theirs
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --ours
* Unmerged path file
diff --git a/file b/file
index ae93045..b64d132 100644
--- a/file
+++ b/file
@@ -1 +1,15 @@
+<<<<<<< ours
c1
+||||||| base
+<<<<<<<<< Temporary merge branch 1
+<<<<<<<<< Temporary merge branch 1
+b1
+=========
+b2
+>>>>>>>>> Temporary merge branch 2
+=========
+b3
+>>>>>>>>> Temporary merge branch 2
+=======
+c2
+>>>>>>> theirs
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --theirs
* Unmerged path file
diff --git a/file b/file
index 16f9ec0..b64d132 100644
--- a/file
+++ b/file
@@ -1 +1,15 @@
+<<<<<<< ours
+c1
+||||||| base
+<<<<<<<<< Temporary merge branch 1
+<<<<<<<<< Temporary merge branch 1
+b1
+=========
+b2
+>>>>>>>>> Temporary merge branch 2
+=========
+b3
+>>>>>>>>> Temporary merge branch 2
+=======
c2
+>>>>>>> theirs
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff AUTO_MERGE
diff --git a/file b/file
index 9ff16e1..b64d132 100644
--- a/file
+++ b/file
@@ -1,5 +1,15 @@
-<<<<<<< HEAD
+<<<<<<< ours
c1
+||||||| base
+<<<<<<<<< Temporary merge branch 1
+<<<<<<<<< Temporary merge branch 1
+b1
+=========
+b2
+>>>>>>>>> Temporary merge branch 2
+=========
+b3
+>>>>>>>>> Temporary merge branch 2
=======
c2
->>>>>>> :/c2
+>>>>>>> theirs
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ branch_default_name="$(git -C './repo' branch --show-current)"; echo "$branch_default_name"
master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo 'a' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message='a'; git -C './repo' branch branch1; git -C './repo' branch branch2; git -C './repo' branch branch3
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 1a3c679] a
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo 'b1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message='b1'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master d41254a] b1
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1; echo 'b2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message='b2'
Switched to branch 'branch1'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch1 a75a0ea] b2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch2; echo 'b3' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message='b3'
Switched to branch 'branch2'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch2 16371be] b3
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch3; echo 'b4' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message='b4'
Switched to branch 'branch3'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch3 b75ba62] b4
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout "$branch_default_name"; git -C './repo' merge :/'b2'; echo 'c1_1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message='c1_1'
Switched to branch 'master'
Auto-merging file
CONFLICT (content): Merge conflict in file
Automatic merge failed; fix conflicts and then commit the result.
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master b9e97de] c1_1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1; git -C './repo' merge :/'b1'; echo 'c2_1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message='c2_1'
Switched to branch 'branch1'
Auto-merging file
CONFLICT (content): Merge conflict in file
Automatic merge failed; fix conflicts and then commit the result.
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch1 2ad85d4] c2_1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch2; git -C './repo' merge :/'b4'; echo 'c1_2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message='c1_2'
Switched to branch 'branch2'
Auto-merging file
CONFLICT (content): Merge conflict in file
Automatic merge failed; fix conflicts and then commit the result.
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch2 177f7ab] c1_2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch3; git -C './repo' merge :/'b3'; echo 'c2_2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message='c2_2'
Switched to branch 'branch3'
Auto-merging file
CONFLICT (content): Merge conflict in file
Automatic merge failed; fix conflicts and then commit the result.
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch3 101abc3] c2_2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout "$branch_default_name"; git -C './repo' merge :/'c1_2'; echo 'c1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message='c1'
Switched to branch 'master'
Auto-merging file
CONFLICT (content): Merge conflict in file
Automatic merge failed; fix conflicts and then commit the result.
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master f646094] c1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1; git -C './repo' merge :/'c2_2'; echo 'c2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message='c2'
Switched to branch 'branch1'
Auto-merging file
CONFLICT (content): Merge conflict in file
Automatic merge failed; fix conflicts and then commit the result.
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch1 c23eea4] c2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout "$branch_default_name"; git -C './repo' merge :/'c2'
Switched to branch 'master'
Auto-merging file
CONFLICT (content): Merge conflict in file
Automatic merge failed; fix conflicts and then commit the result.
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 c6ee02699ca2b80ac541ec851f4a3c25414864d5 1 file
100644 ae9304576a6ec3419b231b2b9c8e33a06f97f9fb 2 file
100644 16f9ec009e5568c435f473ba3a1df732d49ce8c3 3 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
You have unmerged paths.
(fix conflicts and run "git commit")
(use "git merge --abort" to abort the merge)
Unmerged paths:
(use "git add <file>..." to mark resolution)
both modified: file
* Unmerged path file
no changes added to commit (use "git add" and/or "git commit -a")
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* c23eea4 - 2026-05-30 16:44 (2 seconds ago) c2 - Han Jiang (refs/heads/branch1)
|\
| * 101abc3 - 2026-05-30 16:44 (4 seconds ago) c2_2 - Han Jiang (refs/heads/branch3)
| |\
* | \ 2ad85d4 - 2026-05-30 16:44 (6 seconds ago) c2_1 - Han Jiang
|\ \ \
| | | | * f646094 - 2026-05-30 16:44 (3 seconds ago) c1 - Han Jiang (HEAD -> refs/heads/master)
| | | | |\
| | | | | * 177f7ab - 2026-05-30 16:44 (5 seconds ago) c1_2 - Han Jiang (refs/heads/branch2)
| | | | |/|
| | | |/|/
| | | |/|
| | |/| |
| | * | | b75ba62 - 2026-05-30 16:44 (8 seconds ago) b4 - Han Jiang
| | | * | 16371be - 2026-05-30 16:44 (9 seconds ago) b3 - Han Jiang
| | |/ /
| | | * b9e97de - 2026-05-30 16:44 (7 seconds ago) c1_1 - Han Jiang
| | |/|
| |/|/
| |/|
|/| |
* | | a75a0ea - 2026-05-30 16:44 (9 seconds ago) b2 - Han Jiang
| |/
|/|
| * d41254a - 2026-05-30 16:44 (10 seconds ago) b1 - Han Jiang
|/
* 1a3c679 - 2026-05-30 16:44 (11 seconds ago) a - Han Jiang
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff
diff --cc file
index ae93045,16f9ec0..0000000
--- a/file
+++ b/file
@@@ -1,1 -1,1 +1,5 @@@
++<<<<<<< HEAD
+c1
++=======
+ c2
++>>>>>>> :/c2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --base
* Unmerged path file
diff --git a/file b/file
index c6ee026..9ff16e1 100644
--- a/file
+++ b/file
@@ -1,13 +1,5 @@
-<<<<<<<<< Temporary merge branch 1
-<<<<<<<<< Temporary merge branch 1
-<<<<<<<<< Temporary merge branch 1
-b1
-=========
-b2
->>>>>>>>> Temporary merge branch 2
-=========
-b3
->>>>>>>>> Temporary merge branch 2
-=========
-b4
->>>>>>>>> Temporary merge branch 2
+<<<<<<< HEAD
+c1
+=======
+c2
+>>>>>>> :/c2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --ours
* Unmerged path file
diff --git a/file b/file
index ae93045..9ff16e1 100644
--- a/file
+++ b/file
@@ -1 +1,5 @@
+<<<<<<< HEAD
c1
+=======
+c2
+>>>>>>> :/c2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --theirs
* Unmerged path file
diff --git a/file b/file
index 16f9ec0..9ff16e1 100644
--- a/file
+++ b/file
@@ -1 +1,5 @@
+<<<<<<< HEAD
+c1
+=======
c2
+>>>>>>> :/c2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff AUTO_MERGE
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout --ours '.'
Updated 1 path from the index
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff
diff --cc file
index ae93045,16f9ec0..0000000
--- a/file
+++ b/file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --base
* Unmerged path file
diff --git a/file b/file
index c6ee026..ae93045 100644
--- a/file
+++ b/file
@@ -1,13 +1 @@
-<<<<<<<<< Temporary merge branch 1
-<<<<<<<<< Temporary merge branch 1
-<<<<<<<<< Temporary merge branch 1
-b1
-=========
-b2
->>>>>>>>> Temporary merge branch 2
-=========
-b3
->>>>>>>>> Temporary merge branch 2
-=========
-b4
->>>>>>>>> Temporary merge branch 2
+c1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --ours
* Unmerged path file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --theirs
* Unmerged path file
diff --git a/file b/file
index 16f9ec0..ae93045 100644
--- a/file
+++ b/file
@@ -1 +1 @@
-c2
+c1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff AUTO_MERGE
diff --git a/file b/file
index 9ff16e1..ae93045 100644
--- a/file
+++ b/file
@@ -1,5 +1 @@
-<<<<<<< HEAD
c1
-=======
-c2
->>>>>>> :/c2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout --theirs '.'
Updated 1 path from the index
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff
diff --cc file
index ae93045,16f9ec0..0000000
--- a/file
+++ b/file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --base
* Unmerged path file
diff --git a/file b/file
index c6ee026..16f9ec0 100644
--- a/file
+++ b/file
@@ -1,13 +1 @@
-<<<<<<<<< Temporary merge branch 1
-<<<<<<<<< Temporary merge branch 1
-<<<<<<<<< Temporary merge branch 1
-b1
-=========
-b2
->>>>>>>>> Temporary merge branch 2
-=========
-b3
->>>>>>>>> Temporary merge branch 2
-=========
-b4
->>>>>>>>> Temporary merge branch 2
+c2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --ours
* Unmerged path file
diff --git a/file b/file
index ae93045..16f9ec0 100644
--- a/file
+++ b/file
@@ -1 +1 @@
-c1
+c2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --theirs
* Unmerged path file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff AUTO_MERGE
diff --git a/file b/file
index 9ff16e1..16f9ec0 100644
--- a/file
+++ b/file
@@ -1,5 +1 @@
-<<<<<<< HEAD
-c1
-=======
c2
->>>>>>> :/c2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout --merge '.'
Recreated 1 merge conflict
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff
diff --cc file
index ae93045,16f9ec0..0000000
--- a/file
+++ b/file
@@@ -1,1 -1,1 +1,5 @@@
++<<<<<<< ours
+c1
++=======
+ c2
++>>>>>>> theirs
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --base
* Unmerged path file
diff --git a/file b/file
index c6ee026..9d93873 100644
--- a/file
+++ b/file
@@ -1,13 +1,5 @@
-<<<<<<<<< Temporary merge branch 1
-<<<<<<<<< Temporary merge branch 1
-<<<<<<<<< Temporary merge branch 1
-b1
-=========
-b2
->>>>>>>>> Temporary merge branch 2
-=========
-b3
->>>>>>>>> Temporary merge branch 2
-=========
-b4
->>>>>>>>> Temporary merge branch 2
+<<<<<<< ours
+c1
+=======
+c2
+>>>>>>> theirs
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --ours
* Unmerged path file
diff --git a/file b/file
index ae93045..9d93873 100644
--- a/file
+++ b/file
@@ -1 +1,5 @@
+<<<<<<< ours
c1
+=======
+c2
+>>>>>>> theirs
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --theirs
* Unmerged path file
diff --git a/file b/file
index 16f9ec0..9d93873 100644
--- a/file
+++ b/file
@@ -1 +1,5 @@
+<<<<<<< ours
+c1
+=======
c2
+>>>>>>> theirs
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff AUTO_MERGE
diff --git a/file b/file
index 9ff16e1..9d93873 100644
--- a/file
+++ b/file
@@ -1,5 +1,5 @@
-<<<<<<< HEAD
+<<<<<<< ours
c1
=======
c2
->>>>>>> :/c2
+>>>>>>> theirs
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout --conflict=merge '.'
Recreated 1 merge conflict
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff
diff --cc file
index ae93045,16f9ec0..0000000
--- a/file
+++ b/file
@@@ -1,1 -1,1 +1,5 @@@
++<<<<<<< ours
+c1
++=======
+ c2
++>>>>>>> theirs
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --base
* Unmerged path file
diff --git a/file b/file
index c6ee026..9d93873 100644
--- a/file
+++ b/file
@@ -1,13 +1,5 @@
-<<<<<<<<< Temporary merge branch 1
-<<<<<<<<< Temporary merge branch 1
-<<<<<<<<< Temporary merge branch 1
-b1
-=========
-b2
->>>>>>>>> Temporary merge branch 2
-=========
-b3
->>>>>>>>> Temporary merge branch 2
-=========
-b4
->>>>>>>>> Temporary merge branch 2
+<<<<<<< ours
+c1
+=======
+c2
+>>>>>>> theirs
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --ours
* Unmerged path file
diff --git a/file b/file
index ae93045..9d93873 100644
--- a/file
+++ b/file
@@ -1 +1,5 @@
+<<<<<<< ours
c1
+=======
+c2
+>>>>>>> theirs
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --theirs
* Unmerged path file
diff --git a/file b/file
index 16f9ec0..9d93873 100644
--- a/file
+++ b/file
@@ -1 +1,5 @@
+<<<<<<< ours
+c1
+=======
c2
+>>>>>>> theirs
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff AUTO_MERGE
diff --git a/file b/file
index 9ff16e1..9d93873 100644
--- a/file
+++ b/file
@@ -1,5 +1,5 @@
-<<<<<<< HEAD
+<<<<<<< ours
c1
=======
c2
->>>>>>> :/c2
+>>>>>>> theirs
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout --conflict=diff3 '.'
Recreated 1 merge conflict
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff
diff --cc file
index ae93045,16f9ec0..0000000
--- a/file
+++ b/file
@@@ -1,1 -1,1 +1,19 @@@
++<<<<<<< ours
+c1
++||||||| base
++<<<<<<<<< Temporary merge branch 1
++<<<<<<<<< Temporary merge branch 1
++<<<<<<<<< Temporary merge branch 1
++b1
++=========
++b2
++>>>>>>>>> Temporary merge branch 2
++=========
++b3
++>>>>>>>>> Temporary merge branch 2
++=========
++b4
++>>>>>>>>> Temporary merge branch 2
++=======
+ c2
++>>>>>>> theirs
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --base
* Unmerged path file
diff --git a/file b/file
index c6ee026..e7e44c9 100644
--- a/file
+++ b/file
@@ -1,3 +1,6 @@
+<<<<<<< ours
+c1
+||||||| base
<<<<<<<<< Temporary merge branch 1
<<<<<<<<< Temporary merge branch 1
<<<<<<<<< Temporary merge branch 1
@@ -11,3 +14,6 @@ b3
=========
b4
>>>>>>>>> Temporary merge branch 2
+=======
+c2
+>>>>>>> theirs
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --ours
* Unmerged path file
diff --git a/file b/file
index ae93045..e7e44c9 100644
--- a/file
+++ b/file
@@ -1 +1,19 @@
+<<<<<<< ours
c1
+||||||| base
+<<<<<<<<< Temporary merge branch 1
+<<<<<<<<< Temporary merge branch 1
+<<<<<<<<< Temporary merge branch 1
+b1
+=========
+b2
+>>>>>>>>> Temporary merge branch 2
+=========
+b3
+>>>>>>>>> Temporary merge branch 2
+=========
+b4
+>>>>>>>>> Temporary merge branch 2
+=======
+c2
+>>>>>>> theirs
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --theirs
* Unmerged path file
diff --git a/file b/file
index 16f9ec0..e7e44c9 100644
--- a/file
+++ b/file
@@ -1 +1,19 @@
+<<<<<<< ours
+c1
+||||||| base
+<<<<<<<<< Temporary merge branch 1
+<<<<<<<<< Temporary merge branch 1
+<<<<<<<<< Temporary merge branch 1
+b1
+=========
+b2
+>>>>>>>>> Temporary merge branch 2
+=========
+b3
+>>>>>>>>> Temporary merge branch 2
+=========
+b4
+>>>>>>>>> Temporary merge branch 2
+=======
c2
+>>>>>>> theirs
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff AUTO_MERGE
diff --git a/file b/file
index 9ff16e1..e7e44c9 100644
--- a/file
+++ b/file
@@ -1,5 +1,19 @@
-<<<<<<< HEAD
+<<<<<<< ours
c1
+||||||| base
+<<<<<<<<< Temporary merge branch 1
+<<<<<<<<< Temporary merge branch 1
+<<<<<<<<< Temporary merge branch 1
+b1
+=========
+b2
+>>>>>>>>> Temporary merge branch 2
+=========
+b3
+>>>>>>>>> Temporary merge branch 2
+=========
+b4
+>>>>>>>>> Temporary merge branch 2
=======
c2
->>>>>>> :/c2
+>>>>>>> theirs
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 9ee967f] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ touch -- './repo/file_extra'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout HEAD -- '.'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
Untracked files:
(use "git add <file>..." to include in what will be committed)
file_extra
nothing added to commit but untracked files present (use "git add" to track)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) b0bc971] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file_extra'; git -C './repo' add './file_extra'
warning: in the working copy of 'file_extra', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./repo/file_extra'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout HEAD -- '.'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
new file: file_extra
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: file_extra
Changes to be committed:
diff --git c/file_extra i/file_extra
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ i/file_extra
@@ -0,0 +1 @@
+1
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'file_extra', LF will be replaced by CRLF the next time Git touches it
diff --git i/file_extra w/file_extra
index d00491f..0cfbf08 100644
--- i/file_extra
+++ w/file_extra
@@ -1 +1 @@
-1
+2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 29e2f33] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ touch -- './repo/file_extra'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout --no-overlay HEAD -- '.'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
Untracked files:
(use "git add <file>..." to include in what will be committed)
file_extra
nothing added to commit but untracked files present (use "git add" to track)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 3b99836] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file_extra'; git -C './repo' add './file_extra'
warning: in the working copy of 'file_extra', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./repo/file_extra'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout --no-overlay HEAD -- '.'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
nothing to commit, working tree clean
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
if index has unmerged entries, error: you need to resolve your current index first [ file: needs merge, ... ]
if index doesn't have unmerged entries,
HEAD: switch to <commit-ish>
index: (see below)
working tree: (see below)
if a file is different between <commit-ish> and HEAD,
if <commit-ish> != index && HEAD != index, then resetting index to <commit-ish> would lose entries in index, so checkout is aborted
if HEAD == index, then resets index to <commit-ish> and applies "index -> working tree" onto <commit-ish> to yield working tree
if <commit-ish> == index, then resets index to <commit-ish> and applies "index -> working tree" onto <commit-ish> to yield working tree
if a file is same between <commit-ish> and HEAD, then doesn't look at or touch index or working tree
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 67438bd] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master efdba4b] 2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '3' >'./repo/file'; git -C './repo' add './file'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '3' >'./repo/file'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 00750edc07d6415dcc07ae0351e9397b0222b7ba 0 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
modified: file
Changes to be committed:
diff --git c/file i/file
index 0cfbf08..00750ed 100644
--- c/file
+++ i/file
@@ -1 +1 @@
-2
+3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* efdba4b - 2026-05-30 16:45 (2 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 67438bd - 2026-05-30 16:45 (2 seconds ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout HEAD~1
error: Your local changes to the following files would be overwritten by checkout:
file
Please commit your changes or stash them before you switch branches.
Aborting
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) e2d587c] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master ce71120] 2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./repo/file'; git -C './repo' add './file'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f 0 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: file
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git i/file w/file
index 0cfbf08..d00491f 100644
--- i/file
+++ w/file
@@ -1 +1 @@
-2
+1
no changes added to commit (use "git add" and/or "git commit -a")
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* ce71120 - 2026-05-30 16:45 (2 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* e2d587c - 2026-05-30 16:45 (3 seconds ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout HEAD~1
error: Your local changes to the following files would be overwritten by checkout:
file
Please commit your changes or stash them before you switch branches.
Aborting
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 4e064b5] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master d50fd29] 2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./repo/file'; git -C './repo' add './file'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./repo/file'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f 0 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
nothing to commit, working tree clean
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* d50fd29 - 2026-05-30 16:45 (2 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 4e064b5 - 2026-05-30 16:45 (3 seconds ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout HEAD~1
Note: switching to 'HEAD~1'.
You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by switching back to a branch.
If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -c with the switch command. Example:
git switch -c <new-branch-name>
Or undo this operation with:
git switch -
Turn off this advice by setting config variable advice.detachedHead to false
HEAD is now at 4e064b5 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 d00491fd7e5bb6fa28c517a0bb32b8b506539d4d 0 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
HEAD detached at 4e064b5
nothing to commit, working tree clean
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* d50fd29 - 2026-05-30 16:45 (3 seconds ago) 2 - Han Jiang (refs/heads/master)
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 4e064b5 - 2026-05-30 16:45 (4 seconds ago) 1 - Han Jiang (HEAD)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) b27b328] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))" --allow-empty
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master 870c697] 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./repo/file'; git -C './repo' add './file'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '3' >'./repo/file'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f 0 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
modified: file
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: file
Changes to be committed:
diff --git c/file i/file
index d00491f..0cfbf08 100644
--- c/file
+++ i/file
@@ -1 +1 @@
-1
+2
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git i/file w/file
index 0cfbf08..00750ed 100644
--- i/file
+++ w/file
@@ -1 +1 @@
-2
+3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* 870c697 - 2026-05-30 16:45 (2 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
* b27b328 - 2026-05-30 16:45 (3 seconds ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout HEAD~1
M file
Note: switching to 'HEAD~1'.
You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by switching back to a branch.
If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -c with the switch command. Example:
git switch -c <new-branch-name>
Or undo this operation with:
git switch -
Turn off this advice by setting config variable advice.detachedHead to false
HEAD is now at b27b328 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f 0 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
HEAD detached at b27b328
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
modified: file
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: file
Changes to be committed:
diff --git c/file i/file
index d00491f..0cfbf08 100644
--- c/file
+++ i/file
@@ -1 +1 @@
-1
+2
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git i/file w/file
index 0cfbf08..00750ed 100644
--- i/file
+++ w/file
@@ -1 +1 @@
-2
+3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* 870c697 - 2026-05-30 16:45 (4 seconds ago) 2 - Han Jiang (refs/heads/master)
* b27b328 - 2026-05-30 16:45 (5 seconds ago) 1 - Han Jiang (HEAD)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
if index has unmerged entries, error: you need to resolve your current index first [ file: needs merge, ... ]
if index doesn't have unmerged entries,
HEAD: switch to <commit-ish>
index: (see below)
working tree: (see below)
if a file is different between <commit-ish> and HEAD,
if <commit-ish> != index && HEAD != index, then resetting index to <commit-ish> would lose entries in index, so checkout is aborted
if HEAD == index, then applies "index -> <commit-ish>" and "index -> working tree" onto index to yield index and working tree
if <commit-ish> == index, then applies "index -> <commit-ish>" and "index -> working tree" onto index to yield index and working tree
if a file is same between <commit-ish> and HEAD, then doesn't look at or touch index or working tree
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 55f137f] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master ec4c40b] 2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '3' >'./repo/file'; git -C './repo' add './file'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '3' >'./repo/file'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 00750edc07d6415dcc07ae0351e9397b0222b7ba 0 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
modified: file
Changes to be committed:
diff --git c/file i/file
index 0cfbf08..00750ed 100644
--- c/file
+++ i/file
@@ -1 +1 @@
-2
+3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* ec4c40b - 2026-05-30 16:46 (2 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 55f137f - 2026-05-30 16:46 (3 seconds ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout --merge HEAD~1
fatal: cannot continue with staged changes in the following files:
file
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 89eda66] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master aca6ff5] 2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./repo/file'; git -C './repo' add './file'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '3' >'./repo/file'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f 0 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: file
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git i/file w/file
index 0cfbf08..00750ed 100644
--- i/file
+++ w/file
@@ -1 +1 @@
-2
+3
no changes added to commit (use "git add" and/or "git commit -a")
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* aca6ff5 - 2026-05-30 16:46 (2 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 89eda66 - 2026-05-30 16:46 (2 seconds ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout --merge HEAD~1
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
M file
Note: switching to 'HEAD~1'.
You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by switching back to a branch.
If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -c with the switch command. Example:
git switch -c <new-branch-name>
Or undo this operation with:
git switch -
Turn off this advice by setting config variable advice.detachedHead to false
HEAD is now at 89eda66 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f 1 file
100644 d00491fd7e5bb6fa28c517a0bb32b8b506539d4d 2 file
100644 00750edc07d6415dcc07ae0351e9397b0222b7ba 3 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
HEAD detached at 89eda66
Unmerged paths:
(use "git restore --staged <file>..." to unstage)
(use "git add <file>..." to mark resolution)
both modified: file
* Unmerged path file
no changes added to commit (use "git add" and/or "git commit -a")
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* aca6ff5 - 2026-05-30 16:46 (4 seconds ago) 2 - Han Jiang (refs/heads/master)
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 89eda66 - 2026-05-30 16:46 (4 seconds ago) 1 - Han Jiang (HEAD)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff
diff --cc file
index d00491f,00750ed..0000000
--- a/file
+++ b/file
@@@ -1,1 -1,1 +1,5 @@@
++<<<<<<< HEAD~1
+1
++=======
+ 3
++>>>>>>> local
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --base
* Unmerged path file
diff --git a/file b/file
index 0cfbf08..707f96d 100644
--- a/file
+++ b/file
@@ -1 +1,5 @@
-2
+<<<<<<< HEAD~1
+1
+=======
+3
+>>>>>>> local
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --ours
* Unmerged path file
diff --git a/file b/file
index d00491f..707f96d 100644
--- a/file
+++ b/file
@@ -1 +1,5 @@
+<<<<<<< HEAD~1
1
+=======
+3
+>>>>>>> local
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --theirs
* Unmerged path file
diff --git a/file b/file
index 00750ed..707f96d 100644
--- a/file
+++ b/file
@@ -1 +1,5 @@
+<<<<<<< HEAD~1
+1
+=======
3
+>>>>>>> local
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff AUTO_MERGE
fatal: ambiguous argument 'AUTO_MERGE': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) ea23618] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master 7f5d3a9] 2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./repo/file'; git -C './repo' add './file'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./repo/file'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f 0 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
nothing to commit, working tree clean
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* 7f5d3a9 - 2026-05-30 16:46 (2 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* ea23618 - 2026-05-30 16:46 (2 seconds ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout --merge HEAD~1
Note: switching to 'HEAD~1'.
You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by switching back to a branch.
If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -c with the switch command. Example:
git switch -c <new-branch-name>
Or undo this operation with:
git switch -
Turn off this advice by setting config variable advice.detachedHead to false
HEAD is now at ea23618 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 d00491fd7e5bb6fa28c517a0bb32b8b506539d4d 0 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
HEAD detached at ea23618
nothing to commit, working tree clean
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* 7f5d3a9 - 2026-05-30 16:46 (4 seconds ago) 2 - Han Jiang (refs/heads/master)
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* ea23618 - 2026-05-30 16:46 (4 seconds ago) 1 - Han Jiang (HEAD)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 66211d0] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))" --allow-empty
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master b27e3c1] 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./repo/file'; git -C './repo' add './file'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '3' >'./repo/file'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f 0 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
modified: file
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: file
Changes to be committed:
diff --git c/file i/file
index d00491f..0cfbf08 100644
--- c/file
+++ i/file
@@ -1 +1 @@
-1
+2
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git i/file w/file
index 0cfbf08..00750ed 100644
--- i/file
+++ w/file
@@ -1 +1 @@
-2
+3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* b27e3c1 - 2026-05-30 16:46 (2 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
* 66211d0 - 2026-05-30 16:46 (3 seconds ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout --merge HEAD~1
M file
Note: switching to 'HEAD~1'.
You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by switching back to a branch.
If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -c with the switch command. Example:
git switch -c <new-branch-name>
Or undo this operation with:
git switch -
Turn off this advice by setting config variable advice.detachedHead to false
HEAD is now at 66211d0 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f 0 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
HEAD detached at 66211d0
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
modified: file
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: file
Changes to be committed:
diff --git c/file i/file
index d00491f..0cfbf08 100644
--- c/file
+++ i/file
@@ -1 +1 @@
-1
+2
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git i/file w/file
index 0cfbf08..00750ed 100644
--- i/file
+++ w/file
@@ -1 +1 @@
-2
+3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* b27e3c1 - 2026-05-30 16:46 (3 seconds ago) 2 - Han Jiang (refs/heads/master)
* 66211d0 - 2026-05-30 16:46 (4 seconds ago) 1 - Han Jiang (HEAD)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
(see below)
HEAD is detached
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) b5a447c] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch branch1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --list --all --verbose --verbose
branch1 b5a447c 1
* master b5a447c 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* b5a447c - 2026-05-30 16:46 (1 second ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/heads/branch1)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout --detach branch1
HEAD is now at b5a447c 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --list --all --verbose --verbose
* (HEAD detached at refs/heads/branch1) b5a447c 1
branch1 b5a447c 1
master b5a447c 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* b5a447c - 2026-05-30 16:46 (2 seconds ago) 1 - Han Jiang (HEAD, refs/heads/master, refs/heads/branch1)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
create new branch
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 2af7a41] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch branch1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --list --all --verbose --verbose
branch1 2af7a41 1
* master 2af7a41 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 2af7a41 - 2026-05-30 16:46 (1 second ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/heads/branch1)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout -b branch2 branch1
Switched to a new branch 'branch2'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --list --all --verbose --verbose
branch1 2af7a41 1
* branch2 2af7a41 1
master 2af7a41 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 2af7a41 - 2026-05-30 16:46 (2 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/branch2, refs/heads/master, refs/heads/branch1)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
create new branch or reset existent local branch
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 7504c4f] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch branch1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master b988c16] 2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch branch2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --list --all --verbose --verbose
branch1 7504c4f 1
branch2 b988c16 2
* master b988c16 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* b988c16 - 2026-05-30 16:46 (1 second ago) 2 - Han Jiang (HEAD -> refs/heads/master, refs/heads/branch2)
* 7504c4f - 2026-05-30 16:46 (2 seconds ago) 1 - Han Jiang (refs/heads/branch1)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout -B branch1 branch2
Switched to and reset branch 'branch1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --list --all --verbose --verbose
* branch1 b988c16 2
branch2 b988c16 2
master b988c16 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* b988c16 - 2026-05-30 16:46 (2 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/branch1, refs/heads/master, refs/heads/branch2)
* 7504c4f - 2026-05-30 16:46 (3 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
create unborn branch
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 2891b45] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch branch1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --list --all --verbose --verbose
branch1 2891b45 1
* master 2891b45 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 2891b45 - 2026-05-30 16:46 (2 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/heads/branch1)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout --orphan branch2 branch1
Switched to a new branch 'branch2'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --list --all --verbose --verbose
branch1 2891b45 1
master 2891b45 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 2891b45 - 2026-05-30 16:46 (3 seconds ago) 1 - Han Jiang (refs/heads/master, refs/heads/branch1)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' symbolic-ref HEAD
refs/heads/branch2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --show-current
branch2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
(see below)
HEAD is detached
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 11ca488] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --list --all --verbose --verbose
* master 11ca488 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 11ca488 - 2026-05-30 16:47 (1 second ago) 1 - Han Jiang (HEAD -> refs/heads/master)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout --detach
HEAD is now at 11ca488 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --list --all --verbose --verbose
* (HEAD detached at 11ca488) 11ca488 1
master 11ca488 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 11ca488 - 2026-05-30 16:47 (2 seconds ago) 1 - Han Jiang (HEAD, refs/heads/master)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
create new branch
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 37e7570] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --list --all --verbose --verbose
* master 37e7570 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 37e7570 - 2026-05-30 16:47 (1 second ago) 1 - Han Jiang (HEAD -> refs/heads/master)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout -b branch1
Switched to a new branch 'branch1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --list --all --verbose --verbose
* branch1 37e7570 1
master 37e7570 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 37e7570 - 2026-05-30 16:47 (3 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/branch1, refs/heads/master)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
create new branch or reset existent local branch
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) ebd999b] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch branch1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master bb40967] 2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --list --all --verbose --verbose
branch1 ebd999b 1
* master bb40967 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* bb40967 - 2026-05-30 16:47 (1 second ago) 2 - Han Jiang (HEAD -> refs/heads/master)
* ebd999b - 2026-05-30 16:47 (2 seconds ago) 1 - Han Jiang (refs/heads/branch1)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout -B branch1
Switched to and reset branch 'branch1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --list --all --verbose --verbose
* branch1 bb40967 2
master bb40967 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* bb40967 - 2026-05-30 16:47 (2 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/branch1, refs/heads/master)
* ebd999b - 2026-05-30 16:47 (3 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
create unborn branch
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 16a8e80] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --list --all --verbose --verbose
* master 16a8e80 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 16a8e80 - 2026-05-30 16:47 (1 second ago) 1 - Han Jiang (HEAD -> refs/heads/master)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout --orphan branch1
Switched to a new branch 'branch1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --list --all --verbose --verbose
master 16a8e80 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 16a8e80 - 2026-05-30 16:47 (2 seconds ago) 1 - Han Jiang (refs/heads/master)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' symbolic-ref HEAD
refs/heads/branch1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --show-current
branch1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
(see below)
fatal: You are on a branch yet to be born
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --list --all --verbose --verbose
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' symbolic-ref HEAD
refs/heads/master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --show-current
master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout --detach
fatal: You are on a branch yet to be born
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
create unborn branch
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --list --all --verbose --verbose
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' symbolic-ref HEAD
refs/heads/master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --show-current
master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout -b branch1
Switched to a new branch 'branch1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --list --all --verbose --verbose
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' symbolic-ref HEAD
refs/heads/branch1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --show-current
branch1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
if the branch doesn't exist, create unborn branch
if the branch exists, switch to it (doesn't make it unborn)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --list --all --verbose --verbose
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' symbolic-ref HEAD
refs/heads/master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --show-current
master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout -B branch1
Switched to a new branch 'branch1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --list --all --verbose --verbose
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' symbolic-ref HEAD
refs/heads/branch1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --show-current
branch1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ HEAD_old="$(git -C './repo' symbolic-ref HEAD)"; echo "$HEAD_old"
refs/heads/master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout -b branch1
Switched to a new branch 'branch1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch1 (root-commit) ec2abbb] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' symbolic-ref HEAD "$HEAD_old"
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --list --all --verbose --verbose
branch1 ec2abbb 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* ec2abbb - 2026-05-30 16:47 (1 second ago) 1 - Han Jiang (refs/heads/branch1)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' symbolic-ref HEAD
refs/heads/master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --show-current
master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout -B branch1
Switched to a new branch 'branch1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --list --all --verbose --verbose
* branch1 ec2abbb 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* ec2abbb - 2026-05-30 16:47 (3 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/branch1)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' symbolic-ref HEAD
refs/heads/branch1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --show-current
branch1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
create unborn branch
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --list --all --verbose --verbose
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' symbolic-ref HEAD
refs/heads/master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --show-current
master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout --orphan branch1
Switched to a new branch 'branch1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --list --all --verbose --verbose
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' symbolic-ref HEAD
refs/heads/branch1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --show-current
branch1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
checkout the existent local branch
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) dd83b48] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch branch1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --list --all --verbose --verbose
branch1 dd83b48 1
* master dd83b48 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* dd83b48 - 2026-05-30 16:48 (1 second ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/heads/branch1)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1
Switched to branch 'branch1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --list --all --verbose --verbose
* branch1 dd83b48 1
master dd83b48 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* dd83b48 - 2026-05-30 16:48 (2 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/branch1, refs/heads/master)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
when (--no-guess is specified or) 0 or more than 1 remotes have tracking branch with matching name
error out
when more than 1 remotes have tracking branch with matching name but one of the remote is checkout.defaultRemote, or 1 remote has tracking branch with matching name
equivalent to git checkout -b <branch> --track <remote-tracking branch>
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server1' init --bare './repo.git'
Initialized empty Git repository in C:/Program Files/Git/test_git/server1/repo.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server1/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
[master (root-commit) 5773eb1] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server1/repo.git' branch branch2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server1/repo.git' branch branch3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server2' init --bare './repo.git'
Initialized empty Git repository in C:/Program Files/Git/test_git/server2/repo.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server2/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
[master (root-commit) d7df1b9] 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server2/repo.git' branch branch2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' init
Initialized empty Git repository in C:/Program Files/Git/test_git/client/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote add server1 'file://'"$(realpath './server1/repo.git')"
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote add server2 'file://'"$(realpath './server2/repo.git')"
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch --all
Fetching server1
remote: Enumerating objects: 2, done.
remote: Counting objects: 100% (2/2), done.
remote: Total 2 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (2/2), 138 bytes | 23.00 KiB/s, done.
From file:///test_git/server1/repo
* [new branch] branch2 -> server1/branch2
* [new branch] branch3 -> server1/branch3
* [new branch] master -> server1/master
Fetching server2
remote: Enumerating objects: 2, done.
remote: Counting objects: 100% (2/2), done.
remote: Total 2 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (2/2), 138 bytes | 34.00 KiB/s, done.
From file:///test_git/server2/repo
* [new branch] branch2 -> server2/branch2
* [new branch] master -> server2/master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
remotes/server1/HEAD -> server1/master
remotes/server1/branch2 5773eb1 1
remotes/server1/branch3 5773eb1 1
remotes/server1/master 5773eb1 1
remotes/server2/HEAD -> server2/master
remotes/server2/branch2 d7df1b9 2
remotes/server2/master d7df1b9 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all
* d7df1b9 - 2026-05-30 16:48 (4 seconds ago) 2 - Han Jiang (refs/remotes/server2/master, refs/remotes/server2/branch2, refs/remotes/server2/HEAD)
* 5773eb1 - 2026-05-30 16:48 (6 seconds ago) 1 - Han Jiang (refs/remotes/server1/master, refs/remotes/server1/branch3, refs/remotes/server1/branch2, refs/remotes/server1/HEAD)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' checkout branch1
error: pathspec 'branch1' did not match any file(s) known to git
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' checkout branch2
hint: If you meant to check out a remote tracking branch on, e.g. 'origin',
hint: you can do so by fully qualifying the name with the --track option:
hint:
hint: git checkout --track origin/<name>
hint:
hint: If you'd like to always have checkouts of an ambiguous <name> prefer
hint: one remote, e.g. the 'origin' remote, consider setting
hint: checkout.defaultRemote=origin in your config.
fatal: 'branch2' matched multiple (2) remote tracking branches
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' -c checkout.defaultRemote='server1' checkout --no-guess branch2
error: pathspec 'branch2' did not match any file(s) known to git
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' -c checkout.defaultRemote='server1' checkout branch2
branch 'branch2' set up to track 'server1/branch2'.
Switched to a new branch 'branch2'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' checkout --no-guess branch3
error: pathspec 'branch3' did not match any file(s) known to git
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' checkout branch3
branch 'branch3' set up to track 'server1/branch3'.
Switched to a new branch 'branch3'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
branch2 5773eb1 [server1/branch2] 1
* branch3 5773eb1 [server1/branch3] 1
remotes/server1/HEAD -> server1/master
remotes/server1/branch2 5773eb1 1
remotes/server1/branch3 5773eb1 1
remotes/server1/master 5773eb1 1
remotes/server2/HEAD -> server2/master
remotes/server2/branch2 d7df1b9 2
remotes/server2/master d7df1b9 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all
* d7df1b9 - 2026-05-30 16:48 (8 seconds ago) 2 - Han Jiang (refs/remotes/server2/master, refs/remotes/server2/branch2, refs/remotes/server2/HEAD)
* 5773eb1 - 2026-05-30 16:48 (10 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/branch3, refs/remotes/server1/master, refs/remotes/server1/branch3, refs/remotes/server1/branch2, refs/remotes/server1/HEAD, refs/heads/branch2)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
glorified no-op with rather expensive side-effects to show only the tracking information, if it exists, for the current branch
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) e860f20] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --list --all --verbose --verbose
* master e860f20 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* e860f20 - 2026-05-30 16:48 (1 second ago) 1 - Han Jiang (HEAD -> refs/heads/master)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --list --all --verbose --verbose
* master e860f20 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* e860f20 - 2026-05-30 16:48 (2 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
fatal: You are on a branch yet to be born
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --list --all --verbose --verbose
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout
fatal: You are on a branch yet to be born
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 4952448] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch branch1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree add '../worktree1' branch1
Preparing worktree (checking out 'branch1')
HEAD is now at 4952448 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --list --all --verbose --verbose
+ branch1 4952448 (C:/Program Files/Git/test_git/worktree1) 1
* master 4952448 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree list --verbose
C:/Program Files/Git/test_git/repo 4952448 [master]
C:/Program Files/Git/test_git/worktree1 4952448 [branch1]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 4952448 - 2026-05-30 16:48 (2 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/heads/branch1)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' branch --list --all --verbose --verbose
* branch1 4952448 1
+ master 4952448 (C:/Program Files/Git/test_git/repo) 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' worktree list --verbose
C:/Program Files/Git/test_git/repo 4952448 [master]
C:/Program Files/Git/test_git/worktree1 4952448 [branch1]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' lg --all
* 4952448 - 2026-05-30 16:48 (4 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/branch1, refs/heads/master)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1
fatal: 'branch1' is already used by worktree at 'C:/Program Files/Git/test_git/worktree1'
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout --ignore-other-worktrees branch1
Switched to branch 'branch1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --list --all --verbose --verbose
* branch1 4952448 1
master 4952448 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree list --verbose
C:/Program Files/Git/test_git/repo 4952448 [branch1]
C:/Program Files/Git/test_git/worktree1 4952448 [branch1]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 4952448 - 2026-05-30 16:48 (6 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/branch1, refs/heads/master)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' branch --list --all --verbose --verbose
* branch1 4952448 1
master 4952448 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' worktree list --verbose
C:/Program Files/Git/test_git/repo 4952448 [branch1]
C:/Program Files/Git/test_git/worktree1 4952448 [branch1]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' lg --all
* 4952448 - 2026-05-30 16:48 (7 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/branch1, refs/heads/master)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
create new branch
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server' init --bare './repo.git'
Initialized empty Git repository in C:/Program Files/Git/test_git/server/repo.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
[master (root-commit) e1fbda8] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' branch branch1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' init
Initialized empty Git repository in C:/Program Files/Git/test_git/client/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' commit --message="$((++number))" --allow-empty
[master (root-commit) ed8e7e4] 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote add server 'file://'"$(realpath './server/repo.git')"
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
* master ed8e7e4 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch --all
remote: Enumerating objects: 2, done.
remote: Counting objects: 100% (2/2), done.
remote: Total 2 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (2/2), 138 bytes | 23.00 KiB/s, done.
From file:///test_git/server/repo
* [new branch] branch1 -> server/branch1
* [new branch] master -> server/master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
* master ed8e7e4 2
remotes/server/HEAD -> server/master
remotes/server/branch1 e1fbda8 1
remotes/server/master e1fbda8 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all
* ed8e7e4 - 2026-05-30 16:48 (2 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
* e1fbda8 - 2026-05-30 16:48 (4 seconds ago) 1 - Han Jiang (refs/remotes/server/master, refs/remotes/server/branch1, refs/remotes/server/HEAD)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' checkout -b branch11 remotes/server/branch1
branch 'branch11' set up to track 'server/branch1'.
Switched to a new branch 'branch11'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' checkout -b branch12 --no-track remotes/server/branch1
Switched to a new branch 'branch12'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
branch11 e1fbda8 [server/branch1] 1
* branch12 e1fbda8 1
master ed8e7e4 2
remotes/server/HEAD -> server/master
remotes/server/branch1 e1fbda8 1
remotes/server/master e1fbda8 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all
* ed8e7e4 - 2026-05-30 16:48 (4 seconds ago) 2 - Han Jiang (refs/heads/master)
* e1fbda8 - 2026-05-30 16:48 (6 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/branch12, refs/remotes/server/master, refs/remotes/server/branch1, refs/remotes/server/HEAD, refs/heads/branch11)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
create new branch or reset existent local branch
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server' init --bare './repo.git'
Initialized empty Git repository in C:/Program Files/Git/test_git/server/repo.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
[master (root-commit) 880b3b3] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' branch branch1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' init
Initialized empty Git repository in C:/Program Files/Git/test_git/client/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' commit --message="$((++number))" --allow-empty
[master (root-commit) 6e22d43] 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch branch11
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch branch12
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote add server 'file://'"$(realpath './server/repo.git')"
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
branch11 6e22d43 2
branch12 6e22d43 2
* master 6e22d43 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch --all
remote: Enumerating objects: 2, done.
remote: Counting objects: 100% (2/2), done.
remote: Total 2 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (2/2), 137 bytes | 22.00 KiB/s, done.
From file:///test_git/server/repo
* [new branch] branch1 -> server/branch1
* [new branch] master -> server/master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
branch11 6e22d43 2
branch12 6e22d43 2
* master 6e22d43 2
remotes/server/HEAD -> server/master
remotes/server/branch1 880b3b3 1
remotes/server/master 880b3b3 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all
* 6e22d43 - 2026-05-30 16:49 (3 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master, refs/heads/branch12, refs/heads/branch11)
* 880b3b3 - 2026-05-30 16:49 (5 seconds ago) 1 - Han Jiang (refs/remotes/server/master, refs/remotes/server/branch1, refs/remotes/server/HEAD)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' checkout -B branch11 remotes/server/branch1
branch 'branch11' set up to track 'server/branch1'.
Switched to and reset branch 'branch11'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' checkout -B branch12 --no-track remotes/server/branch1
Switched to and reset branch 'branch12'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
branch11 880b3b3 [server/branch1] 1
* branch12 880b3b3 1
master 6e22d43 2
remotes/server/HEAD -> server/master
remotes/server/branch1 880b3b3 1
remotes/server/master 880b3b3 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all
* 6e22d43 - 2026-05-30 16:49 (5 seconds ago) 2 - Han Jiang (refs/heads/master)
* 880b3b3 - 2026-05-30 16:49 (7 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/branch12, refs/remotes/server/master, refs/remotes/server/branch1, refs/remotes/server/HEAD, refs/heads/branch11)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
--no-track doesn't reverse --track in git checkout -b <branch> --track <remote-tracking branch> but causes error
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server1' init --bare './repo.git'
Initialized empty Git repository in C:/Program Files/Git/test_git/server1/repo.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server1/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
[master (root-commit) be2225e] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server1/repo.git' branch branch2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server1/repo.git' branch branch3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server2' init --bare './repo.git'
Initialized empty Git repository in C:/Program Files/Git/test_git/server2/repo.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server2/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
[master (root-commit) a6e965d] 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server2/repo.git' branch branch2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' init
Initialized empty Git repository in C:/Program Files/Git/test_git/client/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote add server1 'file://'"$(realpath './server1/repo.git')"
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote add server2 'file://'"$(realpath './server2/repo.git')"
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch --all
Fetching server1
remote: Enumerating objects: 2, done.
remote: Counting objects: 100% (2/2), done.
remote: Total 2 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (2/2), 138 bytes | 17.00 KiB/s, done.
From file:///test_git/server1/repo
* [new branch] branch2 -> server1/branch2
* [new branch] branch3 -> server1/branch3
* [new branch] master -> server1/master
Fetching server2
remote: Enumerating objects: 2, done.
remote: Counting objects: 100% (2/2), done.
remote: Total 2 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (2/2), 138 bytes | 34.00 KiB/s, done.
From file:///test_git/server2/repo
* [new branch] branch2 -> server2/branch2
* [new branch] master -> server2/master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
remotes/server1/HEAD -> server1/master
remotes/server1/branch2 be2225e 1
remotes/server1/branch3 be2225e 1
remotes/server1/master be2225e 1
remotes/server2/HEAD -> server2/master
remotes/server2/branch2 a6e965d 2
remotes/server2/master a6e965d 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all
* a6e965d - 2026-05-30 16:49 (4 seconds ago) 2 - Han Jiang (refs/remotes/server2/master, refs/remotes/server2/branch2, refs/remotes/server2/HEAD)
* be2225e - 2026-05-30 16:49 (6 seconds ago) 1 - Han Jiang (refs/remotes/server1/master, refs/remotes/server1/branch3, refs/remotes/server1/branch2, refs/remotes/server1/HEAD)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' checkout branch1
error: pathspec 'branch1' did not match any file(s) known to git
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' checkout branch2
hint: If you meant to check out a remote tracking branch on, e.g. 'origin',
hint: you can do so by fully qualifying the name with the --track option:
hint:
hint: git checkout --track origin/<name>
hint:
hint: If you'd like to always have checkouts of an ambiguous <name> prefer
hint: one remote, e.g. the 'origin' remote, consider setting
hint: checkout.defaultRemote=origin in your config.
fatal: 'branch2' matched multiple (2) remote tracking branches
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' -c checkout.defaultRemote='server1' checkout --no-track branch2
fatal: missing branch name; try -b
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' -c checkout.defaultRemote='server1' checkout branch2
branch 'branch2' set up to track 'server1/branch2'.
Switched to a new branch 'branch2'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' checkout --no-track branch3
fatal: missing branch name; try -b
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' checkout branch3
branch 'branch3' set up to track 'server1/branch3'.
Switched to a new branch 'branch3'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
branch2 be2225e [server1/branch2] 1
* branch3 be2225e [server1/branch3] 1
remotes/server1/HEAD -> server1/master
remotes/server1/branch2 be2225e 1
remotes/server1/branch3 be2225e 1
remotes/server1/master be2225e 1
remotes/server2/HEAD -> server2/master
remotes/server2/branch2 a6e965d 2
remotes/server2/master a6e965d 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all
* a6e965d - 2026-05-30 16:49 (7 seconds ago) 2 - Han Jiang (refs/remotes/server2/master, refs/remotes/server2/branch2, refs/remotes/server2/HEAD)
* be2225e - 2026-05-30 16:49 (9 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/branch3, refs/remotes/server1/master, refs/remotes/server1/branch3, refs/remotes/server1/branch2, refs/remotes/server1/HEAD, refs/heads/branch2)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ branch_default_name="$(git -C './repo' branch --show-current)"; echo "$branch_default_name"
master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) b02573e] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout --orphan branch1
Switched to a new branch 'branch1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./repo/file'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch branch1
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: file
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: file
Changes to be committed:
diff --git c/file i/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ i/file
@@ -0,0 +1 @@
+1
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git i/file w/file
index d00491f..0cfbf08 100644
--- i/file
+++ w/file
@@ -1 +1 @@
-1
+2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' rm --cached --force -r '.'
rm 'file'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch branch1
No commits yet
Untracked files:
(use "git add <file>..." to include in what will be committed)
file
nothing added to commit but untracked files present (use "git add" to track)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '/file' >'./repo/.gitignore'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch branch1
No commits yet
Untracked files:
(use "git add <file>..." to include in what will be committed)
.gitignore
nothing added to commit but untracked files present (use "git add" to track)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './repo/file'
./repo/file -/0o100/regular file rw-r--r--/0o644
1 2\n
2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout "$branch_default_name"
Switched to branch 'master'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
Untracked files:
(use "git add <file>..." to include in what will be committed)
.gitignore
nothing added to commit but untracked files present (use "git add" to track)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './repo/file'
./repo/file -/0o100/regular file rw-r--r--/0o644
1 1\r\n
2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ branch_default_name="$(git -C './repo' branch --show-current)"; echo "$branch_default_name"
master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 064cfbe] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout --orphan branch1
Switched to a new branch 'branch1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./repo/file'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch branch1
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: file
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: file
Changes to be committed:
diff --git c/file i/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ i/file
@@ -0,0 +1 @@
+1
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git i/file w/file
index d00491f..0cfbf08 100644
--- i/file
+++ w/file
@@ -1 +1 @@
-1
+2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' rm --cached --force -r '.'
rm 'file'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch branch1
No commits yet
Untracked files:
(use "git add <file>..." to include in what will be committed)
file
nothing added to commit but untracked files present (use "git add" to track)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '/file' >'./repo/.gitignore'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch branch1
No commits yet
Untracked files:
(use "git add <file>..." to include in what will be committed)
.gitignore
nothing added to commit but untracked files present (use "git add" to track)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './repo/file'
./repo/file -/0o100/regular file rw-r--r--/0o644
1 2\n
2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout --no-overwrite-ignore "$branch_default_name"
error: The following untracked working tree files would be overwritten by checkout:
file
Please move or remove them before you switch branches.
Aborting
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' init
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e '1\n5' >'./repo/conflicted'; echo -e '1\n5' >'./repo/conflicted_excluded'; git -C './repo' add './conflicted' './conflicted_excluded'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'conflicted', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'conflicted_excluded', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) d2b0a39] 1
2 files changed, 4 insertions(+)
create mode 100644 conflicted
create mode 100644 conflicted_excluded
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout -b branch1; git -C './repo' branch branch2
Switched to a new branch 'branch1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e '1\n2\n5' >'./repo/conflicted'; echo -e '1\n2\n5' >'./repo/conflicted_excluded'; git -C './repo' add './conflicted' './conflicted_excluded'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'conflicted', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'conflicted_excluded', LF will be replaced by CRLF the next time Git touches it
[branch1 61779da] 2
2 files changed, 2 insertions(+)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch2
Switched to branch 'branch2'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e '1\n3\n5' >'./repo/conflicted'; echo -e '1\n3\n5' >'./repo/conflicted_excluded'; git -C './repo' add './conflicted' './conflicted_excluded'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'conflicted', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'conflicted_excluded', LF will be replaced by CRLF the next time Git touches it
[branch2 ee41334] 3
2 files changed, 2 insertions(+)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1
Switched to branch 'branch1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge branch2 --message="$((++number))"
Auto-merging conflicted
CONFLICT (content): Merge conflict in conflicted
Auto-merging conflicted_excluded
CONFLICT (content): Merge conflict in conflicted_excluded
Automatic merge failed; fix conflicts and then commit the result.
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ mkdir --parents -- './repo/untracked_dir_empty' './repo/untracked_dir_empty_excluded' './repo/untracked_dir' './repo/untracked_dir_excluded'; touch -- './repo/untracked' './repo/untracked_excluded' './repo/untracked_dir/untracked' './repo/untracked_dir/untracked_excluded' './repo/untracked_dir_excluded/untracked' './repo/untracked_dir_excluded/untracked_excluded'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ touch -- './repo/unstaged_deletion' './repo/unstaged_deletion_excluded'; git -C './repo' add './unstaged_deletion' './unstaged_deletion_excluded'; rm -- './repo/unstaged_deletion' './repo/unstaged_deletion_excluded'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/unstaged_modification'; echo '1' >'./repo/unstaged_modification_excluded'; git -C './repo' add './unstaged_modification' './unstaged_modification_excluded'; echo '2' >'./repo/unstaged_modification'; echo '2' >'./repo/unstaged_modification_excluded'
warning: in the working copy of 'unstaged_modification', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'unstaged_modification_excluded', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ mkdir --parents -- './repo/dir_to_file' './repo/dir_to_file_excluded'; touch -- './repo/file_to_dir' './repo/file_to_dir_excluded' './repo/file_to_dir_empty' './repo/file_to_dir_empty_excluded' './repo/dir_to_file/.gitkeep' './repo/dir_to_file_excluded/.gitkeep'; git -C './repo' add './file_to_dir' './file_to_dir_excluded' './file_to_dir_empty' './file_to_dir_empty_excluded' './dir_to_file' './dir_to_file_excluded'; rm --recursive -- './repo/file_to_dir' './repo/file_to_dir_excluded' './repo/file_to_dir_empty' './repo/file_to_dir_empty_excluded' './repo/dir_to_file' './repo/dir_to_file_excluded'; mkdir --parents -- './repo/file_to_dir' './repo/file_to_dir_excluded' './repo/file_to_dir_empty' './repo/file_to_dir_empty_excluded'; touch -- './repo/dir_to_file' './repo/dir_to_file_excluded' './repo/file_to_dir/.gitkeep' './repo/file_to_dir_excluded/.gitkeep'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex '.' -not -regex './repo/.git/hooks/.*' -regextype 'posix-extended'
./ d/0o040/directory rwxr-xr-x/0o755
├╴repo/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴.git/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴AUTO_MERGE -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 f58cd3491449d006743d6173c2a67f7afef62f63\n
│ │ │ 2
│ │ ├╴COMMIT_EDITMSG -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 3\n
│ │ │ 2
│ │ ├╴config -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 [core]\n
│ │ │ 2 \trepositoryformatversion = 0\n
│ │ │ 3 \tfilemode = false\n
│ │ │ 4 \tbare = false\n
│ │ │ 5 \tlogallrefupdates = true\n
│ │ │ 6 \tignorecase = true\n
│ │ │ 7
│ │ ├╴description -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 Unnamed repository; edit this file 'description' to name the repository.\n
│ │ │ 2
│ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 ref: refs/heads/branch1\n
│ │ │ 2
│ │ ├╴hooks/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴index -/0o100/regular file rw-r--r--/0o644
│ │ ├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴exclude -/0o100/regular file rw-r--r--/0o644
│ │ │ │ 1 # git ls-files --others --exclude-from=.git/info/exclude\n
│ │ │ │ 2 # Lines that start with '#' are comments.\n
│ │ │ │ 3 # For a project mostly in C, the following would be a good set of\n
│ │ │ │ 4 # exclude patterns (uncomment them if you want to use them):\n
│ │ │ │ 5 # *.[oa]\n
│ │ │ │ 6 # *~\n
│ │ │ │ 7
│ │ ├╴logs/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ │ 1 0000000000000000000000000000000000000000 d2b0a399eac4f87ae30ac9a0286233de47a52ca6 Han Jiang <jhcarl0814@gmail.com> 1780116588 +1200\tcommit (initial): 1\n
│ │ │ │ 2 d2b0a399eac4f87ae30ac9a0286233de47a52ca6 d2b0a399eac4f87ae30ac9a0286233de47a52ca6 Han Jiang <jhcarl0814@gmail.com> 1780116589 +1200\tcheckout: moving from master to branch1\n
│ │ │ │ 3 d2b0a399eac4f87ae30ac9a0286233de47a52ca6 61779da2c126062aff6a79e2cf1f6a78a0599b44 Han Jiang <jhcarl0814@gmail.com> 1780116589 +1200\tcommit: 2\n
│ │ │ │ 4 61779da2c126062aff6a79e2cf1f6a78a0599b44 d2b0a399eac4f87ae30ac9a0286233de47a52ca6 Han Jiang <jhcarl0814@gmail.com> 1780116590 +1200\tcheckout: moving from branch1 to branch2\n
│ │ │ │ 5 d2b0a399eac4f87ae30ac9a0286233de47a52ca6 ee4133433b9434fecd23161687536a0dd16abb76 Han Jiang <jhcarl0814@gmail.com> 1780116590 +1200\tcommit: 3\n
│ │ │ │ 6 ee4133433b9434fecd23161687536a0dd16abb76 61779da2c126062aff6a79e2cf1f6a78a0599b44 Han Jiang <jhcarl0814@gmail.com> 1780116591 +1200\tcheckout: moving from branch2 to branch1\n
│ │ │ │ 7
│ │ │ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴heads/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ │ ├╴branch1 -/0o100/regular file rw-r--r--/0o644
│ │ │ │ │ │ 1 0000000000000000000000000000000000000000 d2b0a399eac4f87ae30ac9a0286233de47a52ca6 Han Jiang <jhcarl0814@gmail.com> 1780116589 +1200\tbranch: Created from HEAD\n
│ │ │ │ │ │ 2 d2b0a399eac4f87ae30ac9a0286233de47a52ca6 61779da2c126062aff6a79e2cf1f6a78a0599b44 Han Jiang <jhcarl0814@gmail.com> 1780116589 +1200\tcommit: 2\n
│ │ │ │ │ │ 3
│ │ │ │ │ ├╴branch2 -/0o100/regular file rw-r--r--/0o644
│ │ │ │ │ │ 1 0000000000000000000000000000000000000000 d2b0a399eac4f87ae30ac9a0286233de47a52ca6 Han Jiang <jhcarl0814@gmail.com> 1780116589 +1200\tbranch: Created from branch1\n
│ │ │ │ │ │ 2 d2b0a399eac4f87ae30ac9a0286233de47a52ca6 ee4133433b9434fecd23161687536a0dd16abb76 Han Jiang <jhcarl0814@gmail.com> 1780116590 +1200\tcommit: 3\n
│ │ │ │ │ │ 3
│ │ │ │ │ ├╴master -/0o100/regular file rw-r--r--/0o644
│ │ │ │ │ │ 1 0000000000000000000000000000000000000000 d2b0a399eac4f87ae30ac9a0286233de47a52ca6 Han Jiang <jhcarl0814@gmail.com> 1780116588 +1200\tcommit (initial): 1\n
│ │ │ │ │ │ 2
│ │ ├╴MERGE_HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 ee4133433b9434fecd23161687536a0dd16abb76\n
│ │ │ 2
│ │ ├╴MERGE_MODE -/0o100/regular empty file rw-r--r--/0o644
│ │ │ 1
│ │ ├╴MERGE_MSG -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 4\n
│ │ │ 2 \n
│ │ │ 3 # Conflicts:\n
│ │ │ 4 #\tconflicted\n
│ │ │ 5 #\tconflicted_excluded\n
│ │ │ 6
│ │ ├╴objects/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴08/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴0a8fd0a532227ee4ce726238be33d219cc3642 -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴26/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴b37d07facfc371afa61dac1dc310e2d7c02597 -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴40/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴3ec31f0a10be94cad6ab8663f2d508869a06b0 -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴61/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴779da2c126062aff6a79e2cf1f6a78a0599b44 -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴82/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴8f36cb233d2562a1e2c039fd6b5442e85aa168 -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴c7/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴282027d1875479bb99724d26b3d1109ebf8b60 -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴d0/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴0491fd7e5bb6fa28c517a0bb32b8b506539d4d -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴d2/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴b0a399eac4f87ae30ac9a0286233de47a52ca6 -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴df/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴b377d39dfbfa96bcd0296237d3feecc4c6e83d -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴e1/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴bb0e2e481d4f63bfc649cd3cdab9b95e8a2826 -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴e6/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴9de29bb2d1d6434b8b29ae775ad8c2e48c5391 -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴ee/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴4133433b9434fecd23161687536a0dd16abb76 -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴f5/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴8cd3491449d006743d6173c2a67f7afef62f63 -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴pack/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴ORIG_HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 61779da2c126062aff6a79e2cf1f6a78a0599b44\n
│ │ │ 2
│ │ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴heads/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴branch1 -/0o100/regular file rw-r--r--/0o644
│ │ │ │ │ 1 61779da2c126062aff6a79e2cf1f6a78a0599b44\n
│ │ │ │ │ 2
│ │ │ │ ├╴branch2 -/0o100/regular file rw-r--r--/0o644
│ │ │ │ │ 1 ee4133433b9434fecd23161687536a0dd16abb76\n
│ │ │ │ │ 2
│ │ │ │ ├╴master -/0o100/regular file rw-r--r--/0o644
│ │ │ │ │ 1 d2b0a399eac4f87ae30ac9a0286233de47a52ca6\n
│ │ │ │ │ 2
│ │ │ ├╴tags/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴conflicted -/0o100/regular file rw-r--r--/0o644
│ │ 1 1\r\n
│ │ 2 <<<<<<< HEAD\r\n
│ │ 3 2\r\n
│ │ 4 =======\r\n
│ │ 5 3\r\n
│ │ 6 >>>>>>> branch2\r\n
│ │ 7 5\r\n
│ │ 8
│ ├╴conflicted_excluded -/0o100/regular file rw-r--r--/0o644
│ │ 1 1\r\n
│ │ 2 <<<<<<< HEAD\r\n
│ │ 3 2\r\n
│ │ 4 =======\r\n
│ │ 5 3\r\n
│ │ 6 >>>>>>> branch2\r\n
│ │ 7 5\r\n
│ │ 8
│ ├╴dir_to_file -/0o100/regular empty file rw-r--r--/0o644
│ │ 1
│ ├╴dir_to_file_excluded -/0o100/regular empty file rw-r--r--/0o644
│ │ 1
│ ├╴file_to_dir/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴.gitkeep -/0o100/regular empty file rw-r--r--/0o644
│ │ │ 1
│ ├╴file_to_dir_empty/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴file_to_dir_empty_excluded/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴file_to_dir_excluded/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴.gitkeep -/0o100/regular empty file rw-r--r--/0o644
│ │ │ 1
│ ├╴unstaged_modification -/0o100/regular file rw-r--r--/0o644
│ │ 1 2\n
│ │ 2
│ ├╴unstaged_modification_excluded -/0o100/regular file rw-r--r--/0o644
│ │ 1 2\n
│ │ 2
│ ├╴untracked -/0o100/regular empty file rw-r--r--/0o644
│ │ 1
│ ├╴untracked_dir/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴untracked -/0o100/regular empty file rw-r--r--/0o644
│ │ │ 1
│ │ ├╴untracked_excluded -/0o100/regular empty file rw-r--r--/0o644
│ │ │ 1
│ ├╴untracked_dir_empty/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴untracked_dir_empty_excluded/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴untracked_dir_excluded/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴untracked -/0o100/regular empty file rw-r--r--/0o644
│ │ │ 1
│ │ ├╴untracked_excluded -/0o100/regular empty file rw-r--r--/0o644
│ │ │ 1
│ ├╴untracked_excluded -/0o100/regular empty file rw-r--r--/0o644
│ │ 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --stage
M 100644 26b37d07facfc371afa61dac1dc310e2d7c02597 1 conflicted
M 100644 c7282027d1875479bb99724d26b3d1109ebf8b60 2 conflicted
M 100644 403ec31f0a10be94cad6ab8663f2d508869a06b0 3 conflicted
M 100644 26b37d07facfc371afa61dac1dc310e2d7c02597 1 conflicted_excluded
M 100644 c7282027d1875479bb99724d26b3d1109ebf8b60 2 conflicted_excluded
M 100644 403ec31f0a10be94cad6ab8663f2d508869a06b0 3 conflicted_excluded
H 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 dir_to_file/.gitkeep
H 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 dir_to_file_excluded/.gitkeep
H 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 file_to_dir
H 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 file_to_dir_empty
H 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 file_to_dir_empty_excluded
H 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 file_to_dir_excluded
H 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 unstaged_deletion
H 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 unstaged_deletion_excluded
H 100644 d00491fd7e5bb6fa28c517a0bb32b8b506539d4d 0 unstaged_modification
H 100644 d00491fd7e5bb6fa28c517a0bb32b8b506539d4d 0 unstaged_modification_excluded
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --stage --exclude="*_excluded"
M 100644 26b37d07facfc371afa61dac1dc310e2d7c02597 1 conflicted
M 100644 c7282027d1875479bb99724d26b3d1109ebf8b60 2 conflicted
M 100644 403ec31f0a10be94cad6ab8663f2d508869a06b0 3 conflicted
M 100644 26b37d07facfc371afa61dac1dc310e2d7c02597 1 conflicted_excluded
M 100644 c7282027d1875479bb99724d26b3d1109ebf8b60 2 conflicted_excluded
M 100644 403ec31f0a10be94cad6ab8663f2d508869a06b0 3 conflicted_excluded
H 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 dir_to_file/.gitkeep
H 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 dir_to_file_excluded/.gitkeep
H 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 file_to_dir
H 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 file_to_dir_empty
H 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 file_to_dir_empty_excluded
H 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 file_to_dir_excluded
H 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 unstaged_deletion
H 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 unstaged_deletion_excluded
H 100644 d00491fd7e5bb6fa28c517a0bb32b8b506539d4d 0 unstaged_modification
H 100644 d00491fd7e5bb6fa28c517a0bb32b8b506539d4d 0 unstaged_modification_excluded
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --stage --exclude="*_excluded" --ignored
fatal: ls-files -i must be used with either -o or -c
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --others --stage --exclude="*_excluded" --ignored
? dir_to_file_excluded
? file_to_dir_excluded/.gitkeep
? untracked_dir/untracked_excluded
? untracked_dir_excluded/untracked
? untracked_dir_excluded/untracked_excluded
? untracked_excluded
M 100644 26b37d07facfc371afa61dac1dc310e2d7c02597 1 conflicted_excluded
M 100644 c7282027d1875479bb99724d26b3d1109ebf8b60 2 conflicted_excluded
M 100644 403ec31f0a10be94cad6ab8663f2d508869a06b0 3 conflicted_excluded
H 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 dir_to_file_excluded/.gitkeep
H 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 file_to_dir_empty_excluded
H 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 file_to_dir_excluded
H 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 unstaged_deletion_excluded
H 100644 d00491fd7e5bb6fa28c517a0bb32b8b506539d4d 0 unstaged_modification_excluded
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --others --stage --exclude="*_excluded" --ignored | tail --lines='+'"$(("$(git -C './repo' ls-files -t --others --exclude="*_excluded" --ignored | wc --lines)"+1))"
M 100644 26b37d07facfc371afa61dac1dc310e2d7c02597 1 conflicted_excluded
M 100644 c7282027d1875479bb99724d26b3d1109ebf8b60 2 conflicted_excluded
M 100644 403ec31f0a10be94cad6ab8663f2d508869a06b0 3 conflicted_excluded
H 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 dir_to_file_excluded/.gitkeep
H 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 file_to_dir_empty_excluded
H 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 file_to_dir_excluded
H 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 unstaged_deletion_excluded
H 100644 d00491fd7e5bb6fa28c517a0bb32b8b506539d4d 0 unstaged_modification_excluded
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --cached
M conflicted
M conflicted
M conflicted
M conflicted_excluded
M conflicted_excluded
M conflicted_excluded
H dir_to_file/.gitkeep
H dir_to_file_excluded/.gitkeep
H file_to_dir
H file_to_dir_empty
H file_to_dir_empty_excluded
H file_to_dir_excluded
H unstaged_deletion
H unstaged_deletion_excluded
H unstaged_modification
H unstaged_modification_excluded
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --cached --exclude="*_excluded"
M conflicted
M conflicted
M conflicted
M conflicted_excluded
M conflicted_excluded
M conflicted_excluded
H dir_to_file/.gitkeep
H dir_to_file_excluded/.gitkeep
H file_to_dir
H file_to_dir_empty
H file_to_dir_empty_excluded
H file_to_dir_excluded
H unstaged_deletion
H unstaged_deletion_excluded
H unstaged_modification
H unstaged_modification_excluded
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --cached --exclude="*_excluded" --ignored
M conflicted_excluded
M conflicted_excluded
M conflicted_excluded
H dir_to_file_excluded/.gitkeep
H file_to_dir_empty_excluded
H file_to_dir_excluded
H unstaged_deletion_excluded
H unstaged_modification_excluded
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --others
? dir_to_file
? dir_to_file_excluded
? file_to_dir/.gitkeep
? file_to_dir_excluded/.gitkeep
? untracked
? untracked_dir/untracked
? untracked_dir/untracked_excluded
? untracked_dir_excluded/untracked
? untracked_dir_excluded/untracked_excluded
? untracked_excluded
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --others --exclude="*_excluded"
? dir_to_file
? file_to_dir/.gitkeep
? untracked
? untracked_dir/untracked
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --others --exclude="*_excluded" --ignored
? dir_to_file_excluded
? file_to_dir_excluded/.gitkeep
? untracked_dir/untracked_excluded
? untracked_dir_excluded/untracked
? untracked_dir_excluded/untracked_excluded
? untracked_excluded
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --others --directory
? dir_to_file
? dir_to_file_excluded
? untracked
? untracked_dir/
? untracked_dir_empty/
? untracked_dir_empty_excluded/
? untracked_dir_excluded/
? untracked_excluded
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --others --directory --exclude="*_excluded"
? dir_to_file
? untracked
? untracked_dir/
? untracked_dir_empty/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --others --directory --exclude="*_excluded" --ignored
? dir_to_file_excluded
? untracked_dir/untracked_excluded
? untracked_dir_empty_excluded/
? untracked_dir_excluded/
? untracked_excluded
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --others --directory --no-empty-directory
? dir_to_file
? dir_to_file_excluded
? untracked
? untracked_dir/
? untracked_dir_excluded/
? untracked_excluded
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --others --directory --no-empty-directory --exclude="*_excluded"
? dir_to_file
? untracked
? untracked_dir/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --others --directory --no-empty-directory --exclude="*_excluded" --ignored
? dir_to_file_excluded
? untracked_dir_excluded/
? untracked_excluded
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' init
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ mkdir --parents -- './repo/untracked_dir_empty' './repo/untracked_dir_empty_excluded' './repo/untracked_dir' './repo/untracked_dir_excluded'; touch -- './repo/untracked' './repo/untracked_excluded' './repo/untracked_dir/untracked' './repo/untracked_dir/untracked_excluded' './repo/untracked_dir_excluded/untracked' './repo/untracked_dir_excluded/untracked_excluded'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ touch -- './repo/unstaged_deletion' './repo/unstaged_deletion_excluded'; git -C './repo' add './unstaged_deletion' './unstaged_deletion_excluded'; rm -- './repo/unstaged_deletion' './repo/unstaged_deletion_excluded'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/unstaged_modification'; echo '1' >'./repo/unstaged_modification_excluded'; git -C './repo' add './unstaged_modification' './unstaged_modification_excluded'; echo '2' >'./repo/unstaged_modification'; echo '2' >'./repo/unstaged_modification_excluded'
warning: in the working copy of 'unstaged_modification', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'unstaged_modification_excluded', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex '.' -not -regex './repo/.git/hooks/.*' -regextype 'posix-extended'
./ d/0o040/directory rwxr-xr-x/0o755
├╴repo/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴.git/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴config -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 [core]\n
│ │ │ 2 \trepositoryformatversion = 0\n
│ │ │ 3 \tfilemode = false\n
│ │ │ 4 \tbare = false\n
│ │ │ 5 \tlogallrefupdates = true\n
│ │ │ 6 \tignorecase = true\n
│ │ │ 7
│ │ ├╴description -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 Unnamed repository; edit this file 'description' to name the repository.\n
│ │ │ 2
│ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 ref: refs/heads/master\n
│ │ │ 2
│ │ ├╴hooks/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴index -/0o100/regular file rw-r--r--/0o644
│ │ ├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴exclude -/0o100/regular file rw-r--r--/0o644
│ │ │ │ 1 # git ls-files --others --exclude-from=.git/info/exclude\n
│ │ │ │ 2 # Lines that start with '#' are comments.\n
│ │ │ │ 3 # For a project mostly in C, the following would be a good set of\n
│ │ │ │ 4 # exclude patterns (uncomment them if you want to use them):\n
│ │ │ │ 5 # *.[oa]\n
│ │ │ │ 6 # *~\n
│ │ │ │ 7
│ │ ├╴objects/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴d0/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴0491fd7e5bb6fa28c517a0bb32b8b506539d4d -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴e6/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴9de29bb2d1d6434b8b29ae775ad8c2e48c5391 -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴pack/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴heads/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴tags/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴unstaged_modification -/0o100/regular file rw-r--r--/0o644
│ │ 1 2\n
│ │ 2
│ ├╴unstaged_modification_excluded -/0o100/regular file rw-r--r--/0o644
│ │ 1 2\n
│ │ 2
│ ├╴untracked -/0o100/regular empty file rw-r--r--/0o644
│ │ 1
│ ├╴untracked_dir/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴untracked -/0o100/regular empty file rw-r--r--/0o644
│ │ │ 1
│ │ ├╴untracked_excluded -/0o100/regular empty file rw-r--r--/0o644
│ │ │ 1
│ ├╴untracked_dir_empty/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴untracked_dir_empty_excluded/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴untracked_dir_excluded/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴untracked -/0o100/regular empty file rw-r--r--/0o644
│ │ │ 1
│ │ ├╴untracked_excluded -/0o100/regular empty file rw-r--r--/0o644
│ │ │ 1
│ ├╴untracked_excluded -/0o100/regular empty file rw-r--r--/0o644
│ │ 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --deleted
R unstaged_deletion
R unstaged_deletion_excluded
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --deleted --exclude="*_excluded"
R unstaged_deletion
R unstaged_deletion_excluded
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --deleted --exclude="*_excluded" --ignored
fatal: ls-files -i must be used with either -o or -c
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --others --deleted --exclude="*_excluded" --ignored
? untracked_dir/untracked_excluded
? untracked_dir_excluded/untracked
? untracked_dir_excluded/untracked_excluded
? untracked_excluded
R unstaged_deletion_excluded
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --others --deleted --exclude="*_excluded" --ignored | tail --lines='+'"$(("$(git -C './repo' ls-files -t --others --exclude="*_excluded" --ignored | wc --lines)"+1))"
R unstaged_deletion_excluded
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --modified
C unstaged_deletion
C unstaged_deletion_excluded
C unstaged_modification
C unstaged_modification_excluded
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --modified --exclude="*_excluded"
C unstaged_deletion
C unstaged_deletion_excluded
C unstaged_modification
C unstaged_modification_excluded
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --modified --exclude="*_excluded" --ignored
fatal: ls-files -i must be used with either -o or -c
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --others --modified --exclude="*_excluded" --ignored
? untracked_dir/untracked_excluded
? untracked_dir_excluded/untracked
? untracked_dir_excluded/untracked_excluded
? untracked_excluded
C unstaged_deletion_excluded
C unstaged_modification_excluded
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --others --modified --exclude="*_excluded" --ignored | tail --lines='+'"$(("$(git -C './repo' ls-files -t --others --exclude="*_excluded" --ignored | wc --lines)"+1))"
C unstaged_deletion_excluded
C unstaged_modification_excluded
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' init
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ mkdir --parents -- './repo/dir_to_file' './repo/dir_to_file_excluded'; touch -- './repo/file_to_dir' './repo/file_to_dir_excluded' './repo/file_to_dir_empty' './repo/file_to_dir_empty_excluded' './repo/dir_to_file/.gitkeep' './repo/dir_to_file_excluded/.gitkeep'; git -C './repo' add './file_to_dir' './file_to_dir_excluded' './file_to_dir_empty' './file_to_dir_empty_excluded' './dir_to_file' './dir_to_file_excluded'; rm --recursive -- './repo/file_to_dir' './repo/file_to_dir_excluded' './repo/file_to_dir_empty' './repo/file_to_dir_empty_excluded' './repo/dir_to_file' './repo/dir_to_file_excluded'; mkdir --parents -- './repo/file_to_dir' './repo/file_to_dir_excluded' './repo/file_to_dir_empty' './repo/file_to_dir_empty_excluded'; touch -- './repo/dir_to_file' './repo/dir_to_file_excluded' './repo/file_to_dir/.gitkeep' './repo/file_to_dir_excluded/.gitkeep'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex '.' -not -regex './repo/.git/hooks/.*' -regextype 'posix-extended'
./ d/0o040/directory rwxr-xr-x/0o755
├╴repo/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴.git/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴config -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 [core]\n
│ │ │ 2 \trepositoryformatversion = 0\n
│ │ │ 3 \tfilemode = false\n
│ │ │ 4 \tbare = false\n
│ │ │ 5 \tlogallrefupdates = true\n
│ │ │ 6 \tignorecase = true\n
│ │ │ 7
│ │ ├╴description -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 Unnamed repository; edit this file 'description' to name the repository.\n
│ │ │ 2
│ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 ref: refs/heads/master\n
│ │ │ 2
│ │ ├╴hooks/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴index -/0o100/regular file rw-r--r--/0o644
│ │ ├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴exclude -/0o100/regular file rw-r--r--/0o644
│ │ │ │ 1 # git ls-files --others --exclude-from=.git/info/exclude\n
│ │ │ │ 2 # Lines that start with '#' are comments.\n
│ │ │ │ 3 # For a project mostly in C, the following would be a good set of\n
│ │ │ │ 4 # exclude patterns (uncomment them if you want to use them):\n
│ │ │ │ 5 # *.[oa]\n
│ │ │ │ 6 # *~\n
│ │ │ │ 7
│ │ ├╴objects/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴e6/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴9de29bb2d1d6434b8b29ae775ad8c2e48c5391 -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴pack/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴heads/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴tags/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴dir_to_file -/0o100/regular empty file rw-r--r--/0o644
│ │ 1
│ ├╴dir_to_file_excluded -/0o100/regular empty file rw-r--r--/0o644
│ │ 1
│ ├╴file_to_dir/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴.gitkeep -/0o100/regular empty file rw-r--r--/0o644
│ │ │ 1
│ ├╴file_to_dir_empty/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴file_to_dir_empty_excluded/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴file_to_dir_excluded/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴.gitkeep -/0o100/regular empty file rw-r--r--/0o644
│ │ │ 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --killed
K dir_to_file
K dir_to_file_excluded
K file_to_dir/.gitkeep
K file_to_dir_excluded/.gitkeep
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --killed --exclude="*_excluded"
K dir_to_file
K file_to_dir/.gitkeep
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --killed --exclude="*_excluded" --ignored
fatal: ls-files -i must be used with either -o or -c
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --others --killed --exclude="*_excluded" --ignored
? dir_to_file_excluded
? file_to_dir_excluded/.gitkeep
K dir_to_file_excluded
K file_to_dir_excluded/.gitkeep
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --others --killed --exclude="*_excluded" --ignored | tail --lines='+'"$(("$(git -C './repo' ls-files -t --others --exclude="*_excluded" --ignored | wc --lines)"+1))"
K dir_to_file_excluded
K file_to_dir_excluded/.gitkeep
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --killed --directory
K dir_to_file
K dir_to_file_excluded
K file_to_dir/
K file_to_dir_empty/
K file_to_dir_empty_excluded/
K file_to_dir_excluded/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --killed --directory --exclude="*_excluded"
K dir_to_file
K file_to_dir/
K file_to_dir_empty/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --killed --directory --exclude="*_excluded" --ignored
fatal: ls-files -i must be used with either -o or -c
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --others --killed --directory --exclude="*_excluded" --ignored
? dir_to_file_excluded
K dir_to_file_excluded
K file_to_dir_empty_excluded/
K file_to_dir_excluded/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --others --killed --directory --exclude="*_excluded" --ignored | tail --lines='+'"$(("$(git -C './repo' ls-files -t --others --directory --exclude="*_excluded" --ignored | wc --lines)"+1))"
K dir_to_file_excluded
K file_to_dir_empty_excluded/
K file_to_dir_excluded/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --killed --directory --no-empty-directory
K dir_to_file
K dir_to_file_excluded
K file_to_dir/
K file_to_dir_excluded/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --killed --directory --no-empty-directory --exclude="*_excluded"
K dir_to_file
K file_to_dir/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --killed --directory --no-empty-directory --exclude="*_excluded" --ignored
fatal: ls-files -i must be used with either -o or -c
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --others --killed --directory --no-empty-directory --exclude="*_excluded" --ignored
? dir_to_file_excluded
K dir_to_file_excluded
K file_to_dir_excluded/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --others --killed --directory --no-empty-directory --exclude="*_excluded" --ignored | tail --lines='+'"$(("$(git -C './repo' ls-files -t --others --directory --no-empty-directory --exclude="*_excluded" --ignored | wc --lines)"+1))"
K dir_to_file_excluded
K file_to_dir_excluded/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' init
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e '1\n5' >'./repo/conflicted'; echo -e '1\n5' >'./repo/conflicted_excluded'; git -C './repo' add './conflicted' './conflicted_excluded'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'conflicted', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'conflicted_excluded', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 0c16a4d] 1
2 files changed, 4 insertions(+)
create mode 100644 conflicted
create mode 100644 conflicted_excluded
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout -b branch1; git -C './repo' branch branch2
Switched to a new branch 'branch1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e '1\n2\n5' >'./repo/conflicted'; echo -e '1\n2\n5' >'./repo/conflicted_excluded'; git -C './repo' add './conflicted' './conflicted_excluded'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'conflicted', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'conflicted_excluded', LF will be replaced by CRLF the next time Git touches it
[branch1 70bab23] 2
2 files changed, 2 insertions(+)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch2
Switched to branch 'branch2'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e '1\n3\n5' >'./repo/conflicted'; echo -e '1\n3\n5' >'./repo/conflicted_excluded'; git -C './repo' add './conflicted' './conflicted_excluded'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'conflicted', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'conflicted_excluded', LF will be replaced by CRLF the next time Git touches it
[branch2 54f9de8] 3
2 files changed, 2 insertions(+)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1
Switched to branch 'branch1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge branch2 --message="$((++number))"
Auto-merging conflicted
CONFLICT (content): Merge conflict in conflicted
Auto-merging conflicted_excluded
CONFLICT (content): Merge conflict in conflicted_excluded
Automatic merge failed; fix conflicts and then commit the result.
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex '.' -not -regex './repo/.git/hooks/.*' -regextype 'posix-extended'
./ d/0o040/directory rwxr-xr-x/0o755
├╴repo/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴.git/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴AUTO_MERGE -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 f58cd3491449d006743d6173c2a67f7afef62f63\n
│ │ │ 2
│ │ ├╴COMMIT_EDITMSG -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 3\n
│ │ │ 2
│ │ ├╴config -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 [core]\n
│ │ │ 2 \trepositoryformatversion = 0\n
│ │ │ 3 \tfilemode = false\n
│ │ │ 4 \tbare = false\n
│ │ │ 5 \tlogallrefupdates = true\n
│ │ │ 6 \tignorecase = true\n
│ │ │ 7
│ │ ├╴description -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 Unnamed repository; edit this file 'description' to name the repository.\n
│ │ │ 2
│ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 ref: refs/heads/branch1\n
│ │ │ 2
│ │ ├╴hooks/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴index -/0o100/regular file rw-r--r--/0o644
│ │ ├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴exclude -/0o100/regular file rw-r--r--/0o644
│ │ │ │ 1 # git ls-files --others --exclude-from=.git/info/exclude\n
│ │ │ │ 2 # Lines that start with '#' are comments.\n
│ │ │ │ 3 # For a project mostly in C, the following would be a good set of\n
│ │ │ │ 4 # exclude patterns (uncomment them if you want to use them):\n
│ │ │ │ 5 # *.[oa]\n
│ │ │ │ 6 # *~\n
│ │ │ │ 7
│ │ ├╴logs/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ │ 1 0000000000000000000000000000000000000000 0c16a4d87d9a306c0cda8f297ba5fc5f14498cd7 Han Jiang <jhcarl0814@gmail.com> 1780116677 +1200\tcommit (initial): 1\n
│ │ │ │ 2 0c16a4d87d9a306c0cda8f297ba5fc5f14498cd7 0c16a4d87d9a306c0cda8f297ba5fc5f14498cd7 Han Jiang <jhcarl0814@gmail.com> 1780116677 +1200\tcheckout: moving from master to branch1\n
│ │ │ │ 3 0c16a4d87d9a306c0cda8f297ba5fc5f14498cd7 70bab23845e221850b129fa53fb0c34ef2feb8e6 Han Jiang <jhcarl0814@gmail.com> 1780116678 +1200\tcommit: 2\n
│ │ │ │ 4 70bab23845e221850b129fa53fb0c34ef2feb8e6 0c16a4d87d9a306c0cda8f297ba5fc5f14498cd7 Han Jiang <jhcarl0814@gmail.com> 1780116678 +1200\tcheckout: moving from branch1 to branch2\n
│ │ │ │ 5 0c16a4d87d9a306c0cda8f297ba5fc5f14498cd7 54f9de842ae50a140220e63ed6cbf2ae7aefd7da Han Jiang <jhcarl0814@gmail.com> 1780116679 +1200\tcommit: 3\n
│ │ │ │ 6 54f9de842ae50a140220e63ed6cbf2ae7aefd7da 70bab23845e221850b129fa53fb0c34ef2feb8e6 Han Jiang <jhcarl0814@gmail.com> 1780116679 +1200\tcheckout: moving from branch2 to branch1\n
│ │ │ │ 7
│ │ │ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴heads/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ │ ├╴branch1 -/0o100/regular file rw-r--r--/0o644
│ │ │ │ │ │ 1 0000000000000000000000000000000000000000 0c16a4d87d9a306c0cda8f297ba5fc5f14498cd7 Han Jiang <jhcarl0814@gmail.com> 1780116677 +1200\tbranch: Created from HEAD\n
│ │ │ │ │ │ 2 0c16a4d87d9a306c0cda8f297ba5fc5f14498cd7 70bab23845e221850b129fa53fb0c34ef2feb8e6 Han Jiang <jhcarl0814@gmail.com> 1780116678 +1200\tcommit: 2\n
│ │ │ │ │ │ 3
│ │ │ │ │ ├╴branch2 -/0o100/regular file rw-r--r--/0o644
│ │ │ │ │ │ 1 0000000000000000000000000000000000000000 0c16a4d87d9a306c0cda8f297ba5fc5f14498cd7 Han Jiang <jhcarl0814@gmail.com> 1780116677 +1200\tbranch: Created from branch1\n
│ │ │ │ │ │ 2 0c16a4d87d9a306c0cda8f297ba5fc5f14498cd7 54f9de842ae50a140220e63ed6cbf2ae7aefd7da Han Jiang <jhcarl0814@gmail.com> 1780116679 +1200\tcommit: 3\n
│ │ │ │ │ │ 3
│ │ │ │ │ ├╴master -/0o100/regular file rw-r--r--/0o644
│ │ │ │ │ │ 1 0000000000000000000000000000000000000000 0c16a4d87d9a306c0cda8f297ba5fc5f14498cd7 Han Jiang <jhcarl0814@gmail.com> 1780116677 +1200\tcommit (initial): 1\n
│ │ │ │ │ │ 2
│ │ ├╴MERGE_HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 54f9de842ae50a140220e63ed6cbf2ae7aefd7da\n
│ │ │ 2
│ │ ├╴MERGE_MODE -/0o100/regular empty file rw-r--r--/0o644
│ │ │ 1
│ │ ├╴MERGE_MSG -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 4\n
│ │ │ 2 \n
│ │ │ 3 # Conflicts:\n
│ │ │ 4 #\tconflicted\n
│ │ │ 5 #\tconflicted_excluded\n
│ │ │ 6
│ │ ├╴objects/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴08/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴0a8fd0a532227ee4ce726238be33d219cc3642 -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴0c/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴16a4d87d9a306c0cda8f297ba5fc5f14498cd7 -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴26/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴b37d07facfc371afa61dac1dc310e2d7c02597 -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴40/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴3ec31f0a10be94cad6ab8663f2d508869a06b0 -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴54/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴f9de842ae50a140220e63ed6cbf2ae7aefd7da -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴70/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴bab23845e221850b129fa53fb0c34ef2feb8e6 -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴82/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴8f36cb233d2562a1e2c039fd6b5442e85aa168 -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴c7/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴282027d1875479bb99724d26b3d1109ebf8b60 -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴df/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴b377d39dfbfa96bcd0296237d3feecc4c6e83d -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴e1/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴bb0e2e481d4f63bfc649cd3cdab9b95e8a2826 -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴f5/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴8cd3491449d006743d6173c2a67f7afef62f63 -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴pack/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴ORIG_HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 70bab23845e221850b129fa53fb0c34ef2feb8e6\n
│ │ │ 2
│ │ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴heads/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴branch1 -/0o100/regular file rw-r--r--/0o644
│ │ │ │ │ 1 70bab23845e221850b129fa53fb0c34ef2feb8e6\n
│ │ │ │ │ 2
│ │ │ │ ├╴branch2 -/0o100/regular file rw-r--r--/0o644
│ │ │ │ │ 1 54f9de842ae50a140220e63ed6cbf2ae7aefd7da\n
│ │ │ │ │ 2
│ │ │ │ ├╴master -/0o100/regular file rw-r--r--/0o644
│ │ │ │ │ 1 0c16a4d87d9a306c0cda8f297ba5fc5f14498cd7\n
│ │ │ │ │ 2
│ │ │ ├╴tags/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴conflicted -/0o100/regular file rw-r--r--/0o644
│ │ 1 1\r\n
│ │ 2 <<<<<<< HEAD\r\n
│ │ 3 2\r\n
│ │ 4 =======\r\n
│ │ 5 3\r\n
│ │ 6 >>>>>>> branch2\r\n
│ │ 7 5\r\n
│ │ 8
│ ├╴conflicted_excluded -/0o100/regular file rw-r--r--/0o644
│ │ 1 1\r\n
│ │ 2 <<<<<<< HEAD\r\n
│ │ 3 2\r\n
│ │ 4 =======\r\n
│ │ 5 3\r\n
│ │ 6 >>>>>>> branch2\r\n
│ │ 7 5\r\n
│ │ 8
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --unmerged
M 100644 26b37d07facfc371afa61dac1dc310e2d7c02597 1 conflicted
M 100644 c7282027d1875479bb99724d26b3d1109ebf8b60 2 conflicted
M 100644 403ec31f0a10be94cad6ab8663f2d508869a06b0 3 conflicted
M 100644 26b37d07facfc371afa61dac1dc310e2d7c02597 1 conflicted_excluded
M 100644 c7282027d1875479bb99724d26b3d1109ebf8b60 2 conflicted_excluded
M 100644 403ec31f0a10be94cad6ab8663f2d508869a06b0 3 conflicted_excluded
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --unmerged --exclude="*_excluded"
M 100644 26b37d07facfc371afa61dac1dc310e2d7c02597 1 conflicted
M 100644 c7282027d1875479bb99724d26b3d1109ebf8b60 2 conflicted
M 100644 403ec31f0a10be94cad6ab8663f2d508869a06b0 3 conflicted
M 100644 26b37d07facfc371afa61dac1dc310e2d7c02597 1 conflicted_excluded
M 100644 c7282027d1875479bb99724d26b3d1109ebf8b60 2 conflicted_excluded
M 100644 403ec31f0a10be94cad6ab8663f2d508869a06b0 3 conflicted_excluded
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --unmerged --exclude="*_excluded" --ignored
fatal: ls-files -i must be used with either -o or -c
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --others --unmerged --exclude="*_excluded" --ignored
M 100644 26b37d07facfc371afa61dac1dc310e2d7c02597 1 conflicted_excluded
M 100644 c7282027d1875479bb99724d26b3d1109ebf8b60 2 conflicted_excluded
M 100644 403ec31f0a10be94cad6ab8663f2d508869a06b0 3 conflicted_excluded
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --others --unmerged --exclude="*_excluded" --ignored | tail --lines='+'"$(("$(git -C './repo' ls-files -t --others --exclude="*_excluded" --ignored | wc --lines)"+1))"
M 100644 26b37d07facfc371afa61dac1dc310e2d7c02597 1 conflicted_excluded
M 100644 c7282027d1875479bb99724d26b3d1109ebf8b60 2 conflicted_excluded
M 100644 403ec31f0a10be94cad6ab8663f2d508869a06b0 3 conflicted_excluded
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --resolve-undo
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './repo/conflicted'
./repo/conflicted -/0o100/regular file rw-r--r--/0o644
1 1\r\n
2 <<<<<<< HEAD\r\n
3 2\r\n
4 =======\r\n
5 3\r\n
6 >>>>>>> branch2\r\n
7 5\r\n
8
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e '1\n2\n3\n5' >'./repo/conflicted'; echo -e '1\n2\n3\n5' >'./repo/conflicted_excluded'; git -C './repo' add './conflicted' './conflicted_excluded'
warning: in the working copy of 'conflicted', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'conflicted_excluded', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --unmerged
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --resolve-undo
U 100644 26b37d07facfc371afa61dac1dc310e2d7c02597 1 conflicted
U 100644 c7282027d1875479bb99724d26b3d1109ebf8b60 2 conflicted
U 100644 403ec31f0a10be94cad6ab8663f2d508869a06b0 3 conflicted
U 100644 26b37d07facfc371afa61dac1dc310e2d7c02597 1 conflicted_excluded
U 100644 c7282027d1875479bb99724d26b3d1109ebf8b60 2 conflicted_excluded
U 100644 403ec31f0a10be94cad6ab8663f2d508869a06b0 3 conflicted_excluded
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --resolve-undo --exclude="*_excluded"
U 100644 26b37d07facfc371afa61dac1dc310e2d7c02597 1 conflicted
U 100644 c7282027d1875479bb99724d26b3d1109ebf8b60 2 conflicted
U 100644 403ec31f0a10be94cad6ab8663f2d508869a06b0 3 conflicted
U 100644 26b37d07facfc371afa61dac1dc310e2d7c02597 1 conflicted_excluded
U 100644 c7282027d1875479bb99724d26b3d1109ebf8b60 2 conflicted_excluded
U 100644 403ec31f0a10be94cad6ab8663f2d508869a06b0 3 conflicted_excluded
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --resolve-undo --exclude="*_excluded" --ignored
fatal: ls-files -i must be used with either -o or -c
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --others --resolve-undo --exclude="*_excluded" --ignored
U 100644 26b37d07facfc371afa61dac1dc310e2d7c02597 1 conflicted
U 100644 c7282027d1875479bb99724d26b3d1109ebf8b60 2 conflicted
U 100644 403ec31f0a10be94cad6ab8663f2d508869a06b0 3 conflicted
U 100644 26b37d07facfc371afa61dac1dc310e2d7c02597 1 conflicted_excluded
U 100644 c7282027d1875479bb99724d26b3d1109ebf8b60 2 conflicted_excluded
U 100644 403ec31f0a10be94cad6ab8663f2d508869a06b0 3 conflicted_excluded
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout --merge './conflicted' './conflicted_excluded'
Recreated 2 merge conflicts
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './repo/conflicted'
./repo/conflicted -/0o100/regular file rw-r--r--/0o644
1 1\r\n
2 <<<<<<< ours\r\n
3 2\r\n
4 =======\r\n
5 3\r\n
6 >>>>>>> theirs\r\n
7 5\r\n
8
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --unmerged
M 100644 26b37d07facfc371afa61dac1dc310e2d7c02597 1 conflicted
M 100644 c7282027d1875479bb99724d26b3d1109ebf8b60 2 conflicted
M 100644 403ec31f0a10be94cad6ab8663f2d508869a06b0 3 conflicted
M 100644 26b37d07facfc371afa61dac1dc310e2d7c02597 1 conflicted_excluded
M 100644 c7282027d1875479bb99724d26b3d1109ebf8b60 2 conflicted_excluded
M 100644 403ec31f0a10be94cad6ab8663f2d508869a06b0 3 conflicted_excluded
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --resolve-undo
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' init
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e '1\n5' >'./repo/conflicted'; git -C './repo' add './conflicted'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'conflicted', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 08a68ea] 1
1 file changed, 2 insertions(+)
create mode 100644 conflicted
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout -b branch1; git -C './repo' branch branch2
Switched to a new branch 'branch1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e '1\n2\n5' >'./repo/conflicted'; git -C './repo' add './conflicted'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'conflicted', LF will be replaced by CRLF the next time Git touches it
[branch1 370fbac] 2
1 file changed, 1 insertion(+)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch2
Switched to branch 'branch2'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e '1\n3\n5' >'./repo/conflicted'; git -C './repo' add './conflicted'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'conflicted', LF will be replaced by CRLF the next time Git touches it
[branch2 a3b7b8c] 3
1 file changed, 1 insertion(+)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1
Switched to branch 'branch1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge branch2 --message="$((++number))"
Auto-merging conflicted
CONFLICT (content): Merge conflict in conflicted
Automatic merge failed; fix conflicts and then commit the result.
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ mkdir --parents -- './repo/untracked_dir_empty' './repo/untracked_dir'; touch -- './repo/untracked' './repo/untracked_dir/untracked'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ touch -- './repo/unstaged_deletion'; git -C './repo' add './unstaged_deletion'; rm -- './repo/unstaged_deletion'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/unstaged_modification'; git -C './repo' add './unstaged_modification'; echo '2' >'./repo/unstaged_modification'
warning: in the working copy of 'unstaged_modification', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ mkdir --parents -- './repo/dir_to_file'; touch -- './repo/file_to_dir' './repo/file_to_dir_empty' './repo/dir_to_file/.gitkeep'; git -C './repo' add './file_to_dir' './file_to_dir_empty' './dir_to_file'; rm --recursive -- './repo/file_to_dir' './repo/file_to_dir_empty' './repo/dir_to_file'; mkdir --parents -- './repo/file_to_dir' './repo/file_to_dir_empty'; touch -- './repo/dir_to_file' './repo/file_to_dir/.gitkeep'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex '.' -not -regex './repo/.git/hooks/.*' -regextype 'posix-extended'
./ d/0o040/directory rwxr-xr-x/0o755
├╴repo/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴.git/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴AUTO_MERGE -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 813e86d14daa73316d2611ca5dfb92784e1b9147\n
│ │ │ 2
│ │ ├╴COMMIT_EDITMSG -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 3\n
│ │ │ 2
│ │ ├╴config -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 [core]\n
│ │ │ 2 \trepositoryformatversion = 0\n
│ │ │ 3 \tfilemode = false\n
│ │ │ 4 \tbare = false\n
│ │ │ 5 \tlogallrefupdates = true\n
│ │ │ 6 \tignorecase = true\n
│ │ │ 7
│ │ ├╴description -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 Unnamed repository; edit this file 'description' to name the repository.\n
│ │ │ 2
│ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 ref: refs/heads/branch1\n
│ │ │ 2
│ │ ├╴hooks/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴index -/0o100/regular file rw-r--r--/0o644
│ │ ├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴exclude -/0o100/regular file rw-r--r--/0o644
│ │ │ │ 1 # git ls-files --others --exclude-from=.git/info/exclude\n
│ │ │ │ 2 # Lines that start with '#' are comments.\n
│ │ │ │ 3 # For a project mostly in C, the following would be a good set of\n
│ │ │ │ 4 # exclude patterns (uncomment them if you want to use them):\n
│ │ │ │ 5 # *.[oa]\n
│ │ │ │ 6 # *~\n
│ │ │ │ 7
│ │ ├╴logs/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ │ 1 0000000000000000000000000000000000000000 08a68ea0dacb3b0a7cceaa0f91aa2f3a6e6a8595 Han Jiang <jhcarl0814@gmail.com> 1780116713 +1200\tcommit (initial): 1\n
│ │ │ │ 2 08a68ea0dacb3b0a7cceaa0f91aa2f3a6e6a8595 08a68ea0dacb3b0a7cceaa0f91aa2f3a6e6a8595 Han Jiang <jhcarl0814@gmail.com> 1780116713 +1200\tcheckout: moving from master to branch1\n
│ │ │ │ 3 08a68ea0dacb3b0a7cceaa0f91aa2f3a6e6a8595 370fbac54e18623ad6b8e02dccbfee6d828b4643 Han Jiang <jhcarl0814@gmail.com> 1780116714 +1200\tcommit: 2\n
│ │ │ │ 4 370fbac54e18623ad6b8e02dccbfee6d828b4643 08a68ea0dacb3b0a7cceaa0f91aa2f3a6e6a8595 Han Jiang <jhcarl0814@gmail.com> 1780116714 +1200\tcheckout: moving from branch1 to branch2\n
│ │ │ │ 5 08a68ea0dacb3b0a7cceaa0f91aa2f3a6e6a8595 a3b7b8c42c142f132fa422ca4e3db8ad10b322b0 Han Jiang <jhcarl0814@gmail.com> 1780116715 +1200\tcommit: 3\n
│ │ │ │ 6 a3b7b8c42c142f132fa422ca4e3db8ad10b322b0 370fbac54e18623ad6b8e02dccbfee6d828b4643 Han Jiang <jhcarl0814@gmail.com> 1780116715 +1200\tcheckout: moving from branch2 to branch1\n
│ │ │ │ 7
│ │ │ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴heads/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ │ ├╴branch1 -/0o100/regular file rw-r--r--/0o644
│ │ │ │ │ │ 1 0000000000000000000000000000000000000000 08a68ea0dacb3b0a7cceaa0f91aa2f3a6e6a8595 Han Jiang <jhcarl0814@gmail.com> 1780116713 +1200\tbranch: Created from HEAD\n
│ │ │ │ │ │ 2 08a68ea0dacb3b0a7cceaa0f91aa2f3a6e6a8595 370fbac54e18623ad6b8e02dccbfee6d828b4643 Han Jiang <jhcarl0814@gmail.com> 1780116714 +1200\tcommit: 2\n
│ │ │ │ │ │ 3
│ │ │ │ │ ├╴branch2 -/0o100/regular file rw-r--r--/0o644
│ │ │ │ │ │ 1 0000000000000000000000000000000000000000 08a68ea0dacb3b0a7cceaa0f91aa2f3a6e6a8595 Han Jiang <jhcarl0814@gmail.com> 1780116714 +1200\tbranch: Created from branch1\n
│ │ │ │ │ │ 2 08a68ea0dacb3b0a7cceaa0f91aa2f3a6e6a8595 a3b7b8c42c142f132fa422ca4e3db8ad10b322b0 Han Jiang <jhcarl0814@gmail.com> 1780116715 +1200\tcommit: 3\n
│ │ │ │ │ │ 3
│ │ │ │ │ ├╴master -/0o100/regular file rw-r--r--/0o644
│ │ │ │ │ │ 1 0000000000000000000000000000000000000000 08a68ea0dacb3b0a7cceaa0f91aa2f3a6e6a8595 Han Jiang <jhcarl0814@gmail.com> 1780116713 +1200\tcommit (initial): 1\n
│ │ │ │ │ │ 2
│ │ ├╴MERGE_HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 a3b7b8c42c142f132fa422ca4e3db8ad10b322b0\n
│ │ │ 2
│ │ ├╴MERGE_MODE -/0o100/regular empty file rw-r--r--/0o644
│ │ │ 1
│ │ ├╴MERGE_MSG -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 4\n
│ │ │ 2 \n
│ │ │ 3 # Conflicts:\n
│ │ │ 4 #\tconflicted\n
│ │ │ 5
│ │ ├╴objects/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴08/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴a68ea0dacb3b0a7cceaa0f91aa2f3a6e6a8595 -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴1d/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴61c02d91872fa3b07f4e1da8e7f40fe9bcffdd -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴26/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴b37d07facfc371afa61dac1dc310e2d7c02597 -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴37/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴0fbac54e18623ad6b8e02dccbfee6d828b4643 -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴40/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴3ec31f0a10be94cad6ab8663f2d508869a06b0 -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴41/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴7873c512001ee8bd460861203fe10b42111af3 -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴55/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴128ec9eb27e31af9a5621e2756e8b5564be590 -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴81/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴3e86d14daa73316d2611ca5dfb92784e1b9147 -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴82/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴8f36cb233d2562a1e2c039fd6b5442e85aa168 -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴a3/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴b7b8c42c142f132fa422ca4e3db8ad10b322b0 -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴c7/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴282027d1875479bb99724d26b3d1109ebf8b60 -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴d0/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴0491fd7e5bb6fa28c517a0bb32b8b506539d4d -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴e6/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴9de29bb2d1d6434b8b29ae775ad8c2e48c5391 -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴pack/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴ORIG_HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 370fbac54e18623ad6b8e02dccbfee6d828b4643\n
│ │ │ 2
│ │ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴heads/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴branch1 -/0o100/regular file rw-r--r--/0o644
│ │ │ │ │ 1 370fbac54e18623ad6b8e02dccbfee6d828b4643\n
│ │ │ │ │ 2
│ │ │ │ ├╴branch2 -/0o100/regular file rw-r--r--/0o644
│ │ │ │ │ 1 a3b7b8c42c142f132fa422ca4e3db8ad10b322b0\n
│ │ │ │ │ 2
│ │ │ │ ├╴master -/0o100/regular file rw-r--r--/0o644
│ │ │ │ │ 1 08a68ea0dacb3b0a7cceaa0f91aa2f3a6e6a8595\n
│ │ │ │ │ 2
│ │ │ ├╴tags/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴conflicted -/0o100/regular file rw-r--r--/0o644
│ │ 1 1\r\n
│ │ 2 <<<<<<< HEAD\r\n
│ │ 3 2\r\n
│ │ 4 =======\r\n
│ │ 5 3\r\n
│ │ 6 >>>>>>> branch2\r\n
│ │ 7 5\r\n
│ │ 8
│ ├╴dir_to_file -/0o100/regular empty file rw-r--r--/0o644
│ │ 1
│ ├╴file_to_dir/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴.gitkeep -/0o100/regular empty file rw-r--r--/0o644
│ │ │ 1
│ ├╴file_to_dir_empty/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴unstaged_modification -/0o100/regular file rw-r--r--/0o644
│ │ 1 2\n
│ │ 2
│ ├╴untracked -/0o100/regular empty file rw-r--r--/0o644
│ │ 1
│ ├╴untracked_dir/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴untracked -/0o100/regular empty file rw-r--r--/0o644
│ │ │ 1
│ ├╴untracked_dir_empty/ d/0o040/directory rwxr-xr-x/0o755
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --stage | special_character_to_escape_sequence_preserve_line_ending | cat_with_line_number
1 M 100644 26b37d07facfc371afa61dac1dc310e2d7c02597 1\tconflicted\n
2 M 100644 c7282027d1875479bb99724d26b3d1109ebf8b60 2\tconflicted\n
3 M 100644 403ec31f0a10be94cad6ab8663f2d508869a06b0 3\tconflicted\n
4 H 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0\tdir_to_file/.gitkeep\n
5 H 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0\tfile_to_dir\n
6 H 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0\tfile_to_dir_empty\n
7 H 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0\tunstaged_deletion\n
8 H 100644 d00491fd7e5bb6fa28c517a0bb32b8b506539d4d 0\tunstaged_modification\n
9
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --stage -z | special_character_to_escape_sequence_preserve_line_ending | cat_with_line_number
1 M 100644 26b37d07facfc371afa61dac1dc310e2d7c02597 1\tconflicted\0M 100644 c7282027d1875479bb99724d26b3d1109ebf8b60 2\tconflicted\0M 100644 403ec31f0a10be94cad6ab8663f2d508869a06b0 3\tconflicted\0H 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0\tdir_to_file/.gitkeep\0H 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0\tfile_to_dir\0H 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0\tfile_to_dir_empty\0H 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0\tunstaged_deletion\0H 100644 d00491fd7e5bb6fa28c517a0bb32b8b506539d4d 0\tunstaged_modification\0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --cached | special_character_to_escape_sequence_preserve_line_ending | cat_with_line_number
1 M conflicted\n
2 M conflicted\n
3 M conflicted\n
4 H dir_to_file/.gitkeep\n
5 H file_to_dir\n
6 H file_to_dir_empty\n
7 H unstaged_deletion\n
8 H unstaged_modification\n
9
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --cached -z | special_character_to_escape_sequence_preserve_line_ending | cat_with_line_number
1 M conflicted\0M conflicted\0M conflicted\0H dir_to_file/.gitkeep\0H file_to_dir\0H file_to_dir_empty\0H unstaged_deletion\0H unstaged_modification\0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --others | special_character_to_escape_sequence_preserve_line_ending | cat_with_line_number
1 ? dir_to_file\n
2 ? file_to_dir/.gitkeep\n
3 ? untracked\n
4 ? untracked_dir/untracked\n
5
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --others -z | special_character_to_escape_sequence_preserve_line_ending | cat_with_line_number
1 ? dir_to_file\0? file_to_dir/.gitkeep\0? untracked\0? untracked_dir/untracked\0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --deleted | special_character_to_escape_sequence_preserve_line_ending | cat_with_line_number
1 R dir_to_file/.gitkeep\n
2 R unstaged_deletion\n
3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --deleted -z | special_character_to_escape_sequence_preserve_line_ending | cat_with_line_number
1 R dir_to_file/.gitkeep\0R unstaged_deletion\0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --modified | special_character_to_escape_sequence_preserve_line_ending | cat_with_line_number
1 C conflicted\n
2 C conflicted\n
3 C conflicted\n
4 C dir_to_file/.gitkeep\n
5 C file_to_dir\n
6 C file_to_dir_empty\n
7 C unstaged_deletion\n
8 C unstaged_modification\n
9
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --modified -z | special_character_to_escape_sequence_preserve_line_ending | cat_with_line_number
1 C conflicted\0C conflicted\0C conflicted\0C dir_to_file/.gitkeep\0C file_to_dir\0C file_to_dir_empty\0C unstaged_deletion\0C unstaged_modification\0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --killed | special_character_to_escape_sequence_preserve_line_ending | cat_with_line_number
1 K dir_to_file\n
2 K file_to_dir/.gitkeep\n
3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --killed -z | special_character_to_escape_sequence_preserve_line_ending | cat_with_line_number
1 K dir_to_file\0K file_to_dir/.gitkeep\0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --unmerged | special_character_to_escape_sequence_preserve_line_ending | cat_with_line_number
1 M 100644 26b37d07facfc371afa61dac1dc310e2d7c02597 1\tconflicted\n
2 M 100644 c7282027d1875479bb99724d26b3d1109ebf8b60 2\tconflicted\n
3 M 100644 403ec31f0a10be94cad6ab8663f2d508869a06b0 3\tconflicted\n
4
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --unmerged -z | special_character_to_escape_sequence_preserve_line_ending | cat_with_line_number
1 M 100644 26b37d07facfc371afa61dac1dc310e2d7c02597 1\tconflicted\0M 100644 c7282027d1875479bb99724d26b3d1109ebf8b60 2\tconflicted\0M 100644 403ec31f0a10be94cad6ab8663f2d508869a06b0 3\tconflicted\0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --resolve-undo | special_character_to_escape_sequence_preserve_line_ending | cat_with_line_number
1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --resolve-undo -z | special_character_to_escape_sequence_preserve_line_ending | cat_with_line_number
1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e '1\n2\n3\n5' >'./repo/conflicted'; git -C './repo' add './conflicted'
warning: in the working copy of 'conflicted', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --unmerged | special_character_to_escape_sequence_preserve_line_ending | cat_with_line_number
1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --unmerged -z | special_character_to_escape_sequence_preserve_line_ending | cat_with_line_number
1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --resolve-undo | special_character_to_escape_sequence_preserve_line_ending | cat_with_line_number
1 U 100644 26b37d07facfc371afa61dac1dc310e2d7c02597 1\tconflicted\n
2 U 100644 c7282027d1875479bb99724d26b3d1109ebf8b60 2\tconflicted\n
3 U 100644 403ec31f0a10be94cad6ab8663f2d508869a06b0 3\tconflicted\n
4
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --resolve-undo -z | special_character_to_escape_sequence_preserve_line_ending | cat_with_line_number
1 U 100644 26b37d07facfc371afa61dac1dc310e2d7c02597 1\tconflicted\0U 100644 c7282027d1875479bb99724d26b3d1109ebf8b60 2\tconflicted\0U 100644 403ec31f0a10be94cad6ab8663f2d508869a06b0 3\tconflicted\0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout --merge './conflicted'
Recreated 1 merge conflict
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --unmerged | special_character_to_escape_sequence_preserve_line_ending | cat_with_line_number
1 M 100644 26b37d07facfc371afa61dac1dc310e2d7c02597 1\tconflicted\n
2 M 100644 c7282027d1875479bb99724d26b3d1109ebf8b60 2\tconflicted\n
3 M 100644 403ec31f0a10be94cad6ab8663f2d508869a06b0 3\tconflicted\n
4
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --unmerged -z | special_character_to_escape_sequence_preserve_line_ending | cat_with_line_number
1 M 100644 26b37d07facfc371afa61dac1dc310e2d7c02597 1\tconflicted\0M 100644 c7282027d1875479bb99724d26b3d1109ebf8b60 2\tconflicted\0M 100644 403ec31f0a10be94cad6ab8663f2d508869a06b0 3\tconflicted\0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --resolve-undo | special_character_to_escape_sequence_preserve_line_ending | cat_with_line_number
1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --resolve-undo -z | special_character_to_escape_sequence_preserve_line_ending | cat_with_line_number
1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' init
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e '1\n5' >'./repo/conflicted'; git -C './repo' add './conflicted'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'conflicted', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 11a5e0b] 1
1 file changed, 2 insertions(+)
create mode 100644 conflicted
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout -b branch1; git -C './repo' branch branch2
Switched to a new branch 'branch1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e '1\n2\n5' >'./repo/conflicted'; git -C './repo' add './conflicted'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'conflicted', LF will be replaced by CRLF the next time Git touches it
[branch1 f0f4d21] 2
1 file changed, 1 insertion(+)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch2
Switched to branch 'branch2'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e '1\n3\n5' >'./repo/conflicted'; git -C './repo' add './conflicted'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'conflicted', LF will be replaced by CRLF the next time Git touches it
[branch2 472c251] 3
1 file changed, 1 insertion(+)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1
Switched to branch 'branch1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge branch2 --message="$((++number))"
Auto-merging conflicted
CONFLICT (content): Merge conflict in conflicted
Automatic merge failed; fix conflicts and then commit the result.
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ mkdir --parents -- './repo/untracked_dir_empty' './repo/untracked_dir'; touch -- './repo/untracked' './repo/untracked_dir/untracked'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ touch -- './repo/unstaged_deletion'; git -C './repo' add './unstaged_deletion'; rm -- './repo/unstaged_deletion'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/unstaged_modification'; git -C './repo' add './unstaged_modification'; echo '2' >'./repo/unstaged_modification'
warning: in the working copy of 'unstaged_modification', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ mkdir --parents -- './repo/dir_to_file'; touch -- './repo/file_to_dir' './repo/file_to_dir_empty' './repo/dir_to_file/.gitkeep'; git -C './repo' add './file_to_dir' './file_to_dir_empty' './dir_to_file'; rm --recursive -- './repo/file_to_dir' './repo/file_to_dir_empty' './repo/dir_to_file'; mkdir --parents -- './repo/file_to_dir' './repo/file_to_dir_empty'; touch -- './repo/dir_to_file' './repo/file_to_dir/.gitkeep'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex '.' -not -regex './repo/.git/hooks/.*' -regextype 'posix-extended'
./ d/0o040/directory rwxr-xr-x/0o755
├╴repo/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴.git/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴AUTO_MERGE -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 813e86d14daa73316d2611ca5dfb92784e1b9147\n
│ │ │ 2
│ │ ├╴COMMIT_EDITMSG -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 3\n
│ │ │ 2
│ │ ├╴config -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 [core]\n
│ │ │ 2 \trepositoryformatversion = 0\n
│ │ │ 3 \tfilemode = false\n
│ │ │ 4 \tbare = false\n
│ │ │ 5 \tlogallrefupdates = true\n
│ │ │ 6 \tignorecase = true\n
│ │ │ 7
│ │ ├╴description -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 Unnamed repository; edit this file 'description' to name the repository.\n
│ │ │ 2
│ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 ref: refs/heads/branch1\n
│ │ │ 2
│ │ ├╴hooks/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴index -/0o100/regular file rw-r--r--/0o644
│ │ ├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴exclude -/0o100/regular file rw-r--r--/0o644
│ │ │ │ 1 # git ls-files --others --exclude-from=.git/info/exclude\n
│ │ │ │ 2 # Lines that start with '#' are comments.\n
│ │ │ │ 3 # For a project mostly in C, the following would be a good set of\n
│ │ │ │ 4 # exclude patterns (uncomment them if you want to use them):\n
│ │ │ │ 5 # *.[oa]\n
│ │ │ │ 6 # *~\n
│ │ │ │ 7
│ │ ├╴logs/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ │ 1 0000000000000000000000000000000000000000 11a5e0bceb65ce9d2aaa1a6eae549cb3976ab44a Han Jiang <jhcarl0814@gmail.com> 1780116764 +1200\tcommit (initial): 1\n
│ │ │ │ 2 11a5e0bceb65ce9d2aaa1a6eae549cb3976ab44a 11a5e0bceb65ce9d2aaa1a6eae549cb3976ab44a Han Jiang <jhcarl0814@gmail.com> 1780116764 +1200\tcheckout: moving from master to branch1\n
│ │ │ │ 3 11a5e0bceb65ce9d2aaa1a6eae549cb3976ab44a f0f4d215221479ad5edae57ed5c8a23031378f58 Han Jiang <jhcarl0814@gmail.com> 1780116765 +1200\tcommit: 2\n
│ │ │ │ 4 f0f4d215221479ad5edae57ed5c8a23031378f58 11a5e0bceb65ce9d2aaa1a6eae549cb3976ab44a Han Jiang <jhcarl0814@gmail.com> 1780116765 +1200\tcheckout: moving from branch1 to branch2\n
│ │ │ │ 5 11a5e0bceb65ce9d2aaa1a6eae549cb3976ab44a 472c25181bee9b000ae7eca60b21570611b278ce Han Jiang <jhcarl0814@gmail.com> 1780116766 +1200\tcommit: 3\n
│ │ │ │ 6 472c25181bee9b000ae7eca60b21570611b278ce f0f4d215221479ad5edae57ed5c8a23031378f58 Han Jiang <jhcarl0814@gmail.com> 1780116766 +1200\tcheckout: moving from branch2 to branch1\n
│ │ │ │ 7
│ │ │ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴heads/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ │ ├╴branch1 -/0o100/regular file rw-r--r--/0o644
│ │ │ │ │ │ 1 0000000000000000000000000000000000000000 11a5e0bceb65ce9d2aaa1a6eae549cb3976ab44a Han Jiang <jhcarl0814@gmail.com> 1780116764 +1200\tbranch: Created from HEAD\n
│ │ │ │ │ │ 2 11a5e0bceb65ce9d2aaa1a6eae549cb3976ab44a f0f4d215221479ad5edae57ed5c8a23031378f58 Han Jiang <jhcarl0814@gmail.com> 1780116765 +1200\tcommit: 2\n
│ │ │ │ │ │ 3
│ │ │ │ │ ├╴branch2 -/0o100/regular file rw-r--r--/0o644
│ │ │ │ │ │ 1 0000000000000000000000000000000000000000 11a5e0bceb65ce9d2aaa1a6eae549cb3976ab44a Han Jiang <jhcarl0814@gmail.com> 1780116764 +1200\tbranch: Created from branch1\n
│ │ │ │ │ │ 2 11a5e0bceb65ce9d2aaa1a6eae549cb3976ab44a 472c25181bee9b000ae7eca60b21570611b278ce Han Jiang <jhcarl0814@gmail.com> 1780116766 +1200\tcommit: 3\n
│ │ │ │ │ │ 3
│ │ │ │ │ ├╴master -/0o100/regular file rw-r--r--/0o644
│ │ │ │ │ │ 1 0000000000000000000000000000000000000000 11a5e0bceb65ce9d2aaa1a6eae549cb3976ab44a Han Jiang <jhcarl0814@gmail.com> 1780116764 +1200\tcommit (initial): 1\n
│ │ │ │ │ │ 2
│ │ ├╴MERGE_HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 472c25181bee9b000ae7eca60b21570611b278ce\n
│ │ │ 2
│ │ ├╴MERGE_MODE -/0o100/regular empty file rw-r--r--/0o644
│ │ │ 1
│ │ ├╴MERGE_MSG -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 4\n
│ │ │ 2 \n
│ │ │ 3 # Conflicts:\n
│ │ │ 4 #\tconflicted\n
│ │ │ 5
│ │ ├╴objects/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴11/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴a5e0bceb65ce9d2aaa1a6eae549cb3976ab44a -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴1d/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴61c02d91872fa3b07f4e1da8e7f40fe9bcffdd -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴26/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴b37d07facfc371afa61dac1dc310e2d7c02597 -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴40/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴3ec31f0a10be94cad6ab8663f2d508869a06b0 -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴41/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴7873c512001ee8bd460861203fe10b42111af3 -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴47/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴2c25181bee9b000ae7eca60b21570611b278ce -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴55/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴128ec9eb27e31af9a5621e2756e8b5564be590 -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴81/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴3e86d14daa73316d2611ca5dfb92784e1b9147 -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴82/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴8f36cb233d2562a1e2c039fd6b5442e85aa168 -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴c7/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴282027d1875479bb99724d26b3d1109ebf8b60 -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴d0/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴0491fd7e5bb6fa28c517a0bb32b8b506539d4d -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴e6/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴9de29bb2d1d6434b8b29ae775ad8c2e48c5391 -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴f0/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴f4d215221479ad5edae57ed5c8a23031378f58 -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴pack/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴ORIG_HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 f0f4d215221479ad5edae57ed5c8a23031378f58\n
│ │ │ 2
│ │ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴heads/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴branch1 -/0o100/regular file rw-r--r--/0o644
│ │ │ │ │ 1 f0f4d215221479ad5edae57ed5c8a23031378f58\n
│ │ │ │ │ 2
│ │ │ │ ├╴branch2 -/0o100/regular file rw-r--r--/0o644
│ │ │ │ │ 1 472c25181bee9b000ae7eca60b21570611b278ce\n
│ │ │ │ │ 2
│ │ │ │ ├╴master -/0o100/regular file rw-r--r--/0o644
│ │ │ │ │ 1 11a5e0bceb65ce9d2aaa1a6eae549cb3976ab44a\n
│ │ │ │ │ 2
│ │ │ ├╴tags/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴conflicted -/0o100/regular file rw-r--r--/0o644
│ │ 1 1\r\n
│ │ 2 <<<<<<< HEAD\r\n
│ │ 3 2\r\n
│ │ 4 =======\r\n
│ │ 5 3\r\n
│ │ 6 >>>>>>> branch2\r\n
│ │ 7 5\r\n
│ │ 8
│ ├╴dir_to_file -/0o100/regular empty file rw-r--r--/0o644
│ │ 1
│ ├╴file_to_dir/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴.gitkeep -/0o100/regular empty file rw-r--r--/0o644
│ │ │ 1
│ ├╴file_to_dir_empty/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴unstaged_modification -/0o100/regular file rw-r--r--/0o644
│ │ 1 2\n
│ │ 2
│ ├╴untracked -/0o100/regular empty file rw-r--r--/0o644
│ │ 1
│ ├╴untracked_dir/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴untracked -/0o100/regular empty file rw-r--r--/0o644
│ │ │ 1
│ ├╴untracked_dir_empty/ d/0o040/directory rwxr-xr-x/0o755
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --stage
M 100644 26b37d07facfc371afa61dac1dc310e2d7c02597 1 conflicted
M 100644 c7282027d1875479bb99724d26b3d1109ebf8b60 2 conflicted
M 100644 403ec31f0a10be94cad6ab8663f2d508869a06b0 3 conflicted
H 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 dir_to_file/.gitkeep
H 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 file_to_dir
H 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 file_to_dir_empty
H 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 unstaged_deletion
H 100644 d00491fd7e5bb6fa28c517a0bb32b8b506539d4d 0 unstaged_modification
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --stage --eol
M 100644 26b37d07facfc371afa61dac1dc310e2d7c02597 1 i/lf w/crlf attr/ conflicted
M 100644 c7282027d1875479bb99724d26b3d1109ebf8b60 2 i/lf w/crlf attr/ conflicted
M 100644 403ec31f0a10be94cad6ab8663f2d508869a06b0 3 i/lf w/crlf attr/ conflicted
H 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 i/none w/ attr/ dir_to_file/.gitkeep
H 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 i/none w/ attr/ file_to_dir
H 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 i/none w/ attr/ file_to_dir_empty
H 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 i/none w/ attr/ unstaged_deletion
H 100644 d00491fd7e5bb6fa28c517a0bb32b8b506539d4d 0 i/lf w/lf attr/ unstaged_modification
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --cached
M conflicted
M conflicted
M conflicted
H dir_to_file/.gitkeep
H file_to_dir
H file_to_dir_empty
H unstaged_deletion
H unstaged_modification
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --cached --eol
M i/lf w/crlf attr/ conflicted
M i/lf w/crlf attr/ conflicted
M i/lf w/crlf attr/ conflicted
H i/none w/ attr/ dir_to_file/.gitkeep
H i/none w/ attr/ file_to_dir
H i/none w/ attr/ file_to_dir_empty
H i/none w/ attr/ unstaged_deletion
H i/lf w/lf attr/ unstaged_modification
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --others
? dir_to_file
? file_to_dir/.gitkeep
? untracked
? untracked_dir/untracked
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --others --eol
? i/ w/none attr/ dir_to_file
? i/ w/none attr/ file_to_dir/.gitkeep
? i/ w/none attr/ untracked
? i/ w/none attr/ untracked_dir/untracked
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --deleted
R dir_to_file/.gitkeep
R unstaged_deletion
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --deleted --eol
R i/none w/ attr/ dir_to_file/.gitkeep
R i/none w/ attr/ unstaged_deletion
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --modified
C conflicted
C conflicted
C conflicted
C dir_to_file/.gitkeep
C file_to_dir
C file_to_dir_empty
C unstaged_deletion
C unstaged_modification
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --modified --eol
C i/lf w/crlf attr/ conflicted
C i/lf w/crlf attr/ conflicted
C i/lf w/crlf attr/ conflicted
C i/none w/ attr/ dir_to_file/.gitkeep
C i/none w/ attr/ file_to_dir
C i/none w/ attr/ file_to_dir_empty
C i/none w/ attr/ unstaged_deletion
C i/lf w/lf attr/ unstaged_modification
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --killed
K dir_to_file
K file_to_dir/.gitkeep
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --killed --eol
K i/ w/none attr/ dir_to_file
K i/ w/none attr/ file_to_dir/.gitkeep
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --unmerged
M 100644 26b37d07facfc371afa61dac1dc310e2d7c02597 1 conflicted
M 100644 c7282027d1875479bb99724d26b3d1109ebf8b60 2 conflicted
M 100644 403ec31f0a10be94cad6ab8663f2d508869a06b0 3 conflicted
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --unmerged --eol
M 100644 26b37d07facfc371afa61dac1dc310e2d7c02597 1 i/lf w/crlf attr/ conflicted
M 100644 c7282027d1875479bb99724d26b3d1109ebf8b60 2 i/lf w/crlf attr/ conflicted
M 100644 403ec31f0a10be94cad6ab8663f2d508869a06b0 3 i/lf w/crlf attr/ conflicted
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e '1\n2\n3\n5' >'./repo/conflicted'; git -C './repo' add './conflicted'
warning: in the working copy of 'conflicted', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --unmerged
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --unmerged --eol
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout --merge './conflicted'
Recreated 1 merge conflict
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --unmerged
M 100644 26b37d07facfc371afa61dac1dc310e2d7c02597 1 conflicted
M 100644 c7282027d1875479bb99724d26b3d1109ebf8b60 2 conflicted
M 100644 403ec31f0a10be94cad6ab8663f2d508869a06b0 3 conflicted
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --unmerged --eol
M 100644 26b37d07facfc371afa61dac1dc310e2d7c02597 1 i/lf w/crlf attr/ conflicted
M 100644 c7282027d1875479bb99724d26b3d1109ebf8b60 2 i/lf w/crlf attr/ conflicted
M 100644 403ec31f0a10be94cad6ab8663f2d508869a06b0 3 i/lf w/crlf attr/ conflicted
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' init
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e '1\n5' >'./repo/conflicted'; git -C './repo' add './conflicted'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'conflicted', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) a985de5] 1
1 file changed, 2 insertions(+)
create mode 100644 conflicted
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout -b branch1; git -C './repo' branch branch2
Switched to a new branch 'branch1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e '1\n2\n5' >'./repo/conflicted'; git -C './repo' add './conflicted'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'conflicted', LF will be replaced by CRLF the next time Git touches it
[branch1 84dd99f] 2
1 file changed, 1 insertion(+)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch2
Switched to branch 'branch2'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e '1\n3\n5' >'./repo/conflicted'; git -C './repo' add './conflicted'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'conflicted', LF will be replaced by CRLF the next time Git touches it
[branch2 ddfd2a0] 3
1 file changed, 1 insertion(+)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1
Switched to branch 'branch1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge branch2 --message="$((++number))"
Auto-merging conflicted
CONFLICT (content): Merge conflict in conflicted
Automatic merge failed; fix conflicts and then commit the result.
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ mkdir --parents -- './repo/untracked_dir_empty' './repo/untracked_dir'; touch -- './repo/untracked' './repo/untracked_dir/untracked'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ touch -- './repo/unstaged_deletion'; git -C './repo' add './unstaged_deletion'; rm -- './repo/unstaged_deletion'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/unstaged_modification'; git -C './repo' add './unstaged_modification'; echo '2' >'./repo/unstaged_modification'
warning: in the working copy of 'unstaged_modification', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ mkdir --parents -- './repo/dir_to_file'; touch -- './repo/file_to_dir' './repo/file_to_dir_empty' './repo/dir_to_file/.gitkeep'; git -C './repo' add './file_to_dir' './file_to_dir_empty' './dir_to_file'; rm --recursive -- './repo/file_to_dir' './repo/file_to_dir_empty' './repo/dir_to_file'; mkdir --parents -- './repo/file_to_dir' './repo/file_to_dir_empty'; touch -- './repo/dir_to_file' './repo/file_to_dir/.gitkeep'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex '.' -not -regex './repo/.git/hooks/.*' -regextype 'posix-extended'
./ d/0o040/directory rwxr-xr-x/0o755
├╴repo/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴.git/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴AUTO_MERGE -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 813e86d14daa73316d2611ca5dfb92784e1b9147\n
│ │ │ 2
│ │ ├╴COMMIT_EDITMSG -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 3\n
│ │ │ 2
│ │ ├╴config -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 [core]\n
│ │ │ 2 \trepositoryformatversion = 0\n
│ │ │ 3 \tfilemode = false\n
│ │ │ 4 \tbare = false\n
│ │ │ 5 \tlogallrefupdates = true\n
│ │ │ 6 \tignorecase = true\n
│ │ │ 7
│ │ ├╴description -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 Unnamed repository; edit this file 'description' to name the repository.\n
│ │ │ 2
│ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 ref: refs/heads/branch1\n
│ │ │ 2
│ │ ├╴hooks/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴index -/0o100/regular file rw-r--r--/0o644
│ │ ├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴exclude -/0o100/regular file rw-r--r--/0o644
│ │ │ │ 1 # git ls-files --others --exclude-from=.git/info/exclude\n
│ │ │ │ 2 # Lines that start with '#' are comments.\n
│ │ │ │ 3 # For a project mostly in C, the following would be a good set of\n
│ │ │ │ 4 # exclude patterns (uncomment them if you want to use them):\n
│ │ │ │ 5 # *.[oa]\n
│ │ │ │ 6 # *~\n
│ │ │ │ 7
│ │ ├╴logs/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ │ 1 0000000000000000000000000000000000000000 a985de5b5edf2140a665c9d4e69623d72b726bbf Han Jiang <jhcarl0814@gmail.com> 1780116806 +1200\tcommit (initial): 1\n
│ │ │ │ 2 a985de5b5edf2140a665c9d4e69623d72b726bbf a985de5b5edf2140a665c9d4e69623d72b726bbf Han Jiang <jhcarl0814@gmail.com> 1780116807 +1200\tcheckout: moving from master to branch1\n
│ │ │ │ 3 a985de5b5edf2140a665c9d4e69623d72b726bbf 84dd99f7900f77712e514c627eacdd615309c0a1 Han Jiang <jhcarl0814@gmail.com> 1780116807 +1200\tcommit: 2\n
│ │ │ │ 4 84dd99f7900f77712e514c627eacdd615309c0a1 a985de5b5edf2140a665c9d4e69623d72b726bbf Han Jiang <jhcarl0814@gmail.com> 1780116808 +1200\tcheckout: moving from branch1 to branch2\n
│ │ │ │ 5 a985de5b5edf2140a665c9d4e69623d72b726bbf ddfd2a051ef99072f9f89bc9bf919511ca522555 Han Jiang <jhcarl0814@gmail.com> 1780116808 +1200\tcommit: 3\n
│ │ │ │ 6 ddfd2a051ef99072f9f89bc9bf919511ca522555 84dd99f7900f77712e514c627eacdd615309c0a1 Han Jiang <jhcarl0814@gmail.com> 1780116809 +1200\tcheckout: moving from branch2 to branch1\n
│ │ │ │ 7
│ │ │ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴heads/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ │ ├╴branch1 -/0o100/regular file rw-r--r--/0o644
│ │ │ │ │ │ 1 0000000000000000000000000000000000000000 a985de5b5edf2140a665c9d4e69623d72b726bbf Han Jiang <jhcarl0814@gmail.com> 1780116807 +1200\tbranch: Created from HEAD\n
│ │ │ │ │ │ 2 a985de5b5edf2140a665c9d4e69623d72b726bbf 84dd99f7900f77712e514c627eacdd615309c0a1 Han Jiang <jhcarl0814@gmail.com> 1780116807 +1200\tcommit: 2\n
│ │ │ │ │ │ 3
│ │ │ │ │ ├╴branch2 -/0o100/regular file rw-r--r--/0o644
│ │ │ │ │ │ 1 0000000000000000000000000000000000000000 a985de5b5edf2140a665c9d4e69623d72b726bbf Han Jiang <jhcarl0814@gmail.com> 1780116807 +1200\tbranch: Created from branch1\n
│ │ │ │ │ │ 2 a985de5b5edf2140a665c9d4e69623d72b726bbf ddfd2a051ef99072f9f89bc9bf919511ca522555 Han Jiang <jhcarl0814@gmail.com> 1780116808 +1200\tcommit: 3\n
│ │ │ │ │ │ 3
│ │ │ │ │ ├╴master -/0o100/regular file rw-r--r--/0o644
│ │ │ │ │ │ 1 0000000000000000000000000000000000000000 a985de5b5edf2140a665c9d4e69623d72b726bbf Han Jiang <jhcarl0814@gmail.com> 1780116806 +1200\tcommit (initial): 1\n
│ │ │ │ │ │ 2
│ │ ├╴MERGE_HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 ddfd2a051ef99072f9f89bc9bf919511ca522555\n
│ │ │ 2
│ │ ├╴MERGE_MODE -/0o100/regular empty file rw-r--r--/0o644
│ │ │ 1
│ │ ├╴MERGE_MSG -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 4\n
│ │ │ 2 \n
│ │ │ 3 # Conflicts:\n
│ │ │ 4 #\tconflicted\n
│ │ │ 5
│ │ ├╴objects/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴1d/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴61c02d91872fa3b07f4e1da8e7f40fe9bcffdd -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴26/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴b37d07facfc371afa61dac1dc310e2d7c02597 -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴40/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴3ec31f0a10be94cad6ab8663f2d508869a06b0 -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴41/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴7873c512001ee8bd460861203fe10b42111af3 -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴55/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴128ec9eb27e31af9a5621e2756e8b5564be590 -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴81/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴3e86d14daa73316d2611ca5dfb92784e1b9147 -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴82/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴8f36cb233d2562a1e2c039fd6b5442e85aa168 -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴84/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴dd99f7900f77712e514c627eacdd615309c0a1 -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴a9/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴85de5b5edf2140a665c9d4e69623d72b726bbf -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴c7/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴282027d1875479bb99724d26b3d1109ebf8b60 -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴d0/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴0491fd7e5bb6fa28c517a0bb32b8b506539d4d -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴dd/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴fd2a051ef99072f9f89bc9bf919511ca522555 -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴e6/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴9de29bb2d1d6434b8b29ae775ad8c2e48c5391 -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴pack/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴ORIG_HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 84dd99f7900f77712e514c627eacdd615309c0a1\n
│ │ │ 2
│ │ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴heads/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴branch1 -/0o100/regular file rw-r--r--/0o644
│ │ │ │ │ 1 84dd99f7900f77712e514c627eacdd615309c0a1\n
│ │ │ │ │ 2
│ │ │ │ ├╴branch2 -/0o100/regular file rw-r--r--/0o644
│ │ │ │ │ 1 ddfd2a051ef99072f9f89bc9bf919511ca522555\n
│ │ │ │ │ 2
│ │ │ │ ├╴master -/0o100/regular file rw-r--r--/0o644
│ │ │ │ │ 1 a985de5b5edf2140a665c9d4e69623d72b726bbf\n
│ │ │ │ │ 2
│ │ │ ├╴tags/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴conflicted -/0o100/regular file rw-r--r--/0o644
│ │ 1 1\r\n
│ │ 2 <<<<<<< HEAD\r\n
│ │ 3 2\r\n
│ │ 4 =======\r\n
│ │ 5 3\r\n
│ │ 6 >>>>>>> branch2\r\n
│ │ 7 5\r\n
│ │ 8
│ ├╴dir_to_file -/0o100/regular empty file rw-r--r--/0o644
│ │ 1
│ ├╴file_to_dir/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴.gitkeep -/0o100/regular empty file rw-r--r--/0o644
│ │ │ 1
│ ├╴file_to_dir_empty/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴unstaged_modification -/0o100/regular file rw-r--r--/0o644
│ │ 1 2\n
│ │ 2
│ ├╴untracked -/0o100/regular empty file rw-r--r--/0o644
│ │ 1
│ ├╴untracked_dir/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴untracked -/0o100/regular empty file rw-r--r--/0o644
│ │ │ 1
│ ├╴untracked_dir_empty/ d/0o040/directory rwxr-xr-x/0o755
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --cached
M conflicted
M conflicted
M conflicted
H dir_to_file/.gitkeep
H file_to_dir
H file_to_dir_empty
H unstaged_deletion
H unstaged_modification
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --cached --format='%(objecttype) %(objectmode) %(objectname) %(stage) ii="%(eolinfo:index)" iw="%(eolinfo:worktree)" a="%(eolattr)" %(objectsize) %(path)'
blob 100644 26b37d07facfc371afa61dac1dc310e2d7c02597 1 ii="lf" iw="crlf" a="" 4 conflicted
blob 100644 c7282027d1875479bb99724d26b3d1109ebf8b60 2 ii="lf" iw="crlf" a="" 6 conflicted
blob 100644 403ec31f0a10be94cad6ab8663f2d508869a06b0 3 ii="lf" iw="crlf" a="" 6 conflicted
blob 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 ii="none" iw="" a="" 0 dir_to_file/.gitkeep
blob 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 ii="none" iw="" a="" 0 file_to_dir
blob 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 ii="none" iw="" a="" 0 file_to_dir_empty
blob 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 ii="none" iw="" a="" 0 unstaged_deletion
blob 100644 d00491fd7e5bb6fa28c517a0bb32b8b506539d4d 0 ii="lf" iw="lf" a="" 2 unstaged_modification
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --deleted
R dir_to_file/.gitkeep
R unstaged_deletion
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --deleted --format='%(objecttype) %(objectmode) %(objectname) %(stage) ii="%(eolinfo:index)" iw="%(eolinfo:worktree)" a="%(eolattr)" %(objectsize) %(path)'
blob 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 ii="none" iw="" a="" 0 dir_to_file/.gitkeep
blob 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 ii="none" iw="" a="" 0 unstaged_deletion
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --modified
C conflicted
C conflicted
C conflicted
C dir_to_file/.gitkeep
C file_to_dir
C file_to_dir_empty
C unstaged_deletion
C unstaged_modification
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --modified --format='%(objecttype) %(objectmode) %(objectname) %(stage) ii="%(eolinfo:index)" iw="%(eolinfo:worktree)" a="%(eolattr)" %(objectsize) %(path)'
blob 100644 26b37d07facfc371afa61dac1dc310e2d7c02597 1 ii="lf" iw="crlf" a="" 4 conflicted
blob 100644 c7282027d1875479bb99724d26b3d1109ebf8b60 2 ii="lf" iw="crlf" a="" 6 conflicted
blob 100644 403ec31f0a10be94cad6ab8663f2d508869a06b0 3 ii="lf" iw="crlf" a="" 6 conflicted
blob 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 ii="none" iw="" a="" 0 dir_to_file/.gitkeep
blob 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 ii="none" iw="" a="" 0 file_to_dir
blob 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 ii="none" iw="" a="" 0 file_to_dir_empty
blob 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 ii="none" iw="" a="" 0 unstaged_deletion
blob 100644 d00491fd7e5bb6fa28c517a0bb32b8b506539d4d 0 ii="lf" iw="lf" a="" 2 unstaged_modification
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --unmerged
M 100644 26b37d07facfc371afa61dac1dc310e2d7c02597 1 conflicted
M 100644 c7282027d1875479bb99724d26b3d1109ebf8b60 2 conflicted
M 100644 403ec31f0a10be94cad6ab8663f2d508869a06b0 3 conflicted
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --unmerged --format='%(objecttype) %(objectmode) %(objectname) %(stage) ii="%(eolinfo:index)" iw="%(eolinfo:worktree)" a="%(eolattr)" %(objectsize) %(path)'
blob 100644 26b37d07facfc371afa61dac1dc310e2d7c02597 1 ii="lf" iw="crlf" a="" 4 conflicted
blob 100644 c7282027d1875479bb99724d26b3d1109ebf8b60 2 ii="lf" iw="crlf" a="" 6 conflicted
blob 100644 403ec31f0a10be94cad6ab8663f2d508869a06b0 3 ii="lf" iw="crlf" a="" 6 conflicted
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' init
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status
On branch master
No commits yet
nothing to commit (create/copy files and use "git add" to track)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --long
On branch master
No commits yet
nothing to commit (create/copy files and use "git add" to track)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --short
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --short --branch
## No commits yet on master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --porcelain
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --porcelain --branch
## No commits yet on master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --porcelain=v1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --porcelain=v1 --branch
## No commits yet on master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --porcelain=v2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --porcelain=v2 --branch
# branch.oid (initial)
# branch.head master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ mkdir --parents -- './repo/untracked_dir_empty' './repo/untracked_dir'; touch -- './repo/untracked' './repo/untracked_dir/untracked'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ touch -- './repo/unstaged_deletion'; git -C './repo' add './unstaged_deletion'; rm -- './repo/unstaged_deletion'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/unstaged_modification'; git -C './repo' add './unstaged_modification'; echo '2' >'./repo/unstaged_modification'
warning: in the working copy of 'unstaged_modification', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ mkdir --parents -- './repo/dir_to_file'; touch -- './repo/file_to_dir' './repo/file_to_dir_empty' './repo/dir_to_file/.gitkeep'; git -C './repo' add './file_to_dir' './file_to_dir_empty' './dir_to_file'; rm --recursive -- './repo/file_to_dir' './repo/file_to_dir_empty' './repo/dir_to_file'; mkdir --parents -- './repo/file_to_dir' './repo/file_to_dir_empty'; touch -- './repo/dir_to_file' './repo/file_to_dir/.gitkeep'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status
On branch master
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: dir_to_file/.gitkeep
new file: file_to_dir
new file: file_to_dir_empty
new file: unstaged_deletion
new file: unstaged_modification
Changes not staged for commit:
(use "git add/rm <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
deleted: dir_to_file/.gitkeep
deleted: file_to_dir
deleted: file_to_dir_empty
deleted: unstaged_deletion
modified: unstaged_modification
Untracked files:
(use "git add <file>..." to include in what will be committed)
dir_to_file
untracked
untracked_dir/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --long
On branch master
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: dir_to_file/.gitkeep
new file: file_to_dir
new file: file_to_dir_empty
new file: unstaged_deletion
new file: unstaged_modification
Changes not staged for commit:
(use "git add/rm <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
deleted: dir_to_file/.gitkeep
deleted: file_to_dir
deleted: file_to_dir_empty
deleted: unstaged_deletion
modified: unstaged_modification
Untracked files:
(use "git add <file>..." to include in what will be committed)
dir_to_file
untracked
untracked_dir/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --short
AD dir_to_file/.gitkeep
AD file_to_dir
AD file_to_dir_empty
AD unstaged_deletion
AM unstaged_modification
?? dir_to_file
?? untracked
?? untracked_dir/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --short --branch
## No commits yet on master
AD dir_to_file/.gitkeep
AD file_to_dir
AD file_to_dir_empty
AD unstaged_deletion
AM unstaged_modification
?? dir_to_file
?? untracked
?? untracked_dir/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --porcelain
AD dir_to_file/.gitkeep
AD file_to_dir
AD file_to_dir_empty
AD unstaged_deletion
AM unstaged_modification
?? dir_to_file
?? untracked
?? untracked_dir/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --porcelain --branch
## No commits yet on master
AD dir_to_file/.gitkeep
AD file_to_dir
AD file_to_dir_empty
AD unstaged_deletion
AM unstaged_modification
?? dir_to_file
?? untracked
?? untracked_dir/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --porcelain=v1
AD dir_to_file/.gitkeep
AD file_to_dir
AD file_to_dir_empty
AD unstaged_deletion
AM unstaged_modification
?? dir_to_file
?? untracked
?? untracked_dir/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --porcelain=v1 --branch
## No commits yet on master
AD dir_to_file/.gitkeep
AD file_to_dir
AD file_to_dir_empty
AD unstaged_deletion
AM unstaged_modification
?? dir_to_file
?? untracked
?? untracked_dir/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --porcelain=v2
1 AD N... 000000 100644 000000 0000000000000000000000000000000000000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 dir_to_file/.gitkeep
1 AD N... 000000 100644 000000 0000000000000000000000000000000000000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 file_to_dir
1 AD N... 000000 100644 000000 0000000000000000000000000000000000000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 file_to_dir_empty
1 AD N... 000000 100644 000000 0000000000000000000000000000000000000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 unstaged_deletion
1 AM N... 000000 100644 100644 0000000000000000000000000000000000000000 d00491fd7e5bb6fa28c517a0bb32b8b506539d4d unstaged_modification
? dir_to_file
? untracked
? untracked_dir/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --porcelain=v2 --branch
# branch.oid (initial)
# branch.head master
1 AD N... 000000 100644 000000 0000000000000000000000000000000000000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 dir_to_file/.gitkeep
1 AD N... 000000 100644 000000 0000000000000000000000000000000000000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 file_to_dir
1 AD N... 000000 100644 000000 0000000000000000000000000000000000000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 file_to_dir_empty
1 AD N... 000000 100644 000000 0000000000000000000000000000000000000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 unstaged_deletion
1 AM N... 000000 100644 100644 0000000000000000000000000000000000000000 d00491fd7e5bb6fa28c517a0bb32b8b506539d4d unstaged_modification
? dir_to_file
? untracked
? untracked_dir/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))"
[master (root-commit) b6392ec] 1
5 files changed, 1 insertion(+)
create mode 100644 dir_to_file/.gitkeep
create mode 100644 file_to_dir
create mode 100644 file_to_dir_empty
create mode 100644 unstaged_deletion
create mode 100644 unstaged_modification
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --long
On branch master
Changes not staged for commit:
(use "git add/rm <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
deleted: dir_to_file/.gitkeep
deleted: file_to_dir
deleted: file_to_dir_empty
deleted: unstaged_deletion
modified: unstaged_modification
Untracked files:
(use "git add <file>..." to include in what will be committed)
dir_to_file
untracked
untracked_dir/
no changes added to commit (use "git add" and/or "git commit -a")
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --short
D dir_to_file/.gitkeep
D file_to_dir
D file_to_dir_empty
D unstaged_deletion
M unstaged_modification
?? dir_to_file
?? untracked
?? untracked_dir/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --short --branch
## master
D dir_to_file/.gitkeep
D file_to_dir
D file_to_dir_empty
D unstaged_deletion
M unstaged_modification
?? dir_to_file
?? untracked
?? untracked_dir/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --porcelain=v1
D dir_to_file/.gitkeep
D file_to_dir
D file_to_dir_empty
D unstaged_deletion
M unstaged_modification
?? dir_to_file
?? untracked
?? untracked_dir/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --porcelain=v1 --branch
## master
D dir_to_file/.gitkeep
D file_to_dir
D file_to_dir_empty
D unstaged_deletion
M unstaged_modification
?? dir_to_file
?? untracked
?? untracked_dir/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --porcelain=v2
1 .D N... 100644 100644 000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 dir_to_file/.gitkeep
1 .D N... 100644 100644 000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 file_to_dir
1 .D N... 100644 100644 000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 file_to_dir_empty
1 .D N... 100644 100644 000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 unstaged_deletion
1 .M N... 100644 100644 100644 d00491fd7e5bb6fa28c517a0bb32b8b506539d4d d00491fd7e5bb6fa28c517a0bb32b8b506539d4d unstaged_modification
? dir_to_file
? untracked
? untracked_dir/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --porcelain=v2 --branch
# branch.oid b6392ecae13adb1cd2c0daa22c63f9e36dc810ac
# branch.head master
1 .D N... 100644 100644 000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 dir_to_file/.gitkeep
1 .D N... 100644 100644 000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 file_to_dir
1 .D N... 100644 100644 000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 file_to_dir_empty
1 .D N... 100644 100644 000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 unstaged_deletion
1 .M N... 100644 100644 100644 d00491fd7e5bb6fa28c517a0bb32b8b506539d4d d00491fd7e5bb6fa28c517a0bb32b8b506539d4d unstaged_modification
? dir_to_file
? untracked
? untracked_dir/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' add '*'
warning: in the working copy of 'unstaged_modification', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --long
On branch master
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
renamed: dir_to_file/.gitkeep -> dir_to_file
renamed: file_to_dir -> file_to_dir/.gitkeep
modified: unstaged_modification
renamed: file_to_dir_empty -> untracked
renamed: unstaged_deletion -> untracked_dir/untracked
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --short
R dir_to_file/.gitkeep -> dir_to_file
R file_to_dir -> file_to_dir/.gitkeep
M unstaged_modification
R file_to_dir_empty -> untracked
R unstaged_deletion -> untracked_dir/untracked
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --short --branch
## master
R dir_to_file/.gitkeep -> dir_to_file
R file_to_dir -> file_to_dir/.gitkeep
M unstaged_modification
R file_to_dir_empty -> untracked
R unstaged_deletion -> untracked_dir/untracked
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --porcelain=v1
R dir_to_file/.gitkeep -> dir_to_file
R file_to_dir -> file_to_dir/.gitkeep
M unstaged_modification
R file_to_dir_empty -> untracked
R unstaged_deletion -> untracked_dir/untracked
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --porcelain=v1 --branch
## master
R dir_to_file/.gitkeep -> dir_to_file
R file_to_dir -> file_to_dir/.gitkeep
M unstaged_modification
R file_to_dir_empty -> untracked
R unstaged_deletion -> untracked_dir/untracked
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --porcelain=v2
2 R. N... 100644 100644 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 R100 dir_to_file dir_to_file/.gitkeep
2 R. N... 100644 100644 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 R100 file_to_dir/.gitkeep file_to_dir
1 M. N... 100644 100644 100644 d00491fd7e5bb6fa28c517a0bb32b8b506539d4d 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f unstaged_modification
2 R. N... 100644 100644 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 R100 untracked file_to_dir_empty
2 R. N... 100644 100644 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 R100 untracked_dir/untracked unstaged_deletion
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --porcelain=v2 --branch
# branch.oid b6392ecae13adb1cd2c0daa22c63f9e36dc810ac
# branch.head master
2 R. N... 100644 100644 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 R100 dir_to_file dir_to_file/.gitkeep
2 R. N... 100644 100644 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 R100 file_to_dir/.gitkeep file_to_dir
1 M. N... 100644 100644 100644 d00491fd7e5bb6fa28c517a0bb32b8b506539d4d 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f unstaged_modification
2 R. N... 100644 100644 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 R100 untracked file_to_dir_empty
2 R. N... 100644 100644 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 R100 untracked_dir/untracked unstaged_deletion
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout --detach
A dir_to_file
D dir_to_file/.gitkeep
D file_to_dir
A file_to_dir/.gitkeep
D file_to_dir_empty
D unstaged_deletion
M unstaged_modification
A untracked
A untracked_dir/untracked
HEAD is now at b6392ec 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --long
HEAD detached at b6392ec
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
renamed: dir_to_file/.gitkeep -> dir_to_file
renamed: file_to_dir -> file_to_dir/.gitkeep
modified: unstaged_modification
renamed: file_to_dir_empty -> untracked
renamed: unstaged_deletion -> untracked_dir/untracked
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --short
R dir_to_file/.gitkeep -> dir_to_file
R file_to_dir -> file_to_dir/.gitkeep
M unstaged_modification
R file_to_dir_empty -> untracked
R unstaged_deletion -> untracked_dir/untracked
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --short --branch
## HEAD (no branch)
R dir_to_file/.gitkeep -> dir_to_file
R file_to_dir -> file_to_dir/.gitkeep
M unstaged_modification
R file_to_dir_empty -> untracked
R unstaged_deletion -> untracked_dir/untracked
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --porcelain=v1
R dir_to_file/.gitkeep -> dir_to_file
R file_to_dir -> file_to_dir/.gitkeep
M unstaged_modification
R file_to_dir_empty -> untracked
R unstaged_deletion -> untracked_dir/untracked
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --porcelain=v1 --branch
## HEAD (no branch)
R dir_to_file/.gitkeep -> dir_to_file
R file_to_dir -> file_to_dir/.gitkeep
M unstaged_modification
R file_to_dir_empty -> untracked
R unstaged_deletion -> untracked_dir/untracked
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --porcelain=v2
2 R. N... 100644 100644 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 R100 dir_to_file dir_to_file/.gitkeep
2 R. N... 100644 100644 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 R100 file_to_dir/.gitkeep file_to_dir
1 M. N... 100644 100644 100644 d00491fd7e5bb6fa28c517a0bb32b8b506539d4d 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f unstaged_modification
2 R. N... 100644 100644 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 R100 untracked file_to_dir_empty
2 R. N... 100644 100644 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 R100 untracked_dir/untracked unstaged_deletion
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --porcelain=v2 --branch
# branch.oid b6392ecae13adb1cd2c0daa22c63f9e36dc810ac
# branch.head (detached)
2 R. N... 100644 100644 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 R100 dir_to_file dir_to_file/.gitkeep
2 R. N... 100644 100644 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 R100 file_to_dir/.gitkeep file_to_dir
1 M. N... 100644 100644 100644 d00491fd7e5bb6fa28c517a0bb32b8b506539d4d 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f unstaged_modification
2 R. N... 100644 100644 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 R100 untracked file_to_dir_empty
2 R. N... 100644 100644 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 R100 untracked_dir/untracked unstaged_deletion
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' init
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ mkdir --parents -- './repo/untracked_dir_empty' './repo/untracked_dir'; touch -- './repo/untracked' './repo/untracked_dir/untracked'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ touch -- './repo/unstaged_deletion'; git -C './repo' add './unstaged_deletion'; rm -- './repo/unstaged_deletion'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/unstaged_modification'; git -C './repo' add './unstaged_modification'; echo '2' >'./repo/unstaged_modification'
warning: in the working copy of 'unstaged_modification', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ mkdir --parents -- './repo/dir_to_file'; touch -- './repo/file_to_dir' './repo/file_to_dir_empty' './repo/dir_to_file/.gitkeep'; git -C './repo' add './file_to_dir' './file_to_dir_empty' './dir_to_file'; rm --recursive -- './repo/file_to_dir' './repo/file_to_dir_empty' './repo/dir_to_file'; mkdir --parents -- './repo/file_to_dir' './repo/file_to_dir_empty'; touch -- './repo/dir_to_file' './repo/file_to_dir/.gitkeep'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status | special_character_to_escape_sequence_preserve_line_ending | cat_with_line_number
1 On branch master\n
2 \n
3 No commits yet\n
4 \n
5 Changes to be committed:\n
6 (use "git rm --cached <file>..." to unstage)\n
7 \tnew file: dir_to_file/.gitkeep\n
8 \tnew file: file_to_dir\n
9 \tnew file: file_to_dir_empty\n
10 \tnew file: unstaged_deletion\n
11 \tnew file: unstaged_modification\n
12 \n
13 Changes not staged for commit:\n
14 (use "git add/rm <file>..." to update what will be committed)\n
15 (use "git restore <file>..." to discard changes in working directory)\n
16 \tdeleted: dir_to_file/.gitkeep\n
17 \tdeleted: file_to_dir\n
18 \tdeleted: file_to_dir_empty\n
19 \tdeleted: unstaged_deletion\n
20 \tmodified: unstaged_modification\n
21 \n
22 Untracked files:\n
23 (use "git add <file>..." to include in what will be committed)\n
24 \tdir_to_file\n
25 \tuntracked\n
26 \tuntracked_dir/\n
27 \n
28
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status -z | special_character_to_escape_sequence_preserve_line_ending | cat_with_line_number
1 AD dir_to_file/.gitkeep\0AD file_to_dir\0AD file_to_dir_empty\0AD unstaged_deletion\0AM unstaged_modification\0?? dir_to_file\0?? untracked\0?? untracked_dir/\0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --long | special_character_to_escape_sequence_preserve_line_ending | cat_with_line_number
1 On branch master\n
2 \n
3 No commits yet\n
4 \n
5 Changes to be committed:\n
6 (use "git rm --cached <file>..." to unstage)\n
7 \tnew file: dir_to_file/.gitkeep\n
8 \tnew file: file_to_dir\n
9 \tnew file: file_to_dir_empty\n
10 \tnew file: unstaged_deletion\n
11 \tnew file: unstaged_modification\n
12 \n
13 Changes not staged for commit:\n
14 (use "git add/rm <file>..." to update what will be committed)\n
15 (use "git restore <file>..." to discard changes in working directory)\n
16 \tdeleted: dir_to_file/.gitkeep\n
17 \tdeleted: file_to_dir\n
18 \tdeleted: file_to_dir_empty\n
19 \tdeleted: unstaged_deletion\n
20 \tmodified: unstaged_modification\n
21 \n
22 Untracked files:\n
23 (use "git add <file>..." to include in what will be committed)\n
24 \tdir_to_file\n
25 \tuntracked\n
26 \tuntracked_dir/\n
27 \n
28
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --long -z | special_character_to_escape_sequence_preserve_line_ending | cat_with_line_number
fatal: options '--long' and '-z' cannot be used together
1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --short | special_character_to_escape_sequence_preserve_line_ending | cat_with_line_number
1 AD dir_to_file/.gitkeep\n
2 AD file_to_dir\n
3 AD file_to_dir_empty\n
4 AD unstaged_deletion\n
5 AM unstaged_modification\n
6 ?? dir_to_file\n
7 ?? untracked\n
8 ?? untracked_dir/\n
9
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --short -z | special_character_to_escape_sequence_preserve_line_ending | cat_with_line_number
1 AD dir_to_file/.gitkeep\0AD file_to_dir\0AD file_to_dir_empty\0AD unstaged_deletion\0AM unstaged_modification\0?? dir_to_file\0?? untracked\0?? untracked_dir/\0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --short --branch | special_character_to_escape_sequence_preserve_line_ending | cat_with_line_number
1 ## No commits yet on master\n
2 AD dir_to_file/.gitkeep\n
3 AD file_to_dir\n
4 AD file_to_dir_empty\n
5 AD unstaged_deletion\n
6 AM unstaged_modification\n
7 ?? dir_to_file\n
8 ?? untracked\n
9 ?? untracked_dir/\n
10
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --short --branch -z | special_character_to_escape_sequence_preserve_line_ending | cat_with_line_number
1 ## No commits yet on master\0AD dir_to_file/.gitkeep\0AD file_to_dir\0AD file_to_dir_empty\0AD unstaged_deletion\0AM unstaged_modification\0?? dir_to_file\0?? untracked\0?? untracked_dir/\0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --porcelain=v1 | special_character_to_escape_sequence_preserve_line_ending | cat_with_line_number
1 AD dir_to_file/.gitkeep\n
2 AD file_to_dir\n
3 AD file_to_dir_empty\n
4 AD unstaged_deletion\n
5 AM unstaged_modification\n
6 ?? dir_to_file\n
7 ?? untracked\n
8 ?? untracked_dir/\n
9
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --porcelain=v1 -z | special_character_to_escape_sequence_preserve_line_ending | cat_with_line_number
1 AD dir_to_file/.gitkeep\0AD file_to_dir\0AD file_to_dir_empty\0AD unstaged_deletion\0AM unstaged_modification\0?? dir_to_file\0?? untracked\0?? untracked_dir/\0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --porcelain=v1 --branch | special_character_to_escape_sequence_preserve_line_ending | cat_with_line_number
1 ## No commits yet on master\n
2 AD dir_to_file/.gitkeep\n
3 AD file_to_dir\n
4 AD file_to_dir_empty\n
5 AD unstaged_deletion\n
6 AM unstaged_modification\n
7 ?? dir_to_file\n
8 ?? untracked\n
9 ?? untracked_dir/\n
10
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --porcelain=v1 --branch -z | special_character_to_escape_sequence_preserve_line_ending | cat_with_line_number
1 ## No commits yet on master\0AD dir_to_file/.gitkeep\0AD file_to_dir\0AD file_to_dir_empty\0AD unstaged_deletion\0AM unstaged_modification\0?? dir_to_file\0?? untracked\0?? untracked_dir/\0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --porcelain=v2 | special_character_to_escape_sequence_preserve_line_ending | cat_with_line_number
1 1 AD N... 000000 100644 000000 0000000000000000000000000000000000000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 dir_to_file/.gitkeep\n
2 1 AD N... 000000 100644 000000 0000000000000000000000000000000000000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 file_to_dir\n
3 1 AD N... 000000 100644 000000 0000000000000000000000000000000000000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 file_to_dir_empty\n
4 1 AD N... 000000 100644 000000 0000000000000000000000000000000000000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 unstaged_deletion\n
5 1 AM N... 000000 100644 100644 0000000000000000000000000000000000000000 d00491fd7e5bb6fa28c517a0bb32b8b506539d4d unstaged_modification\n
6 ? dir_to_file\n
7 ? untracked\n
8 ? untracked_dir/\n
9
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --porcelain=v2 -z | special_character_to_escape_sequence_preserve_line_ending | cat_with_line_number
1 1 AD N... 000000 100644 000000 0000000000000000000000000000000000000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 dir_to_file/.gitkeep\01 AD N... 000000 100644 000000 0000000000000000000000000000000000000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 file_to_dir\01 AD N... 000000 100644 000000 0000000000000000000000000000000000000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 file_to_dir_empty\01 AD N... 000000 100644 000000 0000000000000000000000000000000000000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 unstaged_deletion\01 AM N... 000000 100644 100644 0000000000000000000000000000000000000000 d00491fd7e5bb6fa28c517a0bb32b8b506539d4d unstaged_modification\0? dir_to_file\0? untracked\0? untracked_dir/\0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --porcelain=v2 --branch | special_character_to_escape_sequence_preserve_line_ending | cat_with_line_number
1 # branch.oid (initial)\n
2 # branch.head master\n
3 1 AD N... 000000 100644 000000 0000000000000000000000000000000000000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 dir_to_file/.gitkeep\n
4 1 AD N... 000000 100644 000000 0000000000000000000000000000000000000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 file_to_dir\n
5 1 AD N... 000000 100644 000000 0000000000000000000000000000000000000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 file_to_dir_empty\n
6 1 AD N... 000000 100644 000000 0000000000000000000000000000000000000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 unstaged_deletion\n
7 1 AM N... 000000 100644 100644 0000000000000000000000000000000000000000 d00491fd7e5bb6fa28c517a0bb32b8b506539d4d unstaged_modification\n
8 ? dir_to_file\n
9 ? untracked\n
10 ? untracked_dir/\n
11
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --porcelain=v2 --branch -z | special_character_to_escape_sequence_preserve_line_ending | cat_with_line_number
1 # branch.oid (initial)\0# branch.head master\01 AD N... 000000 100644 000000 0000000000000000000000000000000000000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 dir_to_file/.gitkeep\01 AD N... 000000 100644 000000 0000000000000000000000000000000000000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 file_to_dir\01 AD N... 000000 100644 000000 0000000000000000000000000000000000000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 file_to_dir_empty\01 AD N... 000000 100644 000000 0000000000000000000000000000000000000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 unstaged_deletion\01 AM N... 000000 100644 100644 0000000000000000000000000000000000000000 d00491fd7e5bb6fa28c517a0bb32b8b506539d4d unstaged_modification\0? dir_to_file\0? untracked\0? untracked_dir/\0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server' init --bare './repo.git'
Initialized empty Git repository in C:/Program Files/Git/test_git/server/repo.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
[master (root-commit) c233b76] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
[master ee9c231] 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg
* ee9c231 - 2026-05-30 16:54 (1 second ago) 2 - Han Jiang (HEAD -> refs/heads/master)
* c233b76 - 2026-05-30 16:54 (1 second ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone '../server/repo.git' './repo'
Cloning into './repo'...
done.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' reset --hard HEAD~1
HEAD is now at c233b76 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' commit --message="$((++number))" --allow-empty
[master 5777072] 3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all
* 5777072 - 2026-05-30 16:54 (1 second ago) 3 - Han Jiang (HEAD -> refs/heads/master)
| * ee9c231 - 2026-05-30 16:54 (3 seconds ago) 2 - Han Jiang (refs/remotes/origin/master, refs/remotes/origin/HEAD)
|/
* c233b76 - 2026-05-30 16:54 (3 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' status --long
On branch master
Your branch and 'origin/master' have diverged,
and have 1 and 1 different commits each, respectively.
(use "git pull" if you want to integrate the remote branch with yours)
nothing to commit, working tree clean
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' status --long --no-ahead-behind
On branch master
Your branch and 'origin/master' refer to different commits.
(use "git status --ahead-behind" for details)
nothing to commit, working tree clean
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' status --short
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' status --short --ahead-behind
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' status --short --branch
## master...origin/master [ahead 1, behind 1]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' status --short --branch --no-ahead-behind
## master...origin/master [different]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' status --porcelain=v1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' status --porcelain=v1 --ahead-behind
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' status --porcelain=v1 --branch
## master...origin/master [ahead 1, behind 1]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' status --porcelain=v1 --branch --no-ahead-behind
## master...origin/master [different]
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' status --porcelain=v2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' status --porcelain=v2 --ahead-behind
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' status --porcelain=v2 --branch
# branch.oid 5777072b0b705908caea3fa366b3b8551715e84b
# branch.head master
# branch.upstream origin/master
# branch.ab +1 -1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' status --porcelain=v2 --branch --no-ahead-behind
# branch.oid 5777072b0b705908caea3fa366b3b8551715e84b
# branch.head master
# branch.upstream origin/master
# branch.ab +? -?
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' init
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ mkdir --parents -- './repo/untracked_dir_empty' './repo/untracked_dir'; touch -- './repo/untracked' './repo/untracked_dir/untracked'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ touch -- './repo/unstaged_deletion'; git -C './repo' add './unstaged_deletion'; rm -- './repo/unstaged_deletion'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/unstaged_modification'; git -C './repo' add './unstaged_modification'; echo '2' >'./repo/unstaged_modification'
warning: in the working copy of 'unstaged_modification', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ mkdir --parents -- './repo/dir_to_file'; touch -- './repo/file_to_dir' './repo/file_to_dir_empty' './repo/dir_to_file/.gitkeep'; git -C './repo' add './file_to_dir' './file_to_dir_empty' './dir_to_file'; rm --recursive -- './repo/file_to_dir' './repo/file_to_dir_empty' './repo/dir_to_file'; mkdir --parents -- './repo/file_to_dir' './repo/file_to_dir_empty'; touch -- './repo/dir_to_file' './repo/file_to_dir/.gitkeep'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --long --untracked-files=all
On branch master
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: dir_to_file/.gitkeep
new file: file_to_dir
new file: file_to_dir_empty
new file: unstaged_deletion
new file: unstaged_modification
Changes not staged for commit:
(use "git add/rm <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
deleted: dir_to_file/.gitkeep
deleted: file_to_dir
deleted: file_to_dir_empty
deleted: unstaged_deletion
modified: unstaged_modification
Untracked files:
(use "git add <file>..." to include in what will be committed)
dir_to_file
file_to_dir/.gitkeep
untracked
untracked_dir/untracked
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --long --untracked-files=normal
On branch master
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: dir_to_file/.gitkeep
new file: file_to_dir
new file: file_to_dir_empty
new file: unstaged_deletion
new file: unstaged_modification
Changes not staged for commit:
(use "git add/rm <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
deleted: dir_to_file/.gitkeep
deleted: file_to_dir
deleted: file_to_dir_empty
deleted: unstaged_deletion
modified: unstaged_modification
Untracked files:
(use "git add <file>..." to include in what will be committed)
dir_to_file
untracked
untracked_dir/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --long --untracked-files=no
On branch master
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: dir_to_file/.gitkeep
new file: file_to_dir
new file: file_to_dir_empty
new file: unstaged_deletion
new file: unstaged_modification
Changes not staged for commit:
(use "git add/rm <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
deleted: dir_to_file/.gitkeep
deleted: file_to_dir
deleted: file_to_dir_empty
deleted: unstaged_deletion
modified: unstaged_modification
Untracked files not listed (use -u option to show untracked files)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --short --untracked-files=all
AD dir_to_file/.gitkeep
AD file_to_dir
AD file_to_dir_empty
AD unstaged_deletion
AM unstaged_modification
?? dir_to_file
?? file_to_dir/.gitkeep
?? untracked
?? untracked_dir/untracked
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --short --untracked-files=normal
AD dir_to_file/.gitkeep
AD file_to_dir
AD file_to_dir_empty
AD unstaged_deletion
AM unstaged_modification
?? dir_to_file
?? untracked
?? untracked_dir/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --short --untracked-files=no
AD dir_to_file/.gitkeep
AD file_to_dir
AD file_to_dir_empty
AD unstaged_deletion
AM unstaged_modification
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --porcelain=v1 --untracked-files=all
AD dir_to_file/.gitkeep
AD file_to_dir
AD file_to_dir_empty
AD unstaged_deletion
AM unstaged_modification
?? dir_to_file
?? file_to_dir/.gitkeep
?? untracked
?? untracked_dir/untracked
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --porcelain=v1 --untracked-files=normal
AD dir_to_file/.gitkeep
AD file_to_dir
AD file_to_dir_empty
AD unstaged_deletion
AM unstaged_modification
?? dir_to_file
?? untracked
?? untracked_dir/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --porcelain=v1 --untracked-files=no
AD dir_to_file/.gitkeep
AD file_to_dir
AD file_to_dir_empty
AD unstaged_deletion
AM unstaged_modification
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --porcelain=v2 --untracked-files=all
1 AD N... 000000 100644 000000 0000000000000000000000000000000000000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 dir_to_file/.gitkeep
1 AD N... 000000 100644 000000 0000000000000000000000000000000000000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 file_to_dir
1 AD N... 000000 100644 000000 0000000000000000000000000000000000000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 file_to_dir_empty
1 AD N... 000000 100644 000000 0000000000000000000000000000000000000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 unstaged_deletion
1 AM N... 000000 100644 100644 0000000000000000000000000000000000000000 d00491fd7e5bb6fa28c517a0bb32b8b506539d4d unstaged_modification
? dir_to_file
? file_to_dir/.gitkeep
? untracked
? untracked_dir/untracked
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --porcelain=v2 --untracked-files=normal
1 AD N... 000000 100644 000000 0000000000000000000000000000000000000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 dir_to_file/.gitkeep
1 AD N... 000000 100644 000000 0000000000000000000000000000000000000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 file_to_dir
1 AD N... 000000 100644 000000 0000000000000000000000000000000000000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 file_to_dir_empty
1 AD N... 000000 100644 000000 0000000000000000000000000000000000000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 unstaged_deletion
1 AM N... 000000 100644 100644 0000000000000000000000000000000000000000 d00491fd7e5bb6fa28c517a0bb32b8b506539d4d unstaged_modification
? dir_to_file
? untracked
? untracked_dir/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --porcelain=v2 --untracked-files=no
1 AD N... 000000 100644 000000 0000000000000000000000000000000000000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 dir_to_file/.gitkeep
1 AD N... 000000 100644 000000 0000000000000000000000000000000000000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 file_to_dir
1 AD N... 000000 100644 000000 0000000000000000000000000000000000000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 file_to_dir_empty
1 AD N... 000000 100644 000000 0000000000000000000000000000000000000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 unstaged_deletion
1 AM N... 000000 100644 100644 0000000000000000000000000000000000000000 d00491fd7e5bb6fa28c517a0bb32b8b506539d4d unstaged_modification
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' init
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ mkdir --parents -- './repo/untracked_dir_empty' './repo/untracked_dir_empty_excluded' './repo/untracked_dir' './repo/untracked_dir_excluded'; touch -- './repo/untracked' './repo/untracked_excluded' './repo/untracked_dir/untracked' './repo/untracked_dir/untracked_excluded' './repo/untracked_dir_excluded/untracked' './repo/untracked_dir_excluded/untracked_excluded'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ touch -- './repo/unstaged_deletion' './repo/unstaged_deletion_excluded'; git -C './repo' add './unstaged_deletion' './unstaged_deletion_excluded'; rm -- './repo/unstaged_deletion' './repo/unstaged_deletion_excluded'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/unstaged_modification'; echo '1' >'./repo/unstaged_modification_excluded'; git -C './repo' add './unstaged_modification' './unstaged_modification_excluded'; echo '2' >'./repo/unstaged_modification'; echo '2' >'./repo/unstaged_modification_excluded'
warning: in the working copy of 'unstaged_modification', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'unstaged_modification_excluded', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ mkdir --parents -- './repo/dir_to_file' './repo/dir_to_file_excluded'; touch -- './repo/file_to_dir' './repo/file_to_dir_excluded' './repo/file_to_dir_empty' './repo/file_to_dir_empty_excluded' './repo/dir_to_file/.gitkeep' './repo/dir_to_file_excluded/.gitkeep'; git -C './repo' add './file_to_dir' './file_to_dir_excluded' './file_to_dir_empty' './file_to_dir_empty_excluded' './dir_to_file' './dir_to_file_excluded'; rm --recursive -- './repo/file_to_dir' './repo/file_to_dir_excluded' './repo/file_to_dir_empty' './repo/file_to_dir_empty_excluded' './repo/dir_to_file' './repo/dir_to_file_excluded'; mkdir --parents -- './repo/file_to_dir' './repo/file_to_dir_excluded' './repo/file_to_dir_empty' './repo/file_to_dir_empty_excluded'; touch -- './repo/dir_to_file' './repo/dir_to_file_excluded' './repo/file_to_dir/.gitkeep' './repo/file_to_dir_excluded/.gitkeep'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '*_excluded' >'./repo/.gitignore'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --long --ignored=no
On branch master
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: dir_to_file/.gitkeep
new file: dir_to_file_excluded/.gitkeep
new file: file_to_dir
new file: file_to_dir_empty
new file: file_to_dir_empty_excluded
new file: file_to_dir_excluded
new file: unstaged_deletion
new file: unstaged_deletion_excluded
new file: unstaged_modification
new file: unstaged_modification_excluded
Changes not staged for commit:
(use "git add/rm <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
deleted: dir_to_file/.gitkeep
deleted: dir_to_file_excluded/.gitkeep
deleted: file_to_dir
deleted: file_to_dir_empty
deleted: file_to_dir_empty_excluded
deleted: file_to_dir_excluded
deleted: unstaged_deletion
deleted: unstaged_deletion_excluded
modified: unstaged_modification
modified: unstaged_modification_excluded
Untracked files:
(use "git add <file>..." to include in what will be committed)
.gitignore
dir_to_file
untracked
untracked_dir/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --long --ignored=matching
On branch master
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: dir_to_file/.gitkeep
new file: dir_to_file_excluded/.gitkeep
new file: file_to_dir
new file: file_to_dir_empty
new file: file_to_dir_empty_excluded
new file: file_to_dir_excluded
new file: unstaged_deletion
new file: unstaged_deletion_excluded
new file: unstaged_modification
new file: unstaged_modification_excluded
Changes not staged for commit:
(use "git add/rm <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
deleted: dir_to_file/.gitkeep
deleted: dir_to_file_excluded/.gitkeep
deleted: file_to_dir
deleted: file_to_dir_empty
deleted: file_to_dir_empty_excluded
deleted: file_to_dir_excluded
deleted: unstaged_deletion
deleted: unstaged_deletion_excluded
modified: unstaged_modification
modified: unstaged_modification_excluded
Untracked files:
(use "git add <file>..." to include in what will be committed)
.gitignore
dir_to_file
untracked
untracked_dir/
Ignored files:
(use "git add -f <file>..." to include in what will be committed)
dir_to_file_excluded
untracked_dir/untracked_excluded
untracked_dir_empty_excluded/
untracked_dir_excluded/
untracked_excluded
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --long --ignored=traditional
On branch master
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: dir_to_file/.gitkeep
new file: dir_to_file_excluded/.gitkeep
new file: file_to_dir
new file: file_to_dir_empty
new file: file_to_dir_empty_excluded
new file: file_to_dir_excluded
new file: unstaged_deletion
new file: unstaged_deletion_excluded
new file: unstaged_modification
new file: unstaged_modification_excluded
Changes not staged for commit:
(use "git add/rm <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
deleted: dir_to_file/.gitkeep
deleted: dir_to_file_excluded/.gitkeep
deleted: file_to_dir
deleted: file_to_dir_empty
deleted: file_to_dir_empty_excluded
deleted: file_to_dir_excluded
deleted: unstaged_deletion
deleted: unstaged_deletion_excluded
modified: unstaged_modification
modified: unstaged_modification_excluded
Untracked files:
(use "git add <file>..." to include in what will be committed)
.gitignore
dir_to_file
untracked
untracked_dir/
Ignored files:
(use "git add -f <file>..." to include in what will be committed)
dir_to_file_excluded
untracked_dir/untracked_excluded
untracked_dir_excluded/
untracked_excluded
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --short --ignored=no
AD dir_to_file/.gitkeep
AD dir_to_file_excluded/.gitkeep
AD file_to_dir
AD file_to_dir_empty
AD file_to_dir_empty_excluded
AD file_to_dir_excluded
AD unstaged_deletion
AD unstaged_deletion_excluded
AM unstaged_modification
AM unstaged_modification_excluded
?? .gitignore
?? dir_to_file
?? untracked
?? untracked_dir/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --short --ignored=matching
AD dir_to_file/.gitkeep
AD dir_to_file_excluded/.gitkeep
AD file_to_dir
AD file_to_dir_empty
AD file_to_dir_empty_excluded
AD file_to_dir_excluded
AD unstaged_deletion
AD unstaged_deletion_excluded
AM unstaged_modification
AM unstaged_modification_excluded
?? .gitignore
?? dir_to_file
?? untracked
?? untracked_dir/
!! dir_to_file_excluded
!! untracked_dir/untracked_excluded
!! untracked_dir_empty_excluded/
!! untracked_dir_excluded/
!! untracked_excluded
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --short --ignored=traditional
AD dir_to_file/.gitkeep
AD dir_to_file_excluded/.gitkeep
AD file_to_dir
AD file_to_dir_empty
AD file_to_dir_empty_excluded
AD file_to_dir_excluded
AD unstaged_deletion
AD unstaged_deletion_excluded
AM unstaged_modification
AM unstaged_modification_excluded
?? .gitignore
?? dir_to_file
?? untracked
?? untracked_dir/
!! dir_to_file_excluded
!! untracked_dir/untracked_excluded
!! untracked_dir_excluded/
!! untracked_excluded
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --porcelain=v1 --ignored=no
AD dir_to_file/.gitkeep
AD dir_to_file_excluded/.gitkeep
AD file_to_dir
AD file_to_dir_empty
AD file_to_dir_empty_excluded
AD file_to_dir_excluded
AD unstaged_deletion
AD unstaged_deletion_excluded
AM unstaged_modification
AM unstaged_modification_excluded
?? .gitignore
?? dir_to_file
?? untracked
?? untracked_dir/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --porcelain=v1 --ignored=matching
AD dir_to_file/.gitkeep
AD dir_to_file_excluded/.gitkeep
AD file_to_dir
AD file_to_dir_empty
AD file_to_dir_empty_excluded
AD file_to_dir_excluded
AD unstaged_deletion
AD unstaged_deletion_excluded
AM unstaged_modification
AM unstaged_modification_excluded
?? .gitignore
?? dir_to_file
?? untracked
?? untracked_dir/
!! dir_to_file_excluded
!! untracked_dir/untracked_excluded
!! untracked_dir_empty_excluded/
!! untracked_dir_excluded/
!! untracked_excluded
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --porcelain=v1 --ignored=traditional
AD dir_to_file/.gitkeep
AD dir_to_file_excluded/.gitkeep
AD file_to_dir
AD file_to_dir_empty
AD file_to_dir_empty_excluded
AD file_to_dir_excluded
AD unstaged_deletion
AD unstaged_deletion_excluded
AM unstaged_modification
AM unstaged_modification_excluded
?? .gitignore
?? dir_to_file
?? untracked
?? untracked_dir/
!! dir_to_file_excluded
!! untracked_dir/untracked_excluded
!! untracked_dir_excluded/
!! untracked_excluded
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --porcelain=v2 --ignored=no
1 AD N... 000000 100644 000000 0000000000000000000000000000000000000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 dir_to_file/.gitkeep
1 AD N... 000000 100644 000000 0000000000000000000000000000000000000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 dir_to_file_excluded/.gitkeep
1 AD N... 000000 100644 000000 0000000000000000000000000000000000000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 file_to_dir
1 AD N... 000000 100644 000000 0000000000000000000000000000000000000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 file_to_dir_empty
1 AD N... 000000 100644 000000 0000000000000000000000000000000000000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 file_to_dir_empty_excluded
1 AD N... 000000 100644 000000 0000000000000000000000000000000000000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 file_to_dir_excluded
1 AD N... 000000 100644 000000 0000000000000000000000000000000000000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 unstaged_deletion
1 AD N... 000000 100644 000000 0000000000000000000000000000000000000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 unstaged_deletion_excluded
1 AM N... 000000 100644 100644 0000000000000000000000000000000000000000 d00491fd7e5bb6fa28c517a0bb32b8b506539d4d unstaged_modification
1 AM N... 000000 100644 100644 0000000000000000000000000000000000000000 d00491fd7e5bb6fa28c517a0bb32b8b506539d4d unstaged_modification_excluded
? .gitignore
? dir_to_file
? untracked
? untracked_dir/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --porcelain=v2 --ignored=matching
1 AD N... 000000 100644 000000 0000000000000000000000000000000000000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 dir_to_file/.gitkeep
1 AD N... 000000 100644 000000 0000000000000000000000000000000000000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 dir_to_file_excluded/.gitkeep
1 AD N... 000000 100644 000000 0000000000000000000000000000000000000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 file_to_dir
1 AD N... 000000 100644 000000 0000000000000000000000000000000000000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 file_to_dir_empty
1 AD N... 000000 100644 000000 0000000000000000000000000000000000000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 file_to_dir_empty_excluded
1 AD N... 000000 100644 000000 0000000000000000000000000000000000000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 file_to_dir_excluded
1 AD N... 000000 100644 000000 0000000000000000000000000000000000000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 unstaged_deletion
1 AD N... 000000 100644 000000 0000000000000000000000000000000000000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 unstaged_deletion_excluded
1 AM N... 000000 100644 100644 0000000000000000000000000000000000000000 d00491fd7e5bb6fa28c517a0bb32b8b506539d4d unstaged_modification
1 AM N... 000000 100644 100644 0000000000000000000000000000000000000000 d00491fd7e5bb6fa28c517a0bb32b8b506539d4d unstaged_modification_excluded
? .gitignore
? dir_to_file
? untracked
? untracked_dir/
! dir_to_file_excluded
! untracked_dir/untracked_excluded
! untracked_dir_empty_excluded/
! untracked_dir_excluded/
! untracked_excluded
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --porcelain=v2 --ignored=traditional
1 AD N... 000000 100644 000000 0000000000000000000000000000000000000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 dir_to_file/.gitkeep
1 AD N... 000000 100644 000000 0000000000000000000000000000000000000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 dir_to_file_excluded/.gitkeep
1 AD N... 000000 100644 000000 0000000000000000000000000000000000000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 file_to_dir
1 AD N... 000000 100644 000000 0000000000000000000000000000000000000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 file_to_dir_empty
1 AD N... 000000 100644 000000 0000000000000000000000000000000000000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 file_to_dir_empty_excluded
1 AD N... 000000 100644 000000 0000000000000000000000000000000000000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 file_to_dir_excluded
1 AD N... 000000 100644 000000 0000000000000000000000000000000000000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 unstaged_deletion
1 AD N... 000000 100644 000000 0000000000000000000000000000000000000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 unstaged_deletion_excluded
1 AM N... 000000 100644 100644 0000000000000000000000000000000000000000 d00491fd7e5bb6fa28c517a0bb32b8b506539d4d unstaged_modification
1 AM N... 000000 100644 100644 0000000000000000000000000000000000000000 d00491fd7e5bb6fa28c517a0bb32b8b506539d4d unstaged_modification_excluded
? .gitignore
? dir_to_file
? untracked
? untracked_dir/
! dir_to_file_excluded
! untracked_dir/untracked_excluded
! untracked_dir_excluded/
! untracked_excluded
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' init
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ mkdir --parents -- './repo/untracked_dir_empty' './repo/untracked_dir_empty_excluded' './repo/untracked_dir' './repo/untracked_dir_excluded'; touch -- './repo/untracked' './repo/untracked_excluded' './repo/untracked_dir/untracked' './repo/untracked_dir/untracked_excluded' './repo/untracked_dir_excluded/untracked' './repo/untracked_dir_excluded/untracked_excluded'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ touch -- './repo/unstaged_deletion' './repo/unstaged_deletion_excluded'; git -C './repo' add './unstaged_deletion' './unstaged_deletion_excluded'; rm -- './repo/unstaged_deletion' './repo/unstaged_deletion_excluded'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/unstaged_modification'; echo '1' >'./repo/unstaged_modification_excluded'; git -C './repo' add './unstaged_modification' './unstaged_modification_excluded'; echo '2' >'./repo/unstaged_modification'; echo '2' >'./repo/unstaged_modification_excluded'
warning: in the working copy of 'unstaged_modification', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'unstaged_modification_excluded', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ mkdir --parents -- './repo/dir_to_file' './repo/dir_to_file_excluded'; touch -- './repo/file_to_dir' './repo/file_to_dir_excluded' './repo/file_to_dir_empty' './repo/file_to_dir_empty_excluded' './repo/dir_to_file/.gitkeep' './repo/dir_to_file_excluded/.gitkeep'; git -C './repo' add './file_to_dir' './file_to_dir_excluded' './file_to_dir_empty' './file_to_dir_empty_excluded' './dir_to_file' './dir_to_file_excluded'; rm --recursive -- './repo/file_to_dir' './repo/file_to_dir_excluded' './repo/file_to_dir_empty' './repo/file_to_dir_empty_excluded' './repo/dir_to_file' './repo/dir_to_file_excluded'; mkdir --parents -- './repo/file_to_dir' './repo/file_to_dir_excluded' './repo/file_to_dir_empty' './repo/file_to_dir_empty_excluded'; touch -- './repo/dir_to_file' './repo/dir_to_file_excluded' './repo/file_to_dir/.gitkeep' './repo/file_to_dir_excluded/.gitkeep'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '*_excluded' >'./repo/.gitignore'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex '.' -not -regex './repo/.git/hooks/.*' -regextype 'posix-extended'
./ d/0o040/directory rwxr-xr-x/0o755
├╴repo/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴.git/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴config -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 [core]\n
│ │ │ 2 \trepositoryformatversion = 0\n
│ │ │ 3 \tfilemode = false\n
│ │ │ 4 \tbare = false\n
│ │ │ 5 \tlogallrefupdates = true\n
│ │ │ 6 \tignorecase = true\n
│ │ │ 7
│ │ ├╴description -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 Unnamed repository; edit this file 'description' to name the repository.\n
│ │ │ 2
│ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 ref: refs/heads/master\n
│ │ │ 2
│ │ ├╴hooks/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴index -/0o100/regular file rw-r--r--/0o644
│ │ ├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴exclude -/0o100/regular file rw-r--r--/0o644
│ │ │ │ 1 # git ls-files --others --exclude-from=.git/info/exclude\n
│ │ │ │ 2 # Lines that start with '#' are comments.\n
│ │ │ │ 3 # For a project mostly in C, the following would be a good set of\n
│ │ │ │ 4 # exclude patterns (uncomment them if you want to use them):\n
│ │ │ │ 5 # *.[oa]\n
│ │ │ │ 6 # *~\n
│ │ │ │ 7
│ │ ├╴objects/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴d0/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴0491fd7e5bb6fa28c517a0bb32b8b506539d4d -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴e6/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴9de29bb2d1d6434b8b29ae775ad8c2e48c5391 -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴pack/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴heads/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴tags/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴.gitignore -/0o100/regular file rw-r--r--/0o644
│ │ 1 *_excluded\n
│ │ 2
│ ├╴dir_to_file -/0o100/regular empty file rw-r--r--/0o644
│ │ 1
│ ├╴dir_to_file_excluded -/0o100/regular empty file rw-r--r--/0o644
│ │ 1
│ ├╴file_to_dir/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴.gitkeep -/0o100/regular empty file rw-r--r--/0o644
│ │ │ 1
│ ├╴file_to_dir_empty/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴file_to_dir_empty_excluded/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴file_to_dir_excluded/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴.gitkeep -/0o100/regular empty file rw-r--r--/0o644
│ │ │ 1
│ ├╴unstaged_modification -/0o100/regular file rw-r--r--/0o644
│ │ 1 2\n
│ │ 2
│ ├╴unstaged_modification_excluded -/0o100/regular file rw-r--r--/0o644
│ │ 1 2\n
│ │ 2
│ ├╴untracked -/0o100/regular empty file rw-r--r--/0o644
│ │ 1
│ ├╴untracked_dir/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴untracked -/0o100/regular empty file rw-r--r--/0o644
│ │ │ 1
│ │ ├╴untracked_excluded -/0o100/regular empty file rw-r--r--/0o644
│ │ │ 1
│ ├╴untracked_dir_empty/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴untracked_dir_empty_excluded/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴untracked_dir_excluded/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴untracked -/0o100/regular empty file rw-r--r--/0o644
│ │ │ 1
│ │ ├╴untracked_excluded -/0o100/regular empty file rw-r--r--/0o644
│ │ │ 1
│ ├╴untracked_excluded -/0o100/regular empty file rw-r--r--/0o644
│ │ 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --short --untracked-files=no --ignored=no
AD dir_to_file/.gitkeep
AD dir_to_file_excluded/.gitkeep
AD file_to_dir
AD file_to_dir_empty
AD file_to_dir_empty_excluded
AD file_to_dir_excluded
AD unstaged_deletion
AD unstaged_deletion_excluded
AM unstaged_modification
AM unstaged_modification_excluded
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --short --untracked-files=no --ignored=matching
fatal: Unsupported combination of ignored and untracked-files arguments
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --short --untracked-files=no --ignored=traditional
AD dir_to_file/.gitkeep
AD dir_to_file_excluded/.gitkeep
AD file_to_dir
AD file_to_dir_empty
AD file_to_dir_empty_excluded
AD file_to_dir_excluded
AD unstaged_deletion
AD unstaged_deletion_excluded
AM unstaged_modification
AM unstaged_modification_excluded
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --short --untracked-files=normal --ignored=no
AD dir_to_file/.gitkeep
AD dir_to_file_excluded/.gitkeep
AD file_to_dir
AD file_to_dir_empty
AD file_to_dir_empty_excluded
AD file_to_dir_excluded
AD unstaged_deletion
AD unstaged_deletion_excluded
AM unstaged_modification
AM unstaged_modification_excluded
?? .gitignore
?? dir_to_file
?? untracked
?? untracked_dir/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --short --untracked-files=normal --ignored=matching
AD dir_to_file/.gitkeep
AD dir_to_file_excluded/.gitkeep
AD file_to_dir
AD file_to_dir_empty
AD file_to_dir_empty_excluded
AD file_to_dir_excluded
AD unstaged_deletion
AD unstaged_deletion_excluded
AM unstaged_modification
AM unstaged_modification_excluded
?? .gitignore
?? dir_to_file
?? untracked
?? untracked_dir/
!! dir_to_file_excluded
!! untracked_dir/untracked_excluded
!! untracked_dir_empty_excluded/
!! untracked_dir_excluded/
!! untracked_excluded
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --short --untracked-files=normal --ignored=traditional
AD dir_to_file/.gitkeep
AD dir_to_file_excluded/.gitkeep
AD file_to_dir
AD file_to_dir_empty
AD file_to_dir_empty_excluded
AD file_to_dir_excluded
AD unstaged_deletion
AD unstaged_deletion_excluded
AM unstaged_modification
AM unstaged_modification_excluded
?? .gitignore
?? dir_to_file
?? untracked
?? untracked_dir/
!! dir_to_file_excluded
!! untracked_dir/untracked_excluded
!! untracked_dir_excluded/
!! untracked_excluded
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --short --untracked-files=all --ignored=no
AD dir_to_file/.gitkeep
AD dir_to_file_excluded/.gitkeep
AD file_to_dir
AD file_to_dir_empty
AD file_to_dir_empty_excluded
AD file_to_dir_excluded
AD unstaged_deletion
AD unstaged_deletion_excluded
AM unstaged_modification
AM unstaged_modification_excluded
?? .gitignore
?? dir_to_file
?? file_to_dir/.gitkeep
?? untracked
?? untracked_dir/untracked
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --short --untracked-files=all --ignored=matching
AD dir_to_file/.gitkeep
AD dir_to_file_excluded/.gitkeep
AD file_to_dir
AD file_to_dir_empty
AD file_to_dir_empty_excluded
AD file_to_dir_excluded
AD unstaged_deletion
AD unstaged_deletion_excluded
AM unstaged_modification
AM unstaged_modification_excluded
?? .gitignore
?? dir_to_file
?? file_to_dir/.gitkeep
?? untracked
?? untracked_dir/untracked
!! dir_to_file_excluded
!! untracked_dir/untracked_excluded
!! untracked_dir_empty_excluded/
!! untracked_dir_excluded/
!! untracked_excluded
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --short --untracked-files=all --ignored=traditional
AD dir_to_file/.gitkeep
AD dir_to_file_excluded/.gitkeep
AD file_to_dir
AD file_to_dir_empty
AD file_to_dir_empty_excluded
AD file_to_dir_excluded
AD unstaged_deletion
AD unstaged_deletion_excluded
AM unstaged_modification
AM unstaged_modification_excluded
?? .gitignore
?? dir_to_file
?? file_to_dir/.gitkeep
?? untracked
?? untracked_dir/untracked
!! dir_to_file_excluded
!! file_to_dir_excluded/.gitkeep
!! untracked_dir/untracked_excluded
!! untracked_dir_excluded/untracked
!! untracked_dir_excluded/untracked_excluded
!! untracked_excluded
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' init
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e '1\n2\n5' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 8f6a01f] 1
1 file changed, 3 insertions(+)
create mode 100644 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e '1\n3\n5' >'./repo/file'; git -C './repo' add './file'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e '1\n4\n5' >'./repo/file'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --long --show-stash
On branch master
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
modified: file
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --short --show-stash
MM file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --porcelain=v1 --show-stash
MM file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --porcelain=v2 --show-stash
1 MM N... 100644 100644 100644 c7282027d1875479bb99724d26b3d1109ebf8b60 403ec31f0a10be94cad6ab8663f2d508869a06b0 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' stash
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
Saved working directory and index state WIP on master: 8f6a01f 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --long --show-stash
On branch master
nothing to commit, working tree clean
Your stash currently has 1 entry
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --short --show-stash
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --porcelain=v1 --show-stash
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --porcelain=v2 --show-stash
# stash 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' stash pop
On branch master
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: file
no changes added to commit (use "git add" and/or "git commit -a")
Dropped refs/stash@{0} (6585ec2dae9000ba2bc3e83ff7767ca878a8e216)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --long --show-stash
On branch master
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: file
no changes added to commit (use "git add" and/or "git commit -a")
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --short --show-stash
M file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --porcelain=v1 --show-stash
M file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --porcelain=v2 --show-stash
1 .M N... 100644 100644 100644 c7282027d1875479bb99724d26b3d1109ebf8b60 c7282027d1875479bb99724d26b3d1109ebf8b60 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' init
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ mkdir --parents -- './repo/untracked_dir_empty' './repo/untracked_dir'; touch -- './repo/untracked' './repo/untracked_dir/untracked'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ touch -- './repo/unstaged_deletion'; git -C './repo' add './unstaged_deletion'; rm -- './repo/unstaged_deletion'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/unstaged_modification'; git -C './repo' add './unstaged_modification'; echo '2' >'./repo/unstaged_modification'
warning: in the working copy of 'unstaged_modification', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ mkdir --parents -- './repo/dir_to_file'; touch -- './repo/file_to_dir' './repo/file_to_dir_empty' './repo/dir_to_file/.gitkeep'; git -C './repo' add './file_to_dir' './file_to_dir_empty' './dir_to_file'; rm --recursive -- './repo/file_to_dir' './repo/file_to_dir_empty' './repo/dir_to_file'; mkdir --parents -- './repo/file_to_dir' './repo/file_to_dir_empty'; touch -- './repo/dir_to_file' './repo/file_to_dir/.gitkeep'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --long
On branch master
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: dir_to_file/.gitkeep
new file: file_to_dir
new file: file_to_dir_empty
new file: unstaged_deletion
new file: unstaged_modification
Changes not staged for commit:
(use "git add/rm <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
deleted: dir_to_file/.gitkeep
deleted: file_to_dir
deleted: file_to_dir_empty
deleted: unstaged_deletion
modified: unstaged_modification
Untracked files:
(use "git add <file>..." to include in what will be committed)
dir_to_file
untracked
untracked_dir/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --long --verbose
On branch master
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: dir_to_file/.gitkeep
new file: file_to_dir
new file: file_to_dir_empty
new file: unstaged_deletion
new file: unstaged_modification
Changes not staged for commit:
(use "git add/rm <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
deleted: dir_to_file/.gitkeep
deleted: file_to_dir
deleted: file_to_dir_empty
deleted: unstaged_deletion
modified: unstaged_modification
Untracked files:
(use "git add <file>..." to include in what will be committed)
dir_to_file
untracked
untracked_dir/
diff --git a/dir_to_file/.gitkeep b/dir_to_file/.gitkeep
new file mode 100644
index 0000000..e69de29
diff --git a/file_to_dir b/file_to_dir
new file mode 100644
index 0000000..e69de29
diff --git a/file_to_dir_empty b/file_to_dir_empty
new file mode 100644
index 0000000..e69de29
diff --git a/unstaged_deletion b/unstaged_deletion
new file mode 100644
index 0000000..e69de29
diff --git a/unstaged_modification b/unstaged_modification
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/unstaged_modification
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --long --verbose --verbose
On branch master
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: dir_to_file/.gitkeep
new file: file_to_dir
new file: file_to_dir_empty
new file: unstaged_deletion
new file: unstaged_modification
Changes not staged for commit:
(use "git add/rm <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
deleted: dir_to_file/.gitkeep
deleted: file_to_dir
deleted: file_to_dir_empty
deleted: unstaged_deletion
modified: unstaged_modification
Untracked files:
(use "git add <file>..." to include in what will be committed)
dir_to_file
untracked
untracked_dir/
Changes to be committed:
diff --git c/dir_to_file/.gitkeep i/dir_to_file/.gitkeep
new file mode 100644
index 0000000..e69de29
diff --git c/file_to_dir i/file_to_dir
new file mode 100644
index 0000000..e69de29
diff --git c/file_to_dir_empty i/file_to_dir_empty
new file mode 100644
index 0000000..e69de29
diff --git c/unstaged_deletion i/unstaged_deletion
new file mode 100644
index 0000000..e69de29
diff --git c/unstaged_modification i/unstaged_modification
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ i/unstaged_modification
@@ -0,0 +1 @@
+1
--------------------------------------------------
Changes not staged for commit:
diff --git i/dir_to_file/.gitkeep w/dir_to_file/.gitkeep
deleted file mode 100644
index e69de29..0000000
diff --git i/file_to_dir w/file_to_dir
deleted file mode 100644
index e69de29..0000000
diff --git i/file_to_dir_empty w/file_to_dir_empty
deleted file mode 100644
index e69de29..0000000
diff --git i/unstaged_deletion w/unstaged_deletion
deleted file mode 100644
index e69de29..0000000
warning: in the working copy of 'unstaged_modification', LF will be replaced by CRLF the next time Git touches it
diff --git i/unstaged_modification w/unstaged_modification
index d00491f..0cfbf08 100644
--- i/unstaged_modification
+++ w/unstaged_modification
@@ -1 +1 @@
-1
+2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ mkdir --parents -- './repo/1/2/3/4/5/6'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/1/2/3/4/5/6/7'; git -C './repo' add './1/2/3/4/5/6/7'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of '1/2/3/4/5/6/7', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 5b60c6b] 1
1 file changed, 1 insertion(+)
create mode 100644 1/2/3/4/5/6/7
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./repo/1/2/3/4/5/6/7'; git -C './repo' add './1/2/3/4/5/6/7'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of '1/2/3/4/5/6/7', LF will be replaced by CRLF the next time Git touches it
[master 1ad8172] 2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* 1ad8172 - 2026-05-30 16:56 (0 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
|
| diff --git a/1/2/3/4/5/6/7 b/1/2/3/4/5/6/7
| index d00491f..0cfbf08 100644
| --- a/1/2/3/4/5/6/7
| +++ b/1/2/3/4/5/6/7
| @@ -1 +1 @@
| -1
| +2
* 5b60c6b - 2026-05-30 16:56 (1 second ago) 1 - Han Jiang
diff --git a/1/2/3/4/5/6/7 b/1/2/3/4/5/6/7
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/1/2/3/4/5/6/7
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff 'HEAD~1' HEAD
diff --git a/1/2/3/4/5/6/7 b/1/2/3/4/5/6/7
index d00491f..0cfbf08 100644
--- a/1/2/3/4/5/6/7
+++ b/1/2/3/4/5/6/7
@@ -1 +1 @@
-1
+2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --max-depth=5 'HEAD~1' HEAD
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --max-depth=6 'HEAD~1' HEAD
diff --git a/1/2/3/4/5/6/7 b/1/2/3/4/5/6/7
index d00491f..0cfbf08 100644
--- a/1/2/3/4/5/6/7
+++ b/1/2/3/4/5/6/7
@@ -1 +1 @@
-1
+2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff 'HEAD~1' HEAD './1'
diff --git a/1/2/3/4/5/6/7 b/1/2/3/4/5/6/7
index d00491f..0cfbf08 100644
--- a/1/2/3/4/5/6/7
+++ b/1/2/3/4/5/6/7
@@ -1 +1 @@
-1
+2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --max-depth=5 'HEAD~1' HEAD './1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --max-depth=6 'HEAD~1' HEAD './1'
diff --git a/1/2/3/4/5/6/7 b/1/2/3/4/5/6/7
index d00491f..0cfbf08 100644
--- a/1/2/3/4/5/6/7
+++ b/1/2/3/4/5/6/7
@@ -1 +1 @@
-1
+2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff 'HEAD~1' HEAD './1/2'
diff --git a/1/2/3/4/5/6/7 b/1/2/3/4/5/6/7
index d00491f..0cfbf08 100644
--- a/1/2/3/4/5/6/7
+++ b/1/2/3/4/5/6/7
@@ -1 +1 @@
-1
+2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --max-depth=4 'HEAD~1' HEAD './1/2'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --max-depth=5 'HEAD~1' HEAD './1/2'
diff --git a/1/2/3/4/5/6/7 b/1/2/3/4/5/6/7
index d00491f..0cfbf08 100644
--- a/1/2/3/4/5/6/7
+++ b/1/2/3/4/5/6/7
@@ -1 +1 @@
-1
+2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ mkdir --parents -- './repo/1/2/3/4/5/6'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/1/2/3/4/5/6/7'; git -C './repo' add './1/2/3/4/5/6/7'; git -C './repo' commit --message="$((++number))"; git -C './repo' branch branch2
warning: in the working copy of '1/2/3/4/5/6/7', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 5d4cd65] 1
1 file changed, 1 insertion(+)
create mode 100644 1/2/3/4/5/6/7
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout -b branch1; echo '2' >'./repo/1/2/3/4/5/6/7'; git -C './repo' add './1/2/3/4/5/6/7'; git -C './repo' commit --message="$((++number))"
Switched to a new branch 'branch1'
warning: in the working copy of '1/2/3/4/5/6/7', LF will be replaced by CRLF the next time Git touches it
[branch1 5826bb5] 2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch2; echo '3' >'./repo/1/2/3/4/5/6/7'; git -C './repo' add './1/2/3/4/5/6/7'; git -C './repo' commit --message="$((++number))"
Switched to branch 'branch2'
warning: in the working copy of '1/2/3/4/5/6/7', LF will be replaced by CRLF the next time Git touches it
[branch2 00e7bb7] 3
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1
Switched to branch 'branch1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --message="$((++number))" branch2
Auto-merging 1/2/3/4/5/6/7
CONFLICT (content): Merge conflict in 1/2/3/4/5/6/7
Automatic merge failed; fix conflicts and then commit the result.
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '4' >'./repo/1/2/3/4/5/6/7'; git -C './repo' add './1/2/3/4/5/6/7'; git -C './repo' -c 'core.editor=:' merge --continue
warning: in the working copy of '1/2/3/4/5/6/7', LF will be replaced by CRLF the next time Git touches it
[branch1 4c8d183] 4
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch --diff-merges=separate
* 4c8d183 - 2026-05-30 16:56 (1 second ago) 4 - Han Jiang (HEAD -> refs/heads/branch1)
|\
| |
| | diff --git a/1/2/3/4/5/6/7 b/1/2/3/4/5/6/7
| | index 0cfbf08..b8626c4 100644
| | --- a/1/2/3/4/5/6/7
| | +++ b/1/2/3/4/5/6/7
| | @@ -1 +1 @@
| | -2
| | +4
| | 4c8d183 - 2026-05-30 16:56 (1 second ago) 4 - Han Jiang (HEAD -> refs/heads/branch1)
| |
| | diff --git a/1/2/3/4/5/6/7 b/1/2/3/4/5/6/7
| | index 00750ed..b8626c4 100644
| | --- a/1/2/3/4/5/6/7
| | +++ b/1/2/3/4/5/6/7
| | @@ -1 +1 @@
| | -3
| | +4
| * 00e7bb7 - 2026-05-30 16:56 (2 seconds ago) 3 - Han Jiang (refs/heads/branch2)
| |
| | diff --git a/1/2/3/4/5/6/7 b/1/2/3/4/5/6/7
| | index d00491f..00750ed 100644
| | --- a/1/2/3/4/5/6/7
| | +++ b/1/2/3/4/5/6/7
| | @@ -1 +1 @@
| | -1
| | +3
* | 5826bb5 - 2026-05-30 16:56 (3 seconds ago) 2 - Han Jiang
|/
|
| diff --git a/1/2/3/4/5/6/7 b/1/2/3/4/5/6/7
| index d00491f..0cfbf08 100644
| --- a/1/2/3/4/5/6/7
| +++ b/1/2/3/4/5/6/7
| @@ -1 +1 @@
| -1
| +2
* 5d4cd65 - 2026-05-30 16:56 (4 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/1/2/3/4/5/6/7 b/1/2/3/4/5/6/7
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/1/2/3/4/5/6/7
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff HEAD 'HEAD^1' 'HEAD^2'
diff --cc 1/2/3/4/5/6/7
index 0cfbf08,00750ed..b8626c4
--- a/1/2/3/4/5/6/7
+++ b/1/2/3/4/5/6/7
@@@ -1,1 -1,1 +1,1 @@@
- 2
-3
++4
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --max-depth=5 HEAD 'HEAD^1' 'HEAD^2'
fatal: object '17d4dc7e7067e0d0e4e89ad42d50ace0a4424bdf' is not a blob!
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --max-depth=6 HEAD 'HEAD^1' 'HEAD^2'
diff --cc 1/2/3/4/5/6/7
index 0cfbf08,00750ed..b8626c4
--- a/1/2/3/4/5/6/7
+++ b/1/2/3/4/5/6/7
@@@ -1,1 -1,1 +1,1 @@@
- 2
-3
++4
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff HEAD 'HEAD^1' 'HEAD^2' './1'
diff --cc 1/2/3/4/5/6/7
index 0cfbf08,00750ed..b8626c4
--- a/1/2/3/4/5/6/7
+++ b/1/2/3/4/5/6/7
@@@ -1,1 -1,1 +1,1 @@@
- 2
-3
++4
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --max-depth=5 HEAD 'HEAD^1' 'HEAD^2' './1'
fatal: object '17d4dc7e7067e0d0e4e89ad42d50ace0a4424bdf' is not a blob!
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --max-depth=6 HEAD 'HEAD^1' 'HEAD^2' './1'
diff --cc 1/2/3/4/5/6/7
index 0cfbf08,00750ed..b8626c4
--- a/1/2/3/4/5/6/7
+++ b/1/2/3/4/5/6/7
@@@ -1,1 -1,1 +1,1 @@@
- 2
-3
++4
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff HEAD 'HEAD^1' 'HEAD^2' './1/2'
diff --cc 1/2/3/4/5/6/7
index 0cfbf08,00750ed..b8626c4
--- a/1/2/3/4/5/6/7
+++ b/1/2/3/4/5/6/7
@@@ -1,1 -1,1 +1,1 @@@
- 2
-3
++4
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --max-depth=4 HEAD 'HEAD^1' 'HEAD^2' './1/2'
fatal: object '17d4dc7e7067e0d0e4e89ad42d50ace0a4424bdf' is not a blob!
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --max-depth=5 HEAD 'HEAD^1' 'HEAD^2' './1/2'
fatal: object '90be9bdb74a7a0e2306b87ae78f45dbaf5b76123' is not a blob!
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e 'a\na\n1\na\na\na\na\na\na\n2\na\na' >'./repo/file'; git -C './repo' add './file'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e 'a\na\n2\na\na\na\na\na\na\n3\na\na' >'./repo/file'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --diff-algorithm=myers
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git a/file b/file
index 8953a01..fba68d9 100644
--- a/file
+++ b/file
@@ -1,12 +1,12 @@
a
a
-1
+2
a
a
a
a
a
a
-2
+3
a
a
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --diff-algorithm=minimal
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git a/file b/file
index 8953a01..fba68d9 100644
--- a/file
+++ b/file
@@ -1,12 +1,12 @@
a
a
-1
+2
a
a
a
a
a
a
-2
+3
a
a
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --diff-algorithm=patience
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git a/file b/file
index 8953a01..fba68d9 100644
--- a/file
+++ b/file
@@ -1,12 +1,12 @@
a
a
-1
-a
-a
-a
-a
-a
-a
2
a
a
+a
+a
+a
+a
+3
+a
+a
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --diff-algorithm=histogram
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git a/file b/file
index 8953a01..fba68d9 100644
--- a/file
+++ b/file
@@ -1,12 +1,12 @@
a
a
-1
-a
-a
-a
-a
-a
-a
2
a
a
+a
+a
+a
+a
+3
+a
+a
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --anchored='2'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git a/file b/file
index 8953a01..fba68d9 100644
--- a/file
+++ b/file
@@ -1,12 +1,12 @@
a
a
-1
-a
-a
-a
-a
-a
-a
2
a
a
+a
+a
+a
+a
+3
+a
+a
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e 'a{\na\n}\n\nb{\nb\n}' >'./repo/file'; git -C './repo' add './file'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e 'a{\na\n}\n\nc{\nc\n}\n\nb{\nb\n}' >'./repo/file'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --diff-algorithm=myers
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git a/file b/file
index 1432fe4..31c4488 100644
--- a/file
+++ b/file
@@ -2,6 +2,10 @@ a{
a
}
+c{
+c
+}
+
b{
b
}
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --diff-algorithm=minimal
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git a/file b/file
index 1432fe4..31c4488 100644
--- a/file
+++ b/file
@@ -2,6 +2,10 @@ a{
a
}
+c{
+c
+}
+
b{
b
}
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --diff-algorithm=patience
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git a/file b/file
index 1432fe4..31c4488 100644
--- a/file
+++ b/file
@@ -2,6 +2,10 @@ a{
a
}
+c{
+c
+}
+
b{
b
}
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --diff-algorithm=histogram
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git a/file b/file
index 1432fe4..31c4488 100644
--- a/file
+++ b/file
@@ -2,6 +2,10 @@ a{
a
}
+c{
+c
+}
+
b{
b
}
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e 'a{\na\n}\n\nb{\nb\n}' >'./repo/file'; git -C './repo' add './file'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e 'a{\nb\n}\n\nc{\nc\n}\n\nb{\na\n}' >'./repo/file'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --diff-algorithm=myers
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git a/file b/file
index 1432fe4..2cca53a 100644
--- a/file
+++ b/file
@@ -1,7 +1,11 @@
a{
-a
+b
+}
+
+c{
+c
}
b{
-b
+a
}
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --diff-algorithm=minimal
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git a/file b/file
index 1432fe4..2cca53a 100644
--- a/file
+++ b/file
@@ -1,7 +1,11 @@
a{
-a
+b
+}
+
+c{
+c
}
b{
-b
+a
}
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --diff-algorithm=patience
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git a/file b/file
index 1432fe4..2cca53a 100644
--- a/file
+++ b/file
@@ -1,7 +1,11 @@
a{
-a
-}
-
-b{
b
}
+
+c{
+c
+}
+
+b{
+a
+}
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --diff-algorithm=histogram
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git a/file b/file
index 1432fe4..2cca53a 100644
--- a/file
+++ b/file
@@ -1,7 +1,11 @@
a{
-a
+b
+}
+
+c{
+c
}
b{
-b
+a
}
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e 'a{\na\na\n}\n\nb{\nb\nb\n}' >'./repo/file'; git -C './repo' add './file'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e 'a{\nb\na\n}\n\nc{\nc\n}\n\nb{\na\nb\n}' >'./repo/file'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --diff-algorithm=myers
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git a/file b/file
index 8844411..8d4a744 100644
--- a/file
+++ b/file
@@ -1,9 +1,13 @@
a{
+b
a
-a
+}
+
+c{
+c
}
b{
-b
+a
b
}
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --diff-algorithm=minimal
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git a/file b/file
index 8844411..8d4a744 100644
--- a/file
+++ b/file
@@ -1,9 +1,13 @@
a{
+b
a
-a
+}
+
+c{
+c
}
b{
-b
+a
b
}
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --diff-algorithm=patience
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git a/file b/file
index 8844411..8d4a744 100644
--- a/file
+++ b/file
@@ -1,9 +1,13 @@
a{
+b
a
-a
+}
+
+c{
+c
}
b{
-b
+a
b
}
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --diff-algorithm=histogram
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git a/file b/file
index 8844411..8d4a744 100644
--- a/file
+++ b/file
@@ -1,9 +1,13 @@
a{
-a
+b
a
}
+c{
+c
+}
+
b{
-b
+a
b
}
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e 'a{\na\nd\n}\n\nb{\nb\ne\n}\n\nc{\nc\nf\n}' >'./repo/file'; git -C './repo' add './file'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e 'a{\nb\nf\n}\n\nb{\nc\nd\n}\n\nc{\na\ne\n}' >'./repo/file'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --color-moved=plain
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git a/file b/file
index df6f6da..973e43a 100644
--- a/file
+++ b/file
@@ -1,14 +1,14 @@
a{
-a
-d
+b
+f
}
b{
-b
-e
+c
+d
}
c{
-c
-f
+a
+e
}
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --color-moved=blocks
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git a/file b/file
index df6f6da..973e43a 100644
--- a/file
+++ b/file
@@ -1,14 +1,14 @@
a{
-a
-d
+b
+f
}
b{
-b
-e
+c
+d
}
c{
-c
-f
+a
+e
}
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --color-moved=zebra
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git a/file b/file
index df6f6da..973e43a 100644
--- a/file
+++ b/file
@@ -1,14 +1,14 @@
a{
-a
-d
+b
+f
}
b{
-b
-e
+c
+d
}
c{
-c
-f
+a
+e
}
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e 'a{\naaaaaaaaaaaaaaaaaaaa\ndddddddddddddddddddd\n}\n\nb{\nbbbbbbbbbbbbbbbbbbbb\neeeeeeeeeeeeeeeeeeee\n}\n\nc{\ncccccccccccccccccccc\nffffffffffffffffffff\n}' >'./repo/file'; git -C './repo' add './file'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e 'a{\nbbbbbbbbbbbbbbbbbbbb\nffffffffffffffffffff\n}\n\nb{\ncccccccccccccccccccc\ndddddddddddddddddddd\n}\n\nc{\naaaaaaaaaaaaaaaaaaaa\neeeeeeeeeeeeeeeeeeee\n}' >'./repo/file'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --color-moved=plain
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git a/file b/file
index 93cc72d..71596a2 100644
--- a/file
+++ b/file
@@ -1,14 +1,14 @@
a{
-aaaaaaaaaaaaaaaaaaaa
-dddddddddddddddddddd
+bbbbbbbbbbbbbbbbbbbb
+ffffffffffffffffffff
}
b{
-bbbbbbbbbbbbbbbbbbbb
-eeeeeeeeeeeeeeeeeeee
+cccccccccccccccccccc
+dddddddddddddddddddd
}
c{
-cccccccccccccccccccc
-ffffffffffffffffffff
+aaaaaaaaaaaaaaaaaaaa
+eeeeeeeeeeeeeeeeeeee
}
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --color-moved=blocks
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git a/file b/file
index 93cc72d..71596a2 100644
--- a/file
+++ b/file
@@ -1,14 +1,14 @@
a{
-aaaaaaaaaaaaaaaaaaaa
-dddddddddddddddddddd
+bbbbbbbbbbbbbbbbbbbb
+ffffffffffffffffffff
}
b{
-bbbbbbbbbbbbbbbbbbbb
-eeeeeeeeeeeeeeeeeeee
+cccccccccccccccccccc
+dddddddddddddddddddd
}
c{
-cccccccccccccccccccc
-ffffffffffffffffffff
+aaaaaaaaaaaaaaaaaaaa
+eeeeeeeeeeeeeeeeeeee
}
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --color-moved=zebra
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git a/file b/file
index 93cc72d..71596a2 100644
--- a/file
+++ b/file
@@ -1,14 +1,14 @@
a{
-aaaaaaaaaaaaaaaaaaaa
-dddddddddddddddddddd
+bbbbbbbbbbbbbbbbbbbb
+ffffffffffffffffffff
}
b{
-bbbbbbbbbbbbbbbbbbbb
-eeeeeeeeeeeeeeeeeeee
+cccccccccccccccccccc
+dddddddddddddddddddd
}
c{
-cccccccccccccccccccc
-ffffffffffffffffffff
+aaaaaaaaaaaaaaaaaaaa
+eeeeeeeeeeeeeeeeeeee
}
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e 'a b d\ne g h' >'./repo/file'; git -C './repo' add './file'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e 'a c d\nf g i' >'./repo/file'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --word-diff=color
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git a/file b/file
index e0a6033..9305ce5 100644
--- a/file
+++ b/file
@@ -1,2 +1,2 @@
a bc d
ef g hi
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --word-diff=plain
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git a/file b/file
index e0a6033..9305ce5 100644
--- a/file
+++ b/file
@@ -1,2 +1,2 @@
a [-b-]{+c+} d
[-e-]{+f+} g [-h-]{+i+}
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --word-diff=porcelain
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git a/file b/file
index e0a6033..9305ce5 100644
--- a/file
+++ b/file
@@ -1,2 +1,2 @@
a
-b
+c
d
~
-e
+f
g
-h
+i
~
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo 'a<b' >'./repo/file'; git -C './repo' add './file'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo 'a++<=b' >'./repo/file'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --word-diff=plain
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git a/file b/file
index e2f2681..581a9fd 100644
--- a/file
+++ b/file
@@ -1 +1 @@
[-a<b-]{+a++<=b+}
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --word-diff=plain --word-diff-regex='[A-Za-z0-9_]+|[^[:space:]]'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git a/file b/file
index e2f2681..581a9fd 100644
--- a/file
+++ b/file
@@ -1 +1 @@
a{++++}<{+=+}b
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --word-diff=plain --word-diff-regex='[A-Za-z0-9_]+|\+\+|--|<|<=|>|>=|==|!='
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git a/file b/file
index e2f2681..581a9fd 100644
--- a/file
+++ b/file
@@ -1 +1 @@
a[-<-]{+++<=+}b
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ touch './repo/file1'; git -C './repo' add './file1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ mv './repo/file1' './repo/file2'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff
diff --git a/file1 b/file1
deleted file mode 100644
index e69de29..0000000
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --rename-empty
diff --git a/file1 b/file1
deleted file mode 100644
index e69de29..0000000
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' add --intent-to-add './file2'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff
diff --git a/file1 b/file2
similarity index 100%
rename from file1
rename to file2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --no-rename-empty
diff --git a/file1 b/file1
deleted file mode 100644
index e69de29..0000000
diff --git a/file2 b/file2
new file mode 100644
index 0000000..e69de29
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --no-renames
diff --git a/file1 b/file1
deleted file mode 100644
index e69de29..0000000
diff --git a/file2 b/file2
new file mode 100644
index 0000000..e69de29
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e '0\n1\n2\n3\n4\n5\n6\n7\n8\n9' >'./repo/file1'; git -C './repo' add './file1'; rm './repo/file1'
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ seq --format='%40g' 0 9 >'./repo/file2'; git -C './repo' add './file2'; echo -e '0\n1\n2\n3\n4\n5\n6\n7\n8\n9' >'./repo/file2'
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ seq --format='%40g' 0 9 >'./repo/file3'; git -C './repo' add --intent-to-add './file3'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --no-renames
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
diff --git a/file1 b/file1
deleted file mode 100644
index 8b1acc1..0000000
--- a/file1
+++ /dev/null
@@ -1,10 +0,0 @@
-0
-1
-2
-3
-4
-5
-6
-7
-8
-9
diff --git a/file2 b/file2
index 40168fb..8b1acc1 100644
--- a/file2
+++ b/file2
@@ -1,10 +1,10 @@
- 0
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
+0
+1
+2
+3
+4
+5
+6
+7
+8
+9
warning: in the working copy of 'file3', LF will be replaced by CRLF the next time Git touches it
diff --git a/file3 b/file3
new file mode 100644
index 0000000..40168fb
--- /dev/null
+++ b/file3
@@ -0,0 +1,10 @@
+ 0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --break-rewrites --no-renames
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
diff --git a/file1 b/file1
deleted file mode 100644
index 8b1acc1..0000000
--- a/file1
+++ /dev/null
@@ -1,10 +0,0 @@
-0
-1
-2
-3
-4
-5
-6
-7
-8
-9
diff --git a/file2 b/file2
dissimilarity index 100%
index 40168fb..8b1acc1 100644
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
--- a/file2
+++ b/file2
@@ -1,10 +1,10 @@
- 0
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
+0
+1
+2
+3
+4
+5
+6
+7
+8
+9
warning: in the working copy of 'file3', LF will be replaced by CRLF the next time Git touches it
diff --git a/file3 b/file3
new file mode 100644
index 0000000..40168fb
--- /dev/null
+++ b/file3
@@ -0,0 +1,10 @@
+ 0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file3', LF will be replaced by CRLF the next time Git touches it
diff --git a/file1 b/file1
deleted file mode 100644
index 8b1acc1..0000000
--- a/file1
+++ /dev/null
@@ -1,10 +0,0 @@
-0
-1
-2
-3
-4
-5
-6
-7
-8
-9
diff --git a/file2 b/file2
index 40168fb..8b1acc1 100644
--- a/file2
+++ b/file2
@@ -1,10 +1,10 @@
- 0
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
+0
+1
+2
+3
+4
+5
+6
+7
+8
+9
warning: in the working copy of 'file3', LF will be replaced by CRLF the next time Git touches it
diff --git a/file3 b/file3
new file mode 100644
index 0000000..40168fb
--- /dev/null
+++ b/file3
@@ -0,0 +1,10 @@
+ 0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --break-rewrites
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file3', LF will be replaced by CRLF the next time Git touches it
diff --git a/file1 b/file2
similarity index 100%
rename from file1
rename to file2
diff --git a/file2 b/file3
similarity index 100%
rename from file2
rename to file3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ seq --format='%80g' 0 19 >'./repo/file1'; git -C './repo' add './file1'
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ cat <(yes 'a' | head --lines=5) <(seq --format='%80g' 0 4) >'./repo/file1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!=94250 $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
diff --git a/file1 b/file1
index 9e9f796..e521ce0 100644
--- a/file1
+++ b/file1
@@ -1,20 +1,10 @@
+a
+a
+a
+a
+a
0
1
2
3
4
-
5
-
6
-
7
-
8
-
9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!=94250 $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --break-rewrites='75%/75%'
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
diff --git a/file1 b/file1
dissimilarity index 75%
index 9e9f796..e521ce0 100644
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
--- a/file1
+++ b/file1
@@ -1,20 +1,10 @@
-
0
-
1
-
2
-
3
-
4
-
5
-
6
-
7
-
8
-
9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
+a
+a
+a
+a
+a
+
0
+
1
+
2
+
3
+
4
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!=94250 $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --break-rewrites='76%/75%'
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
diff --git a/file1 b/file1
index 9e9f796..e521ce0 100644
--- a/file1
+++ b/file1
@@ -1,20 +1,10 @@
+a
+a
+a
+a
+a
0
1
2
3
4
-
5
-
6
-
7
-
8
-
9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!=94250 $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --break-rewrites='75%/76%'
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
diff --git a/file1 b/file1
index 9e9f796..e521ce0 100644
--- a/file1
+++ b/file1
@@ -1,20 +1,10 @@
+a
+a
+a
+a
+a
0
1
2
3
4
-
5
-
6
-
7
-
8
-
9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!=94250 $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ seq --format='%80g' 0 9 >'./repo/file1'; git -C './repo' add './file1'
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ cat <(seq --format='%80g' 0 4) <(yes 'a' | head --lines=15) >'./repo/file1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!=94405 $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
diff --git a/file1 b/file1
index 1e373ae..eb9f171 100644
--- a/file1
+++ b/file1
@@ -3,8 +3,18 @@
2
3
4
-
5
-
6
-
7
-
8
-
9
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!=94405 $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --break-rewrites='53%/50%'
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
diff --git a/file1 b/file1
dissimilarity index 50%
index 1e373ae..eb9f171 100644
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
--- a/file1
+++ b/file1
@@ -1,10 +1,20 @@
-
0
-
1
-
2
-
3
-
4
-
5
-
6
-
7
-
8
-
9
+
0
+
1
+
2
+
3
+
4
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!=94405 $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --break-rewrites='54%/50%'
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
diff --git a/file1 b/file1
index 1e373ae..eb9f171 100644
--- a/file1
+++ b/file1
@@ -3,8 +3,18 @@
2
3
4
-
5
-
6
-
7
-
8
-
9
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!=94405 $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --break-rewrites='53%/51%'
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
diff --git a/file1 b/file1
index 1e373ae..eb9f171 100644
--- a/file1
+++ b/file1
@@ -3,8 +3,18 @@
2
3
4
-
5
-
6
-
7
-
8
-
9
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!=94405 $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ cat <(yes 'b' | head --lines=5) <(seq --format='%80g' 0 4) >'./repo/file1'; git -C './repo' add './file1'
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!=94551 $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ seq --format='%80g' 0 19 >'./repo/file2'; git -C './repo' add './file2'
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!=94551 $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ rm './repo/file1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!=94551 $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ cat <(yes 'a' | head --lines=5) <(seq --format='%80g' 0 4) >'./repo/file2'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!=94581 $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
diff --git a/file1 b/file1
deleted file mode 100644
index 739d412..0000000
--- a/file1
+++ /dev/null
@@ -1,10 +0,0 @@
-b
-b
-b
-b
-b
-
0
-
1
-
2
-
3
-
4
diff --git a/file2 b/file2
index 9e9f796..e521ce0 100644
--- a/file2
+++ b/file2
@@ -1,20 +1,10 @@
+a
+a
+a
+a
+a
0
1
2
3
4
-
5
-
6
-
7
-
8
-
9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!=94581 $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --break-rewrites='75%/75%' --find-renames='97%'
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
diff --git a/file1 b/file2
similarity index 97%
rename from file1
rename to file2
index 739d412..e521ce0 100644
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
--- a/file1
+++ b/file2
@@ -1,8 +1,8 @@
-b
-b
-b
-b
-b
+a
+a
+a
+a
+a
0
1
2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!=94581 $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --break-rewrites='76%/75%' --find-renames='97%'
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
diff --git a/file1 b/file1
deleted file mode 100644
index 739d412..0000000
--- a/file1
+++ /dev/null
@@ -1,10 +0,0 @@
-b
-b
-b
-b
-b
-
0
-
1
-
2
-
3
-
4
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
diff --git a/file2 b/file2
index 9e9f796..e521ce0 100644
--- a/file2
+++ b/file2
@@ -1,20 +1,10 @@
+a
+a
+a
+a
+a
0
1
2
3
4
-
5
-
6
-
7
-
8
-
9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!=94581 $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --break-rewrites='75%/76%' --find-renames='97%'
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
diff --git a/file1 b/file2
similarity index 97%
rename from file1
rename to file2
index 739d412..e521ce0 100644
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
--- a/file1
+++ b/file2
@@ -1,8 +1,8 @@
-b
-b
-b
-b
-b
+a
+a
+a
+a
+a
0
1
2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!=94581 $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --break-rewrites='75%/75%' --find-renames='98%'
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
diff --git a/file1 b/file1
deleted file mode 100644
index 739d412..0000000
--- a/file1
+++ /dev/null
@@ -1,10 +0,0 @@
-b
-b
-b
-b
-b
-
0
-
1
-
2
-
3
-
4
diff --git a/file2 b/file2
dissimilarity index 75%
index 9e9f796..e521ce0 100644
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
--- a/file2
+++ b/file2
@@ -1,20 +1,10 @@
-
0
-
1
-
2
-
3
-
4
-
5
-
6
-
7
-
8
-
9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
+a
+a
+a
+a
+a
+
0
+
1
+
2
+
3
+
4
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!=94581 $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --break-rewrites='76%/75%' --find-renames='98%'
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
diff --git a/file1 b/file1
deleted file mode 100644
index 739d412..0000000
--- a/file1
+++ /dev/null
@@ -1,10 +0,0 @@
-b
-b
-b
-b
-b
-
0
-
1
-
2
-
3
-
4
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
diff --git a/file2 b/file2
index 9e9f796..e521ce0 100644
--- a/file2
+++ b/file2
@@ -1,20 +1,10 @@
+a
+a
+a
+a
+a
0
1
2
3
4
-
5
-
6
-
7
-
8
-
9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!=94581 $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --break-rewrites='75%/76%' --find-renames='98%'
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
diff --git a/file1 b/file1
deleted file mode 100644
index 739d412..0000000
--- a/file1
+++ /dev/null
@@ -1,10 +0,0 @@
-b
-b
-b
-b
-b
-
0
-
1
-
2
-
3
-
4
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
diff --git a/file2 b/file2
index 9e9f796..e521ce0 100644
--- a/file2
+++ b/file2
@@ -1,20 +1,10 @@
+a
+a
+a
+a
+a
0
1
2
3
4
-
5
-
6
-
7
-
8
-
9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!=94581 $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ cat <(seq --format='%80g' 0 4) <(yes 'b' | head --lines=5) >'./repo/file1'; git -C './repo' add './file1'
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!=94751 $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ seq --format='%80g' 0 9 >'./repo/file2'; git -C './repo' add './file2'
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!=94751 $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ rm './repo/file1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!=94751 $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ cat <(seq --format='%80g' 0 4) <(yes 'a' | head --lines=15) >'./repo/file2'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!=94781 $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
diff --git a/file1 b/file1
deleted file mode 100644
index 799bf4f..0000000
--- a/file1
+++ /dev/null
@@ -1,10 +0,0 @@
-
0
-
1
-
2
-
3
-
4
-b
-b
-b
-b
-b
diff --git a/file2 b/file2
index 1e373ae..eb9f171 100644
--- a/file2
+++ b/file2
@@ -3,8 +3,18 @@
2
3
4
-
5
-
6
-
7
-
8
-
9
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!=94781 $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --break-rewrites='53%/50%' --find-renames='93%'
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
diff --git a/file1 b/file2
similarity index 93%
rename from file1
rename to file2
index 799bf4f..eb9f171 100644
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
--- a/file1
+++ b/file2
@@ -3,8 +3,18 @@
2
3
4
-b
-b
-b
-b
-b
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!=94781 $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --break-rewrites='54%/50%' --find-renames='93%'
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
diff --git a/file1 b/file1
deleted file mode 100644
index 799bf4f..0000000
--- a/file1
+++ /dev/null
@@ -1,10 +0,0 @@
-
0
-
1
-
2
-
3
-
4
-b
-b
-b
-b
-b
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
diff --git a/file2 b/file2
index 1e373ae..eb9f171 100644
--- a/file2
+++ b/file2
@@ -3,8 +3,18 @@
2
3
4
-
5
-
6
-
7
-
8
-
9
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!=94781 $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --break-rewrites='53%/51%' --find-renames='93%'
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
diff --git a/file1 b/file2
similarity index 93%
rename from file1
rename to file2
index 799bf4f..eb9f171 100644
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
--- a/file1
+++ b/file2
@@ -3,8 +3,18 @@
2
3
4
-b
-b
-b
-b
-b
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!=94781 $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --break-rewrites='53%/50%' --find-renames='94%'
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
diff --git a/file1 b/file1
deleted file mode 100644
index 799bf4f..0000000
--- a/file1
+++ /dev/null
@@ -1,10 +0,0 @@
-
0
-
1
-
2
-
3
-
4
-b
-b
-b
-b
-b
diff --git a/file2 b/file2
dissimilarity index 50%
index 1e373ae..eb9f171 100644
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
--- a/file2
+++ b/file2
@@ -1,10 +1,20 @@
-
0
-
1
-
2
-
3
-
4
-
5
-
6
-
7
-
8
-
9
+
0
+
1
+
2
+
3
+
4
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!=94781 $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --break-rewrites='54%/50%' --find-renames='94%'
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
diff --git a/file1 b/file1
deleted file mode 100644
index 799bf4f..0000000
--- a/file1
+++ /dev/null
@@ -1,10 +0,0 @@
-
0
-
1
-
2
-
3
-
4
-b
-b
-b
-b
-b
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
diff --git a/file2 b/file2
index 1e373ae..eb9f171 100644
--- a/file2
+++ b/file2
@@ -3,8 +3,18 @@
2
3
4
-
5
-
6
-
7
-
8
-
9
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!=94781 $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --break-rewrites='53%/51%' --find-renames='94%'
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
diff --git a/file1 b/file1
deleted file mode 100644
index 799bf4f..0000000
--- a/file1
+++ /dev/null
@@ -1,10 +0,0 @@
-
0
-
1
-
2
-
3
-
4
-b
-b
-b
-b
-b
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
diff --git a/file2 b/file2
index 1e373ae..eb9f171 100644
--- a/file2
+++ b/file2
@@ -3,8 +3,18 @@
2
3
4
-
5
-
6
-
7
-
8
-
9
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!=94781 $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ seq --format='%80g' 0 19 >'./repo/file1'; git -C './repo' add './file1'
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ cat <(yes 'a' | head --lines=5) <(seq --format='%80g' 0 4) >'./repo/file1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!=94960 $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ cat <(yes 'b' | head --lines=5) <(seq --format='%80g' 0 4) >'./repo/file2'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!=94972 $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
diff --git a/file1 b/file1
index 9e9f796..e521ce0 100644
--- a/file1
+++ b/file1
@@ -1,20 +1,10 @@
+a
+a
+a
+a
+a
0
1
2
3
4
-
5
-
6
-
7
-
8
-
9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!=94972 $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' add --intent-to-add './file2'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!=94972 $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
diff --git a/file1 b/file1
index 9e9f796..e521ce0 100644
--- a/file1
+++ b/file1
@@ -1,20 +1,10 @@
+a
+a
+a
+a
+a
0
1
2
3
4
-
5
-
6
-
7
-
8
-
9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
diff --git a/file2 b/file2
new file mode 100644
index 0000000..739d412
--- /dev/null
+++ b/file2
@@ -0,0 +1,10 @@
+b
+b
+b
+b
+b
+
0
+
1
+
2
+
3
+
4
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!=94972 $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --break-rewrites='75%/75%' --find-copies='25%'
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
diff --git a/file1 b/file1
dissimilarity index 75%
index 9e9f796..e521ce0 100644
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
--- a/file1
+++ b/file1
@@ -1,20 +1,10 @@
-
0
-
1
-
2
-
3
-
4
-
5
-
6
-
7
-
8
-
9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
+a
+a
+a
+a
+a
+
0
+
1
+
2
+
3
+
4
diff --git a/file1 b/file2
similarity index 25%
copy from file1
copy to file2
index 9e9f796..739d412 100644
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
--- a/file1
+++ b/file2
@@ -1,20 +1,10 @@
+b
+b
+b
+b
+b
0
1
2
3
4
-
5
-
6
-
7
-
8
-
9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!=94972 $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --break-rewrites='76%/75%' --find-copies='25%'
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
diff --git a/file1 b/file1
index 9e9f796..e521ce0 100644
--- a/file1
+++ b/file1
@@ -1,20 +1,10 @@
+a
+a
+a
+a
+a
0
1
2
3
4
-
5
-
6
-
7
-
8
-
9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
diff --git a/file1 b/file2
similarity index 25%
copy from file1
copy to file2
index 9e9f796..739d412 100644
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
--- a/file1
+++ b/file2
@@ -1,20 +1,10 @@
+b
+b
+b
+b
+b
0
1
2
3
4
-
5
-
6
-
7
-
8
-
9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!=94972 $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --break-rewrites='75%/76%' --find-copies='25%'
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
diff --git a/file1 b/file1
index 9e9f796..e521ce0 100644
--- a/file1
+++ b/file1
@@ -1,20 +1,10 @@
+a
+a
+a
+a
+a
0
1
2
3
4
-
5
-
6
-
7
-
8
-
9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
diff --git a/file1 b/file2
similarity index 25%
copy from file1
copy to file2
index 9e9f796..739d412 100644
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
--- a/file1
+++ b/file2
@@ -1,20 +1,10 @@
+b
+b
+b
+b
+b
0
1
2
3
4
-
5
-
6
-
7
-
8
-
9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!=94972 $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --break-rewrites='75%/75%' --find-copies='26%'
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
diff --git a/file1 b/file1
dissimilarity index 75%
index 9e9f796..e521ce0 100644
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
--- a/file1
+++ b/file1
@@ -1,20 +1,10 @@
-
0
-
1
-
2
-
3
-
4
-
5
-
6
-
7
-
8
-
9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
+a
+a
+a
+a
+a
+
0
+
1
+
2
+
3
+
4
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
diff --git a/file2 b/file2
new file mode 100644
index 0000000..739d412
--- /dev/null
+++ b/file2
@@ -0,0 +1,10 @@
+b
+b
+b
+b
+b
+
0
+
1
+
2
+
3
+
4
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!=94972 $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --break-rewrites='76%/75%' --find-copies='26%'
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
diff --git a/file1 b/file1
index 9e9f796..e521ce0 100644
--- a/file1
+++ b/file1
@@ -1,20 +1,10 @@
+a
+a
+a
+a
+a
0
1
2
3
4
-
5
-
6
-
7
-
8
-
9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
diff --git a/file2 b/file2
new file mode 100644
index 0000000..739d412
--- /dev/null
+++ b/file2
@@ -0,0 +1,10 @@
+b
+b
+b
+b
+b
+
0
+
1
+
2
+
3
+
4
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!=94972 $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --break-rewrites='75%/76%' --find-copies='26%'
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
diff --git a/file1 b/file1
index 9e9f796..e521ce0 100644
--- a/file1
+++ b/file1
@@ -1,20 +1,10 @@
+a
+a
+a
+a
+a
0
1
2
3
4
-
5
-
6
-
7
-
8
-
9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
diff --git a/file2 b/file2
new file mode 100644
index 0000000..739d412
--- /dev/null
+++ b/file2
@@ -0,0 +1,10 @@
+b
+b
+b
+b
+b
+
0
+
1
+
2
+
3
+
4
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!=94972 $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ seq --format='%80g' 0 9 >'./repo/file1'; git -C './repo' add './file1'
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ cat <(seq --format='%80g' 0 4) <(yes 'a' | head --lines=15) >'./repo/file1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!=95167 $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ cat <(seq --format='%80g' 0 4) <(yes 'b' | head --lines=15) >'./repo/file2'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!=95179 $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
diff --git a/file1 b/file1
index 1e373ae..eb9f171 100644
--- a/file1
+++ b/file1
@@ -3,8 +3,18 @@
2
3
4
-
5
-
6
-
7
-
8
-
9
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!=95179 $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' add --intent-to-add './file2'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!=95179 $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
diff --git a/file1 b/file1
index 1e373ae..eb9f171 100644
--- a/file1
+++ b/file1
@@ -3,8 +3,18 @@
2
3
4
-
5
-
6
-
7
-
8
-
9
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
diff --git a/file2 b/file2
new file mode 100644
index 0000000..614633f
--- /dev/null
+++ b/file2
@@ -0,0 +1,20 @@
+
0
+
1
+
2
+
3
+
4
+b
+b
+b
+b
+b
+b
+b
+b
+b
+b
+b
+b
+b
+b
+b
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!=95179 $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --break-rewrites='53%/50%' --find-copies='50%'
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
diff --git a/file1 b/file1
dissimilarity index 50%
index 1e373ae..eb9f171 100644
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
--- a/file1
+++ b/file1
@@ -1,10 +1,20 @@
-
0
-
1
-
2
-
3
-
4
-
5
-
6
-
7
-
8
-
9
+
0
+
1
+
2
+
3
+
4
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
diff --git a/file1 b/file2
similarity index 50%
copy from file1
copy to file2
index 1e373ae..614633f 100644
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
--- a/file1
+++ b/file2
@@ -3,8 +3,18 @@
2
3
4
-
5
-
6
-
7
-
8
-
9
+b
+b
+b
+b
+b
+b
+b
+b
+b
+b
+b
+b
+b
+b
+b
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!=95179 $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --break-rewrites='54%/50%' --find-copies='50%'
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
diff --git a/file1 b/file1
index 1e373ae..eb9f171 100644
--- a/file1
+++ b/file1
@@ -3,8 +3,18 @@
2
3
4
-
5
-
6
-
7
-
8
-
9
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
diff --git a/file1 b/file2
similarity index 50%
copy from file1
copy to file2
index 1e373ae..614633f 100644
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
--- a/file1
+++ b/file2
@@ -3,8 +3,18 @@
2
3
4
-
5
-
6
-
7
-
8
-
9
+b
+b
+b
+b
+b
+b
+b
+b
+b
+b
+b
+b
+b
+b
+b
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!=95179 $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --break-rewrites='53%/51%' --find-copies='50%'
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
diff --git a/file1 b/file1
index 1e373ae..eb9f171 100644
--- a/file1
+++ b/file1
@@ -3,8 +3,18 @@
2
3
4
-
5
-
6
-
7
-
8
-
9
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
diff --git a/file1 b/file2
similarity index 50%
copy from file1
copy to file2
index 1e373ae..614633f 100644
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
--- a/file1
+++ b/file2
@@ -3,8 +3,18 @@
2
3
4
-
5
-
6
-
7
-
8
-
9
+b
+b
+b
+b
+b
+b
+b
+b
+b
+b
+b
+b
+b
+b
+b
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!=95179 $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --break-rewrites='53%/50%' --find-copies='51%'
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
diff --git a/file1 b/file1
dissimilarity index 50%
index 1e373ae..eb9f171 100644
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
--- a/file1
+++ b/file1
@@ -1,10 +1,20 @@
-
0
-
1
-
2
-
3
-
4
-
5
-
6
-
7
-
8
-
9
+
0
+
1
+
2
+
3
+
4
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
diff --git a/file2 b/file2
new file mode 100644
index 0000000..614633f
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
--- /dev/null
+++ b/file2
@@ -0,0 +1,20 @@
+
0
+
1
+
2
+
3
+
4
+b
+b
+b
+b
+b
+b
+b
+b
+b
+b
+b
+b
+b
+b
+b
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!=95179 $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --break-rewrites='54%/50%' --find-copies='51%'
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
diff --git a/file1 b/file1
index 1e373ae..eb9f171 100644
--- a/file1
+++ b/file1
@@ -3,8 +3,18 @@
2
3
4
-
5
-
6
-
7
-
8
-
9
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
diff --git a/file2 b/file2
new file mode 100644
index 0000000..614633f
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
--- /dev/null
+++ b/file2
@@ -0,0 +1,20 @@
+
0
+
1
+
2
+
3
+
4
+b
+b
+b
+b
+b
+b
+b
+b
+b
+b
+b
+b
+b
+b
+b
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!=95179 $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --break-rewrites='53%/51%' --find-copies='51%'
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
diff --git a/file1 b/file1
index 1e373ae..eb9f171 100644
--- a/file1
+++ b/file1
@@ -3,8 +3,18 @@
2
3
4
-
5
-
6
-
7
-
8
-
9
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
diff --git a/file2 b/file2
new file mode 100644
index 0000000..614633f
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
--- /dev/null
+++ b/file2
@@ -0,0 +1,20 @@
+
0
+
1
+
2
+
3
+
4
+b
+b
+b
+b
+b
+b
+b
+b
+b
+b
+b
+b
+b
+b
+b
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!=95179 $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e '0\n1\n2\n3\n4\n5\n6\n7\n8\n9' >'./repo/file1'; git -C './repo' add './file1'
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ rm './repo/file1'; echo -e '0\na\n2\na\n4\na\n6\na\n8\na' >'./repo/file2'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff
diff --git a/file1 b/file1
deleted file mode 100644
index 8b1acc1..0000000
--- a/file1
+++ /dev/null
@@ -1,10 +0,0 @@
-0
-1
-2
-3
-4
-5
-6
-7
-8
-9
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' add --intent-to-add './file2'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
diff --git a/file1 b/file2
similarity index 50%
rename from file1
rename to file2
index 8b1acc1..14e0eed 100644
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
--- a/file1
+++ b/file2
@@ -1,10 +1,10 @@
0
-1
+a
2
-3
+a
4
-5
+a
6
-7
+a
8
-9
+a
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --find-renames='50%'
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
diff --git a/file1 b/file2
similarity index 50%
rename from file1
rename to file2
index 8b1acc1..14e0eed 100644
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
--- a/file1
+++ b/file2
@@ -1,10 +1,10 @@
0
-1
+a
2
-3
+a
4
-5
+a
6
-7
+a
8
-9
+a
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --find-renames='51%'
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
diff --git a/file1 b/file1
deleted file mode 100644
index 8b1acc1..0000000
--- a/file1
+++ /dev/null
@@ -1,10 +0,0 @@
-0
-1
-2
-3
-4
-5
-6
-7
-8
-9
diff --git a/file2 b/file2
new file mode 100644
index 0000000..14e0eed
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
--- /dev/null
+++ b/file2
@@ -0,0 +1,10 @@
+0
+a
+2
+a
+4
+a
+6
+a
+8
+a
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e '0\n1\n2\n3\n4\n5\n6\n7\n8\n9' >'./repo/file1'; git -C './repo' add './file1'
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e '0\na\n2\na\n4\na\n6\na\n8\na' >'./repo/file2'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' add --intent-to-add './file2'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
diff --git a/file2 b/file2
new file mode 100644
index 0000000..14e0eed
--- /dev/null
+++ b/file2
@@ -0,0 +1,10 @@
+0
+a
+2
+a
+4
+a
+6
+a
+8
+a
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --find-copies='50%'
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
diff --git a/file2 b/file2
new file mode 100644
index 0000000..14e0eed
--- /dev/null
+++ b/file2
@@ -0,0 +1,10 @@
+0
+a
+2
+a
+4
+a
+6
+a
+8
+a
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --find-copies='51%'
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
diff --git a/file2 b/file2
new file mode 100644
index 0000000..14e0eed
--- /dev/null
+++ b/file2
@@ -0,0 +1,10 @@
+0
+a
+2
+a
+4
+a
+6
+a
+8
+a
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --find-copies-harder
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
diff --git a/file1 b/file2
similarity index 50%
copy from file1
copy to file2
index 8b1acc1..14e0eed 100644
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
--- a/file1
+++ b/file2
@@ -1,10 +1,10 @@
0
-1
+a
2
-3
+a
4
-5
+a
6
-7
+a
8
-9
+a
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --find-copies='50%' --find-copies-harder
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
diff --git a/file1 b/file2
similarity index 50%
copy from file1
copy to file2
index 8b1acc1..14e0eed 100644
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
--- a/file1
+++ b/file2
@@ -1,10 +1,10 @@
0
-1
+a
2
-3
+a
4
-5
+a
6
-7
+a
8
-9
+a
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --find-copies='51%' --find-copies-harder
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
diff --git a/file2 b/file2
new file mode 100644
index 0000000..14e0eed
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
--- /dev/null
+++ b/file2
@@ -0,0 +1,10 @@
+0
+a
+2
+a
+4
+a
+6
+a
+8
+a
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e '0\n1\n2\n3\n4\n5\n6\n7\n8\nb' >'./repo/file1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
diff --git a/file1 b/file1
index 8b1acc1..5e161ea 100644
--- a/file1
+++ b/file1
@@ -7,4 +7,4 @@
6
7
8
-9
+b
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
diff --git a/file2 b/file2
new file mode 100644
index 0000000..14e0eed
--- /dev/null
+++ b/file2
@@ -0,0 +1,10 @@
+0
+a
+2
+a
+4
+a
+6
+a
+8
+a
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --find-copies='50%'
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
diff --git a/file1 b/file1
index 8b1acc1..5e161ea 100644
--- a/file1
+++ b/file1
@@ -7,4 +7,4 @@
6
7
8
-9
+b
diff --git a/file1 b/file2
similarity index 50%
copy from file1
copy to file2
index 8b1acc1..14e0eed 100644
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
--- a/file1
+++ b/file2
@@ -1,10 +1,10 @@
0
-1
+a
2
-3
+a
4
-5
+a
6
-7
+a
8
-9
+a
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --find-copies='51%'
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
diff --git a/file1 b/file1
index 8b1acc1..5e161ea 100644
--- a/file1
+++ b/file1
@@ -7,4 +7,4 @@
6
7
8
-9
+b
diff --git a/file2 b/file2
new file mode 100644
index 0000000..14e0eed
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
--- /dev/null
+++ b/file2
@@ -0,0 +1,10 @@
+0
+a
+2
+a
+4
+a
+6
+a
+8
+a
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e '1\na' >'./repo/file'; git -C './repo' add './file'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e 'b\n1' >'./repo/file'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff -S'1'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff -S'a'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git a/file b/file
index e439850..88e6dba 100644
--- a/file
+++ b/file
@@ -1,2 +1,2 @@
+b
1
-a
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff -S'[ab]' --pickaxe-regex
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff -G'[ab]'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git a/file b/file
index e439850..88e6dba 100644
--- a/file
+++ b/file
@@ -1,2 +1,2 @@
+b
1
-a
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file1'; git -C './repo' add './file1'; blob1="$(git -C './repo' ls-files --format='%(objectname)' './file1')"; echo "$blob1"
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
d00491fd7e5bb6fa28c517a0bb32b8b506539d4d
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./repo/file2'; git -C './repo' add './file2'; blob2="$(git -C './repo' ls-files --format='%(objectname)' './file2')"; echo "$blob2"
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
0cfbf08886fca9a91cb753ec8734c84fcbe52c9f
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ rm './repo/file2'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '3' >'./repo/file3'; git -C './repo' add './file3'; blob3="$(git -C './repo' ls-files --format='%(objectname)' './file3')"; echo "$blob3"
warning: in the working copy of 'file3', LF will be replaced by CRLF the next time Git touches it
00750edc07d6415dcc07ae0351e9397b0222b7ba
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ mv './repo/file3' './repo/file32'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '4' >'./repo/file4'; git -C './repo' add './file4'; blob4="$(git -C './repo' ls-files --format='%(objectname)' './file4')"; echo "$blob4"
warning: in the working copy of 'file4', LF will be replaced by CRLF the next time Git touches it
b8626c4cff2849624fb67f87cd0ad72b163671ad
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '4' >'./repo/file42'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage
100644 d00491fd7e5bb6fa28c517a0bb32b8b506539d4d 0 file1
100644 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f 0 file2
100644 00750edc07d6415dcc07ae0351e9397b0222b7ba 0 file3
100644 b8626c4cff2849624fb67f87cd0ad72b163671ad 0 file4
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --find-object="$blob1"
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --find-object="$blob2"
diff --git a/file2 b/file2
deleted file mode 100644
index 0cfbf08..0000000
--- a/file2
+++ /dev/null
@@ -1 +0,0 @@
-2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --find-object="$blob3"
diff --git a/file3 b/file3
deleted file mode 100644
index 00750ed..0000000
--- a/file3
+++ /dev/null
@@ -1 +0,0 @@
-3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' add --intent-to-add './file32'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --find-object="$blob3"
warning: in the working copy of 'file32', LF will be replaced by CRLF the next time Git touches it
diff --git a/file3 b/file32
similarity index 100%
rename from file3
rename to file32
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --find-object="$blob4"
warning: in the working copy of 'file32', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' add --intent-to-add './file42'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --find-object="$blob4"
warning: in the working copy of 'file32', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file42', LF will be replaced by CRLF the next time Git touches it
diff --git a/file42 b/file42
new file mode 100644
index 0000000..b8626c4
warning: in the working copy of 'file42', LF will be replaced by CRLF the next time Git touches it
--- /dev/null
+++ b/file42
@@ -0,0 +1 @@
+4
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --find-object="$blob2" --find-object="$blob3" --find-object="$blob4"
warning: in the working copy of 'file32', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file42', LF will be replaced by CRLF the next time Git touches it
diff --git a/file2 b/file2
deleted file mode 100644
index 0cfbf08..0000000
--- a/file2
+++ /dev/null
@@ -1 +0,0 @@
-2
diff --git a/file3 b/file32
similarity index 100%
rename from file3
rename to file32
diff --git a/file42 b/file42
new file mode 100644
index 0000000..b8626c4
warning: in the working copy of 'file42', LF will be replaced by CRLF the next time Git touches it
--- /dev/null
+++ b/file42
@@ -0,0 +1 @@
+4
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e ' \t \n \ta \n \t \n \tb \n \t \n \tc \nd\n e' >'./repo/file'; git -C './repo' add './file'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e ' \t \n \ta \n \t \n \tb \n \t \n \tc \n d\ne' >'./repo/file'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --check
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
file:4: trailing whitespace, space before tab in indent.
+ b
file:5: trailing whitespace.
+
file:6: trailing whitespace, space before tab in indent.
+ c
jhcarl0814@jhcarl0814 MINGW64 $?=2 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git a/file b/file
index 8e871bd..e153ca5 100644
--- a/file
+++ b/file
@@ -1,8 +1,8 @@
a
-
- b
- c
-d
- e
+ b
+
+ c
+ d
+e
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --ws-error-highlight=old
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git a/file b/file
index 8e871bd..e153ca5 100644
--- a/file
+++ b/file
@@ -1,8 +1,8 @@
a
-
- b
- c
-d
- e
+ b
+
+ c
+ d
+e
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --ws-error-highlight=new
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git a/file b/file
index 8e871bd..e153ca5 100644
--- a/file
+++ b/file
@@ -1,8 +1,8 @@
a
-
- b
- c
-d
- e
+ b
+
+ c
+ d
+e
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --ws-error-highlight=old,context
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git a/file b/file
index 8e871bd..e153ca5 100644
--- a/file
+++ b/file
@@ -1,8 +1,8 @@
a
-
- b
- c
-d
- e
+ b
+
+ c
+ d
+e
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --ignore-space-at-eol
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git a/file b/file
index 8e871bd..e153ca5 100644
--- a/file
+++ b/file
@@ -1,8 +1,8 @@
a
- b
+ b
- c
-d
- e
+ c
+ d
+e
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --ignore-space-change
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git a/file b/file
index 8e871bd..e153ca5 100644
--- a/file
+++ b/file
@@ -4,5 +4,5 @@
b
c
-d
- e
+ d
+e
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --ignore-all-space
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./repo/file'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git a/file b/file
index d00491f..0cfbf08 100644
--- a/file
+++ b/file
@@ -1 +1 @@
-1
+2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff -R
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git b/file a/file
index 0cfbf08..d00491f 100644
--- b/file
+++ a/file
@@ -1 +1 @@
-2
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ mkdir --parents './repo/dir/dir1' './repo/dir/dir2' './repo/dir/dir3' './repo/dir/dir4';
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e '1' >'./repo/file_add'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e '2' >'./repo/file_add_intent'; git -C './repo' add --intent-to-add './file_add_intent'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e '3' >'./repo/file_modify'; git -C './repo' add './file_modify'; echo -e '4' >'./repo/file_modify'
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e '5' >'./repo/file_remove'; git -C './repo' add './file_remove'; rm './repo/file_remove'
warning: in the working copy of 'file_remove', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e '1' >'./repo/dir/dir1/file_add'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e '2' >'./repo/dir/dir2/file_add_intent'; git -C './repo' add --intent-to-add './dir/dir2/file_add_intent'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e '3' >'./repo/dir/dir3/file_modify'; git -C './repo' add './dir/dir3/file_modify'; echo -e '4' >'./repo/dir/dir3/file_modify'
warning: in the working copy of 'dir/dir3/file_modify', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e '5' >'./repo/dir/dir4/file_remove'; git -C './repo' add './dir/dir4/file_remove'; rm './repo/dir/dir4/file_remove'
warning: in the working copy of 'dir/dir4/file_remove', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --patch
warning: in the working copy of 'dir/dir3/file_modify', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'dir/dir2/file_add_intent', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file_add_intent', LF will be replaced by CRLF the next time Git touches it
diff --git a/dir/dir2/file_add_intent b/dir/dir2/file_add_intent
new file mode 100644
index 0000000..0cfbf08
warning: in the working copy of 'dir/dir2/file_add_intent', LF will be replaced by CRLF the next time Git touches it
--- /dev/null
+++ b/dir/dir2/file_add_intent
@@ -0,0 +1 @@
+2
diff --git a/dir/dir3/file_modify b/dir/dir3/file_modify
index 00750ed..b8626c4 100644
--- a/dir/dir3/file_modify
+++ b/dir/dir3/file_modify
@@ -1 +1 @@
-3
+4
diff --git a/dir/dir4/file_remove b/dir/dir4/file_remove
deleted file mode 100644
index 7ed6ff8..0000000
--- a/dir/dir4/file_remove
+++ /dev/null
@@ -1 +0,0 @@
-5
diff --git a/file_add_intent b/file_add_intent
new file mode 100644
index 0000000..0cfbf08
warning: in the working copy of 'file_add_intent', LF will be replaced by CRLF the next time Git touches it
--- /dev/null
+++ b/file_add_intent
@@ -0,0 +1 @@
+2
diff --git a/file_modify b/file_modify
index 00750ed..b8626c4 100644
--- a/file_modify
+++ b/file_modify
@@ -1 +1 @@
-3
+4
diff --git a/file_remove b/file_remove
deleted file mode 100644
index 7ed6ff8..0000000
--- a/file_remove
+++ /dev/null
@@ -1 +0,0 @@
-5
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --patch --full-index
warning: in the working copy of 'dir/dir3/file_modify', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'dir/dir2/file_add_intent', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file_add_intent', LF will be replaced by CRLF the next time Git touches it
diff --git a/dir/dir2/file_add_intent b/dir/dir2/file_add_intent
new file mode 100644
index 0000000000000000000000000000000000000000..0cfbf08886fca9a91cb753ec8734c84fcbe52c9f
warning: in the working copy of 'dir/dir2/file_add_intent', LF will be replaced by CRLF the next time Git touches it
--- /dev/null
+++ b/dir/dir2/file_add_intent
@@ -0,0 +1 @@
+2
diff --git a/dir/dir3/file_modify b/dir/dir3/file_modify
index 00750edc07d6415dcc07ae0351e9397b0222b7ba..b8626c4cff2849624fb67f87cd0ad72b163671ad 100644
--- a/dir/dir3/file_modify
+++ b/dir/dir3/file_modify
@@ -1 +1 @@
-3
+4
diff --git a/dir/dir4/file_remove b/dir/dir4/file_remove
deleted file mode 100644
index 7ed6ff82de6bcc2a78243fc9c54d3ef5ac14da69..0000000000000000000000000000000000000000
--- a/dir/dir4/file_remove
+++ /dev/null
@@ -1 +0,0 @@
-5
diff --git a/file_add_intent b/file_add_intent
new file mode 100644
index 0000000000000000000000000000000000000000..0cfbf08886fca9a91cb753ec8734c84fcbe52c9f
warning: in the working copy of 'file_add_intent', LF will be replaced by CRLF the next time Git touches it
--- /dev/null
+++ b/file_add_intent
@@ -0,0 +1 @@
+2
diff --git a/file_modify b/file_modify
index 00750edc07d6415dcc07ae0351e9397b0222b7ba..b8626c4cff2849624fb67f87cd0ad72b163671ad 100644
--- a/file_modify
+++ b/file_modify
@@ -1 +1 @@
-3
+4
diff --git a/file_remove b/file_remove
deleted file mode 100644
index 7ed6ff82de6bcc2a78243fc9c54d3ef5ac14da69..0000000000000000000000000000000000000000
--- a/file_remove
+++ /dev/null
@@ -1 +0,0 @@
-5
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --patch --abbrev=10
warning: in the working copy of 'dir/dir3/file_modify', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'dir/dir2/file_add_intent', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file_add_intent', LF will be replaced by CRLF the next time Git touches it
diff --git a/dir/dir2/file_add_intent b/dir/dir2/file_add_intent
new file mode 100644
index 0000000000..0cfbf08886
warning: in the working copy of 'dir/dir2/file_add_intent', LF will be replaced by CRLF the next time Git touches it
--- /dev/null
+++ b/dir/dir2/file_add_intent
@@ -0,0 +1 @@
+2
diff --git a/dir/dir3/file_modify b/dir/dir3/file_modify
index 00750edc07..b8626c4cff 100644
--- a/dir/dir3/file_modify
+++ b/dir/dir3/file_modify
@@ -1 +1 @@
-3
+4
diff --git a/dir/dir4/file_remove b/dir/dir4/file_remove
deleted file mode 100644
index 7ed6ff82de..0000000000
--- a/dir/dir4/file_remove
+++ /dev/null
@@ -1 +0,0 @@
-5
diff --git a/file_add_intent b/file_add_intent
new file mode 100644
index 0000000000..0cfbf08886
warning: in the working copy of 'file_add_intent', LF will be replaced by CRLF the next time Git touches it
--- /dev/null
+++ b/file_add_intent
@@ -0,0 +1 @@
+2
diff --git a/file_modify b/file_modify
index 00750edc07..b8626c4cff 100644
--- a/file_modify
+++ b/file_modify
@@ -1 +1 @@
-3
+4
diff --git a/file_remove b/file_remove
deleted file mode 100644
index 7ed6ff82de..0000000000
--- a/file_remove
+++ /dev/null
@@ -1 +0,0 @@
-5
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --raw
warning: in the working copy of 'dir/dir3/file_modify', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'dir/dir2/file_add_intent', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file_add_intent', LF will be replaced by CRLF the next time Git touches it
:000000 100644 0000000 0cfbf08 A dir/dir2/file_add_intent
:100644 100644 00750ed 0000000 M dir/dir3/file_modify
:100644 000000 7ed6ff8 0000000 D dir/dir4/file_remove
:000000 100644 0000000 0cfbf08 A file_add_intent
:100644 100644 00750ed 0000000 M file_modify
:100644 000000 7ed6ff8 0000000 D file_remove
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --raw --no-abbrev
warning: in the working copy of 'dir/dir3/file_modify', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'dir/dir2/file_add_intent', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file_add_intent', LF will be replaced by CRLF the next time Git touches it
:000000 100644 0000000000000000000000000000000000000000 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f A dir/dir2/file_add_intent
:100644 100644 00750edc07d6415dcc07ae0351e9397b0222b7ba 0000000000000000000000000000000000000000 M dir/dir3/file_modify
:100644 000000 7ed6ff82de6bcc2a78243fc9c54d3ef5ac14da69 0000000000000000000000000000000000000000 D dir/dir4/file_remove
:000000 100644 0000000000000000000000000000000000000000 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f A file_add_intent
:100644 100644 00750edc07d6415dcc07ae0351e9397b0222b7ba 0000000000000000000000000000000000000000 M file_modify
:100644 000000 7ed6ff82de6bcc2a78243fc9c54d3ef5ac14da69 0000000000000000000000000000000000000000 D file_remove
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --raw --abbrev=10
warning: in the working copy of 'dir/dir3/file_modify', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'dir/dir2/file_add_intent', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file_add_intent', LF will be replaced by CRLF the next time Git touches it
:000000 100644 0000000000 0cfbf08886 A dir/dir2/file_add_intent
:100644 100644 00750edc07 0000000000 M dir/dir3/file_modify
:100644 000000 7ed6ff82de 0000000000 D dir/dir4/file_remove
:000000 100644 0000000000 0cfbf08886 A file_add_intent
:100644 100644 00750edc07 0000000000 M file_modify
:100644 000000 7ed6ff82de 0000000000 D file_remove
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --stat
warning: in the working copy of 'dir/dir3/file_modify', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'dir/dir2/file_add_intent', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file_add_intent', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'dir/dir2/file_add_intent', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file_add_intent', LF will be replaced by CRLF the next time Git touches it
dir/dir2/file_add_intent | 1 +
dir/dir3/file_modify | 2 +-
dir/dir4/file_remove | 1 -
file_add_intent | 1 +
file_modify | 2 +-
file_remove | 1 -
6 files changed, 4 insertions(+), 4 deletions(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --stat --compact-summary
warning: in the working copy of 'dir/dir3/file_modify', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'dir/dir2/file_add_intent', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file_add_intent', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'dir/dir2/file_add_intent', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file_add_intent', LF will be replaced by CRLF the next time Git touches it
dir/dir2/file_add_intent (new) | 1 +
dir/dir3/file_modify | 2 +-
dir/dir4/file_remove (gone) | 1 -
file_add_intent (new) | 1 +
file_modify | 2 +-
file_remove (gone) | 1 -
6 files changed, 4 insertions(+), 4 deletions(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --shortstat
warning: in the working copy of 'dir/dir3/file_modify', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'dir/dir2/file_add_intent', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file_add_intent', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'dir/dir2/file_add_intent', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file_add_intent', LF will be replaced by CRLF the next time Git touches it
6 files changed, 4 insertions(+), 4 deletions(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --summary
warning: in the working copy of 'dir/dir3/file_modify', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'dir/dir2/file_add_intent', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file_add_intent', LF will be replaced by CRLF the next time Git touches it
create mode 100644 dir/dir2/file_add_intent
delete mode 100644 dir/dir4/file_remove
create mode 100644 file_add_intent
delete mode 100644 file_remove
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --numstat
warning: in the working copy of 'dir/dir3/file_modify', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'dir/dir2/file_add_intent', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file_add_intent', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'dir/dir2/file_add_intent', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file_add_intent', LF will be replaced by CRLF the next time Git touches it
1 0 dir/dir2/file_add_intent
1 1 dir/dir3/file_modify
0 1 dir/dir4/file_remove
1 0 file_add_intent
1 1 file_modify
0 1 file_remove
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --dirstat=files
warning: in the working copy of 'dir/dir3/file_modify', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'dir/dir2/file_add_intent', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file_add_intent', LF will be replaced by CRLF the next time Git touches it
16.6% dir/dir2/
16.6% dir/dir3/
16.6% dir/dir4/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --dirstat=lines
warning: in the working copy of 'dir/dir3/file_modify', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'dir/dir2/file_add_intent', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file_add_intent', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'dir/dir2/file_add_intent', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file_add_intent', LF will be replaced by CRLF the next time Git touches it
12.5% dir/dir2/
25.0% dir/dir3/
12.5% dir/dir4/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --dirstat=changes
warning: in the working copy of 'dir/dir3/file_modify', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'dir/dir2/file_add_intent', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file_add_intent', LF will be replaced by CRLF the next time Git touches it
12.5% dir/dir2/
25.0% dir/dir3/
12.5% dir/dir4/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --dirstat=files,cumulative
warning: in the working copy of 'dir/dir3/file_modify', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'dir/dir2/file_add_intent', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file_add_intent', LF will be replaced by CRLF the next time Git touches it
16.6% dir/dir2/
16.6% dir/dir3/
16.6% dir/dir4/
50.0% dir/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --dirstat=lines,cumulative
warning: in the working copy of 'dir/dir3/file_modify', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'dir/dir2/file_add_intent', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file_add_intent', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'dir/dir2/file_add_intent', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file_add_intent', LF will be replaced by CRLF the next time Git touches it
12.5% dir/dir2/
25.0% dir/dir3/
12.5% dir/dir4/
50.0% dir/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --dirstat=changes,cumulative
warning: in the working copy of 'dir/dir3/file_modify', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'dir/dir2/file_add_intent', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file_add_intent', LF will be replaced by CRLF the next time Git touches it
12.5% dir/dir2/
25.0% dir/dir3/
12.5% dir/dir4/
50.0% dir/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --name-only
warning: in the working copy of 'dir/dir3/file_modify', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'dir/dir2/file_add_intent', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file_add_intent', LF will be replaced by CRLF the next time Git touches it
dir/dir2/file_add_intent
dir/dir3/file_modify
dir/dir4/file_remove
file_add_intent
file_modify
file_remove
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --name-status
warning: in the working copy of 'dir/dir3/file_modify', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'dir/dir2/file_add_intent', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file_add_intent', LF will be replaced by CRLF the next time Git touches it
A dir/dir2/file_add_intent
M dir/dir3/file_modify
D dir/dir4/file_remove
A file_add_intent
M file_modify
D file_remove
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -n -e '\x01' >'./repo/file'; git -C './repo' add './file'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -n -e '\x02' >'./repo/file'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff
diff --git a/file b/file
index 6b2aaa7..25cb955 100644
--- a/file
+++ b/file
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --binary
diff --git a/file b/file
index 6b2aaa7..25cb955 100644
--- a/file
+++ b/file
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --text
diff --git a/file b/file
index 6b2aaa7..25cb955 100644
--- a/file
+++ b/file
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo 'file -diff' >'./repo/.gitattributes'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff
diff --git a/file b/file
index 6b2aaa7..25cb955 100644
Binary files a/file and b/file differ
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --binary
diff --git a/file b/file
index 6b2aaa7640726588bcd3d57e1de4b1315b7f315e..25cb955ba23571f6fefd57cecf5f67454210bbc8 100644
GIT binary patch
literal 1
IcmZPq000930{{R3
literal 1
IcmZPs000620ssI2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --text
diff --git a/file b/file
index 6b2aaa7..25cb955 100644
--- a/file
+++ b/file
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' config set --local 'diff.special_character_to_escape_sequence_preserve_line_ending.binary' 'true'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo 'file diff=special_character_to_escape_sequence_preserve_line_ending' >'./repo/.gitattributes'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff
diff --git a/file b/file
index 6b2aaa7..25cb955 100644
Binary files a/file and b/file differ
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --binary
diff --git a/file b/file
index 6b2aaa7640726588bcd3d57e1de4b1315b7f315e..25cb955ba23571f6fefd57cecf5f67454210bbc8 100644
GIT binary patch
literal 1
IcmZPq000930{{R3
literal 1
IcmZPs000620ssI2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --text
diff --git a/file b/file
index 6b2aaa7..25cb955 100644
--- a/file
+++ b/file
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' config set --local 'diff.special_character_to_escape_sequence_preserve_line_ending.textconv' 'function special_character_to_escape_sequence_preserve_line_ending1 () { special_character_to_escape_sequence_preserve_line_ending <"$1"; };special_character_to_escape_sequence_preserve_line_ending1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff
diff --git a/file b/file
index 6b2aaa7..25cb955 100644
--- a/file
+++ b/file
@@ -1 +1 @@
-\x01
\ No newline at end of file
+\x02
\ No newline at end of file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --binary
diff --git a/file b/file
index 6b2aaa7640726588bcd3d57e1de4b1315b7f315e..25cb955ba23571f6fefd57cecf5f67454210bbc8 100644
--- a/file
+++ b/file
@@ -1 +1 @@
-\x01
\ No newline at end of file
+\x02
\ No newline at end of file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --text
diff --git a/file b/file
index 6b2aaa7..25cb955 100644
--- a/file
+++ b/file
@@ -1 +1 @@
-\x01
\ No newline at end of file
+\x02
\ No newline at end of file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --no-textconv
diff --git a/file b/file
index 6b2aaa7..25cb955 100644
Binary files a/file and b/file differ
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --binary --no-textconv
diff --git a/file b/file
index 6b2aaa7640726588bcd3d57e1de4b1315b7f315e..25cb955ba23571f6fefd57cecf5f67454210bbc8 100644
GIT binary patch
literal 1
IcmZPq000930{{R3
literal 1
IcmZPs000620ssI2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --text --no-textconv
diff --git a/file b/file
index 6b2aaa7..25cb955 100644
--- a/file
+++ b/file
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -n -e '\x00' >'./repo/file'; git -C './repo' add './file'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -n -e '\x01' >'./repo/file'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff
diff --git a/file b/file
index f76dd23..6b2aaa7 100644
Binary files a/file and b/file differ
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --binary
diff --git a/file b/file
index f76dd238ade08917e6712764a16a22005a50573d..6b2aaa7640726588bcd3d57e1de4b1315b7f315e 100644
GIT binary patch
literal 1
IcmZPs000620ssI2
literal 1
IcmZPo000310RR91
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --text
diff --git a/file b/file
index f76dd23..6b2aaa7 100644
--- a/file
+++ b/file
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo 'file -diff' >'./repo/.gitattributes'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff
diff --git a/file b/file
index f76dd23..6b2aaa7 100644
Binary files a/file and b/file differ
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --binary
diff --git a/file b/file
index f76dd238ade08917e6712764a16a22005a50573d..6b2aaa7640726588bcd3d57e1de4b1315b7f315e 100644
GIT binary patch
literal 1
IcmZPs000620ssI2
literal 1
IcmZPo000310RR91
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --text
diff --git a/file b/file
index f76dd23..6b2aaa7 100644
--- a/file
+++ b/file
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' config set --local 'diff.special_character_to_escape_sequence_preserve_line_ending.binary' 'true'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo 'file diff=special_character_to_escape_sequence_preserve_line_ending' >'./repo/.gitattributes'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff
diff --git a/file b/file
index f76dd23..6b2aaa7 100644
Binary files a/file and b/file differ
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --binary
diff --git a/file b/file
index f76dd238ade08917e6712764a16a22005a50573d..6b2aaa7640726588bcd3d57e1de4b1315b7f315e 100644
GIT binary patch
literal 1
IcmZPs000620ssI2
literal 1
IcmZPo000310RR91
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --text
diff --git a/file b/file
index f76dd23..6b2aaa7 100644
--- a/file
+++ b/file
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' config set --local 'diff.special_character_to_escape_sequence_preserve_line_ending.textconv' 'function special_character_to_escape_sequence_preserve_line_ending1 () { special_character_to_escape_sequence_preserve_line_ending <"$1"; };special_character_to_escape_sequence_preserve_line_ending1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff
diff --git a/file b/file
index f76dd23..6b2aaa7 100644
--- a/file
+++ b/file
@@ -1 +1 @@
-\0
\ No newline at end of file
+\x01
\ No newline at end of file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --binary
diff --git a/file b/file
index f76dd238ade08917e6712764a16a22005a50573d..6b2aaa7640726588bcd3d57e1de4b1315b7f315e 100644
--- a/file
+++ b/file
@@ -1 +1 @@
-\0
\ No newline at end of file
+\x01
\ No newline at end of file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --text
diff --git a/file b/file
index f76dd23..6b2aaa7 100644
--- a/file
+++ b/file
@@ -1 +1 @@
-\0
\ No newline at end of file
+\x01
\ No newline at end of file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --no-textconv
diff --git a/file b/file
index f76dd23..6b2aaa7 100644
Binary files a/file and b/file differ
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --binary --no-textconv
diff --git a/file b/file
index f76dd238ade08917e6712764a16a22005a50573d..6b2aaa7640726588bcd3d57e1de4b1315b7f315e 100644
GIT binary patch
literal 1
IcmZPs000620ssI2
literal 1
IcmZPo000310RR91
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --text --no-textconv
diff --git a/file b/file
index f76dd23..6b2aaa7 100644
--- a/file
+++ b/file
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e '1\na\na\na\na\na\na\n1' >'./repo/file'; git -C './repo' add './file'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e '2\na\na\na\na\na\na\n2' >'./repo/file'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git a/file b/file
index b591132..10f4a32 100644
--- a/file
+++ b/file
@@ -1,8 +1,8 @@
-1
+2
a
a
a
a
a
a
-1
+2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --inter-hunk-context=0
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git a/file b/file
index b591132..10f4a32 100644
--- a/file
+++ b/file
@@ -1,8 +1,8 @@
-1
+2
a
a
a
a
a
a
-1
+2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --inter-hunk-context=0 --unified=2
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git a/file b/file
index b591132..10f4a32 100644
--- a/file
+++ b/file
@@ -1,3 +1,3 @@
-1
+2
a
a
@@ -6,3 +6,3 @@ a
a
a
-1
+2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --inter-hunk-context=1 --unified=2
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git a/file b/file
index b591132..10f4a32 100644
--- a/file
+++ b/file
@@ -1,3 +1,3 @@
-1
+2
a
a
@@ -6,3 +6,3 @@ a
a
a
-1
+2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --inter-hunk-context=2 --unified=2
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git a/file b/file
index b591132..10f4a32 100644
--- a/file
+++ b/file
@@ -1,8 +1,8 @@
-1
+2
a
a
a
a
a
a
-1
+2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e '1\na\na\na\na\na\na\na\n1' >'./repo/file'; git -C './repo' add './file'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e '2\na\na\na\na\na\na\na\n2' >'./repo/file'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git a/file b/file
index 17f0a10..0dee3fd 100644
--- a/file
+++ b/file
@@ -1,4 +1,4 @@
-1
+2
a
a
a
@@ -6,4 +6,4 @@ a
a
a
a
-1
+2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --inter-hunk-context=0
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git a/file b/file
index 17f0a10..0dee3fd 100644
--- a/file
+++ b/file
@@ -1,4 +1,4 @@
-1
+2
a
a
a
@@ -6,4 +6,4 @@ a
a
a
a
-1
+2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --inter-hunk-context=1
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git a/file b/file
index 17f0a10..0dee3fd 100644
--- a/file
+++ b/file
@@ -1,9 +1,9 @@
-1
+2
a
a
a
a
a
a
a
-1
+2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --inter-hunk-context=1 --unified=2
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git a/file b/file
index 17f0a10..0dee3fd 100644
--- a/file
+++ b/file
@@ -1,3 +1,3 @@
-1
+2
a
a
@@ -7,3 +7,3 @@ a
a
a
-1
+2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --inter-hunk-context=2 --unified=2
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git a/file b/file
index 17f0a10..0dee3fd 100644
--- a/file
+++ b/file
@@ -1,3 +1,3 @@
-1
+2
a
a
@@ -7,3 +7,3 @@ a
a
a
-1
+2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --inter-hunk-context=3 --unified=2
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git a/file b/file
index 17f0a10..0dee3fd 100644
--- a/file
+++ b/file
@@ -1,9 +1,9 @@
-1
+2
a
a
a
a
a
a
a
-1
+2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e '1\na' >'./repo/file'; git -C './repo' add './file'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e '2\na' >'./repo/file'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git a/file b/file
index e439850..a092df3 100644
--- a/file
+++ b/file
@@ -1,2 +1,2 @@
-1
+2
a
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --no-prefix
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git file file
index e439850..a092df3 100644
--- file
+++ file
@@ -1,2 +1,2 @@
-1
+2
a
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --default-prefix
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git a/file b/file
index e439850..a092df3 100644
--- a/file
+++ b/file
@@ -1,2 +1,2 @@
-1
+2
a
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --src-prefix='i/' --dst-prefix='w/'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git i/file w/file
index e439850..a092df3 100644
--- i/file
+++ w/file
@@ -1,2 +1,2 @@
-1
+2
a
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --src-prefix='i/' --no-prefix --dst-prefix='w/'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git file w/file
index e439850..a092df3 100644
--- file
+++ w/file
@@ -1,2 +1,2 @@
-1
+2
a
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --src-prefix='i/' --no-prefix --dst-prefix='w/' --src-prefix='i/'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git i/file w/file
index e439850..a092df3 100644
--- i/file
+++ w/file
@@ -1,2 +1,2 @@
-1
+2
a
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --src-prefix='i/' --default-prefix --dst-prefix='w/'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git a/file w/file
index e439850..a092df3 100644
--- a/file
+++ w/file
@@ -1,2 +1,2 @@
-1
+2
a
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --src-prefix='i/' --default-prefix --dst-prefix='w/' --src-prefix='i/'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git i/file w/file
index e439850..a092df3 100644
--- i/file
+++ w/file
@@ -1,2 +1,2 @@
-1
+2
a
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --output-indicator-new='n' --output-indicator-old='o' --output-indicator-context='c'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git a/file b/file
index e439850..a092df3 100644
--- a/file
+++ b/file
@@ -1,2 +1,2 @@
o1
n2
ca
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --line-prefix='pr'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
prdiff --git a/file b/file
prindex e439850..a092df3 100644
pr--- a/file
pr+++ b/file
pr@@ -1,2 +1,2 @@
pr-1
pr+2
pr a
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server' init --bare './repo.git'
Initialized empty Git repository in C:/Program Files/Git/test_git/server/repo.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty; git -C './server/repo.git' branch branch1; git -C './server/repo.git' tag tag1
[master (root-commit) a9a025d] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' checkout -b branch2 branch1; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty; git -C './server/repo.git' tag tag2
Switched to a new branch 'branch2'
[branch2 7496ec0] 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' checkout -B branch2 branch1; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
Reset branch 'branch2'
[branch2 87df73b] 3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' checkout -b branch3 branch1; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty; git -C './server/repo.git' tag tag3
Switched to a new branch 'branch3'
[branch3 a6e7ddd] 4
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' checkout -B branch3 branch1; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
Reset branch 'branch3'
[branch3 967fe3a] 5
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/client/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ branch_default_name="$(git -C './client/repo' branch --show-current)"; echo "$branch_default_name"
master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote add server 'file://'"$(realpath './server/repo.git')"
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch --tags
remote: Enumerating objects: 6, done.
remote: Counting objects: 100% (6/6), done.
remote: Compressing objects: 100% (5/5), done.
remote: Total 6 (delta 4), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (6/6), 297 bytes | 11.00 KiB/s, done.
From file:///test_git/server/repo
* [new branch] branch1 -> server/branch1
* [new branch] branch2 -> server/branch2
* [new branch] branch3 -> server/branch3
* [new branch] master -> server/master
* [new tag] tag1 -> tag1
* [new tag] tag2 -> tag2
* [new tag] tag3 -> tag3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg
fatal: your current branch 'master' does not have any commits yet
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' checkout "$branch_default_name"
branch 'master' set up to track 'server/master'.
Already on 'master'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' checkout branch1
branch 'branch1' set up to track 'server/branch1'.
Switched to a new branch 'branch1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' checkout branch2
branch 'branch2' set up to track 'server/branch2'.
Switched to a new branch 'branch2'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' checkout branch3
branch 'branch3' set up to track 'server/branch3'.
Switched to a new branch 'branch3'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg
* 967fe3a - 2026-05-30 17:00 (5 seconds ago) 5 - Han Jiang (HEAD -> refs/heads/branch3, refs/remotes/server/branch3, refs/remotes/server/HEAD)
* a9a025d - 2026-05-30 17:00 (8 seconds ago) 1 - Han Jiang (tag: refs/tags/tag1, refs/remotes/server/master, refs/remotes/server/branch1, refs/heads/master, refs/heads/branch1)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all
* 967fe3a - 2026-05-30 17:00 (5 seconds ago) 5 - Han Jiang (HEAD -> refs/heads/branch3, refs/remotes/server/branch3, refs/remotes/server/HEAD)
| * a6e7ddd - 2026-05-30 17:00 (5 seconds ago) 4 - Han Jiang (tag: refs/tags/tag3)
|/
| * 87df73b - 2026-05-30 17:00 (6 seconds ago) 3 - Han Jiang (refs/remotes/server/branch2, refs/heads/branch2)
|/
| * 7496ec0 - 2026-05-30 17:00 (7 seconds ago) 2 - Han Jiang (tag: refs/tags/tag2)
|/
* a9a025d - 2026-05-30 17:00 (8 seconds ago) 1 - Han Jiang (tag: refs/tags/tag1, refs/remotes/server/master, refs/remotes/server/branch1, refs/heads/master, refs/heads/branch1)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --branches
* 967fe3a - 2026-05-30 17:00 (6 seconds ago) 5 - Han Jiang (HEAD -> refs/heads/branch3, refs/remotes/server/branch3, refs/remotes/server/HEAD)
| * 87df73b - 2026-05-30 17:00 (7 seconds ago) 3 - Han Jiang (refs/remotes/server/branch2, refs/heads/branch2)
|/
* a9a025d - 2026-05-30 17:00 (9 seconds ago) 1 - Han Jiang (tag: refs/tags/tag1, refs/remotes/server/master, refs/remotes/server/branch1, refs/heads/master, refs/heads/branch1)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --branches='*1'
* a9a025d - 2026-05-30 17:00 (9 seconds ago) 1 - Han Jiang (tag: refs/tags/tag1, refs/remotes/server/master, refs/remotes/server/branch1, refs/heads/master, refs/heads/branch1)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --branches='*2'
* 87df73b - 2026-05-30 17:00 (8 seconds ago) 3 - Han Jiang (refs/remotes/server/branch2, refs/heads/branch2)
* a9a025d - 2026-05-30 17:00 (10 seconds ago) 1 - Han Jiang (tag: refs/tags/tag1, refs/remotes/server/master, refs/remotes/server/branch1, refs/heads/master, refs/heads/branch1)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --branches='*2' --branches='*3'
* 967fe3a - 2026-05-30 17:00 (7 seconds ago) 5 - Han Jiang (HEAD -> refs/heads/branch3, refs/remotes/server/branch3, refs/remotes/server/HEAD)
| * 87df73b - 2026-05-30 17:00 (8 seconds ago) 3 - Han Jiang (refs/remotes/server/branch2, refs/heads/branch2)
|/
* a9a025d - 2026-05-30 17:00 (10 seconds ago) 1 - Han Jiang (tag: refs/tags/tag1, refs/remotes/server/master, refs/remotes/server/branch1, refs/heads/master, refs/heads/branch1)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --tags
* a6e7ddd - 2026-05-30 17:00 (7 seconds ago) 4 - Han Jiang (tag: refs/tags/tag3)
| * 7496ec0 - 2026-05-30 17:00 (9 seconds ago) 2 - Han Jiang (tag: refs/tags/tag2)
|/
* a9a025d - 2026-05-30 17:00 (10 seconds ago) 1 - Han Jiang (tag: refs/tags/tag1, refs/remotes/server/master, refs/remotes/server/branch1, refs/heads/master, refs/heads/branch1)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --tags='*2'
* 7496ec0 - 2026-05-30 17:00 (10 seconds ago) 2 - Han Jiang (tag: refs/tags/tag2)
* a9a025d - 2026-05-30 17:00 (11 seconds ago) 1 - Han Jiang (tag: refs/tags/tag1, refs/remotes/server/master, refs/remotes/server/branch1, refs/heads/master, refs/heads/branch1)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --remotes
* 967fe3a - 2026-05-30 17:00 (8 seconds ago) 5 - Han Jiang (HEAD -> refs/heads/branch3, refs/remotes/server/branch3, refs/remotes/server/HEAD)
| * 87df73b - 2026-05-30 17:00 (9 seconds ago) 3 - Han Jiang (refs/remotes/server/branch2, refs/heads/branch2)
|/
* a9a025d - 2026-05-30 17:00 (11 seconds ago) 1 - Han Jiang (tag: refs/tags/tag1, refs/remotes/server/master, refs/remotes/server/branch1, refs/heads/master, refs/heads/branch1)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --remotes='server/*2'
* 87df73b - 2026-05-30 17:00 (10 seconds ago) 3 - Han Jiang (refs/remotes/server/branch2, refs/heads/branch2)
* a9a025d - 2026-05-30 17:00 (12 seconds ago) 1 - Han Jiang (tag: refs/tags/tag1, refs/remotes/server/master, refs/remotes/server/branch1, refs/heads/master, refs/heads/branch1)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --remotes='*r*r/*2'
* 87df73b - 2026-05-30 17:00 (10 seconds ago) 3 - Han Jiang (refs/remotes/server/branch2, refs/heads/branch2)
* a9a025d - 2026-05-30 17:00 (12 seconds ago) 1 - Han Jiang (tag: refs/tags/tag1, refs/remotes/server/master, refs/remotes/server/branch1, refs/heads/master, refs/heads/branch1)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty; git -C './repo' branch branch1
[master (root-commit) 5c24050] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout -b branch2 branch1; git -C './repo' commit --message="$((++number))" --allow-empty; git -C './repo' tag tag1
Switched to a new branch 'branch2'
[branch2 5cec349] 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout -B branch2 branch1; git -C './repo' commit --message="$((++number))" --allow-empty; git -C './repo' tag tag2
Reset branch 'branch2'
[branch2 735fd3c] 3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout -B branch2 tag1
Reset branch 'branch2'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout -B branch2 tag2
Reset branch 'branch2'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log branch2
commit 735fd3c0e34ba04408e381fb97079c5693222bed (HEAD -> branch2, tag: tag2)
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Sat May 30 17:00:37 2026 +1200
3
commit 5c2405083feeecd337aa4b2f80ffe5fb58000e4f (master, branch1)
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Sat May 30 17:00:35 2026 +1200
1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --graph branch2
* commit 735fd3c0e34ba04408e381fb97079c5693222bed (HEAD -> branch2, tag: tag2)
| Author: Han Jiang <jhcarl0814@gmail.com>
| Date: Sat May 30 17:00:37 2026 +1200
|
| 3
|
* commit 5c2405083feeecd337aa4b2f80ffe5fb58000e4f (master, branch1)
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Sat May 30 17:00:35 2026 +1200
1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --reflog branch2
commit 735fd3c0e34ba04408e381fb97079c5693222bed (HEAD -> branch2, tag: tag2)
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Sat May 30 17:00:37 2026 +1200
3
commit 5cec349e173a8bd63389698bce1881cd17e37f2e (tag: tag1)
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Sat May 30 17:00:36 2026 +1200
2
commit 5c2405083feeecd337aa4b2f80ffe5fb58000e4f (master, branch1)
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Sat May 30 17:00:35 2026 +1200
1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --reflog --graph branch2
* commit 735fd3c0e34ba04408e381fb97079c5693222bed (HEAD -> branch2, tag: tag2)
| Author: Han Jiang <jhcarl0814@gmail.com>
| Date: Sat May 30 17:00:37 2026 +1200
|
| 3
|
| * commit 5cec349e173a8bd63389698bce1881cd17e37f2e (tag: tag1)
|/ Author: Han Jiang <jhcarl0814@gmail.com>
| Date: Sat May 30 17:00:36 2026 +1200
|
| 2
|
* commit 5c2405083feeecd337aa4b2f80ffe5fb58000e4f (master, branch1)
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Sat May 30 17:00:35 2026 +1200
1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --walk-reflogs branch2
commit 735fd3c0e34ba04408e381fb97079c5693222bed (HEAD -> branch2, tag: tag2)
Reflog: branch2@{0} (Han Jiang <jhcarl0814@gmail.com>)
Reflog message: branch: Reset to tag2
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Sat May 30 17:00:37 2026 +1200
3
commit 5cec349e173a8bd63389698bce1881cd17e37f2e (tag: tag1)
Reflog: branch2@{1} (Han Jiang <jhcarl0814@gmail.com>)
Reflog message: branch: Reset to tag1
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Sat May 30 17:00:36 2026 +1200
2
commit 735fd3c0e34ba04408e381fb97079c5693222bed (HEAD -> branch2, tag: tag2)
Reflog: branch2@{2} (Han Jiang <jhcarl0814@gmail.com>)
Reflog message: commit: 3
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Sat May 30 17:00:37 2026 +1200
3
commit 5c2405083feeecd337aa4b2f80ffe5fb58000e4f (master, branch1)
Reflog: branch2@{3} (Han Jiang <jhcarl0814@gmail.com>)
Reflog message: branch: Reset to branch1
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Sat May 30 17:00:35 2026 +1200
1
commit 5cec349e173a8bd63389698bce1881cd17e37f2e (tag: tag1)
Reflog: branch2@{4} (Han Jiang <jhcarl0814@gmail.com>)
Reflog message: commit: 2
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Sat May 30 17:00:36 2026 +1200
2
commit 5c2405083feeecd337aa4b2f80ffe5fb58000e4f (master, branch1)
Reflog: branch2@{5} (Han Jiang <jhcarl0814@gmail.com>)
Reflog message: branch: Created from branch1
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Sat May 30 17:00:35 2026 +1200
1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --walk-reflogs --graph branch2
fatal: cannot combine --walk-reflogs with history-limiting options
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ branch_default_name="$(git -C './repo' branch --show-current)"; echo "$branch_default_name"
master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e '1\n\n\n\n1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message='0 -> 1'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) fb7253c] 0 -> 1
1 file changed, 5 insertions(+)
create mode 100644 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch branch1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e '1\n\n\n\n2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message='1 -> 2'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master f4488cb] 1 -> 2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e '2\n\n\n\n2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message='1 -> 2'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master 4372732] 1 -> 2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e '2\n\n\n\n3' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message='2 -> 3'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master 2cb462c] 2 -> 3
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e '3\n\n\n\n3' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message='2 -> 3'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master a84ffa7] 2 -> 3
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e '3\n\n\n\n4' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message='3 -> 4'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master e05846a] 3 -> 4
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e '4\n\n\n\n4' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message='3 -> 4'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master 49c318c] 3 -> 4
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1
Switched to branch 'branch1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e '1\n\n\n\n2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message='1 -> 2'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch1 3fb1782] 1 -> 2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e '2\n\n\n\n2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message='1 -> 2'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch1 5d5b083] 1 -> 2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e '3\n\n\n\n2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message='2 -> 3'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch1 1fe3d1e] 2 -> 3
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e '3\n\n\n\n3' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message='2 -> 3'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch1 b8b45be] 2 -> 3
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e '3\n\n\n\n5' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message='3 -> 5'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch1 019bbb5] 3 -> 5
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e '4\n\n\n\n5' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message='3 -> 4'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch1 7a513d8] 3 -> 4
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --all
7a513d816b310011fab157ff838dfbfd175ecfff (HEAD -> branch1) 3 -> 4
019bbb5710191d396124c1a45366efe2b2bdb2f8 3 -> 5
b8b45bebf4401cf00f31f3905593535e92d440fa 2 -> 3
1fe3d1e774d0abeb724fed8e6de983dff33eec37 2 -> 3
5d5b083a10fc57463e55f93746bb56e2bad9173d 1 -> 2
3fb17821bbaf7f6c4d490c599dc5ccfe34fa81f0 1 -> 2
49c318c48b9fbc96efdffc86e2f2b06dc4265153 (master) 3 -> 4
e05846a8cb23a3d06ea01ee169cb0b96b814f092 3 -> 4
a84ffa754cb14ba5316064c1a3693c2a60940674 2 -> 3
2cb462c37ca977289f36472afc154c78e012d87f 2 -> 3
4372732157071244c021d70b2357fc16a6cc3fbe 1 -> 2
f4488cb25ab5c8f9afa98cb22acbb70018b1d24b 1 -> 2
fb7253c73f9704f76948b5ed03dedecbae29cce9 0 -> 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --graph --all
* 7a513d816b310011fab157ff838dfbfd175ecfff (HEAD -> branch1) 3 -> 4
* 019bbb5710191d396124c1a45366efe2b2bdb2f8 3 -> 5
* b8b45bebf4401cf00f31f3905593535e92d440fa 2 -> 3
* 1fe3d1e774d0abeb724fed8e6de983dff33eec37 2 -> 3
* 5d5b083a10fc57463e55f93746bb56e2bad9173d 1 -> 2
* 3fb17821bbaf7f6c4d490c599dc5ccfe34fa81f0 1 -> 2
| * 49c318c48b9fbc96efdffc86e2f2b06dc4265153 (master) 3 -> 4
| * e05846a8cb23a3d06ea01ee169cb0b96b814f092 3 -> 4
| * a84ffa754cb14ba5316064c1a3693c2a60940674 2 -> 3
| * 2cb462c37ca977289f36472afc154c78e012d87f 2 -> 3
| * 4372732157071244c021d70b2357fc16a6cc3fbe 1 -> 2
| * f4488cb25ab5c8f9afa98cb22acbb70018b1d24b 1 -> 2
|/
* fb7253c73f9704f76948b5ed03dedecbae29cce9 0 -> 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline "$branch_default_name"...branch1
7a513d816b310011fab157ff838dfbfd175ecfff (HEAD -> branch1) 3 -> 4
019bbb5710191d396124c1a45366efe2b2bdb2f8 3 -> 5
b8b45bebf4401cf00f31f3905593535e92d440fa 2 -> 3
1fe3d1e774d0abeb724fed8e6de983dff33eec37 2 -> 3
5d5b083a10fc57463e55f93746bb56e2bad9173d 1 -> 2
3fb17821bbaf7f6c4d490c599dc5ccfe34fa81f0 1 -> 2
49c318c48b9fbc96efdffc86e2f2b06dc4265153 (master) 3 -> 4
e05846a8cb23a3d06ea01ee169cb0b96b814f092 3 -> 4
a84ffa754cb14ba5316064c1a3693c2a60940674 2 -> 3
2cb462c37ca977289f36472afc154c78e012d87f 2 -> 3
4372732157071244c021d70b2357fc16a6cc3fbe 1 -> 2
f4488cb25ab5c8f9afa98cb22acbb70018b1d24b 1 -> 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --graph "$branch_default_name"...branch1
* 7a513d816b310011fab157ff838dfbfd175ecfff (HEAD -> branch1) 3 -> 4
* 019bbb5710191d396124c1a45366efe2b2bdb2f8 3 -> 5
* b8b45bebf4401cf00f31f3905593535e92d440fa 2 -> 3
* 1fe3d1e774d0abeb724fed8e6de983dff33eec37 2 -> 3
* 5d5b083a10fc57463e55f93746bb56e2bad9173d 1 -> 2
* 3fb17821bbaf7f6c4d490c599dc5ccfe34fa81f0 1 -> 2
* 49c318c48b9fbc96efdffc86e2f2b06dc4265153 (master) 3 -> 4
* e05846a8cb23a3d06ea01ee169cb0b96b814f092 3 -> 4
* a84ffa754cb14ba5316064c1a3693c2a60940674 2 -> 3
* 2cb462c37ca977289f36472afc154c78e012d87f 2 -> 3
* 4372732157071244c021d70b2357fc16a6cc3fbe 1 -> 2
* f4488cb25ab5c8f9afa98cb22acbb70018b1d24b 1 -> 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --boundary "$branch_default_name"...branch1
7a513d816b310011fab157ff838dfbfd175ecfff (HEAD -> branch1) 3 -> 4
019bbb5710191d396124c1a45366efe2b2bdb2f8 3 -> 5
b8b45bebf4401cf00f31f3905593535e92d440fa 2 -> 3
1fe3d1e774d0abeb724fed8e6de983dff33eec37 2 -> 3
5d5b083a10fc57463e55f93746bb56e2bad9173d 1 -> 2
3fb17821bbaf7f6c4d490c599dc5ccfe34fa81f0 1 -> 2
49c318c48b9fbc96efdffc86e2f2b06dc4265153 (master) 3 -> 4
e05846a8cb23a3d06ea01ee169cb0b96b814f092 3 -> 4
a84ffa754cb14ba5316064c1a3693c2a60940674 2 -> 3
2cb462c37ca977289f36472afc154c78e012d87f 2 -> 3
4372732157071244c021d70b2357fc16a6cc3fbe 1 -> 2
f4488cb25ab5c8f9afa98cb22acbb70018b1d24b 1 -> 2
- fb7253c73f9704f76948b5ed03dedecbae29cce9 0 -> 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --graph --boundary "$branch_default_name"...branch1
* 7a513d816b310011fab157ff838dfbfd175ecfff (HEAD -> branch1) 3 -> 4
* 019bbb5710191d396124c1a45366efe2b2bdb2f8 3 -> 5
* b8b45bebf4401cf00f31f3905593535e92d440fa 2 -> 3
* 1fe3d1e774d0abeb724fed8e6de983dff33eec37 2 -> 3
* 5d5b083a10fc57463e55f93746bb56e2bad9173d 1 -> 2
* 3fb17821bbaf7f6c4d490c599dc5ccfe34fa81f0 1 -> 2
| * 49c318c48b9fbc96efdffc86e2f2b06dc4265153 (master) 3 -> 4
| * e05846a8cb23a3d06ea01ee169cb0b96b814f092 3 -> 4
| * a84ffa754cb14ba5316064c1a3693c2a60940674 2 -> 3
| * 2cb462c37ca977289f36472afc154c78e012d87f 2 -> 3
| * 4372732157071244c021d70b2357fc16a6cc3fbe 1 -> 2
| * f4488cb25ab5c8f9afa98cb22acbb70018b1d24b 1 -> 2
|/
o fb7253c73f9704f76948b5ed03dedecbae29cce9 0 -> 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --left-right "$branch_default_name"...branch1
> 7a513d816b310011fab157ff838dfbfd175ecfff (HEAD -> branch1) 3 -> 4
> 019bbb5710191d396124c1a45366efe2b2bdb2f8 3 -> 5
> b8b45bebf4401cf00f31f3905593535e92d440fa 2 -> 3
> 1fe3d1e774d0abeb724fed8e6de983dff33eec37 2 -> 3
> 5d5b083a10fc57463e55f93746bb56e2bad9173d 1 -> 2
> 3fb17821bbaf7f6c4d490c599dc5ccfe34fa81f0 1 -> 2
< 49c318c48b9fbc96efdffc86e2f2b06dc4265153 (master) 3 -> 4
< e05846a8cb23a3d06ea01ee169cb0b96b814f092 3 -> 4
< a84ffa754cb14ba5316064c1a3693c2a60940674 2 -> 3
< 2cb462c37ca977289f36472afc154c78e012d87f 2 -> 3
< 4372732157071244c021d70b2357fc16a6cc3fbe 1 -> 2
< f4488cb25ab5c8f9afa98cb22acbb70018b1d24b 1 -> 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --graph --left-right "$branch_default_name"...branch1
> 7a513d816b310011fab157ff838dfbfd175ecfff (HEAD -> branch1) 3 -> 4
> 019bbb5710191d396124c1a45366efe2b2bdb2f8 3 -> 5
> b8b45bebf4401cf00f31f3905593535e92d440fa 2 -> 3
> 1fe3d1e774d0abeb724fed8e6de983dff33eec37 2 -> 3
> 5d5b083a10fc57463e55f93746bb56e2bad9173d 1 -> 2
> 3fb17821bbaf7f6c4d490c599dc5ccfe34fa81f0 1 -> 2
< 49c318c48b9fbc96efdffc86e2f2b06dc4265153 (master) 3 -> 4
< e05846a8cb23a3d06ea01ee169cb0b96b814f092 3 -> 4
< a84ffa754cb14ba5316064c1a3693c2a60940674 2 -> 3
< 2cb462c37ca977289f36472afc154c78e012d87f 2 -> 3
< 4372732157071244c021d70b2357fc16a6cc3fbe 1 -> 2
< f4488cb25ab5c8f9afa98cb22acbb70018b1d24b 1 -> 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --left-right --boundary "$branch_default_name"...branch1
> 7a513d816b310011fab157ff838dfbfd175ecfff (HEAD -> branch1) 3 -> 4
> 019bbb5710191d396124c1a45366efe2b2bdb2f8 3 -> 5
> b8b45bebf4401cf00f31f3905593535e92d440fa 2 -> 3
> 1fe3d1e774d0abeb724fed8e6de983dff33eec37 2 -> 3
> 5d5b083a10fc57463e55f93746bb56e2bad9173d 1 -> 2
> 3fb17821bbaf7f6c4d490c599dc5ccfe34fa81f0 1 -> 2
< 49c318c48b9fbc96efdffc86e2f2b06dc4265153 (master) 3 -> 4
< e05846a8cb23a3d06ea01ee169cb0b96b814f092 3 -> 4
< a84ffa754cb14ba5316064c1a3693c2a60940674 2 -> 3
< 2cb462c37ca977289f36472afc154c78e012d87f 2 -> 3
< 4372732157071244c021d70b2357fc16a6cc3fbe 1 -> 2
< f4488cb25ab5c8f9afa98cb22acbb70018b1d24b 1 -> 2
- fb7253c73f9704f76948b5ed03dedecbae29cce9 0 -> 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --graph --left-right --boundary "$branch_default_name"...branch1
> 7a513d816b310011fab157ff838dfbfd175ecfff (HEAD -> branch1) 3 -> 4
> 019bbb5710191d396124c1a45366efe2b2bdb2f8 3 -> 5
> b8b45bebf4401cf00f31f3905593535e92d440fa 2 -> 3
> 1fe3d1e774d0abeb724fed8e6de983dff33eec37 2 -> 3
> 5d5b083a10fc57463e55f93746bb56e2bad9173d 1 -> 2
> 3fb17821bbaf7f6c4d490c599dc5ccfe34fa81f0 1 -> 2
| < 49c318c48b9fbc96efdffc86e2f2b06dc4265153 (master) 3 -> 4
| < e05846a8cb23a3d06ea01ee169cb0b96b814f092 3 -> 4
| < a84ffa754cb14ba5316064c1a3693c2a60940674 2 -> 3
| < 2cb462c37ca977289f36472afc154c78e012d87f 2 -> 3
| < 4372732157071244c021d70b2357fc16a6cc3fbe 1 -> 2
| < f4488cb25ab5c8f9afa98cb22acbb70018b1d24b 1 -> 2
|/
o fb7253c73f9704f76948b5ed03dedecbae29cce9 0 -> 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --cherry-pick "$branch_default_name"...branch1
019bbb5710191d396124c1a45366efe2b2bdb2f8 3 -> 5
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --graph --cherry-pick "$branch_default_name"...branch1
* 019bbb5710191d396124c1a45366efe2b2bdb2f8 3 -> 5
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --cherry-mark "$branch_default_name"...branch1
= 7a513d816b310011fab157ff838dfbfd175ecfff (HEAD -> branch1) 3 -> 4
+ 019bbb5710191d396124c1a45366efe2b2bdb2f8 3 -> 5
= b8b45bebf4401cf00f31f3905593535e92d440fa 2 -> 3
= 1fe3d1e774d0abeb724fed8e6de983dff33eec37 2 -> 3
= 5d5b083a10fc57463e55f93746bb56e2bad9173d 1 -> 2
= 3fb17821bbaf7f6c4d490c599dc5ccfe34fa81f0 1 -> 2
= 49c318c48b9fbc96efdffc86e2f2b06dc4265153 (master) 3 -> 4
= e05846a8cb23a3d06ea01ee169cb0b96b814f092 3 -> 4
= a84ffa754cb14ba5316064c1a3693c2a60940674 2 -> 3
= 2cb462c37ca977289f36472afc154c78e012d87f 2 -> 3
= 4372732157071244c021d70b2357fc16a6cc3fbe 1 -> 2
= f4488cb25ab5c8f9afa98cb22acbb70018b1d24b 1 -> 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --graph --cherry-mark "$branch_default_name"...branch1
= 7a513d816b310011fab157ff838dfbfd175ecfff (HEAD -> branch1) 3 -> 4
* 019bbb5710191d396124c1a45366efe2b2bdb2f8 3 -> 5
= b8b45bebf4401cf00f31f3905593535e92d440fa 2 -> 3
= 1fe3d1e774d0abeb724fed8e6de983dff33eec37 2 -> 3
= 5d5b083a10fc57463e55f93746bb56e2bad9173d 1 -> 2
= 3fb17821bbaf7f6c4d490c599dc5ccfe34fa81f0 1 -> 2
= 49c318c48b9fbc96efdffc86e2f2b06dc4265153 (master) 3 -> 4
= e05846a8cb23a3d06ea01ee169cb0b96b814f092 3 -> 4
= a84ffa754cb14ba5316064c1a3693c2a60940674 2 -> 3
= 2cb462c37ca977289f36472afc154c78e012d87f 2 -> 3
= 4372732157071244c021d70b2357fc16a6cc3fbe 1 -> 2
= f4488cb25ab5c8f9afa98cb22acbb70018b1d24b 1 -> 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --cherry-mark --boundary "$branch_default_name"...branch1
= 7a513d816b310011fab157ff838dfbfd175ecfff (HEAD -> branch1) 3 -> 4
+ 019bbb5710191d396124c1a45366efe2b2bdb2f8 3 -> 5
= b8b45bebf4401cf00f31f3905593535e92d440fa 2 -> 3
= 1fe3d1e774d0abeb724fed8e6de983dff33eec37 2 -> 3
= 5d5b083a10fc57463e55f93746bb56e2bad9173d 1 -> 2
= 3fb17821bbaf7f6c4d490c599dc5ccfe34fa81f0 1 -> 2
= 49c318c48b9fbc96efdffc86e2f2b06dc4265153 (master) 3 -> 4
= e05846a8cb23a3d06ea01ee169cb0b96b814f092 3 -> 4
= a84ffa754cb14ba5316064c1a3693c2a60940674 2 -> 3
= 2cb462c37ca977289f36472afc154c78e012d87f 2 -> 3
= 4372732157071244c021d70b2357fc16a6cc3fbe 1 -> 2
= f4488cb25ab5c8f9afa98cb22acbb70018b1d24b 1 -> 2
- fb7253c73f9704f76948b5ed03dedecbae29cce9 0 -> 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --graph --cherry-mark --boundary "$branch_default_name"...branch1
= 7a513d816b310011fab157ff838dfbfd175ecfff (HEAD -> branch1) 3 -> 4
* 019bbb5710191d396124c1a45366efe2b2bdb2f8 3 -> 5
= b8b45bebf4401cf00f31f3905593535e92d440fa 2 -> 3
= 1fe3d1e774d0abeb724fed8e6de983dff33eec37 2 -> 3
= 5d5b083a10fc57463e55f93746bb56e2bad9173d 1 -> 2
= 3fb17821bbaf7f6c4d490c599dc5ccfe34fa81f0 1 -> 2
| = 49c318c48b9fbc96efdffc86e2f2b06dc4265153 (master) 3 -> 4
| = e05846a8cb23a3d06ea01ee169cb0b96b814f092 3 -> 4
| = a84ffa754cb14ba5316064c1a3693c2a60940674 2 -> 3
| = 2cb462c37ca977289f36472afc154c78e012d87f 2 -> 3
| = 4372732157071244c021d70b2357fc16a6cc3fbe 1 -> 2
| = f4488cb25ab5c8f9afa98cb22acbb70018b1d24b 1 -> 2
|/
o fb7253c73f9704f76948b5ed03dedecbae29cce9 0 -> 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --left-only "$branch_default_name"...branch1
49c318c48b9fbc96efdffc86e2f2b06dc4265153 (master) 3 -> 4
e05846a8cb23a3d06ea01ee169cb0b96b814f092 3 -> 4
a84ffa754cb14ba5316064c1a3693c2a60940674 2 -> 3
2cb462c37ca977289f36472afc154c78e012d87f 2 -> 3
4372732157071244c021d70b2357fc16a6cc3fbe 1 -> 2
f4488cb25ab5c8f9afa98cb22acbb70018b1d24b 1 -> 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --graph --left-only "$branch_default_name"...branch1
* 49c318c48b9fbc96efdffc86e2f2b06dc4265153 (master) 3 -> 4
* e05846a8cb23a3d06ea01ee169cb0b96b814f092 3 -> 4
* a84ffa754cb14ba5316064c1a3693c2a60940674 2 -> 3
* 2cb462c37ca977289f36472afc154c78e012d87f 2 -> 3
* 4372732157071244c021d70b2357fc16a6cc3fbe 1 -> 2
* f4488cb25ab5c8f9afa98cb22acbb70018b1d24b 1 -> 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --right-only "$branch_default_name"...branch1
7a513d816b310011fab157ff838dfbfd175ecfff (HEAD -> branch1) 3 -> 4
019bbb5710191d396124c1a45366efe2b2bdb2f8 3 -> 5
b8b45bebf4401cf00f31f3905593535e92d440fa 2 -> 3
1fe3d1e774d0abeb724fed8e6de983dff33eec37 2 -> 3
5d5b083a10fc57463e55f93746bb56e2bad9173d 1 -> 2
3fb17821bbaf7f6c4d490c599dc5ccfe34fa81f0 1 -> 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --graph --right-only "$branch_default_name"...branch1
* 7a513d816b310011fab157ff838dfbfd175ecfff (HEAD -> branch1) 3 -> 4
* 019bbb5710191d396124c1a45366efe2b2bdb2f8 3 -> 5
* b8b45bebf4401cf00f31f3905593535e92d440fa 2 -> 3
* 1fe3d1e774d0abeb724fed8e6de983dff33eec37 2 -> 3
* 5d5b083a10fc57463e55f93746bb56e2bad9173d 1 -> 2
* 3fb17821bbaf7f6c4d490c599dc5ccfe34fa81f0 1 -> 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --right-only --cherry-mark "$branch_default_name"...branch1
= 7a513d816b310011fab157ff838dfbfd175ecfff (HEAD -> branch1) 3 -> 4
+ 019bbb5710191d396124c1a45366efe2b2bdb2f8 3 -> 5
= b8b45bebf4401cf00f31f3905593535e92d440fa 2 -> 3
= 1fe3d1e774d0abeb724fed8e6de983dff33eec37 2 -> 3
= 5d5b083a10fc57463e55f93746bb56e2bad9173d 1 -> 2
= 3fb17821bbaf7f6c4d490c599dc5ccfe34fa81f0 1 -> 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --graph --right-only --cherry-mark "$branch_default_name"...branch1
= 7a513d816b310011fab157ff838dfbfd175ecfff (HEAD -> branch1) 3 -> 4
* 019bbb5710191d396124c1a45366efe2b2bdb2f8 3 -> 5
= b8b45bebf4401cf00f31f3905593535e92d440fa 2 -> 3
= 1fe3d1e774d0abeb724fed8e6de983dff33eec37 2 -> 3
= 5d5b083a10fc57463e55f93746bb56e2bad9173d 1 -> 2
= 3fb17821bbaf7f6c4d490c599dc5ccfe34fa81f0 1 -> 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty; git -C './repo' tag tag1
[master (root-commit) 37c4b5c] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty; git -C './repo' tag tag2
[master cd96dcc] 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' reset --hard HEAD~1; git -C './repo' commit --message="$((++number))" --allow-empty; git -C './repo' tag tag3
HEAD is now at 37c4b5c 1
[master e5acfb0] 3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --message="$((++number))" tag2; git -C './repo' tag tag4
Merge made by the 'ort' strategy.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --graph tag2 tag3
* cd96dccf52117603ad0fe078810164035c7581b0 (tag: tag2) 2
| * e5acfb05f719e65bdc000946318aacecba8a44a4 (tag: tag3) 3
|/
* 37c4b5c2cdc35301b1917a7cd7546490255f5a0a (tag: tag1) 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --graph --maximal-only tag2 tag3
* cd96dccf52117603ad0fe078810164035c7581b0 (tag: tag2) 2
* e5acfb05f719e65bdc000946318aacecba8a44a4 (tag: tag3) 3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --graph tag2 tag3 tag4
* 2206020775675e85ad51a61d02514a3593919b8b (HEAD -> master, tag: tag4) 4
|\
| * cd96dccf52117603ad0fe078810164035c7581b0 (tag: tag2) 2
* | e5acfb05f719e65bdc000946318aacecba8a44a4 (tag: tag3) 3
|/
* 37c4b5c2cdc35301b1917a7cd7546490255f5a0a (tag: tag1) 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --graph --maximal-only tag2 tag3 tag4
* 2206020775675e85ad51a61d02514a3593919b8b (HEAD -> master, tag: tag4) 4
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ branch_default_name="$(git -C './repo' branch --show-current)"; echo "$branch_default_name"
master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master (root-commit) aa9996d] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch branch1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master 7351345] 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1; git -C './repo' commit --message="$((++number))"' (branch1)' --allow-empty
Switched to branch 'branch1'
[branch1 e99856d] 3 (branch1)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --message="$((++number))"' (branch1)' "$branch_default_name"
Merge made by the 'ort' strategy.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout "$branch_default_name"; git -C './repo' commit --message="$((++number))" --allow-empty
Switched to branch 'master'
[master 51b54ce] 5
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --message="$((++number))" branch1
Merge made by the 'ort' strategy.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1; git -C './repo' commit --message="$((++number))"' (branch1)' --allow-empty
Switched to branch 'branch1'
[branch1 694136e] 7 (branch1)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --message="$((++number))"' (branch1)' "$branch_default_name"
Merge made by the 'ort' strategy.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 9992210 - 2026-05-30 17:01 (1 second ago) 8 (branch1) - Han Jiang (HEAD -> refs/heads/branch1)
|\
| * 15c9b41 - 2026-05-30 17:01 (2 seconds ago) 6 - Han Jiang (refs/heads/master)
| |\
| * | 51b54ce - 2026-05-30 17:01 (2 seconds ago) 5 - Han Jiang
* | | 694136e - 2026-05-30 17:01 (1 second ago) 7 (branch1) - Han Jiang
| |/
|/|
* | 7e8aa40 - 2026-05-30 17:01 (3 seconds ago) 4 (branch1) - Han Jiang
|\|
| * 7351345 - 2026-05-30 17:01 (4 seconds ago) 2 - Han Jiang
* | e99856d - 2026-05-30 17:01 (3 seconds ago) 3 (branch1) - Han Jiang
|/
* aa9996d - 2026-05-30 17:01 (5 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg "$branch_default_name"
* 15c9b41 - 2026-05-30 17:01 (2 seconds ago) 6 - Han Jiang (refs/heads/master)
|\
| * 7e8aa40 - 2026-05-30 17:01 (3 seconds ago) 4 (branch1) - Han Jiang
| |\
| * | e99856d - 2026-05-30 17:01 (3 seconds ago) 3 (branch1) - Han Jiang
* | | 51b54ce - 2026-05-30 17:01 (2 seconds ago) 5 - Han Jiang
| |/
|/|
* | 7351345 - 2026-05-30 17:01 (4 seconds ago) 2 - Han Jiang
|/
* aa9996d - 2026-05-30 17:01 (5 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --first-parent "$branch_default_name"
* 15c9b41 - 2026-05-30 17:01 (3 seconds ago) 6 - Han Jiang (refs/heads/master)
* 51b54ce - 2026-05-30 17:01 (3 seconds ago) 5 - Han Jiang
* 7351345 - 2026-05-30 17:01 (5 seconds ago) 2 - Han Jiang
* aa9996d - 2026-05-30 17:01 (6 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg branch1.."$branch_default_name"
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --exclude-first-parent-only branch1.."$branch_default_name"
* 15c9b41 - 2026-05-30 17:01 (3 seconds ago) 6 - Han Jiang (refs/heads/master)
* 51b54ce - 2026-05-30 17:01 (3 seconds ago) 5 - Han Jiang
* 7351345 - 2026-05-30 17:01 (5 seconds ago) 2 - Han Jiang
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg branch1
* 9992210 - 2026-05-30 17:01 (3 seconds ago) 8 (branch1) - Han Jiang (HEAD -> refs/heads/branch1)
|\
| * 15c9b41 - 2026-05-30 17:01 (4 seconds ago) 6 - Han Jiang (refs/heads/master)
| |\
| * | 51b54ce - 2026-05-30 17:01 (4 seconds ago) 5 - Han Jiang
* | | 694136e - 2026-05-30 17:01 (3 seconds ago) 7 (branch1) - Han Jiang
| |/
|/|
* | 7e8aa40 - 2026-05-30 17:01 (5 seconds ago) 4 (branch1) - Han Jiang
|\|
| * 7351345 - 2026-05-30 17:01 (6 seconds ago) 2 - Han Jiang
* | e99856d - 2026-05-30 17:01 (5 seconds ago) 3 (branch1) - Han Jiang
|/
* aa9996d - 2026-05-30 17:01 (7 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --first-parent branch1
* 9992210 - 2026-05-30 17:01 (3 seconds ago) 8 (branch1) - Han Jiang (HEAD -> refs/heads/branch1)
* 694136e - 2026-05-30 17:01 (3 seconds ago) 7 (branch1) - Han Jiang
* 7e8aa40 - 2026-05-30 17:01 (5 seconds ago) 4 (branch1) - Han Jiang
* e99856d - 2026-05-30 17:01 (5 seconds ago) 3 (branch1) - Han Jiang
* aa9996d - 2026-05-30 17:01 (7 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg "$branch_default_name"..branch1
* 9992210 - 2026-05-30 17:01 (4 seconds ago) 8 (branch1) - Han Jiang (HEAD -> refs/heads/branch1)
* 694136e - 2026-05-30 17:01 (4 seconds ago) 7 (branch1) - Han Jiang
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --exclude-first-parent-only "$branch_default_name"..branch1
* 9992210 - 2026-05-30 17:01 (4 seconds ago) 8 (branch1) - Han Jiang (HEAD -> refs/heads/branch1)
* 694136e - 2026-05-30 17:01 (4 seconds ago) 7 (branch1) - Han Jiang
* 7e8aa40 - 2026-05-30 17:01 (6 seconds ago) 4 (branch1) - Han Jiang
* e99856d - 2026-05-30 17:01 (6 seconds ago) 3 (branch1) - Han Jiang
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout "$branch_default_name"; git -C './repo' commit --message="$((++number))" --allow-empty
Switched to branch 'master'
[master 9486beb] 9
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --message="$((++number))" branch1
Merge made by the 'ort' strategy.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 274aab0 - 2026-05-30 17:01 (1 second ago) 10 - Han Jiang (HEAD -> refs/heads/master)
|\
| * 9992210 - 2026-05-30 17:01 (6 seconds ago) 8 (branch1) - Han Jiang (refs/heads/branch1)
| |\
| * | 694136e - 2026-05-30 17:01 (6 seconds ago) 7 (branch1) - Han Jiang
* | | 9486beb - 2026-05-30 17:01 (1 second ago) 9 - Han Jiang
| |/
|/|
* | 15c9b41 - 2026-05-30 17:01 (7 seconds ago) 6 - Han Jiang
|\|
| * 7e8aa40 - 2026-05-30 17:01 (8 seconds ago) 4 (branch1) - Han Jiang
| |\
| * | e99856d - 2026-05-30 17:01 (8 seconds ago) 3 (branch1) - Han Jiang
* | | 51b54ce - 2026-05-30 17:01 (7 seconds ago) 5 - Han Jiang
| |/
|/|
* | 7351345 - 2026-05-30 17:01 (9 seconds ago) 2 - Han Jiang
|/
* aa9996d - 2026-05-30 17:01 (10 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg "$branch_default_name"
* 274aab0 - 2026-05-30 17:01 (1 second ago) 10 - Han Jiang (HEAD -> refs/heads/master)
|\
| * 9992210 - 2026-05-30 17:01 (6 seconds ago) 8 (branch1) - Han Jiang (refs/heads/branch1)
| |\
| * | 694136e - 2026-05-30 17:01 (6 seconds ago) 7 (branch1) - Han Jiang
* | | 9486beb - 2026-05-30 17:01 (1 second ago) 9 - Han Jiang
| |/
|/|
* | 15c9b41 - 2026-05-30 17:01 (7 seconds ago) 6 - Han Jiang
|\|
| * 7e8aa40 - 2026-05-30 17:01 (8 seconds ago) 4 (branch1) - Han Jiang
| |\
| * | e99856d - 2026-05-30 17:01 (8 seconds ago) 3 (branch1) - Han Jiang
* | | 51b54ce - 2026-05-30 17:01 (7 seconds ago) 5 - Han Jiang
| |/
|/|
* | 7351345 - 2026-05-30 17:01 (9 seconds ago) 2 - Han Jiang
|/
* aa9996d - 2026-05-30 17:01 (10 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --first-parent "$branch_default_name"
* 274aab0 - 2026-05-30 17:01 (1 second ago) 10 - Han Jiang (HEAD -> refs/heads/master)
* 9486beb - 2026-05-30 17:01 (1 second ago) 9 - Han Jiang
* 15c9b41 - 2026-05-30 17:01 (7 seconds ago) 6 - Han Jiang
* 51b54ce - 2026-05-30 17:01 (7 seconds ago) 5 - Han Jiang
* 7351345 - 2026-05-30 17:01 (9 seconds ago) 2 - Han Jiang
* aa9996d - 2026-05-30 17:01 (10 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg branch1.."$branch_default_name"
* 274aab0 - 2026-05-30 17:01 (2 seconds ago) 10 - Han Jiang (HEAD -> refs/heads/master)
* 9486beb - 2026-05-30 17:01 (2 seconds ago) 9 - Han Jiang
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --exclude-first-parent-only branch1.."$branch_default_name"
* 274aab0 - 2026-05-30 17:01 (2 seconds ago) 10 - Han Jiang (HEAD -> refs/heads/master)
* 9486beb - 2026-05-30 17:01 (2 seconds ago) 9 - Han Jiang
* 15c9b41 - 2026-05-30 17:01 (8 seconds ago) 6 - Han Jiang
* 51b54ce - 2026-05-30 17:01 (8 seconds ago) 5 - Han Jiang
* 7351345 - 2026-05-30 17:01 (10 seconds ago) 2 - Han Jiang
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg branch1
* 9992210 - 2026-05-30 17:01 (8 seconds ago) 8 (branch1) - Han Jiang (refs/heads/branch1)
|\
| * 15c9b41 - 2026-05-30 17:01 (9 seconds ago) 6 - Han Jiang
| |\
| * | 51b54ce - 2026-05-30 17:01 (9 seconds ago) 5 - Han Jiang
* | | 694136e - 2026-05-30 17:01 (8 seconds ago) 7 (branch1) - Han Jiang
| |/
|/|
* | 7e8aa40 - 2026-05-30 17:01 (10 seconds ago) 4 (branch1) - Han Jiang
|\|
| * 7351345 - 2026-05-30 17:01 (11 seconds ago) 2 - Han Jiang
* | e99856d - 2026-05-30 17:01 (10 seconds ago) 3 (branch1) - Han Jiang
|/
* aa9996d - 2026-05-30 17:01 (12 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --first-parent branch1
* 9992210 - 2026-05-30 17:01 (8 seconds ago) 8 (branch1) - Han Jiang (refs/heads/branch1)
* 694136e - 2026-05-30 17:01 (8 seconds ago) 7 (branch1) - Han Jiang
* 7e8aa40 - 2026-05-30 17:01 (10 seconds ago) 4 (branch1) - Han Jiang
* e99856d - 2026-05-30 17:01 (10 seconds ago) 3 (branch1) - Han Jiang
* aa9996d - 2026-05-30 17:01 (12 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg "$branch_default_name"..branch1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --exclude-first-parent-only "$branch_default_name"..branch1
* 9992210 - 2026-05-30 17:01 (9 seconds ago) 8 (branch1) - Han Jiang (refs/heads/branch1)
* 694136e - 2026-05-30 17:01 (9 seconds ago) 7 (branch1) - Han Jiang
* 7e8aa40 - 2026-05-30 17:01 (11 seconds ago) 4 (branch1) - Han Jiang
* e99856d - 2026-05-30 17:01 (11 seconds ago) 3 (branch1) - Han Jiang
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ branch_default_name="$(git -C './repo' branch --show-current)"; echo "$branch_default_name"
master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message='a' --allow-empty
[master (root-commit) 0070ed5] a
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout -b branch1
Switched to a new branch 'branch1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message='b' --allow-empty
[branch1 c3ff4e2] b
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout -b branch2
Switched to a new branch 'branch2'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message='d' --allow-empty
[branch2 20da952] d
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message='e' --allow-empty
[branch2 961738c] e
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1
Switched to branch 'branch1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message='c' --allow-empty
[branch1 a82772b] c
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --message='g' branch2
Merge made by the 'ort' strategy.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch2
Switched to branch 'branch2'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message='f' --allow-empty
[branch2 21d8332] f
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1
Switched to branch 'branch1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message='h' --allow-empty
[branch1 d30c158] h
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --message='i' branch2
Merge made by the 'ort' strategy.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message='j' --allow-empty
[branch1 ccd9313] j
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout "$branch_default_name"
Switched to branch 'master'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message='k' --allow-empty
[master 391e962] k
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --message='l' branch1
Merge made by the 'ort' strategy.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message='m' --allow-empty
[master 2baa235] m
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg
* 2baa235 - 2026-05-30 17:01 (1 second ago) m - Han Jiang (HEAD -> refs/heads/master)
* 50f3b6c - 2026-05-30 17:01 (1 second ago) l - Han Jiang
|\
| * ccd9313 - 2026-05-30 17:01 (2 seconds ago) j - Han Jiang (refs/heads/branch1)
| * e953eb6 - 2026-05-30 17:01 (3 seconds ago) i - Han Jiang
| |\
| | * 21d8332 - 2026-05-30 17:01 (4 seconds ago) f - Han Jiang (refs/heads/branch2)
| * | d30c158 - 2026-05-30 17:01 (3 seconds ago) h - Han Jiang
| * | 75d7468 - 2026-05-30 17:01 (5 seconds ago) g - Han Jiang
| |\|
| | * 961738c - 2026-05-30 17:01 (6 seconds ago) e - Han Jiang
| | * 20da952 - 2026-05-30 17:01 (7 seconds ago) d - Han Jiang
| * | a82772b - 2026-05-30 17:01 (5 seconds ago) c - Han Jiang
| |/
| * c3ff4e2 - 2026-05-30 17:01 (8 seconds ago) b - Han Jiang
* | 391e962 - 2026-05-30 17:01 (1 second ago) k - Han Jiang
|/
* 0070ed5 - 2026-05-30 17:01 (8 seconds ago) a - Han Jiang
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --not :/'d' --not :/'m'
* 2baa235 - 2026-05-30 17:01 (1 second ago) m - Han Jiang (HEAD -> refs/heads/master)
* 50f3b6c - 2026-05-30 17:01 (1 second ago) l - Han Jiang
|\
| * ccd9313 - 2026-05-30 17:01 (2 seconds ago) j - Han Jiang (refs/heads/branch1)
| * e953eb6 - 2026-05-30 17:01 (3 seconds ago) i - Han Jiang
| |\
| | * 21d8332 - 2026-05-30 17:01 (4 seconds ago) f - Han Jiang (refs/heads/branch2)
| * | d30c158 - 2026-05-30 17:01 (3 seconds ago) h - Han Jiang
| * | 75d7468 - 2026-05-30 17:01 (5 seconds ago) g - Han Jiang
| |\|
| | * 961738c - 2026-05-30 17:01 (6 seconds ago) e - Han Jiang
| * a82772b - 2026-05-30 17:01 (5 seconds ago) c - Han Jiang
* 391e962 - 2026-05-30 17:01 (1 second ago) k - Han Jiang
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg :/'d'..:/'m'
* 2baa235 - 2026-05-30 17:01 (2 seconds ago) m - Han Jiang (HEAD -> refs/heads/master)
* 50f3b6c - 2026-05-30 17:01 (2 seconds ago) l - Han Jiang
|\
| * ccd9313 - 2026-05-30 17:01 (3 seconds ago) j - Han Jiang (refs/heads/branch1)
| * e953eb6 - 2026-05-30 17:01 (4 seconds ago) i - Han Jiang
| |\
| | * 21d8332 - 2026-05-30 17:01 (5 seconds ago) f - Han Jiang (refs/heads/branch2)
| * | d30c158 - 2026-05-30 17:01 (4 seconds ago) h - Han Jiang
| * | 75d7468 - 2026-05-30 17:01 (6 seconds ago) g - Han Jiang
| |\|
| | * 961738c - 2026-05-30 17:01 (7 seconds ago) e - Han Jiang
| * a82772b - 2026-05-30 17:01 (6 seconds ago) c - Han Jiang
* 391e962 - 2026-05-30 17:01 (2 seconds ago) k - Han Jiang
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --ancestry-path :/'d'..:/'m'
* 2baa235 - 2026-05-30 17:01 (3 seconds ago) m - Han Jiang (HEAD -> refs/heads/master)
* 50f3b6c - 2026-05-30 17:01 (3 seconds ago) l - Han Jiang
* ccd9313 - 2026-05-30 17:01 (4 seconds ago) j - Han Jiang (refs/heads/branch1)
* e953eb6 - 2026-05-30 17:01 (5 seconds ago) i - Han Jiang
|\
| * 21d8332 - 2026-05-30 17:01 (6 seconds ago) f - Han Jiang (refs/heads/branch2)
* | d30c158 - 2026-05-30 17:01 (5 seconds ago) h - Han Jiang
* | 75d7468 - 2026-05-30 17:01 (7 seconds ago) g - Han Jiang
|/
* 961738c - 2026-05-30 17:01 (8 seconds ago) e - Han Jiang
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --not :/'d' :/'b' --not :/'m'
* 2baa235 - 2026-05-30 17:01 (3 seconds ago) m - Han Jiang (HEAD -> refs/heads/master)
* 50f3b6c - 2026-05-30 17:01 (3 seconds ago) l - Han Jiang
|\
| * ccd9313 - 2026-05-30 17:01 (4 seconds ago) j - Han Jiang (refs/heads/branch1)
| * e953eb6 - 2026-05-30 17:01 (5 seconds ago) i - Han Jiang
| |\
| | * 21d8332 - 2026-05-30 17:01 (6 seconds ago) f - Han Jiang (refs/heads/branch2)
| * | d30c158 - 2026-05-30 17:01 (5 seconds ago) h - Han Jiang
| * | 75d7468 - 2026-05-30 17:01 (7 seconds ago) g - Han Jiang
| |\|
| | * 961738c - 2026-05-30 17:01 (8 seconds ago) e - Han Jiang
| * a82772b - 2026-05-30 17:01 (7 seconds ago) c - Han Jiang
* 391e962 - 2026-05-30 17:01 (3 seconds ago) k - Han Jiang
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --ancestry-path --not :/'d' :/'b' --not :/'m'
* 2baa235 - 2026-05-30 17:01 (4 seconds ago) m - Han Jiang (HEAD -> refs/heads/master)
* 50f3b6c - 2026-05-30 17:01 (4 seconds ago) l - Han Jiang
* ccd9313 - 2026-05-30 17:01 (5 seconds ago) j - Han Jiang (refs/heads/branch1)
* e953eb6 - 2026-05-30 17:01 (6 seconds ago) i - Han Jiang
|\
| * 21d8332 - 2026-05-30 17:01 (7 seconds ago) f - Han Jiang (refs/heads/branch2)
* | d30c158 - 2026-05-30 17:01 (6 seconds ago) h - Han Jiang
* | 75d7468 - 2026-05-30 17:01 (8 seconds ago) g - Han Jiang
|\|
| * 961738c - 2026-05-30 17:01 (9 seconds ago) e - Han Jiang
* a82772b - 2026-05-30 17:01 (8 seconds ago) c - Han Jiang
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --ancestry-path=:/'d' --not :/'d' :/'b' --not :/'m'
* 2baa235 - 2026-05-30 17:01 (4 seconds ago) m - Han Jiang (HEAD -> refs/heads/master)
* 50f3b6c - 2026-05-30 17:01 (4 seconds ago) l - Han Jiang
* ccd9313 - 2026-05-30 17:01 (5 seconds ago) j - Han Jiang (refs/heads/branch1)
* e953eb6 - 2026-05-30 17:01 (6 seconds ago) i - Han Jiang
|\
| * 21d8332 - 2026-05-30 17:01 (7 seconds ago) f - Han Jiang (refs/heads/branch2)
* | d30c158 - 2026-05-30 17:01 (6 seconds ago) h - Han Jiang
* | 75d7468 - 2026-05-30 17:01 (8 seconds ago) g - Han Jiang
|/
* 961738c - 2026-05-30 17:01 (9 seconds ago) e - Han Jiang
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --ancestry-path=:/'b' --not :/'d' :/'b' --not :/'m'
* 2baa235 - 2026-05-30 17:01 (5 seconds ago) m - Han Jiang (HEAD -> refs/heads/master)
* 50f3b6c - 2026-05-30 17:01 (5 seconds ago) l - Han Jiang
* ccd9313 - 2026-05-30 17:01 (6 seconds ago) j - Han Jiang (refs/heads/branch1)
* e953eb6 - 2026-05-30 17:01 (7 seconds ago) i - Han Jiang
* d30c158 - 2026-05-30 17:01 (7 seconds ago) h - Han Jiang
* 75d7468 - 2026-05-30 17:01 (9 seconds ago) g - Han Jiang
* a82772b - 2026-05-30 17:01 (9 seconds ago) c - Han Jiang
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --ancestry-path=:/'d' --ancestry-path=:/'b' --not :/'d' :/'b' --not :/'m'
* 2baa235 - 2026-05-30 17:01 (5 seconds ago) m - Han Jiang (HEAD -> refs/heads/master)
* 50f3b6c - 2026-05-30 17:01 (5 seconds ago) l - Han Jiang
* ccd9313 - 2026-05-30 17:01 (6 seconds ago) j - Han Jiang (refs/heads/branch1)
* e953eb6 - 2026-05-30 17:01 (7 seconds ago) i - Han Jiang
|\
| * 21d8332 - 2026-05-30 17:01 (8 seconds ago) f - Han Jiang (refs/heads/branch2)
* | d30c158 - 2026-05-30 17:01 (7 seconds ago) h - Han Jiang
* | 75d7468 - 2026-05-30 17:01 (9 seconds ago) g - Han Jiang
|\|
| * 961738c - 2026-05-30 17:01 (10 seconds ago) e - Han Jiang
* a82772b - 2026-05-30 17:01 (9 seconds ago) c - Han Jiang
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --ancestry-path=:/'h' :/'d'..:/'m'
* 2baa235 - 2026-05-30 17:01 (6 seconds ago) m - Han Jiang (HEAD -> refs/heads/master)
* 50f3b6c - 2026-05-30 17:01 (6 seconds ago) l - Han Jiang
* ccd9313 - 2026-05-30 17:01 (7 seconds ago) j - Han Jiang (refs/heads/branch1)
* e953eb6 - 2026-05-30 17:01 (8 seconds ago) i - Han Jiang
* d30c158 - 2026-05-30 17:01 (8 seconds ago) h - Han Jiang
* 75d7468 - 2026-05-30 17:01 (10 seconds ago) g - Han Jiang
|\
| * 961738c - 2026-05-30 17:01 (11 seconds ago) e - Han Jiang
* a82772b - 2026-05-30 17:01 (10 seconds ago) c - Han Jiang
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file1'; git -C './repo' add './file1'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 521c3fc] 1
1 file changed, 1 insertion(+)
create mode 100644 file1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master aa84a86] 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./repo/file1'; git -C './repo' add './file1'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
[master 523449f] 3
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master 50d505d] 4
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ mv './repo/file1' './repo/file2'; git -C './repo' add './file1' './file2'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
[master 950eb73] 5
1 file changed, 0 insertions(+), 0 deletions(-)
rename file1 => file2 (100%)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master 3400337] 6
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log
commit 3400337139aade0245391baeab7e9e94b56d2629 (HEAD -> master)
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Sat May 30 17:01:52 2026 +1200
6
commit 950eb7304a959f6589087d5547a96a2efa8dc40d
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Sat May 30 17:01:52 2026 +1200
5
commit 50d505d90071d34cfe5669e48a46bfdcd52c58ee
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Sat May 30 17:01:51 2026 +1200
4
commit 523449f9eb0ac1a721bb82604e906d2eb9295805
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Sat May 30 17:01:51 2026 +1200
3
commit aa84a860b6638d5aa6d8b8e89c2fec32b0ea060d
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Sat May 30 17:01:50 2026 +1200
2
commit 521c3fc58efba5cac463c242e7f72d8c0183b26b
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Sat May 30 17:01:49 2026 +1200
1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --follow 'file1'
fatal: ambiguous argument 'file1': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --follow 'file2'
commit 950eb7304a959f6589087d5547a96a2efa8dc40d
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Sat May 30 17:01:52 2026 +1200
5
commit 523449f9eb0ac1a721bb82604e906d2eb9295805
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Sat May 30 17:01:51 2026 +1200
3
commit 521c3fc58efba5cac463c242e7f72d8c0183b26b
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Sat May 30 17:01:49 2026 +1200
1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --follow -- 'file1'
commit 950eb7304a959f6589087d5547a96a2efa8dc40d
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Sat May 30 17:01:52 2026 +1200
5
commit 523449f9eb0ac1a721bb82604e906d2eb9295805
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Sat May 30 17:01:51 2026 +1200
3
commit 521c3fc58efba5cac463c242e7f72d8c0183b26b
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Sat May 30 17:01:49 2026 +1200
1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --follow -- 'file2'
commit 950eb7304a959f6589087d5547a96a2efa8dc40d
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Sat May 30 17:01:52 2026 +1200
5
commit 523449f9eb0ac1a721bb82604e906d2eb9295805
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Sat May 30 17:01:51 2026 +1200
3
commit 521c3fc58efba5cac463c242e7f72d8c0183b26b
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Sat May 30 17:01:49 2026 +1200
1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --graph
* commit 3400337139aade0245391baeab7e9e94b56d2629 (HEAD -> master)
| Author: Han Jiang <jhcarl0814@gmail.com>
| Date: Sat May 30 17:01:52 2026 +1200
|
| 6
|
* commit 950eb7304a959f6589087d5547a96a2efa8dc40d
| Author: Han Jiang <jhcarl0814@gmail.com>
| Date: Sat May 30 17:01:52 2026 +1200
|
| 5
|
* commit 50d505d90071d34cfe5669e48a46bfdcd52c58ee
| Author: Han Jiang <jhcarl0814@gmail.com>
| Date: Sat May 30 17:01:51 2026 +1200
|
| 4
|
* commit 523449f9eb0ac1a721bb82604e906d2eb9295805
| Author: Han Jiang <jhcarl0814@gmail.com>
| Date: Sat May 30 17:01:51 2026 +1200
|
| 3
|
* commit aa84a860b6638d5aa6d8b8e89c2fec32b0ea060d
| Author: Han Jiang <jhcarl0814@gmail.com>
| Date: Sat May 30 17:01:50 2026 +1200
|
| 2
|
* commit 521c3fc58efba5cac463c242e7f72d8c0183b26b
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Sat May 30 17:01:49 2026 +1200
1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --graph --follow 'file2'
...
* commit 950eb7304a959f6589087d5547a96a2efa8dc40d
| Author: Han Jiang <jhcarl0814@gmail.com>
| Date: Sat May 30 17:01:52 2026 +1200
|
| 5
...
* commit 523449f9eb0ac1a721bb82604e906d2eb9295805
| Author: Han Jiang <jhcarl0814@gmail.com>
| Date: Sat May 30 17:01:51 2026 +1200
|
| 3
...
* commit 521c3fc58efba5cac463c242e7f72d8c0183b26b
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Sat May 30 17:01:49 2026 +1200
1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e 'a\n1' >'./repo/file1'; git -C './repo' add './file1'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) bb9fe03] 1
1 file changed, 2 insertions(+)
create mode 100644 file1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master 5f4ddf8] 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e 'a\n2' >'./repo/file1'; git -C './repo' add './file1'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
[master 937775e] 3
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master 512dbd6] 4
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ mv './repo/file1' './repo/file2'; git -C './repo' add './file1' './file2'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
[master c488774] 5
1 file changed, 0 insertions(+), 0 deletions(-)
rename file1 => file2 (100%)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master ce601aa] 6
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e '3\na' >'./repo/file2'; git -C './repo' add './file2'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
[master f00b607] 7
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master 156b385] 8
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e '4\na' >'./repo/file2'; git -C './repo' add './file2'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
[master 6593c08] 9
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master 010bc7c] 10
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log
commit 010bc7cf021c3c910a325775c6a6f5c81dc3200c (HEAD -> master)
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Sat May 30 17:02:05 2026 +1200
10
commit 6593c087670bc16ee26c7ff931882af4284e4005
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Sat May 30 17:02:04 2026 +1200
9
commit 156b385e88daa9e457b43e7976c55cc03a4dd1a8
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Sat May 30 17:02:04 2026 +1200
8
commit f00b6072296cd41548f13e61677077d24abfc769
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Sat May 30 17:02:03 2026 +1200
7
commit ce601aa29b7e8e296a58602f9aeacb0b7d81dc7e
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Sat May 30 17:02:03 2026 +1200
6
commit c4887747d25c34a037eecb7b80c063ac3b0c268e
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Sat May 30 17:02:02 2026 +1200
5
commit 512dbd6aef097cd67ed22740187570f7bacae81e
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Sat May 30 17:02:02 2026 +1200
4
commit 937775ecdc55da1fbef39d35d22b64b6e3746c75
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Sat May 30 17:02:01 2026 +1200
3
commit 5f4ddf851eba07d9cfc1aa5e3124a101594c7f1c
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Sat May 30 17:02:00 2026 +1200
2
commit bb9fe03bdc19ed6b3fee765c7b4ac3da3d411c3f
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Sat May 30 17:02:00 2026 +1200
1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log -L1,1:'./file2'
commit 6593c087670bc16ee26c7ff931882af4284e4005
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Sat May 30 17:02:04 2026 +1200
9
diff --git a/file2 b/file2
index 96fe923..e0c368e 100644
--- a/file2
+++ b/file2
@@ -1,1 +1,1 @@
-3
+4
commit f00b6072296cd41548f13e61677077d24abfc769
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Sat May 30 17:02:03 2026 +1200
7
diff --git a/file2 b/file2
index e939544..96fe923 100644
--- a/file2
+++ b/file2
@@ -1,0 +1,1 @@
+3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log -L2,2:'./file2'
commit bb9fe03bdc19ed6b3fee765c7b4ac3da3d411c3f
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Sat May 30 17:02:00 2026 +1200
1
diff --git a/file1 b/file1
new file mode 100644
index 0000000..38c94da
--- /dev/null
+++ b/file1
@@ -0,0 +1,1 @@
+a
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log -L1,2:'./file2'
commit 6593c087670bc16ee26c7ff931882af4284e4005
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Sat May 30 17:02:04 2026 +1200
9
diff --git a/file2 b/file2
index 96fe923..e0c368e 100644
--- a/file2
+++ b/file2
@@ -1,2 +1,2 @@
-3
+4
a
commit f00b6072296cd41548f13e61677077d24abfc769
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Sat May 30 17:02:03 2026 +1200
7
diff --git a/file2 b/file2
index e939544..96fe923 100644
--- a/file2
+++ b/file2
@@ -1,2 +1,2 @@
+3
a
-2
commit bb9fe03bdc19ed6b3fee765c7b4ac3da3d411c3f
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Sat May 30 17:02:00 2026 +1200
1
diff --git a/file1 b/file1
new file mode 100644
index 0000000..38c94da
--- /dev/null
+++ b/file1
@@ -0,0 +1,1 @@
+a
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ branch_default_name="$(git -C './repo' branch --show-current)"; echo "$branch_default_name"
master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message='-' --allow-empty
[master (root-commit) 37a3456] -
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e '0' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message='0'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master 0cfeb4f] 0
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message='0' --allow-empty
[master 8aac279] 0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message='1'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master 6974a8c] 1
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message='1' --allow-empty
[master 106da0a] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch "$branch_default_name"1; git -C './repo' branch "$branch_default_name"2; git -C './repo' branch branch11; git -C './repo' branch branch21; git -C './repo' branch branch51
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout "$branch_default_name"1
Switched to branch 'master1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message='1 (^2)' --allow-empty
[master1 efade3c] 1 (^2)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message='1 (^2)' --allow-empty
[master1 54627b7] 1 (^2)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout "$branch_default_name"2
Switched to branch 'master2'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message='1 (^2)' --allow-empty
[master2 41f4de2] 1 (^2)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e '2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message='2 (^2)'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master2 9fd8819] 2 (^2)
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message='2 (^2)' --allow-empty
[master2 5807f01] 2 (^2)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch11
Switched to branch 'branch11'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message='1 (^1)' --allow-empty
[branch11 87e8055] 1 (^1)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message='1 (^1)' --allow-empty
[branch11 f9efb8a] 1 (^1)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch branch12
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --message='1 (== ^1) (== ^2)' "$branch_default_name"1
Merge made by the 'ort' strategy.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message='1' --allow-empty
[branch11 58f7aa6] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch12; git -C './repo' branch branch31; git -C './repo' branch branch32; git -C './repo' branch branch33
Switched to branch 'branch12'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --no-commit "$branch_default_name"1; echo -e '2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message='2 (!= ^1) (!= ^2)'
Automatic merge went well; stopped before committing as requested
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch12 0284d68] 2 (!= ^1) (!= ^2)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message='2' --allow-empty
[branch12 7bf0bf0] 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch21
Switched to branch 'branch21'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message='1 (^1)' --allow-empty
[branch21 64277eb] 1 (^1)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e '2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message='2 (^1)'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch21 6e406a5] 2 (^1)
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message='2 (^1)' --allow-empty
[branch21 32344e0] 2 (^1)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch branch22; git -C './repo' branch branch23; git -C './repo' branch branch41; git -C './repo' branch branch42
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --message='2 (== ^1) (!= ^2)' "$branch_default_name"1
Merge made by the 'ort' strategy.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message='2' --allow-empty
[branch21 1603fb5] 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch22
Switched to branch 'branch22'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --no-commit "$branch_default_name"1; echo -e '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message='1 (!= ^1) (== ^2)'
Automatic merge went well; stopped before committing as requested
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch22 64d3544] 1 (!= ^1) (== ^2)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message='1' --allow-empty
[branch22 327d0ba] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch23
Switched to branch 'branch23'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --no-commit "$branch_default_name"1; echo -e '3' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message='3 (!= ^1) (!= ^2)'
Automatic merge went well; stopped before committing as requested
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch23 b804a26] 3 (!= ^1) (!= ^2)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message='3' --allow-empty
[branch23 e23002c] 3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch31
Switched to branch 'branch31'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --message='2 (!= ^1) (== ^2)' "$branch_default_name"2
Merge made by the 'ort' strategy.
file | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message='2' --allow-empty
[branch31 6795284] 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch32
Switched to branch 'branch32'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --no-commit "$branch_default_name"2; echo -e '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message='1 (== ^1) (!= ^2)'
Automatic merge went well; stopped before committing as requested
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch32 ff7a6cd] 1 (== ^1) (!= ^2)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message='1' --allow-empty
[branch32 6489cd9] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch33
Switched to branch 'branch33'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --no-commit "$branch_default_name"2; echo -e '3' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message='3 (!= ^1) (!= ^2)'
Automatic merge went well; stopped before committing as requested
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch33 3a3e038] 3 (!= ^1) (!= ^2)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message='3' --allow-empty
[branch33 7abfc33] 3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch41
Switched to branch 'branch41'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --message='2 (== ^1) (== ^2)' "$branch_default_name"2
Merge made by the 'ort' strategy.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message='2' --allow-empty
[branch41 d3e0330] 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch42
Switched to branch 'branch42'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --no-commit "$branch_default_name"2; echo -e '3' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message='3 (!= ^1) (!= ^2)'
Automatic merge went well; stopped before committing as requested
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch42 c8e2eed] 3 (!= ^1) (!= ^2)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message='3' --allow-empty
[branch42 2fa6b9e] 3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch51
Switched to branch 'branch51'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message='1 (^1)' --allow-empty
[branch51 f0a06c2] 1 (^1)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e '3' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message='3 (^1)'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch51 dfadefb] 3 (^1)
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message='3 (^1)' --allow-empty
[branch51 3915d8d] 3 (^1)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch branch52; git -C './repo' branch branch53
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge "$branch_default_name"2; echo -e '4' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message='4 (!= ^1) (!= ^2)'
Auto-merging file
CONFLICT (content): Merge conflict in file
Automatic merge failed; fix conflicts and then commit the result.
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch51 f8a22bb] 4 (!= ^1) (!= ^2)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message='4' --allow-empty
[branch51 c3286ed] 4
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch52
Switched to branch 'branch52'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge "$branch_default_name"2; echo -e '3' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message='3 (== ^1) (!= ^2)'
Auto-merging file
CONFLICT (content): Merge conflict in file
Automatic merge failed; fix conflicts and then commit the result.
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch52 6e441e0] 3 (== ^1) (!= ^2)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message='3' --allow-empty
[branch52 ff2bba9] 3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch53
Switched to branch 'branch53'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge "$branch_default_name"2; echo -e '2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message='2 (!= ^1) (== ^2)'
Auto-merging file
CONFLICT (content): Merge conflict in file
Automatic merge failed; fix conflicts and then commit the result.
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch53 9d6b7b1] 2 (!= ^1) (== ^2)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message='2' --allow-empty
[branch53 b54bdad] 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --graph --all
* b54bdad (HEAD -> refs/heads/branch53) 2
* 9d6b7b1 2 (!= ^1) (== ^2)
|\
| | * ff2bba9 (refs/heads/branch52) 3
| | * 6e441e0 3 (== ^1) (!= ^2)
| |/|
|/|/
| | * c3286ed (refs/heads/branch51) 4
| | * f8a22bb 4 (!= ^1) (!= ^2)
| |/|
|/|/
* | 3915d8d 3 (^1)
* | dfadefb 3 (^1)
* | f0a06c2 1 (^1)
| | * 2fa6b9e (refs/heads/branch42) 3
| | * c8e2eed 3 (!= ^1) (!= ^2)
| | |\
| | |/
| |/|
| | | * d3e0330 (refs/heads/branch41) 2
| | | * adaf220 2 (== ^1) (== ^2)
| | |/|
| | |/
| |/|
| | | * 7abfc33 (refs/heads/branch33) 3
| | | * 3a3e038 3 (!= ^1) (!= ^2)
| | | |\
| | |_|/
| |/| |
| | | | * 6489cd9 (refs/heads/branch32) 1
| | | | * ff7a6cd 1 (== ^1) (!= ^2)
| | | |/|
| | |_|/
| |/| |
| | | | * 6795284 (refs/heads/branch31) 2
| | | | * 197374d 2 (!= ^1) (== ^2)
| | | |/|
| | |_|/
| |/| |
| * | | 5807f01 (refs/heads/master2) 2 (^2)
| * | | 9fd8819 2 (^2)
| * | | 41f4de2 1 (^2)
|/ / /
| | | * e23002c (refs/heads/branch23) 3
| | | * b804a26 3 (!= ^1) (!= ^2)
| | |/|
| |/| |
| | | | * 327d0ba (refs/heads/branch22) 1
| | | | * 64d3544 1 (!= ^1) (== ^2)
| | |_|/|
| |/| |/
| | | | * 1603fb5 (refs/heads/branch21) 2
| | | | * cd03f76 2 (== ^1) (!= ^2)
| | |_|/|
| |/| |/
| * | | 32344e0 2 (^1)
| * | | 6e406a5 2 (^1)
| * | | 64277eb 1 (^1)
|/ / /
| | | * 7bf0bf0 (refs/heads/branch12) 2
| | | * 0284d68 2 (!= ^1) (!= ^2)
| | |/|
| |/|/
| | | * 58f7aa6 (refs/heads/branch11) 1
| | | * b9c4754 1 (== ^1) (== ^2)
| | |/|
| |/|/
| | * 54627b7 (refs/heads/master1) 1 (^2)
| | * efade3c 1 (^2)
| |/
|/|
| * f9efb8a 1 (^1)
| * 87e8055 1 (^1)
|/
* 106da0a (refs/heads/master) 1
* 6974a8c 1
* 8aac279 0
* 0cfeb4f 0
* 37a3456 -
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --graph branch11
* 58f7aa6 (refs/heads/branch11) 1
* b9c4754 1 (== ^1) (== ^2)
|\
| * 54627b7 (refs/heads/master1) 1 (^2)
| * efade3c 1 (^2)
* | f9efb8a 1 (^1)
* | 87e8055 1 (^1)
|/
* 106da0a (refs/heads/master) 1
* 6974a8c 1
* 8aac279 0
* 0cfeb4f 0
* 37a3456 -
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --graph branch41
* d3e0330 (refs/heads/branch41) 2
* adaf220 2 (== ^1) (== ^2)
|\
| * 5807f01 (refs/heads/master2) 2 (^2)
| * 9fd8819 2 (^2)
| * 41f4de2 1 (^2)
* | 32344e0 2 (^1)
* | 6e406a5 2 (^1)
* | 64277eb 1 (^1)
|/
* 106da0a (refs/heads/master) 1
* 6974a8c 1
* 8aac279 0
* 0cfeb4f 0
* 37a3456 -
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
(merge keep current branch's change)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --graph branch21
* 1603fb5 (refs/heads/branch21) 2
* cd03f76 2 (== ^1) (!= ^2)
|\
| * 54627b7 (refs/heads/master1) 1 (^2)
| * efade3c 1 (^2)
* | 32344e0 2 (^1)
* | 6e406a5 2 (^1)
* | 64277eb 1 (^1)
|/
* 106da0a (refs/heads/master) 1
* 6974a8c 1
* 8aac279 0
* 0cfeb4f 0
* 37a3456 -
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --graph branch52
* ff2bba9 (refs/heads/branch52) 3
* 6e441e0 3 (== ^1) (!= ^2)
|\
| * 5807f01 (refs/heads/master2) 2 (^2)
| * 9fd8819 2 (^2)
| * 41f4de2 1 (^2)
* | 3915d8d 3 (^1)
* | dfadefb 3 (^1)
* | f0a06c2 1 (^1)
|/
* 106da0a (refs/heads/master) 1
* 6974a8c 1
* 8aac279 0
* 0cfeb4f 0
* 37a3456 -
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
(merge discard current branch's change)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --graph branch22
* 327d0ba (refs/heads/branch22) 1
* 64d3544 1 (!= ^1) (== ^2)
|\
| * 54627b7 (refs/heads/master1) 1 (^2)
| * efade3c 1 (^2)
* | 32344e0 2 (^1)
* | 6e406a5 2 (^1)
* | 64277eb 1 (^1)
|/
* 106da0a (refs/heads/master) 1
* 6974a8c 1
* 8aac279 0
* 0cfeb4f 0
* 37a3456 -
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --graph branch53
* b54bdad (HEAD -> refs/heads/branch53) 2
* 9d6b7b1 2 (!= ^1) (== ^2)
|\
| * 5807f01 (refs/heads/master2) 2 (^2)
| * 9fd8819 2 (^2)
| * 41f4de2 1 (^2)
* | 3915d8d 3 (^1)
* | dfadefb 3 (^1)
* | f0a06c2 1 (^1)
|/
* 106da0a (refs/heads/master) 1
* 6974a8c 1
* 8aac279 0
* 0cfeb4f 0
* 37a3456 -
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --graph branch51
* c3286ed (refs/heads/branch51) 4
* f8a22bb 4 (!= ^1) (!= ^2)
|\
| * 5807f01 (refs/heads/master2) 2 (^2)
| * 9fd8819 2 (^2)
| * 41f4de2 1 (^2)
* | 3915d8d 3 (^1)
* | dfadefb 3 (^1)
* | f0a06c2 1 (^1)
|/
* 106da0a (refs/heads/master) 1
* 6974a8c 1
* 8aac279 0
* 0cfeb4f 0
* 37a3456 -
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
(merge pull in other branch's change)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --graph branch31
* 6795284 (refs/heads/branch31) 2
* 197374d 2 (!= ^1) (== ^2)
|\
| * 5807f01 (refs/heads/master2) 2 (^2)
| * 9fd8819 2 (^2)
| * 41f4de2 1 (^2)
* | f9efb8a 1 (^1)
* | 87e8055 1 (^1)
|/
* 106da0a (refs/heads/master) 1
* 6974a8c 1
* 8aac279 0
* 0cfeb4f 0
* 37a3456 -
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --graph branch53
* b54bdad (HEAD -> refs/heads/branch53) 2
* 9d6b7b1 2 (!= ^1) (== ^2)
|\
| * 5807f01 (refs/heads/master2) 2 (^2)
| * 9fd8819 2 (^2)
| * 41f4de2 1 (^2)
* | 3915d8d 3 (^1)
* | dfadefb 3 (^1)
* | f0a06c2 1 (^1)
|/
* 106da0a (refs/heads/master) 1
* 6974a8c 1
* 8aac279 0
* 0cfeb4f 0
* 37a3456 -
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
(merge discard other branch's change)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --graph branch32
* 6489cd9 (refs/heads/branch32) 1
* ff7a6cd 1 (== ^1) (!= ^2)
|\
| * 5807f01 (refs/heads/master2) 2 (^2)
| * 9fd8819 2 (^2)
| * 41f4de2 1 (^2)
* | f9efb8a 1 (^1)
* | 87e8055 1 (^1)
|/
* 106da0a (refs/heads/master) 1
* 6974a8c 1
* 8aac279 0
* 0cfeb4f 0
* 37a3456 -
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --graph branch52
* ff2bba9 (refs/heads/branch52) 3
* 6e441e0 3 (== ^1) (!= ^2)
|\
| * 5807f01 (refs/heads/master2) 2 (^2)
| * 9fd8819 2 (^2)
| * 41f4de2 1 (^2)
* | 3915d8d 3 (^1)
* | dfadefb 3 (^1)
* | f0a06c2 1 (^1)
|/
* 106da0a (refs/heads/master) 1
* 6974a8c 1
* 8aac279 0
* 0cfeb4f 0
* 37a3456 -
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
commits are included if not TREESAME to any parent
merge commit is same to both parents, follow one of them
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --graph branch11 './file'
* 6974a8c 1
* 0cfeb4f 0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --graph branch41 './file'
* 6e406a5 2 (^1)
* 6974a8c 1
* 0cfeb4f 0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --graph --dense branch11 './file'
* 6974a8c 1
* 0cfeb4f 0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --graph --dense branch41 './file'
* 6e406a5 2 (^1)
* 6974a8c 1
* 0cfeb4f 0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --graph --sparse branch11 './file'
* 58f7aa6 (refs/heads/branch11) 1
* b9c4754 1 (== ^1) (== ^2)
* f9efb8a 1 (^1)
* 87e8055 1 (^1)
* 106da0a (refs/heads/master) 1
* 6974a8c 1
* 8aac279 0
* 0cfeb4f 0
* 37a3456 -
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --graph --sparse branch41 './file'
* d3e0330 (refs/heads/branch41) 2
* adaf220 2 (== ^1) (== ^2)
* 32344e0 2 (^1)
* 6e406a5 2 (^1)
* 64277eb 1 (^1)
* 106da0a (refs/heads/master) 1
* 6974a8c 1
* 8aac279 0
* 0cfeb4f 0
* 37a3456 -
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
merge commit is same to one parent, follow this one
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --graph branch21 './file'
* 6e406a5 2 (^1)
* 6974a8c 1
* 0cfeb4f 0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --graph branch52 './file'
* dfadefb 3 (^1)
* 6974a8c 1
* 0cfeb4f 0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --graph --dense branch21 './file'
* 6e406a5 2 (^1)
* 6974a8c 1
* 0cfeb4f 0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --graph --dense branch52 './file'
* dfadefb 3 (^1)
* 6974a8c 1
* 0cfeb4f 0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --graph --sparse branch21 './file'
* 1603fb5 (refs/heads/branch21) 2
* cd03f76 2 (== ^1) (!= ^2)
* 32344e0 2 (^1)
* 6e406a5 2 (^1)
* 64277eb 1 (^1)
* 106da0a (refs/heads/master) 1
* 6974a8c 1
* 8aac279 0
* 0cfeb4f 0
* 37a3456 -
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --graph --sparse branch52 './file'
* ff2bba9 (refs/heads/branch52) 3
* 6e441e0 3 (== ^1) (!= ^2)
* 3915d8d 3 (^1)
* dfadefb 3 (^1)
* f0a06c2 1 (^1)
* 106da0a (refs/heads/master) 1
* 6974a8c 1
* 8aac279 0
* 0cfeb4f 0
* 37a3456 -
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
merge commit is same to one parent, follow this one
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --graph branch22 './file'
* 6974a8c 1
* 0cfeb4f 0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --graph branch53 './file'
* 9fd8819 2 (^2)
* 6974a8c 1
* 0cfeb4f 0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --graph --dense branch22 './file'
* 6974a8c 1
* 0cfeb4f 0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --graph --dense branch53 './file'
* 9fd8819 2 (^2)
* 6974a8c 1
* 0cfeb4f 0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --graph --sparse branch22 './file'
* 327d0ba (refs/heads/branch22) 1
* 64d3544 1 (!= ^1) (== ^2)
* 54627b7 (refs/heads/master1) 1 (^2)
* efade3c 1 (^2)
* 106da0a (refs/heads/master) 1
* 6974a8c 1
* 8aac279 0
* 0cfeb4f 0
* 37a3456 -
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --graph --sparse branch53 './file'
* b54bdad (HEAD -> refs/heads/branch53) 2
* 9d6b7b1 2 (!= ^1) (== ^2)
* 5807f01 (refs/heads/master2) 2 (^2)
* 9fd8819 2 (^2)
* 41f4de2 1 (^2)
* 106da0a (refs/heads/master) 1
* 6974a8c 1
* 8aac279 0
* 0cfeb4f 0
* 37a3456 -
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
merge commit isn't same to either of parents, follow both of them
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --graph branch51 './file'
* f8a22bb 4 (!= ^1) (!= ^2)
|\
| * 9fd8819 2 (^2)
* | dfadefb 3 (^1)
|/
* 6974a8c 1
* 0cfeb4f 0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --graph --dense branch51 './file'
* f8a22bb 4 (!= ^1) (!= ^2)
|\
| * 9fd8819 2 (^2)
* | dfadefb 3 (^1)
|/
* 6974a8c 1
* 0cfeb4f 0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --graph --sparse branch51 './file'
* c3286ed (refs/heads/branch51) 4
* f8a22bb 4 (!= ^1) (!= ^2)
|\
| * 5807f01 (refs/heads/master2) 2 (^2)
| * 9fd8819 2 (^2)
| * 41f4de2 1 (^2)
* | 3915d8d 3 (^1)
* | dfadefb 3 (^1)
* | f0a06c2 1 (^1)
|/
* 106da0a (refs/heads/master) 1
* 6974a8c 1
* 8aac279 0
* 0cfeb4f 0
* 37a3456 -
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
merge commit is same to one parent, follow this one
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --graph branch31 './file'
* 9fd8819 2 (^2)
* 6974a8c 1
* 0cfeb4f 0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --graph branch53 './file'
* 9fd8819 2 (^2)
* 6974a8c 1
* 0cfeb4f 0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --graph --dense branch31 './file'
* 9fd8819 2 (^2)
* 6974a8c 1
* 0cfeb4f 0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --graph --dense branch53 './file'
* 9fd8819 2 (^2)
* 6974a8c 1
* 0cfeb4f 0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --graph --sparse branch31 './file'
* 6795284 (refs/heads/branch31) 2
* 197374d 2 (!= ^1) (== ^2)
* 5807f01 (refs/heads/master2) 2 (^2)
* 9fd8819 2 (^2)
* 41f4de2 1 (^2)
* 106da0a (refs/heads/master) 1
* 6974a8c 1
* 8aac279 0
* 0cfeb4f 0
* 37a3456 -
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --graph --sparse branch53 './file'
* b54bdad (HEAD -> refs/heads/branch53) 2
* 9d6b7b1 2 (!= ^1) (== ^2)
* 5807f01 (refs/heads/master2) 2 (^2)
* 9fd8819 2 (^2)
* 41f4de2 1 (^2)
* 106da0a (refs/heads/master) 1
* 6974a8c 1
* 8aac279 0
* 0cfeb4f 0
* 37a3456 -
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
merge commit is same to one parent, follow this one
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --graph branch32 './file'
* 6974a8c 1
* 0cfeb4f 0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --graph branch52 './file'
* dfadefb 3 (^1)
* 6974a8c 1
* 0cfeb4f 0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --graph --dense branch32 './file'
* 6974a8c 1
* 0cfeb4f 0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --graph --dense branch52 './file'
* dfadefb 3 (^1)
* 6974a8c 1
* 0cfeb4f 0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --graph --sparse branch32 './file'
* 6489cd9 (refs/heads/branch32) 1
* ff7a6cd 1 (== ^1) (!= ^2)
* f9efb8a 1 (^1)
* 87e8055 1 (^1)
* 106da0a (refs/heads/master) 1
* 6974a8c 1
* 8aac279 0
* 0cfeb4f 0
* 37a3456 -
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --graph --sparse branch52 './file'
* ff2bba9 (refs/heads/branch52) 3
* 6e441e0 3 (== ^1) (!= ^2)
* 3915d8d 3 (^1)
* dfadefb 3 (^1)
* f0a06c2 1 (^1)
* 106da0a (refs/heads/master) 1
* 6974a8c 1
* 8aac279 0
* 0cfeb4f 0
* 37a3456 -
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
follow all parents of a merge
commits are included if not TREESAME to some parent
commits are included if not TREESAME to some parent, so merge commits aren't always included
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history branch11 './file'
6974a8c 1
0cfeb4f 0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history branch41 './file'
6e406a5 2 (^1)
9fd8819 2 (^2)
6974a8c 1
0cfeb4f 0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --dense branch11 './file'
6974a8c 1
0cfeb4f 0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --dense branch41 './file'
6e406a5 2 (^1)
9fd8819 2 (^2)
6974a8c 1
0cfeb4f 0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --sparse branch11 './file'
58f7aa6 (refs/heads/branch11) 1
b9c4754 1 (== ^1) (== ^2)
f9efb8a 1 (^1)
87e8055 1 (^1)
54627b7 (refs/heads/master1) 1 (^2)
efade3c 1 (^2)
106da0a (refs/heads/master) 1
6974a8c 1
8aac279 0
0cfeb4f 0
37a3456 -
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --sparse branch41 './file'
d3e0330 (refs/heads/branch41) 2
adaf220 2 (== ^1) (== ^2)
32344e0 2 (^1)
6e406a5 2 (^1)
64277eb 1 (^1)
5807f01 (refs/heads/master2) 2 (^2)
9fd8819 2 (^2)
41f4de2 1 (^2)
106da0a (refs/heads/master) 1
6974a8c 1
8aac279 0
0cfeb4f 0
37a3456 -
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history branch21 './file'
cd03f76 2 (== ^1) (!= ^2)
6e406a5 2 (^1)
6974a8c 1
0cfeb4f 0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history branch52 './file'
6e441e0 3 (== ^1) (!= ^2)
dfadefb 3 (^1)
9fd8819 2 (^2)
6974a8c 1
0cfeb4f 0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --dense branch21 './file'
cd03f76 2 (== ^1) (!= ^2)
6e406a5 2 (^1)
6974a8c 1
0cfeb4f 0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --dense branch52 './file'
6e441e0 3 (== ^1) (!= ^2)
dfadefb 3 (^1)
9fd8819 2 (^2)
6974a8c 1
0cfeb4f 0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --sparse branch21 './file'
1603fb5 (refs/heads/branch21) 2
cd03f76 2 (== ^1) (!= ^2)
32344e0 2 (^1)
6e406a5 2 (^1)
64277eb 1 (^1)
54627b7 (refs/heads/master1) 1 (^2)
efade3c 1 (^2)
106da0a (refs/heads/master) 1
6974a8c 1
8aac279 0
0cfeb4f 0
37a3456 -
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --sparse branch52 './file'
ff2bba9 (refs/heads/branch52) 3
6e441e0 3 (== ^1) (!= ^2)
3915d8d 3 (^1)
dfadefb 3 (^1)
f0a06c2 1 (^1)
5807f01 (refs/heads/master2) 2 (^2)
9fd8819 2 (^2)
41f4de2 1 (^2)
106da0a (refs/heads/master) 1
6974a8c 1
8aac279 0
0cfeb4f 0
37a3456 -
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history branch22 './file'
64d3544 1 (!= ^1) (== ^2)
6e406a5 2 (^1)
6974a8c 1
0cfeb4f 0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history branch53 './file'
9d6b7b1 2 (!= ^1) (== ^2)
dfadefb 3 (^1)
9fd8819 2 (^2)
6974a8c 1
0cfeb4f 0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --dense branch22 './file'
64d3544 1 (!= ^1) (== ^2)
6e406a5 2 (^1)
6974a8c 1
0cfeb4f 0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --dense branch53 './file'
9d6b7b1 2 (!= ^1) (== ^2)
dfadefb 3 (^1)
9fd8819 2 (^2)
6974a8c 1
0cfeb4f 0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --sparse branch22 './file'
327d0ba (refs/heads/branch22) 1
64d3544 1 (!= ^1) (== ^2)
32344e0 2 (^1)
6e406a5 2 (^1)
64277eb 1 (^1)
54627b7 (refs/heads/master1) 1 (^2)
efade3c 1 (^2)
106da0a (refs/heads/master) 1
6974a8c 1
8aac279 0
0cfeb4f 0
37a3456 -
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --sparse branch53 './file'
b54bdad (HEAD -> refs/heads/branch53) 2
9d6b7b1 2 (!= ^1) (== ^2)
3915d8d 3 (^1)
dfadefb 3 (^1)
f0a06c2 1 (^1)
5807f01 (refs/heads/master2) 2 (^2)
9fd8819 2 (^2)
41f4de2 1 (^2)
106da0a (refs/heads/master) 1
6974a8c 1
8aac279 0
0cfeb4f 0
37a3456 -
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history branch51 './file'
f8a22bb 4 (!= ^1) (!= ^2)
dfadefb 3 (^1)
9fd8819 2 (^2)
6974a8c 1
0cfeb4f 0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --dense branch51 './file'
f8a22bb 4 (!= ^1) (!= ^2)
dfadefb 3 (^1)
9fd8819 2 (^2)
6974a8c 1
0cfeb4f 0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --sparse branch51 './file'
c3286ed (refs/heads/branch51) 4
f8a22bb 4 (!= ^1) (!= ^2)
3915d8d 3 (^1)
dfadefb 3 (^1)
f0a06c2 1 (^1)
5807f01 (refs/heads/master2) 2 (^2)
9fd8819 2 (^2)
41f4de2 1 (^2)
106da0a (refs/heads/master) 1
6974a8c 1
8aac279 0
0cfeb4f 0
37a3456 -
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history branch31 './file'
197374d 2 (!= ^1) (== ^2)
9fd8819 2 (^2)
6974a8c 1
0cfeb4f 0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history branch53 './file'
9d6b7b1 2 (!= ^1) (== ^2)
dfadefb 3 (^1)
9fd8819 2 (^2)
6974a8c 1
0cfeb4f 0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --dense branch31 './file'
197374d 2 (!= ^1) (== ^2)
9fd8819 2 (^2)
6974a8c 1
0cfeb4f 0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --dense branch53 './file'
9d6b7b1 2 (!= ^1) (== ^2)
dfadefb 3 (^1)
9fd8819 2 (^2)
6974a8c 1
0cfeb4f 0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --sparse branch31 './file'
6795284 (refs/heads/branch31) 2
197374d 2 (!= ^1) (== ^2)
f9efb8a 1 (^1)
87e8055 1 (^1)
5807f01 (refs/heads/master2) 2 (^2)
9fd8819 2 (^2)
41f4de2 1 (^2)
106da0a (refs/heads/master) 1
6974a8c 1
8aac279 0
0cfeb4f 0
37a3456 -
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --sparse branch53 './file'
b54bdad (HEAD -> refs/heads/branch53) 2
9d6b7b1 2 (!= ^1) (== ^2)
3915d8d 3 (^1)
dfadefb 3 (^1)
f0a06c2 1 (^1)
5807f01 (refs/heads/master2) 2 (^2)
9fd8819 2 (^2)
41f4de2 1 (^2)
106da0a (refs/heads/master) 1
6974a8c 1
8aac279 0
0cfeb4f 0
37a3456 -
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history branch32 './file'
ff7a6cd 1 (== ^1) (!= ^2)
9fd8819 2 (^2)
6974a8c 1
0cfeb4f 0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history branch52 './file'
6e441e0 3 (== ^1) (!= ^2)
dfadefb 3 (^1)
9fd8819 2 (^2)
6974a8c 1
0cfeb4f 0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --dense branch32 './file'
ff7a6cd 1 (== ^1) (!= ^2)
9fd8819 2 (^2)
6974a8c 1
0cfeb4f 0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --dense branch52 './file'
6e441e0 3 (== ^1) (!= ^2)
dfadefb 3 (^1)
9fd8819 2 (^2)
6974a8c 1
0cfeb4f 0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --sparse branch32 './file'
6489cd9 (refs/heads/branch32) 1
ff7a6cd 1 (== ^1) (!= ^2)
f9efb8a 1 (^1)
87e8055 1 (^1)
5807f01 (refs/heads/master2) 2 (^2)
9fd8819 2 (^2)
41f4de2 1 (^2)
106da0a (refs/heads/master) 1
6974a8c 1
8aac279 0
0cfeb4f 0
37a3456 -
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --sparse branch52 './file'
ff2bba9 (refs/heads/branch52) 3
6e441e0 3 (== ^1) (!= ^2)
3915d8d 3 (^1)
dfadefb 3 (^1)
f0a06c2 1 (^1)
5807f01 (refs/heads/master2) 2 (^2)
9fd8819 2 (^2)
41f4de2 1 (^2)
106da0a (refs/heads/master) 1
6974a8c 1
8aac279 0
0cfeb4f 0
37a3456 -
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
follow all parents of a merge
non-merge commits are included if not TREESAME to parent; merge commits are always included
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --graph branch11 './file'
* b9c4754 1 (== ^1) (== ^2)
* 6974a8c 1
* 0cfeb4f 0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --graph branch41 './file'
* adaf220 2 (== ^1) (== ^2)
|\
| * 9fd8819 2 (^2)
* | 6e406a5 2 (^1)
|/
* 6974a8c 1
* 0cfeb4f 0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --graph --dense branch11 './file'
* b9c4754 1 (== ^1) (== ^2)
* 6974a8c 1
* 0cfeb4f 0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --graph --dense branch41 './file'
* adaf220 2 (== ^1) (== ^2)
|\
| * 9fd8819 2 (^2)
* | 6e406a5 2 (^1)
|/
* 6974a8c 1
* 0cfeb4f 0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --graph --sparse branch11 './file'
* 58f7aa6 (refs/heads/branch11) 1
* b9c4754 1 (== ^1) (== ^2)
|\
| * 54627b7 (refs/heads/master1) 1 (^2)
| * efade3c 1 (^2)
* | f9efb8a 1 (^1)
* | 87e8055 1 (^1)
|/
* 106da0a (refs/heads/master) 1
* 6974a8c 1
* 8aac279 0
* 0cfeb4f 0
* 37a3456 -
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --graph --sparse branch41 './file'
* d3e0330 (refs/heads/branch41) 2
* adaf220 2 (== ^1) (== ^2)
|\
| * 5807f01 (refs/heads/master2) 2 (^2)
| * 9fd8819 2 (^2)
| * 41f4de2 1 (^2)
* | 32344e0 2 (^1)
* | 6e406a5 2 (^1)
* | 64277eb 1 (^1)
|/
* 106da0a (refs/heads/master) 1
* 6974a8c 1
* 8aac279 0
* 0cfeb4f 0
* 37a3456 -
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --graph branch21 './file'
* cd03f76 2 (== ^1) (!= ^2)
|\
* | 6e406a5 2 (^1)
|/
* 6974a8c 1
* 0cfeb4f 0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --graph branch52 './file'
* 6e441e0 3 (== ^1) (!= ^2)
|\
| * 9fd8819 2 (^2)
* | dfadefb 3 (^1)
|/
* 6974a8c 1
* 0cfeb4f 0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --graph --dense branch21 './file'
* cd03f76 2 (== ^1) (!= ^2)
|\
* | 6e406a5 2 (^1)
|/
* 6974a8c 1
* 0cfeb4f 0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --graph --dense branch52 './file'
* 6e441e0 3 (== ^1) (!= ^2)
|\
| * 9fd8819 2 (^2)
* | dfadefb 3 (^1)
|/
* 6974a8c 1
* 0cfeb4f 0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --graph --sparse branch21 './file'
* 1603fb5 (refs/heads/branch21) 2
* cd03f76 2 (== ^1) (!= ^2)
|\
| * 54627b7 (refs/heads/master1) 1 (^2)
| * efade3c 1 (^2)
* | 32344e0 2 (^1)
* | 6e406a5 2 (^1)
* | 64277eb 1 (^1)
|/
* 106da0a (refs/heads/master) 1
* 6974a8c 1
* 8aac279 0
* 0cfeb4f 0
* 37a3456 -
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --graph --sparse branch52 './file'
* ff2bba9 (refs/heads/branch52) 3
* 6e441e0 3 (== ^1) (!= ^2)
|\
| * 5807f01 (refs/heads/master2) 2 (^2)
| * 9fd8819 2 (^2)
| * 41f4de2 1 (^2)
* | 3915d8d 3 (^1)
* | dfadefb 3 (^1)
* | f0a06c2 1 (^1)
|/
* 106da0a (refs/heads/master) 1
* 6974a8c 1
* 8aac279 0
* 0cfeb4f 0
* 37a3456 -
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --graph branch22 './file'
* 64d3544 1 (!= ^1) (== ^2)
|\
* | 6e406a5 2 (^1)
|/
* 6974a8c 1
* 0cfeb4f 0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --graph branch53 './file'
* 9d6b7b1 2 (!= ^1) (== ^2)
|\
| * 9fd8819 2 (^2)
* | dfadefb 3 (^1)
|/
* 6974a8c 1
* 0cfeb4f 0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --graph --dense branch22 './file'
* 64d3544 1 (!= ^1) (== ^2)
|\
* | 6e406a5 2 (^1)
|/
* 6974a8c 1
* 0cfeb4f 0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --graph --dense branch53 './file'
* 9d6b7b1 2 (!= ^1) (== ^2)
|\
| * 9fd8819 2 (^2)
* | dfadefb 3 (^1)
|/
* 6974a8c 1
* 0cfeb4f 0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --graph --sparse branch22 './file'
* 327d0ba (refs/heads/branch22) 1
* 64d3544 1 (!= ^1) (== ^2)
|\
| * 54627b7 (refs/heads/master1) 1 (^2)
| * efade3c 1 (^2)
* | 32344e0 2 (^1)
* | 6e406a5 2 (^1)
* | 64277eb 1 (^1)
|/
* 106da0a (refs/heads/master) 1
* 6974a8c 1
* 8aac279 0
* 0cfeb4f 0
* 37a3456 -
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --graph --sparse branch53 './file'
* b54bdad (HEAD -> refs/heads/branch53) 2
* 9d6b7b1 2 (!= ^1) (== ^2)
|\
| * 5807f01 (refs/heads/master2) 2 (^2)
| * 9fd8819 2 (^2)
| * 41f4de2 1 (^2)
* | 3915d8d 3 (^1)
* | dfadefb 3 (^1)
* | f0a06c2 1 (^1)
|/
* 106da0a (refs/heads/master) 1
* 6974a8c 1
* 8aac279 0
* 0cfeb4f 0
* 37a3456 -
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --graph branch51 './file'
* f8a22bb 4 (!= ^1) (!= ^2)
|\
| * 9fd8819 2 (^2)
* | dfadefb 3 (^1)
|/
* 6974a8c 1
* 0cfeb4f 0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --graph --dense branch51 './file'
* f8a22bb 4 (!= ^1) (!= ^2)
|\
| * 9fd8819 2 (^2)
* | dfadefb 3 (^1)
|/
* 6974a8c 1
* 0cfeb4f 0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --graph --sparse branch51 './file'
* c3286ed (refs/heads/branch51) 4
* f8a22bb 4 (!= ^1) (!= ^2)
|\
| * 5807f01 (refs/heads/master2) 2 (^2)
| * 9fd8819 2 (^2)
| * 41f4de2 1 (^2)
* | 3915d8d 3 (^1)
* | dfadefb 3 (^1)
* | f0a06c2 1 (^1)
|/
* 106da0a (refs/heads/master) 1
* 6974a8c 1
* 8aac279 0
* 0cfeb4f 0
* 37a3456 -
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --graph branch31 './file'
* 197374d 2 (!= ^1) (== ^2)
|\
| * 9fd8819 2 (^2)
|/
* 6974a8c 1
* 0cfeb4f 0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --graph branch53 './file'
* 9d6b7b1 2 (!= ^1) (== ^2)
|\
| * 9fd8819 2 (^2)
* | dfadefb 3 (^1)
|/
* 6974a8c 1
* 0cfeb4f 0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --graph --dense branch31 './file'
* 197374d 2 (!= ^1) (== ^2)
|\
| * 9fd8819 2 (^2)
|/
* 6974a8c 1
* 0cfeb4f 0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --graph --dense branch53 './file'
* 9d6b7b1 2 (!= ^1) (== ^2)
|\
| * 9fd8819 2 (^2)
* | dfadefb 3 (^1)
|/
* 6974a8c 1
* 0cfeb4f 0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --graph --sparse branch31 './file'
* 6795284 (refs/heads/branch31) 2
* 197374d 2 (!= ^1) (== ^2)
|\
| * 5807f01 (refs/heads/master2) 2 (^2)
| * 9fd8819 2 (^2)
| * 41f4de2 1 (^2)
* | f9efb8a 1 (^1)
* | 87e8055 1 (^1)
|/
* 106da0a (refs/heads/master) 1
* 6974a8c 1
* 8aac279 0
* 0cfeb4f 0
* 37a3456 -
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --graph --sparse branch53 './file'
* b54bdad (HEAD -> refs/heads/branch53) 2
* 9d6b7b1 2 (!= ^1) (== ^2)
|\
| * 5807f01 (refs/heads/master2) 2 (^2)
| * 9fd8819 2 (^2)
| * 41f4de2 1 (^2)
* | 3915d8d 3 (^1)
* | dfadefb 3 (^1)
* | f0a06c2 1 (^1)
|/
* 106da0a (refs/heads/master) 1
* 6974a8c 1
* 8aac279 0
* 0cfeb4f 0
* 37a3456 -
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --graph branch32 './file'
* ff7a6cd 1 (== ^1) (!= ^2)
|\
| * 9fd8819 2 (^2)
|/
* 6974a8c 1
* 0cfeb4f 0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --graph branch52 './file'
* 6e441e0 3 (== ^1) (!= ^2)
|\
| * 9fd8819 2 (^2)
* | dfadefb 3 (^1)
|/
* 6974a8c 1
* 0cfeb4f 0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --graph --dense branch32 './file'
* ff7a6cd 1 (== ^1) (!= ^2)
|\
| * 9fd8819 2 (^2)
|/
* 6974a8c 1
* 0cfeb4f 0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --graph --dense branch52 './file'
* 6e441e0 3 (== ^1) (!= ^2)
|\
| * 9fd8819 2 (^2)
* | dfadefb 3 (^1)
|/
* 6974a8c 1
* 0cfeb4f 0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --graph --sparse branch32 './file'
* 6489cd9 (refs/heads/branch32) 1
* ff7a6cd 1 (== ^1) (!= ^2)
|\
| * 5807f01 (refs/heads/master2) 2 (^2)
| * 9fd8819 2 (^2)
| * 41f4de2 1 (^2)
* | f9efb8a 1 (^1)
* | 87e8055 1 (^1)
|/
* 106da0a (refs/heads/master) 1
* 6974a8c 1
* 8aac279 0
* 0cfeb4f 0
* 37a3456 -
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --graph --sparse branch52 './file'
* ff2bba9 (refs/heads/branch52) 3
* 6e441e0 3 (== ^1) (!= ^2)
|\
| * 5807f01 (refs/heads/master2) 2 (^2)
| * 9fd8819 2 (^2)
| * 41f4de2 1 (^2)
* | 3915d8d 3 (^1)
* | dfadefb 3 (^1)
* | f0a06c2 1 (^1)
|/
* 106da0a (refs/heads/master) 1
* 6974a8c 1
* 8aac279 0
* 0cfeb4f 0
* 37a3456 -
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
transitive reduction, but if there are at least 1 TREESAME out edges then don't drop the last TREESAME out edge
if merge commit's number of !TREESAME out edges drops to 0 and number of TREESAME out edges drops to <= 1 then it is removed
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --simplify-merges --graph branch11 './file'
* 6974a8c 1
* 0cfeb4f 0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --simplify-merges --graph branch41 './file'
* adaf220 2 (== ^1) (== ^2)
|\
| * 9fd8819 2 (^2)
* | 6e406a5 2 (^1)
|/
* 6974a8c 1
* 0cfeb4f 0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --simplify-merges --graph --dense branch11 './file'
* 6974a8c 1
* 0cfeb4f 0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --simplify-merges --graph --dense branch41 './file'
* adaf220 2 (== ^1) (== ^2)
|\
| * 9fd8819 2 (^2)
* | 6e406a5 2 (^1)
|/
* 6974a8c 1
* 0cfeb4f 0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --simplify-merges --graph --sparse branch11 './file'
* 58f7aa6 (refs/heads/branch11) 1
* b9c4754 1 (== ^1) (== ^2)
|\
| * 54627b7 (refs/heads/master1) 1 (^2)
| * efade3c 1 (^2)
* | f9efb8a 1 (^1)
* | 87e8055 1 (^1)
|/
* 106da0a (refs/heads/master) 1
* 6974a8c 1
* 8aac279 0
* 0cfeb4f 0
* 37a3456 -
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --simplify-merges --graph --sparse branch41 './file'
* d3e0330 (refs/heads/branch41) 2
* adaf220 2 (== ^1) (== ^2)
|\
| * 5807f01 (refs/heads/master2) 2 (^2)
| * 9fd8819 2 (^2)
| * 41f4de2 1 (^2)
* | 32344e0 2 (^1)
* | 6e406a5 2 (^1)
* | 64277eb 1 (^1)
|/
* 106da0a (refs/heads/master) 1
* 6974a8c 1
* 8aac279 0
* 0cfeb4f 0
* 37a3456 -
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
TREESAME parent is descendant of !TREESAME parent, so the out edge to !TREESAME parent is removed
if merge commit's number of !TREESAME out edges drops to 0 and number of TREESAME out edges drops to <= 1 then it is removed
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --simplify-merges --graph branch21 './file'
* 6e406a5 2 (^1)
* 6974a8c 1
* 0cfeb4f 0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --simplify-merges --graph branch52 './file'
* 6e441e0 3 (== ^1) (!= ^2)
|\
| * 9fd8819 2 (^2)
* | dfadefb 3 (^1)
|/
* 6974a8c 1
* 0cfeb4f 0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --simplify-merges --graph --dense branch21 './file'
* 6e406a5 2 (^1)
* 6974a8c 1
* 0cfeb4f 0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --simplify-merges --graph --dense branch52 './file'
* 6e441e0 3 (== ^1) (!= ^2)
|\
| * 9fd8819 2 (^2)
* | dfadefb 3 (^1)
|/
* 6974a8c 1
* 0cfeb4f 0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --simplify-merges --graph --sparse branch21 './file'
* 1603fb5 (refs/heads/branch21) 2
* cd03f76 2 (== ^1) (!= ^2)
|\
| * 54627b7 (refs/heads/master1) 1 (^2)
| * efade3c 1 (^2)
* | 32344e0 2 (^1)
* | 6e406a5 2 (^1)
* | 64277eb 1 (^1)
|/
* 106da0a (refs/heads/master) 1
* 6974a8c 1
* 8aac279 0
* 0cfeb4f 0
* 37a3456 -
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --simplify-merges --graph --sparse branch52 './file'
* ff2bba9 (refs/heads/branch52) 3
* 6e441e0 3 (== ^1) (!= ^2)
|\
| * 5807f01 (refs/heads/master2) 2 (^2)
| * 9fd8819 2 (^2)
| * 41f4de2 1 (^2)
* | 3915d8d 3 (^1)
* | dfadefb 3 (^1)
* | f0a06c2 1 (^1)
|/
* 106da0a (refs/heads/master) 1
* 6974a8c 1
* 8aac279 0
* 0cfeb4f 0
* 37a3456 -
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
!TREESAME parent is descendant of TREESAME parent, but TREESAME parent is last one, the out edge to TREESAME parent isn't removed
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --simplify-merges --graph branch22 './file'
* 64d3544 1 (!= ^1) (== ^2)
|\
* | 6e406a5 2 (^1)
|/
* 6974a8c 1
* 0cfeb4f 0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --simplify-merges --graph branch53 './file'
* 9d6b7b1 2 (!= ^1) (== ^2)
|\
| * 9fd8819 2 (^2)
* | dfadefb 3 (^1)
|/
* 6974a8c 1
* 0cfeb4f 0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --simplify-merges --graph --dense branch22 './file'
* 64d3544 1 (!= ^1) (== ^2)
|\
* | 6e406a5 2 (^1)
|/
* 6974a8c 1
* 0cfeb4f 0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --simplify-merges --graph --dense branch53 './file'
* 9d6b7b1 2 (!= ^1) (== ^2)
|\
| * 9fd8819 2 (^2)
* | dfadefb 3 (^1)
|/
* 6974a8c 1
* 0cfeb4f 0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --simplify-merges --graph --sparse branch22 './file'
* 327d0ba (refs/heads/branch22) 1
* 64d3544 1 (!= ^1) (== ^2)
|\
| * 54627b7 (refs/heads/master1) 1 (^2)
| * efade3c 1 (^2)
* | 32344e0 2 (^1)
* | 6e406a5 2 (^1)
* | 64277eb 1 (^1)
|/
* 106da0a (refs/heads/master) 1
* 6974a8c 1
* 8aac279 0
* 0cfeb4f 0
* 37a3456 -
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --simplify-merges --graph --sparse branch53 './file'
* b54bdad (HEAD -> refs/heads/branch53) 2
* 9d6b7b1 2 (!= ^1) (== ^2)
|\
| * 5807f01 (refs/heads/master2) 2 (^2)
| * 9fd8819 2 (^2)
| * 41f4de2 1 (^2)
* | 3915d8d 3 (^1)
* | dfadefb 3 (^1)
* | f0a06c2 1 (^1)
|/
* 106da0a (refs/heads/master) 1
* 6974a8c 1
* 8aac279 0
* 0cfeb4f 0
* 37a3456 -
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --simplify-merges --graph branch51 './file'
* f8a22bb 4 (!= ^1) (!= ^2)
|\
| * 9fd8819 2 (^2)
* | dfadefb 3 (^1)
|/
* 6974a8c 1
* 0cfeb4f 0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --simplify-merges --graph --dense branch51 './file'
* f8a22bb 4 (!= ^1) (!= ^2)
|\
| * 9fd8819 2 (^2)
* | dfadefb 3 (^1)
|/
* 6974a8c 1
* 0cfeb4f 0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --simplify-merges --graph --sparse branch51 './file'
* c3286ed (refs/heads/branch51) 4
* f8a22bb 4 (!= ^1) (!= ^2)
|\
| * 5807f01 (refs/heads/master2) 2 (^2)
| * 9fd8819 2 (^2)
| * 41f4de2 1 (^2)
* | 3915d8d 3 (^1)
* | dfadefb 3 (^1)
* | f0a06c2 1 (^1)
|/
* 106da0a (refs/heads/master) 1
* 6974a8c 1
* 8aac279 0
* 0cfeb4f 0
* 37a3456 -
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
TREESAME parent is descendant of !TREESAME parent, so the out edge to !TREESAME parent is removed
if merge commit's number of !TREESAME out edges drops to 0 and number of TREESAME out edges drops to <= 1 then it is removed
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --simplify-merges --graph branch31 './file'
* 9fd8819 2 (^2)
* 6974a8c 1
* 0cfeb4f 0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --simplify-merges --graph branch53 './file'
* 9d6b7b1 2 (!= ^1) (== ^2)
|\
| * 9fd8819 2 (^2)
* | dfadefb 3 (^1)
|/
* 6974a8c 1
* 0cfeb4f 0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --simplify-merges --graph --dense branch31 './file'
* 9fd8819 2 (^2)
* 6974a8c 1
* 0cfeb4f 0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --simplify-merges --graph --dense branch53 './file'
* 9d6b7b1 2 (!= ^1) (== ^2)
|\
| * 9fd8819 2 (^2)
* | dfadefb 3 (^1)
|/
* 6974a8c 1
* 0cfeb4f 0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --simplify-merges --graph --sparse branch31 './file'
* 6795284 (refs/heads/branch31) 2
* 197374d 2 (!= ^1) (== ^2)
|\
| * 5807f01 (refs/heads/master2) 2 (^2)
| * 9fd8819 2 (^2)
| * 41f4de2 1 (^2)
* | f9efb8a 1 (^1)
* | 87e8055 1 (^1)
|/
* 106da0a (refs/heads/master) 1
* 6974a8c 1
* 8aac279 0
* 0cfeb4f 0
* 37a3456 -
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --simplify-merges --graph --sparse branch53 './file'
* b54bdad (HEAD -> refs/heads/branch53) 2
* 9d6b7b1 2 (!= ^1) (== ^2)
|\
| * 5807f01 (refs/heads/master2) 2 (^2)
| * 9fd8819 2 (^2)
| * 41f4de2 1 (^2)
* | 3915d8d 3 (^1)
* | dfadefb 3 (^1)
* | f0a06c2 1 (^1)
|/
* 106da0a (refs/heads/master) 1
* 6974a8c 1
* 8aac279 0
* 0cfeb4f 0
* 37a3456 -
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
!TREESAME parent is descendant of TREESAME parent, but TREESAME parent is last one, the out edge to TREESAME parent isn't removed
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --simplify-merges --graph branch32 './file'
* ff7a6cd 1 (== ^1) (!= ^2)
|\
| * 9fd8819 2 (^2)
|/
* 6974a8c 1
* 0cfeb4f 0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --simplify-merges --graph branch52 './file'
* 6e441e0 3 (== ^1) (!= ^2)
|\
| * 9fd8819 2 (^2)
* | dfadefb 3 (^1)
|/
* 6974a8c 1
* 0cfeb4f 0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --simplify-merges --graph --dense branch32 './file'
* ff7a6cd 1 (== ^1) (!= ^2)
|\
| * 9fd8819 2 (^2)
|/
* 6974a8c 1
* 0cfeb4f 0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --simplify-merges --graph --dense branch52 './file'
* 6e441e0 3 (== ^1) (!= ^2)
|\
| * 9fd8819 2 (^2)
* | dfadefb 3 (^1)
|/
* 6974a8c 1
* 0cfeb4f 0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --simplify-merges --graph --sparse branch32 './file'
* 6489cd9 (refs/heads/branch32) 1
* ff7a6cd 1 (== ^1) (!= ^2)
|\
| * 5807f01 (refs/heads/master2) 2 (^2)
| * 9fd8819 2 (^2)
| * 41f4de2 1 (^2)
* | f9efb8a 1 (^1)
* | 87e8055 1 (^1)
|/
* 106da0a (refs/heads/master) 1
* 6974a8c 1
* 8aac279 0
* 0cfeb4f 0
* 37a3456 -
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --simplify-merges --graph --sparse branch52 './file'
* ff2bba9 (refs/heads/branch52) 3
* 6e441e0 3 (== ^1) (!= ^2)
|\
| * 5807f01 (refs/heads/master2) 2 (^2)
| * 9fd8819 2 (^2)
| * 41f4de2 1 (^2)
* | 3915d8d 3 (^1)
* | dfadefb 3 (^1)
* | f0a06c2 1 (^1)
|/
* 106da0a (refs/heads/master) 1
* 6974a8c 1
* 8aac279 0
* 0cfeb4f 0
* 37a3456 -
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
non-merge commits are included if not TREESAME to parent; merge commits are included if not TREESAME to its first parent but TREESAME to a later parent
merge commit is same to both parents, follow one of them
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --show-pulls --graph branch11 './file'
* 6974a8c 1
* 0cfeb4f 0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --show-pulls --graph branch41 './file'
* 6e406a5 2 (^1)
* 6974a8c 1
* 0cfeb4f 0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --show-pulls --graph --dense branch11 './file'
* 6974a8c 1
* 0cfeb4f 0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --show-pulls --graph --dense branch41 './file'
* 6e406a5 2 (^1)
* 6974a8c 1
* 0cfeb4f 0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --show-pulls --graph --sparse branch11 './file'
* 58f7aa6 (refs/heads/branch11) 1
* b9c4754 1 (== ^1) (== ^2)
* f9efb8a 1 (^1)
* 87e8055 1 (^1)
* 106da0a (refs/heads/master) 1
* 6974a8c 1
* 8aac279 0
* 0cfeb4f 0
* 37a3456 -
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --show-pulls --graph --sparse branch41 './file'
* d3e0330 (refs/heads/branch41) 2
* adaf220 2 (== ^1) (== ^2)
* 32344e0 2 (^1)
* 6e406a5 2 (^1)
* 64277eb 1 (^1)
* 106da0a (refs/heads/master) 1
* 6974a8c 1
* 8aac279 0
* 0cfeb4f 0
* 37a3456 -
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
merge commit is same to one parent, follow this one
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --show-pulls --graph branch21 './file'
* 6e406a5 2 (^1)
* 6974a8c 1
* 0cfeb4f 0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --show-pulls --graph branch52 './file'
* dfadefb 3 (^1)
* 6974a8c 1
* 0cfeb4f 0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --show-pulls --graph --dense branch21 './file'
* 6e406a5 2 (^1)
* 6974a8c 1
* 0cfeb4f 0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --show-pulls --graph --dense branch52 './file'
* dfadefb 3 (^1)
* 6974a8c 1
* 0cfeb4f 0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --show-pulls --graph --sparse branch21 './file'
* 1603fb5 (refs/heads/branch21) 2
* cd03f76 2 (== ^1) (!= ^2)
* 32344e0 2 (^1)
* 6e406a5 2 (^1)
* 64277eb 1 (^1)
* 106da0a (refs/heads/master) 1
* 6974a8c 1
* 8aac279 0
* 0cfeb4f 0
* 37a3456 -
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --show-pulls --graph --sparse branch52 './file'
* ff2bba9 (refs/heads/branch52) 3
* 6e441e0 3 (== ^1) (!= ^2)
* 3915d8d 3 (^1)
* dfadefb 3 (^1)
* f0a06c2 1 (^1)
* 106da0a (refs/heads/master) 1
* 6974a8c 1
* 8aac279 0
* 0cfeb4f 0
* 37a3456 -
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
merge commit is same to one parent, follow this one
merge commits are included if not TREESAME to its first parent but TREESAME to a later parent
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --show-pulls --graph branch22 './file'
* 64d3544 1 (!= ^1) (== ^2)
* 6974a8c 1
* 0cfeb4f 0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --show-pulls --graph branch53 './file'
* 9d6b7b1 2 (!= ^1) (== ^2)
* 9fd8819 2 (^2)
* 6974a8c 1
* 0cfeb4f 0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --show-pulls --graph --dense branch22 './file'
* 64d3544 1 (!= ^1) (== ^2)
* 6974a8c 1
* 0cfeb4f 0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --show-pulls --graph --dense branch53 './file'
* 9d6b7b1 2 (!= ^1) (== ^2)
* 9fd8819 2 (^2)
* 6974a8c 1
* 0cfeb4f 0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --show-pulls --graph --sparse branch22 './file'
* 327d0ba (refs/heads/branch22) 1
* 64d3544 1 (!= ^1) (== ^2)
* 54627b7 (refs/heads/master1) 1 (^2)
* efade3c 1 (^2)
* 106da0a (refs/heads/master) 1
* 6974a8c 1
* 8aac279 0
* 0cfeb4f 0
* 37a3456 -
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --show-pulls --graph --sparse branch53 './file'
* b54bdad (HEAD -> refs/heads/branch53) 2
* 9d6b7b1 2 (!= ^1) (== ^2)
* 5807f01 (refs/heads/master2) 2 (^2)
* 9fd8819 2 (^2)
* 41f4de2 1 (^2)
* 106da0a (refs/heads/master) 1
* 6974a8c 1
* 8aac279 0
* 0cfeb4f 0
* 37a3456 -
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
merge commit isn't same to either of parents, follow both of them
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --show-pulls --graph branch51 './file'
* f8a22bb 4 (!= ^1) (!= ^2)
|\
| * 9fd8819 2 (^2)
* | dfadefb 3 (^1)
|/
* 6974a8c 1
* 0cfeb4f 0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --show-pulls --graph --dense branch51 './file'
* f8a22bb 4 (!= ^1) (!= ^2)
|\
| * 9fd8819 2 (^2)
* | dfadefb 3 (^1)
|/
* 6974a8c 1
* 0cfeb4f 0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --show-pulls --graph --sparse branch51 './file'
* c3286ed (refs/heads/branch51) 4
* f8a22bb 4 (!= ^1) (!= ^2)
|\
| * 5807f01 (refs/heads/master2) 2 (^2)
| * 9fd8819 2 (^2)
| * 41f4de2 1 (^2)
* | 3915d8d 3 (^1)
* | dfadefb 3 (^1)
* | f0a06c2 1 (^1)
|/
* 106da0a (refs/heads/master) 1
* 6974a8c 1
* 8aac279 0
* 0cfeb4f 0
* 37a3456 -
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
merge commit is same to one parent, follow this one
merge commits are included if not TREESAME to its first parent but TREESAME to a later parent
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --show-pulls --graph branch31 './file'
* 197374d 2 (!= ^1) (== ^2)
* 9fd8819 2 (^2)
* 6974a8c 1
* 0cfeb4f 0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --show-pulls --graph branch53 './file'
* 9d6b7b1 2 (!= ^1) (== ^2)
* 9fd8819 2 (^2)
* 6974a8c 1
* 0cfeb4f 0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --show-pulls --graph --dense branch31 './file'
* 197374d 2 (!= ^1) (== ^2)
* 9fd8819 2 (^2)
* 6974a8c 1
* 0cfeb4f 0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --show-pulls --graph --dense branch53 './file'
* 9d6b7b1 2 (!= ^1) (== ^2)
* 9fd8819 2 (^2)
* 6974a8c 1
* 0cfeb4f 0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --show-pulls --graph --sparse branch31 './file'
* 6795284 (refs/heads/branch31) 2
* 197374d 2 (!= ^1) (== ^2)
* 5807f01 (refs/heads/master2) 2 (^2)
* 9fd8819 2 (^2)
* 41f4de2 1 (^2)
* 106da0a (refs/heads/master) 1
* 6974a8c 1
* 8aac279 0
* 0cfeb4f 0
* 37a3456 -
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --show-pulls --graph --sparse branch53 './file'
* b54bdad (HEAD -> refs/heads/branch53) 2
* 9d6b7b1 2 (!= ^1) (== ^2)
* 5807f01 (refs/heads/master2) 2 (^2)
* 9fd8819 2 (^2)
* 41f4de2 1 (^2)
* 106da0a (refs/heads/master) 1
* 6974a8c 1
* 8aac279 0
* 0cfeb4f 0
* 37a3456 -
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
merge commit is same to one parent, follow this one
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --show-pulls --graph branch32 './file'
* 6974a8c 1
* 0cfeb4f 0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --show-pulls --graph branch52 './file'
* dfadefb 3 (^1)
* 6974a8c 1
* 0cfeb4f 0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --show-pulls --graph --dense branch32 './file'
* 6974a8c 1
* 0cfeb4f 0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --show-pulls --graph --dense branch52 './file'
* dfadefb 3 (^1)
* 6974a8c 1
* 0cfeb4f 0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --show-pulls --graph --sparse branch32 './file'
* 6489cd9 (refs/heads/branch32) 1
* ff7a6cd 1 (== ^1) (!= ^2)
* f9efb8a 1 (^1)
* 87e8055 1 (^1)
* 106da0a (refs/heads/master) 1
* 6974a8c 1
* 8aac279 0
* 0cfeb4f 0
* 37a3456 -
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --show-pulls --graph --sparse branch52 './file'
* ff2bba9 (refs/heads/branch52) 3
* 6e441e0 3 (== ^1) (!= ^2)
* 3915d8d 3 (^1)
* dfadefb 3 (^1)
* f0a06c2 1 (^1)
* 106da0a (refs/heads/master) 1
* 6974a8c 1
* 8aac279 0
* 0cfeb4f 0
* 37a3456 -
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
follow all parents of a merge
if merge commit's number of !TREESAME out edges drops to 0 and number of TREESAME out edges drops to <= 1 then it is removed
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --show-pulls --simplify-merges --graph branch11 './file'
* 6974a8c 1
* 0cfeb4f 0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --show-pulls --simplify-merges --graph branch41 './file'
* adaf220 2 (== ^1) (== ^2)
|\
| * 9fd8819 2 (^2)
* | 6e406a5 2 (^1)
|/
* 6974a8c 1
* 0cfeb4f 0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --show-pulls --simplify-merges --graph --dense branch11 './file'
* 6974a8c 1
* 0cfeb4f 0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --show-pulls --simplify-merges --graph --dense branch41 './file'
* adaf220 2 (== ^1) (== ^2)
|\
| * 9fd8819 2 (^2)
* | 6e406a5 2 (^1)
|/
* 6974a8c 1
* 0cfeb4f 0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --show-pulls --simplify-merges --graph --sparse branch11 './file'
* 58f7aa6 (refs/heads/branch11) 1
* b9c4754 1 (== ^1) (== ^2)
|\
| * 54627b7 (refs/heads/master1) 1 (^2)
| * efade3c 1 (^2)
* | f9efb8a 1 (^1)
* | 87e8055 1 (^1)
|/
* 106da0a (refs/heads/master) 1
* 6974a8c 1
* 8aac279 0
* 0cfeb4f 0
* 37a3456 -
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --show-pulls --simplify-merges --graph --sparse branch41 './file'
* d3e0330 (refs/heads/branch41) 2
* adaf220 2 (== ^1) (== ^2)
|\
| * 5807f01 (refs/heads/master2) 2 (^2)
| * 9fd8819 2 (^2)
| * 41f4de2 1 (^2)
* | 32344e0 2 (^1)
* | 6e406a5 2 (^1)
* | 64277eb 1 (^1)
|/
* 106da0a (refs/heads/master) 1
* 6974a8c 1
* 8aac279 0
* 0cfeb4f 0
* 37a3456 -
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
TREESAME parent is descendant of !TREESAME parent, so the out edge to !TREESAME parent is removed
if merge commit's number of !TREESAME out edges drops to 0 and number of TREESAME out edges drops to <= 1 then it is removed
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --show-pulls --simplify-merges --graph branch21 './file'
* 6e406a5 2 (^1)
* 6974a8c 1
* 0cfeb4f 0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --show-pulls --simplify-merges --graph branch52 './file'
* 6e441e0 3 (== ^1) (!= ^2)
|\
| * 9fd8819 2 (^2)
* | dfadefb 3 (^1)
|/
* 6974a8c 1
* 0cfeb4f 0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --show-pulls --simplify-merges --graph --dense branch21 './file'
* 6e406a5 2 (^1)
* 6974a8c 1
* 0cfeb4f 0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --show-pulls --simplify-merges --graph --dense branch52 './file'
* 6e441e0 3 (== ^1) (!= ^2)
|\
| * 9fd8819 2 (^2)
* | dfadefb 3 (^1)
|/
* 6974a8c 1
* 0cfeb4f 0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --show-pulls --simplify-merges --graph --sparse branch21 './file'
* 1603fb5 (refs/heads/branch21) 2
* cd03f76 2 (== ^1) (!= ^2)
|\
| * 54627b7 (refs/heads/master1) 1 (^2)
| * efade3c 1 (^2)
* | 32344e0 2 (^1)
* | 6e406a5 2 (^1)
* | 64277eb 1 (^1)
|/
* 106da0a (refs/heads/master) 1
* 6974a8c 1
* 8aac279 0
* 0cfeb4f 0
* 37a3456 -
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --show-pulls --simplify-merges --graph --sparse branch52 './file'
* ff2bba9 (refs/heads/branch52) 3
* 6e441e0 3 (== ^1) (!= ^2)
|\
| * 5807f01 (refs/heads/master2) 2 (^2)
| * 9fd8819 2 (^2)
| * 41f4de2 1 (^2)
* | 3915d8d 3 (^1)
* | dfadefb 3 (^1)
* | f0a06c2 1 (^1)
|/
* 106da0a (refs/heads/master) 1
* 6974a8c 1
* 8aac279 0
* 0cfeb4f 0
* 37a3456 -
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
!TREESAME parent is descendant of TREESAME parent, but TREESAME parent is last one, the out edge to TREESAME parent isn't removed
merge commits are included if not TREESAME to its first parent but TREESAME to a later parent
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --show-pulls --simplify-merges --graph branch22 './file'
* 64d3544 1 (!= ^1) (== ^2)
|\
* | 6e406a5 2 (^1)
|/
* 6974a8c 1
* 0cfeb4f 0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --show-pulls --simplify-merges --graph branch53 './file'
* 9d6b7b1 2 (!= ^1) (== ^2)
|\
| * 9fd8819 2 (^2)
* | dfadefb 3 (^1)
|/
* 6974a8c 1
* 0cfeb4f 0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --show-pulls --simplify-merges --graph --dense branch22 './file'
* 64d3544 1 (!= ^1) (== ^2)
|\
* | 6e406a5 2 (^1)
|/
* 6974a8c 1
* 0cfeb4f 0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --show-pulls --simplify-merges --graph --dense branch53 './file'
* 9d6b7b1 2 (!= ^1) (== ^2)
|\
| * 9fd8819 2 (^2)
* | dfadefb 3 (^1)
|/
* 6974a8c 1
* 0cfeb4f 0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --show-pulls --simplify-merges --graph --sparse branch22 './file'
* 327d0ba (refs/heads/branch22) 1
* 64d3544 1 (!= ^1) (== ^2)
|\
| * 54627b7 (refs/heads/master1) 1 (^2)
| * efade3c 1 (^2)
* | 32344e0 2 (^1)
* | 6e406a5 2 (^1)
* | 64277eb 1 (^1)
|/
* 106da0a (refs/heads/master) 1
* 6974a8c 1
* 8aac279 0
* 0cfeb4f 0
* 37a3456 -
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --show-pulls --simplify-merges --graph --sparse branch53 './file'
* b54bdad (HEAD -> refs/heads/branch53) 2
* 9d6b7b1 2 (!= ^1) (== ^2)
|\
| * 5807f01 (refs/heads/master2) 2 (^2)
| * 9fd8819 2 (^2)
| * 41f4de2 1 (^2)
* | 3915d8d 3 (^1)
* | dfadefb 3 (^1)
* | f0a06c2 1 (^1)
|/
* 106da0a (refs/heads/master) 1
* 6974a8c 1
* 8aac279 0
* 0cfeb4f 0
* 37a3456 -
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --show-pulls --simplify-merges --graph branch51 './file'
* f8a22bb 4 (!= ^1) (!= ^2)
|\
| * 9fd8819 2 (^2)
* | dfadefb 3 (^1)
|/
* 6974a8c 1
* 0cfeb4f 0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --show-pulls --simplify-merges --graph --dense branch51 './file'
* f8a22bb 4 (!= ^1) (!= ^2)
|\
| * 9fd8819 2 (^2)
* | dfadefb 3 (^1)
|/
* 6974a8c 1
* 0cfeb4f 0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --show-pulls --simplify-merges --graph --sparse branch51 './file'
* c3286ed (refs/heads/branch51) 4
* f8a22bb 4 (!= ^1) (!= ^2)
|\
| * 5807f01 (refs/heads/master2) 2 (^2)
| * 9fd8819 2 (^2)
| * 41f4de2 1 (^2)
* | 3915d8d 3 (^1)
* | dfadefb 3 (^1)
* | f0a06c2 1 (^1)
|/
* 106da0a (refs/heads/master) 1
* 6974a8c 1
* 8aac279 0
* 0cfeb4f 0
* 37a3456 -
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
TREESAME parent is descendant of !TREESAME parent, so the out edge to !TREESAME parent is removed
if merge commit's number of !TREESAME out edges drops to 0 and number of TREESAME out edges drops to <= 1 then it is removed
merge commits are included if not TREESAME to its first parent but TREESAME to a later parent
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --show-pulls --simplify-merges --graph branch31 './file'
* 197374d 2 (!= ^1) (== ^2)
* 9fd8819 2 (^2)
* 6974a8c 1
* 0cfeb4f 0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --show-pulls --simplify-merges --graph branch53 './file'
* 9d6b7b1 2 (!= ^1) (== ^2)
|\
| * 9fd8819 2 (^2)
* | dfadefb 3 (^1)
|/
* 6974a8c 1
* 0cfeb4f 0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --show-pulls --simplify-merges --graph --dense branch31 './file'
* 197374d 2 (!= ^1) (== ^2)
* 9fd8819 2 (^2)
* 6974a8c 1
* 0cfeb4f 0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --show-pulls --simplify-merges --graph --dense branch53 './file'
* 9d6b7b1 2 (!= ^1) (== ^2)
|\
| * 9fd8819 2 (^2)
* | dfadefb 3 (^1)
|/
* 6974a8c 1
* 0cfeb4f 0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --show-pulls --simplify-merges --graph --sparse branch31 './file'
* 6795284 (refs/heads/branch31) 2
* 197374d 2 (!= ^1) (== ^2)
|\
| * 5807f01 (refs/heads/master2) 2 (^2)
| * 9fd8819 2 (^2)
| * 41f4de2 1 (^2)
* | f9efb8a 1 (^1)
* | 87e8055 1 (^1)
|/
* 106da0a (refs/heads/master) 1
* 6974a8c 1
* 8aac279 0
* 0cfeb4f 0
* 37a3456 -
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --show-pulls --simplify-merges --graph --sparse branch53 './file'
* b54bdad (HEAD -> refs/heads/branch53) 2
* 9d6b7b1 2 (!= ^1) (== ^2)
|\
| * 5807f01 (refs/heads/master2) 2 (^2)
| * 9fd8819 2 (^2)
| * 41f4de2 1 (^2)
* | 3915d8d 3 (^1)
* | dfadefb 3 (^1)
* | f0a06c2 1 (^1)
|/
* 106da0a (refs/heads/master) 1
* 6974a8c 1
* 8aac279 0
* 0cfeb4f 0
* 37a3456 -
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
!TREESAME parent is descendant of TREESAME parent, but TREESAME parent is last one, the out edge to TREESAME parent isn't removed
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --show-pulls --simplify-merges --graph branch32 './file'
* ff7a6cd 1 (== ^1) (!= ^2)
|\
| * 9fd8819 2 (^2)
|/
* 6974a8c 1
* 0cfeb4f 0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --show-pulls --simplify-merges --graph branch52 './file'
* 6e441e0 3 (== ^1) (!= ^2)
|\
| * 9fd8819 2 (^2)
* | dfadefb 3 (^1)
|/
* 6974a8c 1
* 0cfeb4f 0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --show-pulls --simplify-merges --graph --dense branch32 './file'
* ff7a6cd 1 (== ^1) (!= ^2)
|\
| * 9fd8819 2 (^2)
|/
* 6974a8c 1
* 0cfeb4f 0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --show-pulls --simplify-merges --graph --dense branch52 './file'
* 6e441e0 3 (== ^1) (!= ^2)
|\
| * 9fd8819 2 (^2)
* | dfadefb 3 (^1)
|/
* 6974a8c 1
* 0cfeb4f 0
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --show-pulls --simplify-merges --graph --sparse branch32 './file'
* 6489cd9 (refs/heads/branch32) 1
* ff7a6cd 1 (== ^1) (!= ^2)
|\
| * 5807f01 (refs/heads/master2) 2 (^2)
| * 9fd8819 2 (^2)
| * 41f4de2 1 (^2)
* | f9efb8a 1 (^1)
* | 87e8055 1 (^1)
|/
* 106da0a (refs/heads/master) 1
* 6974a8c 1
* 8aac279 0
* 0cfeb4f 0
* 37a3456 -
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --show-pulls --simplify-merges --graph --sparse branch52 './file'
* ff2bba9 (refs/heads/branch52) 3
* 6e441e0 3 (== ^1) (!= ^2)
|\
| * 5807f01 (refs/heads/master2) 2 (^2)
| * 9fd8819 2 (^2)
| * 41f4de2 1 (^2)
* | 3915d8d 3 (^1)
* | dfadefb 3 (^1)
* | f0a06c2 1 (^1)
|/
* 106da0a (refs/heads/master) 1
* 6974a8c 1
* 8aac279 0
* 0cfeb4f 0
* 37a3456 -
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server' init --bare './repo.git'
Initialized empty Git repository in C:/Program Files/Git/test_git/server/repo.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty; git -C './server/repo.git' branch branch1; git -C './server/repo.git' tag tag1
[master (root-commit) a424d6b] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/client/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ branch_default_name="$(git -C './client/repo' branch --show-current)"; echo "$branch_default_name"
master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote add server 'file://'"$(realpath './server/repo.git')"
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch
remote: Enumerating objects: 2, done.
remote: Counting objects: 100% (2/2), done.
remote: Total 2 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (2/2), 138 bytes | 17.00 KiB/s, done.
From file:///test_git/server/repo
* [new branch] branch1 -> server/branch1
* [new branch] master -> server/master
* [new tag] tag1 -> tag1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' log
fatal: your current branch 'master' does not have any commits yet
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' checkout "$branch_default_name"
branch 'master' set up to track 'server/master'.
Already on 'master'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' update-ref 'refs/heads2/branch' HEAD
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' log
commit a424d6b1a0b6de0af048d48f8284111d7521cefe (HEAD -> master, tag: tag1, server/master, server/branch1, server/HEAD)
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Sat May 30 17:07:10 2026 +1200
1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' log --decorate-refs='*2*'
commit a424d6b1a0b6de0af048d48f8284111d7521cefe (refs/heads2/branch)
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Sat May 30 17:07:10 2026 +1200
1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' log --decorate-refs='*'
commit a424d6b1a0b6de0af048d48f8284111d7521cefe (tag: tag1, server/master, server/branch1, server/HEAD, refs/heads2/branch, master)
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Sat May 30 17:07:10 2026 +1200
1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' log --decorate-refs='*' --decorate-refs='HEAD'
commit a424d6b1a0b6de0af048d48f8284111d7521cefe (HEAD -> master, tag: tag1, server/master, server/branch1, server/HEAD, refs/heads2/branch)
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Sat May 30 17:07:10 2026 +1200
1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' log --clear-decorations
commit a424d6b1a0b6de0af048d48f8284111d7521cefe (HEAD -> master, tag: tag1, server/master, server/branch1, server/HEAD, refs/heads2/branch)
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Sat May 30 17:07:10 2026 +1200
1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' log --decorate=no
commit a424d6b1a0b6de0af048d48f8284111d7521cefe
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Sat May 30 17:07:10 2026 +1200
1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' log --decorate=no --clear-decorations
commit a424d6b1a0b6de0af048d48f8284111d7521cefe
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Sat May 30 17:07:10 2026 +1200
1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' log --decorate=short
commit a424d6b1a0b6de0af048d48f8284111d7521cefe (HEAD -> master, tag: tag1, server/master, server/branch1, server/HEAD)
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Sat May 30 17:07:10 2026 +1200
1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' log --decorate=short --clear-decorations
commit a424d6b1a0b6de0af048d48f8284111d7521cefe (HEAD -> master, tag: tag1, server/master, server/branch1, server/HEAD, refs/heads2/branch)
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Sat May 30 17:07:10 2026 +1200
1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' log --decorate=full
commit a424d6b1a0b6de0af048d48f8284111d7521cefe (HEAD -> refs/heads/master, tag: refs/tags/tag1, refs/remotes/server/master, refs/remotes/server/branch1, refs/remotes/server/HEAD)
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Sat May 30 17:07:10 2026 +1200
1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' log --decorate=full --clear-decorations
commit a424d6b1a0b6de0af048d48f8284111d7521cefe (HEAD -> refs/heads/master, tag: refs/tags/tag1, refs/remotes/server/master, refs/remotes/server/branch1, refs/remotes/server/HEAD, refs/heads2/branch)
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Sat May 30 17:07:10 2026 +1200
1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e '1\n\n1\n\n1\n\n1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 3c06871] 1
1 file changed, 7 insertions(+)
create mode 100644 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch branch2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout -b branch1; echo -e '2\n\n1\n\n2\n\n1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
Switched to a new branch 'branch1'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch1 e7b29a3] 2
1 file changed, 2 insertions(+), 2 deletions(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch2; echo -e '3\n\n2\n\n1\n\n1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
Switched to branch 'branch2'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch2 8abae0d] 3
1 file changed, 2 insertions(+), 2 deletions(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1
Switched to branch 'branch1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --patch
* e7b29a3 - 2026-05-30 17:07 (2 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/branch1)
|
| diff --git a/file b/file
| index 84ca93e..eafc5bc 100644
| --- a/file
| +++ b/file
| @@ -1,7 +1,7 @@
| -1
| +2
|
| 1
|
| -1
| +2
|
| 1
* 3c06871 - 2026-05-30 17:07 (3 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..84ca93e
--- /dev/null
+++ b/file
@@ -0,0 +1,7 @@
+1
+
+1
+
+1
+
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --message="$((++number))" branch2
Auto-merging file
CONFLICT (content): Merge conflict in file
Automatic merge failed; fix conflicts and then commit the result.
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e '4\n\n2\n\n2\n\n1' >'./repo/file'; git -C './repo' add './file'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --no-edit
[branch1 ab78faf] 4
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --patch
* ab78faf - 2026-05-30 17:07 (1 second ago) 4 - Han Jiang (HEAD -> refs/heads/branch1)
|\
| * 8abae0d - 2026-05-30 17:07 (3 seconds ago) 3 - Han Jiang (refs/heads/branch2)
| |
| | diff --git a/file b/file
| | index 84ca93e..358639a 100644
| | --- a/file
| | +++ b/file
| | @@ -1,6 +1,6 @@
| | -1
| | +3
| |
| | -1
| | +2
| |
| | 1
| |
* | e7b29a3 - 2026-05-30 17:07 (4 seconds ago) 2 - Han Jiang
|/
|
| diff --git a/file b/file
| index 84ca93e..eafc5bc 100644
| --- a/file
| +++ b/file
| @@ -1,7 +1,7 @@
| -1
| +2
|
| 1
|
| -1
| +2
|
| 1
* 3c06871 - 2026-05-30 17:07 (5 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..84ca93e
--- /dev/null
+++ b/file
@@ -0,0 +1,7 @@
+1
+
+1
+
+1
+
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --patch --diff-merges=off
* ab78faf - 2026-05-30 17:07 (1 second ago) 4 - Han Jiang (HEAD -> refs/heads/branch1)
|\
| * 8abae0d - 2026-05-30 17:07 (3 seconds ago) 3 - Han Jiang (refs/heads/branch2)
| |
| | diff --git a/file b/file
| | index 84ca93e..358639a 100644
| | --- a/file
| | +++ b/file
| | @@ -1,6 +1,6 @@
| | -1
| | +3
| |
| | -1
| | +2
| |
| | 1
| |
* | e7b29a3 - 2026-05-30 17:07 (4 seconds ago) 2 - Han Jiang
|/
|
| diff --git a/file b/file
| index 84ca93e..eafc5bc 100644
| --- a/file
| +++ b/file
| @@ -1,7 +1,7 @@
| -1
| +2
|
| 1
|
| -1
| +2
|
| 1
* 3c06871 - 2026-05-30 17:07 (5 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..84ca93e
--- /dev/null
+++ b/file
@@ -0,0 +1,7 @@
+1
+
+1
+
+1
+
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --patch --diff-merges=first-parent
* ab78faf - 2026-05-30 17:07 (2 seconds ago) 4 - Han Jiang (HEAD -> refs/heads/branch1)
|\
| |
| | diff --git a/file b/file
| | index eafc5bc..c09337f 100644
| | --- a/file
| | +++ b/file
| | @@ -1,6 +1,6 @@
| | -2
| | +4
| |
| | -1
| | +2
| |
| | 2
| |
| * 8abae0d - 2026-05-30 17:07 (4 seconds ago) 3 - Han Jiang (refs/heads/branch2)
| |
| | diff --git a/file b/file
| | index 84ca93e..358639a 100644
| | --- a/file
| | +++ b/file
| | @@ -1,6 +1,6 @@
| | -1
| | +3
| |
| | -1
| | +2
| |
| | 1
| |
* | e7b29a3 - 2026-05-30 17:07 (5 seconds ago) 2 - Han Jiang
|/
|
| diff --git a/file b/file
| index 84ca93e..eafc5bc 100644
| --- a/file
| +++ b/file
| @@ -1,7 +1,7 @@
| -1
| +2
|
| 1
|
| -1
| +2
|
| 1
* 3c06871 - 2026-05-30 17:07 (6 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..84ca93e
--- /dev/null
+++ b/file
@@ -0,0 +1,7 @@
+1
+
+1
+
+1
+
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --patch --diff-merges=separate
* ab78faf - 2026-05-30 17:07 (2 seconds ago) 4 - Han Jiang (HEAD -> refs/heads/branch1)
|\
| |
| | diff --git a/file b/file
| | index eafc5bc..c09337f 100644
| | --- a/file
| | +++ b/file
| | @@ -1,6 +1,6 @@
| | -2
| | +4
| |
| | -1
| | +2
| |
| | 2
| |
| | ab78faf - 2026-05-30 17:07 (2 seconds ago) 4 - Han Jiang (HEAD -> refs/heads/branch1)
| |
| | diff --git a/file b/file
| | index 358639a..c09337f 100644
| | --- a/file
| | +++ b/file
| | @@ -1,7 +1,7 @@
| | -3
| | +4
| |
| | 2
| |
| | -1
| | +2
| |
| | 1
| * 8abae0d - 2026-05-30 17:07 (4 seconds ago) 3 - Han Jiang (refs/heads/branch2)
| |
| | diff --git a/file b/file
| | index 84ca93e..358639a 100644
| | --- a/file
| | +++ b/file
| | @@ -1,6 +1,6 @@
| | -1
| | +3
| |
| | -1
| | +2
| |
| | 1
| |
* | e7b29a3 - 2026-05-30 17:07 (5 seconds ago) 2 - Han Jiang
|/
|
| diff --git a/file b/file
| index 84ca93e..eafc5bc 100644
| --- a/file
| +++ b/file
| @@ -1,7 +1,7 @@
| -1
| +2
|
| 1
|
| -1
| +2
|
| 1
* 3c06871 - 2026-05-30 17:07 (6 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..84ca93e
--- /dev/null
+++ b/file
@@ -0,0 +1,7 @@
+1
+
+1
+
+1
+
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --patch --diff-merges=combined
* ab78faf - 2026-05-30 17:07 (2 seconds ago) 4 - Han Jiang (HEAD -> refs/heads/branch1)
|\
| |
| | diff --combined file
| | index eafc5bc,358639a..c09337f
| | --- a/file
| | +++ b/file
| | @@@ -1,7 -1,7 +1,7 @@@
| | - 2
| | -3
| | ++4
| |
| | - 1
| | + 2
| |
| | -1
| | +2
| |
| | 1
| * 8abae0d - 2026-05-30 17:07 (4 seconds ago) 3 - Han Jiang (refs/heads/branch2)
| |
| | diff --git a/file b/file
| | index 84ca93e..358639a 100644
| | --- a/file
| | +++ b/file
| | @@ -1,6 +1,6 @@
| | -1
| | +3
| |
| | -1
| | +2
| |
| | 1
| |
* | e7b29a3 - 2026-05-30 17:07 (6 seconds ago) 2 - Han Jiang
|/
|
| diff --git a/file b/file
| index 84ca93e..eafc5bc 100644
| --- a/file
| +++ b/file
| @@ -1,7 +1,7 @@
| -1
| +2
|
| 1
|
| -1
| +2
|
| 1
* 3c06871 - 2026-05-30 17:07 (7 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..84ca93e
--- /dev/null
+++ b/file
@@ -0,0 +1,7 @@
+1
+
+1
+
+1
+
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --patch --diff-merges=combined --combined-all-paths
* ab78faf - 2026-05-30 17:07 (3 seconds ago) 4 - Han Jiang (HEAD -> refs/heads/branch1)
|\
| |
| | diff --combined file
| | index eafc5bc,358639a..c09337f
| | --- a/file
| | --- a/file
| | +++ b/file
| | @@@ -1,7 -1,7 +1,7 @@@
| | - 2
| | -3
| | ++4
| |
| | - 1
| | + 2
| |
| | -1
| | +2
| |
| | 1
| * 8abae0d - 2026-05-30 17:07 (5 seconds ago) 3 - Han Jiang (refs/heads/branch2)
| |
| | diff --git a/file b/file
| | index 84ca93e..358639a 100644
| | --- a/file
| | +++ b/file
| | @@ -1,6 +1,6 @@
| | -1
| | +3
| |
| | -1
| | +2
| |
| | 1
| |
* | e7b29a3 - 2026-05-30 17:07 (6 seconds ago) 2 - Han Jiang
|/
|
| diff --git a/file b/file
| index 84ca93e..eafc5bc 100644
| --- a/file
| +++ b/file
| @@ -1,7 +1,7 @@
| -1
| +2
|
| 1
|
| -1
| +2
|
| 1
* 3c06871 - 2026-05-30 17:07 (7 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..84ca93e
--- /dev/null
+++ b/file
@@ -0,0 +1,7 @@
+1
+
+1
+
+1
+
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --patch --diff-merges=dense-combined
* ab78faf - 2026-05-30 17:07 (3 seconds ago) 4 - Han Jiang (HEAD -> refs/heads/branch1)
|\
| |
| | diff --cc file
| | index eafc5bc,358639a..c09337f
| | --- a/file
| | +++ b/file
| | @@@ -1,7 -1,7 +1,7 @@@
| | - 2
| | -3
| | ++4
| |
| | - 1
| | + 2
| |
| | -1
| | +2
| |
| | 1
| * 8abae0d - 2026-05-30 17:07 (5 seconds ago) 3 - Han Jiang (refs/heads/branch2)
| |
| | diff --git a/file b/file
| | index 84ca93e..358639a 100644
| | --- a/file
| | +++ b/file
| | @@ -1,6 +1,6 @@
| | -1
| | +3
| |
| | -1
| | +2
| |
| | 1
| |
* | e7b29a3 - 2026-05-30 17:07 (6 seconds ago) 2 - Han Jiang
|/
|
| diff --git a/file b/file
| index 84ca93e..eafc5bc 100644
| --- a/file
| +++ b/file
| @@ -1,7 +1,7 @@
| -1
| +2
|
| 1
|
| -1
| +2
|
| 1
* 3c06871 - 2026-05-30 17:07 (7 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..84ca93e
--- /dev/null
+++ b/file
@@ -0,0 +1,7 @@
+1
+
+1
+
+1
+
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --patch --diff-merges=dense-combined --unified=1
* ab78faf - 2026-05-30 17:07 (4 seconds ago) 4 - Han Jiang (HEAD -> refs/heads/branch1)
|\
| |
| | diff --cc file
| | index eafc5bc,358639a..c09337f
| | --- a/file
| | +++ b/file
| | @@@ -1,2 -1,2 +1,2 @@@
| | - 2
| | -3
| | ++4
| |
| * 8abae0d - 2026-05-30 17:07 (6 seconds ago) 3 - Han Jiang (refs/heads/branch2)
| |
| | diff --git a/file b/file
| | index 84ca93e..358639a 100644
| | --- a/file
| | +++ b/file
| | @@ -1,4 +1,4 @@
| | -1
| | +3
| |
| | -1
| | +2
| |
* | e7b29a3 - 2026-05-30 17:07 (7 seconds ago) 2 - Han Jiang
|/
|
| diff --git a/file b/file
| index 84ca93e..eafc5bc 100644
| --- a/file
| +++ b/file
| @@ -1,2 +1,2 @@
| -1
| +2
|
| @@ -4,3 +4,3 @@
|
| -1
| +2
|
* 3c06871 - 2026-05-30 17:07 (8 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..84ca93e
--- /dev/null
+++ b/file
@@ -0,0 +1,7 @@
+1
+
+1
+
+1
+
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --patch --diff-merges=dense-combined --unified=1 --combined-all-paths
* ab78faf - 2026-05-30 17:07 (4 seconds ago) 4 - Han Jiang (HEAD -> refs/heads/branch1)
|\
| |
| | diff --cc file
| | index eafc5bc,358639a..c09337f
| | --- a/file
| | --- a/file
| | +++ b/file
| | @@@ -1,2 -1,2 +1,2 @@@
| | - 2
| | -3
| | ++4
| |
| * 8abae0d - 2026-05-30 17:07 (6 seconds ago) 3 - Han Jiang (refs/heads/branch2)
| |
| | diff --git a/file b/file
| | index 84ca93e..358639a 100644
| | --- a/file
| | +++ b/file
| | @@ -1,4 +1,4 @@
| | -1
| | +3
| |
| | -1
| | +2
| |
* | e7b29a3 - 2026-05-30 17:07 (7 seconds ago) 2 - Han Jiang
|/
|
| diff --git a/file b/file
| index 84ca93e..eafc5bc 100644
| --- a/file
| +++ b/file
| @@ -1,2 +1,2 @@
| -1
| +2
|
| @@ -4,3 +4,3 @@
|
| -1
| +2
|
* 3c06871 - 2026-05-30 17:07 (8 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..84ca93e
--- /dev/null
+++ b/file
@@ -0,0 +1,7 @@
+1
+
+1
+
+1
+
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --patch --diff-merges=remerge
* ab78faf - 2026-05-30 17:07 (5 seconds ago) 4 - Han Jiang (HEAD -> refs/heads/branch1)
|\
| |
| | diff --git a/file b/file
| | remerge CONFLICT (content): Merge conflict in file
| | index f085967..c09337f 100644
| | --- a/file
| | +++ b/file
| | @@ -1,8 +1,4 @@
| | -<<<<<<< e7b29a3 (2)
| | -2
| | -=======
| | -3
| | ->>>>>>> 8abae0d (3)
| | +4
| |
| | 2
| |
| * 8abae0d - 2026-05-30 17:07 (7 seconds ago) 3 - Han Jiang (refs/heads/branch2)
| |
| | diff --git a/file b/file
| | index 84ca93e..358639a 100644
| | --- a/file
| | +++ b/file
| | @@ -1,6 +1,6 @@
| | -1
| | +3
| |
| | -1
| | +2
| |
| | 1
| |
* | e7b29a3 - 2026-05-30 17:07 (8 seconds ago) 2 - Han Jiang
|/
|
| diff --git a/file b/file
| index 84ca93e..eafc5bc 100644
| --- a/file
| +++ b/file
| @@ -1,7 +1,7 @@
| -1
| +2
|
| 1
|
| -1
| +2
|
| 1
* 3c06871 - 2026-05-30 17:07 (9 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..84ca93e
--- /dev/null
+++ b/file
@@ -0,0 +1,7 @@
+1
+
+1
+
+1
+
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) dae5e47] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch branch2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout -b branch1; echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))" --allow-empty
Switched to a new branch 'branch1'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch1 ca4dc11] 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch2; echo '2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
Switched to branch 'branch2'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch2 d1c8083] 3
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1
Switched to branch 'branch1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --patch
* ca4dc11 - 2026-05-30 17:07 (2 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/branch1)
* dae5e47 - 2026-05-30 17:07 (3 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --message="$((++number))" branch2
Merge made by the 'ort' strategy.
file | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --patch
* 63e003a - 2026-05-30 17:07 (1 second ago) 4 - Han Jiang (HEAD -> refs/heads/branch1)
|\
| * d1c8083 - 2026-05-30 17:07 (2 seconds ago) 3 - Han Jiang (refs/heads/branch2)
| |
| | diff --git a/file b/file
| | index d00491f..0cfbf08 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -1
| | +2
* | ca4dc11 - 2026-05-30 17:07 (3 seconds ago) 2 - Han Jiang
|/
* dae5e47 - 2026-05-30 17:07 (4 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --patch --diff-merges=off
* 63e003a - 2026-05-30 17:07 (1 second ago) 4 - Han Jiang (HEAD -> refs/heads/branch1)
|\
| * d1c8083 - 2026-05-30 17:07 (2 seconds ago) 3 - Han Jiang (refs/heads/branch2)
| |
| | diff --git a/file b/file
| | index d00491f..0cfbf08 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -1
| | +2
* | ca4dc11 - 2026-05-30 17:07 (3 seconds ago) 2 - Han Jiang
|/
* dae5e47 - 2026-05-30 17:07 (4 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --patch --diff-merges=first-parent
* 63e003a - 2026-05-30 17:07 (2 seconds ago) 4 - Han Jiang (HEAD -> refs/heads/branch1)
|\
| |
| | diff --git a/file b/file
| | index d00491f..0cfbf08 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -1
| | +2
| * d1c8083 - 2026-05-30 17:07 (3 seconds ago) 3 - Han Jiang (refs/heads/branch2)
| |
| | diff --git a/file b/file
| | index d00491f..0cfbf08 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -1
| | +2
* | ca4dc11 - 2026-05-30 17:07 (4 seconds ago) 2 - Han Jiang
|/
* dae5e47 - 2026-05-30 17:07 (5 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --patch --diff-merges=separate
* 63e003a - 2026-05-30 17:07 (2 seconds ago) 4 - Han Jiang (HEAD -> refs/heads/branch1)
|\
| |
| | diff --git a/file b/file
| | index d00491f..0cfbf08 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -1
| | +2
| * d1c8083 - 2026-05-30 17:07 (3 seconds ago) 3 - Han Jiang (refs/heads/branch2)
| |
| | diff --git a/file b/file
| | index d00491f..0cfbf08 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -1
| | +2
* | ca4dc11 - 2026-05-30 17:07 (4 seconds ago) 2 - Han Jiang
|/
* dae5e47 - 2026-05-30 17:07 (5 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --patch --diff-merges=combined
* 63e003a - 2026-05-30 17:07 (3 seconds ago) 4 - Han Jiang (HEAD -> refs/heads/branch1)
|\
| |
| * d1c8083 - 2026-05-30 17:07 (4 seconds ago) 3 - Han Jiang (refs/heads/branch2)
| |
| | diff --git a/file b/file
| | index d00491f..0cfbf08 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -1
| | +2
* | ca4dc11 - 2026-05-30 17:07 (5 seconds ago) 2 - Han Jiang
|/
* dae5e47 - 2026-05-30 17:07 (6 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --patch --diff-merges=combined --combined-all-paths
* 63e003a - 2026-05-30 17:07 (3 seconds ago) 4 - Han Jiang (HEAD -> refs/heads/branch1)
|\
| |
| * d1c8083 - 2026-05-30 17:07 (4 seconds ago) 3 - Han Jiang (refs/heads/branch2)
| |
| | diff --git a/file b/file
| | index d00491f..0cfbf08 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -1
| | +2
* | ca4dc11 - 2026-05-30 17:07 (5 seconds ago) 2 - Han Jiang
|/
* dae5e47 - 2026-05-30 17:07 (6 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --patch --diff-merges=dense-combined
* 63e003a - 2026-05-30 17:07 (4 seconds ago) 4 - Han Jiang (HEAD -> refs/heads/branch1)
|\
| |
| * d1c8083 - 2026-05-30 17:07 (5 seconds ago) 3 - Han Jiang (refs/heads/branch2)
| |
| | diff --git a/file b/file
| | index d00491f..0cfbf08 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -1
| | +2
* | ca4dc11 - 2026-05-30 17:07 (6 seconds ago) 2 - Han Jiang
|/
* dae5e47 - 2026-05-30 17:07 (7 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --patch --diff-merges=dense-combined --combined-all-paths
* 63e003a - 2026-05-30 17:07 (4 seconds ago) 4 - Han Jiang (HEAD -> refs/heads/branch1)
|\
| |
| * d1c8083 - 2026-05-30 17:07 (5 seconds ago) 3 - Han Jiang (refs/heads/branch2)
| |
| | diff --git a/file b/file
| | index d00491f..0cfbf08 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -1
| | +2
* | ca4dc11 - 2026-05-30 17:07 (6 seconds ago) 2 - Han Jiang
|/
* dae5e47 - 2026-05-30 17:07 (7 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --patch --diff-merges=remerge
* 63e003a - 2026-05-30 17:07 (5 seconds ago) 4 - Han Jiang (HEAD -> refs/heads/branch1)
|\
| * d1c8083 - 2026-05-30 17:07 (6 seconds ago) 3 - Han Jiang (refs/heads/branch2)
| |
| | diff --git a/file b/file
| | index d00491f..0cfbf08 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -1
| | +2
* | ca4dc11 - 2026-05-30 17:07 (7 seconds ago) 2 - Han Jiang
|/
* dae5e47 - 2026-05-30 17:07 (8 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 77d2504] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch branch2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout -b branch1; echo '2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
Switched to a new branch 'branch1'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch1 2e3b8c6] 2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch2; echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))" --allow-empty
Switched to branch 'branch2'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch2 0f637bc] 3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1
Switched to branch 'branch1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --patch
* 2e3b8c6 - 2026-05-30 17:07 (2 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/branch1)
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 77d2504 - 2026-05-30 17:07 (3 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --message="$((++number))" branch2
Merge made by the 'ort' strategy.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --patch
* 802f1e2 - 2026-05-30 17:07 (1 second ago) 4 - Han Jiang (HEAD -> refs/heads/branch1)
|\
| * 0f637bc - 2026-05-30 17:07 (2 seconds ago) 3 - Han Jiang (refs/heads/branch2)
* | 2e3b8c6 - 2026-05-30 17:07 (3 seconds ago) 2 - Han Jiang
|/
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 77d2504 - 2026-05-30 17:07 (4 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --patch --diff-merges=off
* 802f1e2 - 2026-05-30 17:07 (1 second ago) 4 - Han Jiang (HEAD -> refs/heads/branch1)
|\
| * 0f637bc - 2026-05-30 17:07 (2 seconds ago) 3 - Han Jiang (refs/heads/branch2)
* | 2e3b8c6 - 2026-05-30 17:07 (3 seconds ago) 2 - Han Jiang
|/
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 77d2504 - 2026-05-30 17:07 (4 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --patch --diff-merges=first-parent
* 802f1e2 - 2026-05-30 17:07 (1 second ago) 4 - Han Jiang (HEAD -> refs/heads/branch1)
|\
| * 0f637bc - 2026-05-30 17:07 (2 seconds ago) 3 - Han Jiang (refs/heads/branch2)
* | 2e3b8c6 - 2026-05-30 17:07 (3 seconds ago) 2 - Han Jiang
|/
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 77d2504 - 2026-05-30 17:07 (4 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --patch --diff-merges=separate
* 802f1e2 - 2026-05-30 17:07 (2 seconds ago) 4 - Han Jiang (HEAD -> refs/heads/branch1)
|\
| |
| | diff --git a/file b/file
| | index d00491f..0cfbf08 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -1
| | +2
| * 0f637bc - 2026-05-30 17:07 (3 seconds ago) 3 - Han Jiang (refs/heads/branch2)
* | 2e3b8c6 - 2026-05-30 17:07 (4 seconds ago) 2 - Han Jiang
|/
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 77d2504 - 2026-05-30 17:07 (5 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --patch --diff-merges=combined
* 802f1e2 - 2026-05-30 17:07 (2 seconds ago) 4 - Han Jiang (HEAD -> refs/heads/branch1)
|\
| |
| * 0f637bc - 2026-05-30 17:07 (3 seconds ago) 3 - Han Jiang (refs/heads/branch2)
* | 2e3b8c6 - 2026-05-30 17:07 (4 seconds ago) 2 - Han Jiang
|/
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 77d2504 - 2026-05-30 17:07 (5 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --patch --diff-merges=combined --combined-all-paths
* 802f1e2 - 2026-05-30 17:07 (3 seconds ago) 4 - Han Jiang (HEAD -> refs/heads/branch1)
|\
| |
| * 0f637bc - 2026-05-30 17:07 (4 seconds ago) 3 - Han Jiang (refs/heads/branch2)
* | 2e3b8c6 - 2026-05-30 17:07 (5 seconds ago) 2 - Han Jiang
|/
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 77d2504 - 2026-05-30 17:07 (6 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --patch --diff-merges=dense-combined
* 802f1e2 - 2026-05-30 17:07 (3 seconds ago) 4 - Han Jiang (HEAD -> refs/heads/branch1)
|\
| |
| * 0f637bc - 2026-05-30 17:07 (4 seconds ago) 3 - Han Jiang (refs/heads/branch2)
* | 2e3b8c6 - 2026-05-30 17:07 (5 seconds ago) 2 - Han Jiang
|/
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 77d2504 - 2026-05-30 17:07 (6 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --patch --diff-merges=dense-combined --combined-all-paths
* 802f1e2 - 2026-05-30 17:07 (4 seconds ago) 4 - Han Jiang (HEAD -> refs/heads/branch1)
|\
| |
| * 0f637bc - 2026-05-30 17:07 (5 seconds ago) 3 - Han Jiang (refs/heads/branch2)
* | 2e3b8c6 - 2026-05-30 17:07 (6 seconds ago) 2 - Han Jiang
|/
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 77d2504 - 2026-05-30 17:07 (7 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --patch --diff-merges=remerge
* 802f1e2 - 2026-05-30 17:07 (4 seconds ago) 4 - Han Jiang (HEAD -> refs/heads/branch1)
|\
| * 0f637bc - 2026-05-30 17:07 (5 seconds ago) 3 - Han Jiang (refs/heads/branch2)
* | 2e3b8c6 - 2026-05-30 17:07 (6 seconds ago) 2 - Han Jiang
|/
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 77d2504 - 2026-05-30 17:07 (7 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"; git -C './repo' branch branch2
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) dbb9ce7] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout -b branch1; echo '2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
Switched to a new branch 'branch1'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch1 bebeada] 2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch2; echo '3' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
Switched to branch 'branch2'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch2 24f31d7] 3
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1
Switched to branch 'branch1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* bebeada - 2026-05-30 17:08 (1 second ago) 2 - Han Jiang (HEAD -> refs/heads/branch1)
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
| * 24f31d7 - 2026-05-30 17:08 (1 second ago) 3 - Han Jiang (refs/heads/branch2)
|/
|
| diff --git a/file b/file
| index d00491f..00750ed 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +3
* dbb9ce7 - 2026-05-30 17:08 (2 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --message="$((++number))" branch2
Auto-merging file
CONFLICT (content): Merge conflict in file
Automatic merge failed; fix conflicts and then commit the result.
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* bebeada - 2026-05-30 17:08 (2 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/branch1)
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
| * 24f31d7 - 2026-05-30 17:08 (2 seconds ago) 3 - Han Jiang (refs/heads/branch2)
|/
|
| diff --git a/file b/file
| index d00491f..00750ed 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +3
* dbb9ce7 - 2026-05-30 17:08 (3 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 d00491fd7e5bb6fa28c517a0bb32b8b506539d4d 1 file
100644 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f 2 file
100644 00750edc07d6415dcc07ae0351e9397b0222b7ba 3 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch branch1
You have unmerged paths.
(fix conflicts and run "git commit")
(use "git merge --abort" to abort the merge)
Unmerged paths:
(use "git add <file>..." to mark resolution)
both modified: file
* Unmerged path file
no changes added to commit (use "git add" and/or "git commit -a")
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show :1:file
1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show :2:file
2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show :3:file
3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show "$(git -C './repo' merge-base MERGE_HEAD HEAD)":file
1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show HEAD:file
2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show MERGE_HEAD:file
3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show AUTO_MERGE:file
<<<<<<< HEAD
2
=======
3
>>>>>>> branch2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff
diff --cc file
index 0cfbf08,00750ed..0000000
--- a/file
+++ b/file
@@@ -1,1 -1,1 +1,5 @@@
++<<<<<<< HEAD
+2
++=======
+ 3
++>>>>>>> branch2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --base
* Unmerged path file
diff --git a/file b/file
index d00491f..79f797c 100644
--- a/file
+++ b/file
@@ -1 +1,5 @@
-1
+<<<<<<< HEAD
+2
+=======
+3
+>>>>>>> branch2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff "$(git -C './repo' merge-base MERGE_HEAD HEAD)"
diff --git a/file b/file
index d00491f..79f797c 100644
--- a/file
+++ b/file
@@ -1 +1,5 @@
-1
+<<<<<<< HEAD
+2
+=======
+3
+>>>>>>> branch2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --ours
* Unmerged path file
diff --git a/file b/file
index 0cfbf08..79f797c 100644
--- a/file
+++ b/file
@@ -1 +1,5 @@
+<<<<<<< HEAD
2
+=======
+3
+>>>>>>> branch2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff HEAD
diff --git a/file b/file
index 0cfbf08..79f797c 100644
--- a/file
+++ b/file
@@ -1 +1,5 @@
+<<<<<<< HEAD
2
+=======
+3
+>>>>>>> branch2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --theirs
* Unmerged path file
diff --git a/file b/file
index 00750ed..79f797c 100644
--- a/file
+++ b/file
@@ -1 +1,5 @@
+<<<<<<< HEAD
+2
+=======
3
+>>>>>>> branch2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff MERGE_HEAD
diff --git a/file b/file
index 00750ed..79f797c 100644
--- a/file
+++ b/file
@@ -1 +1,5 @@
+<<<<<<< HEAD
+2
+=======
3
+>>>>>>> branch2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff AUTO_MERGE
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --abort
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* bebeada - 2026-05-30 17:08 (12 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/branch1)
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
| * 24f31d7 - 2026-05-30 17:08 (12 seconds ago) 3 - Han Jiang (refs/heads/branch2)
|/
|
| diff --git a/file b/file
| index d00491f..00750ed 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +3
* dbb9ce7 - 2026-05-30 17:08 (13 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f 0 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch branch1
nothing to commit, working tree clean
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"; git -C './repo' branch branch2
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 0fe45fb] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout -b branch1; echo '2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
Switched to a new branch 'branch1'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch1 b048f81] 2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch2; echo '3' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
Switched to branch 'branch2'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch2 c7fda16] 3
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1
Switched to branch 'branch1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* c7fda16 - 2026-05-30 17:08 (1 second ago) 3 - Han Jiang (refs/heads/branch2)
|
| diff --git a/file b/file
| index d00491f..00750ed 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +3
| * b048f81 - 2026-05-30 17:08 (2 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/branch1)
|/
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 0fe45fb - 2026-05-30 17:08 (3 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --message="$((++number))" branch2
Auto-merging file
CONFLICT (content): Merge conflict in file
Automatic merge failed; fix conflicts and then commit the result.
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* c7fda16 - 2026-05-30 17:08 (2 seconds ago) 3 - Han Jiang (refs/heads/branch2)
|
| diff --git a/file b/file
| index d00491f..00750ed 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +3
| * b048f81 - 2026-05-30 17:08 (3 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/branch1)
|/
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 0fe45fb - 2026-05-30 17:08 (4 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 d00491fd7e5bb6fa28c517a0bb32b8b506539d4d 1 file
100644 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f 2 file
100644 00750edc07d6415dcc07ae0351e9397b0222b7ba 3 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch branch1
You have unmerged paths.
(fix conflicts and run "git commit")
(use "git merge --abort" to abort the merge)
Unmerged paths:
(use "git add <file>..." to mark resolution)
both modified: file
* Unmerged path file
no changes added to commit (use "git add" and/or "git commit -a")
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show :1:file
1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show :2:file
2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show :3:file
3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show "$(git -C './repo' merge-base MERGE_HEAD HEAD)":file
1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show HEAD:file
2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show MERGE_HEAD:file
3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show AUTO_MERGE:file
<<<<<<< HEAD
2
=======
3
>>>>>>> branch2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff
diff --cc file
index 0cfbf08,00750ed..0000000
--- a/file
+++ b/file
@@@ -1,1 -1,1 +1,5 @@@
++<<<<<<< HEAD
+2
++=======
+ 3
++>>>>>>> branch2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --base
* Unmerged path file
diff --git a/file b/file
index d00491f..79f797c 100644
--- a/file
+++ b/file
@@ -1 +1,5 @@
-1
+<<<<<<< HEAD
+2
+=======
+3
+>>>>>>> branch2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff "$(git -C './repo' merge-base MERGE_HEAD HEAD)"
diff --git a/file b/file
index d00491f..79f797c 100644
--- a/file
+++ b/file
@@ -1 +1,5 @@
-1
+<<<<<<< HEAD
+2
+=======
+3
+>>>>>>> branch2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --ours
* Unmerged path file
diff --git a/file b/file
index 0cfbf08..79f797c 100644
--- a/file
+++ b/file
@@ -1 +1,5 @@
+<<<<<<< HEAD
2
+=======
+3
+>>>>>>> branch2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff HEAD
diff --git a/file b/file
index 0cfbf08..79f797c 100644
--- a/file
+++ b/file
@@ -1 +1,5 @@
+<<<<<<< HEAD
2
+=======
+3
+>>>>>>> branch2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --theirs
* Unmerged path file
diff --git a/file b/file
index 00750ed..79f797c 100644
--- a/file
+++ b/file
@@ -1 +1,5 @@
+<<<<<<< HEAD
+2
+=======
3
+>>>>>>> branch2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff MERGE_HEAD
diff --git a/file b/file
index 00750ed..79f797c 100644
--- a/file
+++ b/file
@@ -1 +1,5 @@
+<<<<<<< HEAD
+2
+=======
3
+>>>>>>> branch2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff AUTO_MERGE
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --quit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* c7fda16 - 2026-05-30 17:08 (11 seconds ago) 3 - Han Jiang (refs/heads/branch2)
|
| diff --git a/file b/file
| index d00491f..00750ed 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +3
| * b048f81 - 2026-05-30 17:08 (12 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/branch1)
|/
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 0fe45fb - 2026-05-30 17:08 (13 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 d00491fd7e5bb6fa28c517a0bb32b8b506539d4d 1 file
100644 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f 2 file
100644 00750edc07d6415dcc07ae0351e9397b0222b7ba 3 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch branch1
Unmerged paths:
(use "git restore --staged <file>..." to unstage)
(use "git add <file>..." to mark resolution)
both modified: file
* Unmerged path file
no changes added to commit (use "git add" and/or "git commit -a")
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show :1:file
1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show :2:file
2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show :3:file
3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show "$(git -C './repo' merge-base MERGE_HEAD HEAD)":file
fatal: Not a valid object name MERGE_HEAD
fatal: path 'file' is in the index, but not at stage 0
hint: Did you mean ':1:file'?
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show HEAD:file
2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show MERGE_HEAD:file
fatal: invalid object name 'MERGE_HEAD'.
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show AUTO_MERGE:file
fatal: invalid object name 'AUTO_MERGE'.
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"; git -C './repo' branch branch2
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) f70d388] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout -b branch1; echo '2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
Switched to a new branch 'branch1'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch1 92b89c0] 2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch2; echo '3' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
Switched to branch 'branch2'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch2 7dbf769] 3
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1
Switched to branch 'branch1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* 7dbf769 - 2026-05-30 17:08 (1 second ago) 3 - Han Jiang (refs/heads/branch2)
|
| diff --git a/file b/file
| index d00491f..00750ed 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +3
| * 92b89c0 - 2026-05-30 17:08 (2 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/branch1)
|/
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* f70d388 - 2026-05-30 17:08 (3 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --message="$((++number))" branch2
Auto-merging file
CONFLICT (content): Merge conflict in file
Automatic merge failed; fix conflicts and then commit the result.
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* 7dbf769 - 2026-05-30 17:08 (2 seconds ago) 3 - Han Jiang (refs/heads/branch2)
|
| diff --git a/file b/file
| index d00491f..00750ed 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +3
| * 92b89c0 - 2026-05-30 17:08 (3 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/branch1)
|/
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* f70d388 - 2026-05-30 17:08 (4 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 d00491fd7e5bb6fa28c517a0bb32b8b506539d4d 1 file
100644 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f 2 file
100644 00750edc07d6415dcc07ae0351e9397b0222b7ba 3 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch branch1
You have unmerged paths.
(fix conflicts and run "git commit")
(use "git merge --abort" to abort the merge)
Unmerged paths:
(use "git add <file>..." to mark resolution)
both modified: file
* Unmerged path file
no changes added to commit (use "git add" and/or "git commit -a")
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show :1:file
1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show :2:file
2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show :3:file
3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show "$(git -C './repo' merge-base MERGE_HEAD HEAD)":file
1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show HEAD:file
2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show MERGE_HEAD:file
3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show AUTO_MERGE:file
<<<<<<< HEAD
2
=======
3
>>>>>>> branch2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff
diff --cc file
index 0cfbf08,00750ed..0000000
--- a/file
+++ b/file
@@@ -1,1 -1,1 +1,5 @@@
++<<<<<<< HEAD
+2
++=======
+ 3
++>>>>>>> branch2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --base
* Unmerged path file
diff --git a/file b/file
index d00491f..79f797c 100644
--- a/file
+++ b/file
@@ -1 +1,5 @@
-1
+<<<<<<< HEAD
+2
+=======
+3
+>>>>>>> branch2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff "$(git -C './repo' merge-base MERGE_HEAD HEAD)"
diff --git a/file b/file
index d00491f..79f797c 100644
--- a/file
+++ b/file
@@ -1 +1,5 @@
-1
+<<<<<<< HEAD
+2
+=======
+3
+>>>>>>> branch2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --ours
* Unmerged path file
diff --git a/file b/file
index 0cfbf08..79f797c 100644
--- a/file
+++ b/file
@@ -1 +1,5 @@
+<<<<<<< HEAD
2
+=======
+3
+>>>>>>> branch2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff HEAD
diff --git a/file b/file
index 0cfbf08..79f797c 100644
--- a/file
+++ b/file
@@ -1 +1,5 @@
+<<<<<<< HEAD
2
+=======
+3
+>>>>>>> branch2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --theirs
* Unmerged path file
diff --git a/file b/file
index 00750ed..79f797c 100644
--- a/file
+++ b/file
@@ -1 +1,5 @@
+<<<<<<< HEAD
+2
+=======
3
+>>>>>>> branch2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff MERGE_HEAD
diff --git a/file b/file
index 00750ed..79f797c 100644
--- a/file
+++ b/file
@@ -1 +1,5 @@
+<<<<<<< HEAD
+2
+=======
3
+>>>>>>> branch2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff AUTO_MERGE
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '4' >'./repo/file'; git -C './repo' add './file'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' -c 'core.editor=:' merge --continue
[branch1 2eae8cc] 4
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch --diff-merges=separate
* 2eae8cc - 2026-05-30 17:08 (1 second ago) 4 - Han Jiang (HEAD -> refs/heads/branch1)
|\
| |
| | diff --git a/file b/file
| | index 0cfbf08..b8626c4 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -2
| | +4
| | 2eae8cc - 2026-05-30 17:08 (1 second ago) 4 - Han Jiang (HEAD -> refs/heads/branch1)
| |
| | diff --git a/file b/file
| | index 00750ed..b8626c4 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -3
| | +4
| * 7dbf769 - 2026-05-30 17:08 (12 seconds ago) 3 - Han Jiang (refs/heads/branch2)
| |
| | diff --git a/file b/file
| | index d00491f..00750ed 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -1
| | +3
* | 92b89c0 - 2026-05-30 17:08 (13 seconds ago) 2 - Han Jiang
|/
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* f70d388 - 2026-05-30 17:08 (14 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 b8626c4cff2849624fb67f87cd0ad72b163671ad 0 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch branch1
nothing to commit, working tree clean
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"; git -C './repo' branch branch2
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 33871f3] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout -b branch1; echo '2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
Switched to a new branch 'branch1'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch1 facecd8] 2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch2; echo '3' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
Switched to branch 'branch2'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch2 e5cb098] 3
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1
Switched to branch 'branch1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* e5cb098 - 2026-05-30 17:09 (1 second ago) 3 - Han Jiang (refs/heads/branch2)
|
| diff --git a/file b/file
| index d00491f..00750ed 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +3
| * facecd8 - 2026-05-30 17:09 (2 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/branch1)
|/
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 33871f3 - 2026-05-30 17:09 (2 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --message="$((++number))" branch2
Auto-merging file
CONFLICT (content): Merge conflict in file
Automatic merge failed; fix conflicts and then commit the result.
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* e5cb098 - 2026-05-30 17:09 (2 seconds ago) 3 - Han Jiang (refs/heads/branch2)
|
| diff --git a/file b/file
| index d00491f..00750ed 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +3
| * facecd8 - 2026-05-30 17:09 (3 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/branch1)
|/
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 33871f3 - 2026-05-30 17:09 (3 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 d00491fd7e5bb6fa28c517a0bb32b8b506539d4d 1 file
100644 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f 2 file
100644 00750edc07d6415dcc07ae0351e9397b0222b7ba 3 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch branch1
You have unmerged paths.
(fix conflicts and run "git commit")
(use "git merge --abort" to abort the merge)
Unmerged paths:
(use "git add <file>..." to mark resolution)
both modified: file
* Unmerged path file
no changes added to commit (use "git add" and/or "git commit -a")
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show :1:file
1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show :2:file
2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show :3:file
3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show "$(git -C './repo' merge-base MERGE_HEAD HEAD)":file
1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show HEAD:file
2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show MERGE_HEAD:file
3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show AUTO_MERGE:file
<<<<<<< HEAD
2
=======
3
>>>>>>> branch2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff
diff --cc file
index 0cfbf08,00750ed..0000000
--- a/file
+++ b/file
@@@ -1,1 -1,1 +1,5 @@@
++<<<<<<< HEAD
+2
++=======
+ 3
++>>>>>>> branch2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --base
* Unmerged path file
diff --git a/file b/file
index d00491f..79f797c 100644
--- a/file
+++ b/file
@@ -1 +1,5 @@
-1
+<<<<<<< HEAD
+2
+=======
+3
+>>>>>>> branch2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff "$(git -C './repo' merge-base MERGE_HEAD HEAD)"
diff --git a/file b/file
index d00491f..79f797c 100644
--- a/file
+++ b/file
@@ -1 +1,5 @@
-1
+<<<<<<< HEAD
+2
+=======
+3
+>>>>>>> branch2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --ours
* Unmerged path file
diff --git a/file b/file
index 0cfbf08..79f797c 100644
--- a/file
+++ b/file
@@ -1 +1,5 @@
+<<<<<<< HEAD
2
+=======
+3
+>>>>>>> branch2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff HEAD
diff --git a/file b/file
index 0cfbf08..79f797c 100644
--- a/file
+++ b/file
@@ -1 +1,5 @@
+<<<<<<< HEAD
2
+=======
+3
+>>>>>>> branch2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --theirs
* Unmerged path file
diff --git a/file b/file
index 00750ed..79f797c 100644
--- a/file
+++ b/file
@@ -1 +1,5 @@
+<<<<<<< HEAD
+2
+=======
3
+>>>>>>> branch2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff MERGE_HEAD
diff --git a/file b/file
index 00750ed..79f797c 100644
--- a/file
+++ b/file
@@ -1 +1,5 @@
+<<<<<<< HEAD
+2
+=======
3
+>>>>>>> branch2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff AUTO_MERGE
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '4' >'./repo/file'; git -C './repo' add './file'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --no-edit
[branch1 79175c2] 4
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch --diff-merges=separate
* 79175c2 - 2026-05-30 17:09 (0 seconds ago) 4 - Han Jiang (HEAD -> refs/heads/branch1)
|\
| |
| | diff --git a/file b/file
| | index 0cfbf08..b8626c4 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -2
| | +4
| | 79175c2 - 2026-05-30 17:09 (0 seconds ago) 4 - Han Jiang (HEAD -> refs/heads/branch1)
| |
| | diff --git a/file b/file
| | index 00750ed..b8626c4 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -3
| | +4
| * e5cb098 - 2026-05-30 17:09 (12 seconds ago) 3 - Han Jiang (refs/heads/branch2)
| |
| | diff --git a/file b/file
| | index d00491f..00750ed 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -1
| | +3
* | facecd8 - 2026-05-30 17:09 (13 seconds ago) 2 - Han Jiang
|/
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 33871f3 - 2026-05-30 17:09 (13 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 b8626c4cff2849624fb67f87cd0ad72b163671ad 0 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch branch1
nothing to commit, working tree clean
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"; git -C './repo' branch branch2
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 16d4f66] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout -b branch1; echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))" --allow-empty
Switched to a new branch 'branch1'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch1 bbfc6e2] 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch2; echo '2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
Switched to branch 'branch2'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch2 455aced] 3
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1
Switched to branch 'branch1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* 455aced - 2026-05-30 17:09 (1 second ago) 3 - Han Jiang (refs/heads/branch2)
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
| * bbfc6e2 - 2026-05-30 17:09 (2 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/branch1)
|/
* 16d4f66 - 2026-05-30 17:09 (3 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --message="$((++number))" branch2
Merge made by the 'ort' strategy.
file | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch --diff-merges=separate
* 6d28310 - 2026-05-30 17:09 (1 second ago) 4 - Han Jiang (HEAD -> refs/heads/branch1)
|\
| |
| | diff --git a/file b/file
| | index d00491f..0cfbf08 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -1
| | +2
| * 455aced - 2026-05-30 17:09 (2 seconds ago) 3 - Han Jiang (refs/heads/branch2)
| |
| | diff --git a/file b/file
| | index d00491f..0cfbf08 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -1
| | +2
* | bbfc6e2 - 2026-05-30 17:09 (3 seconds ago) 2 - Han Jiang
|/
* 16d4f66 - 2026-05-30 17:09 (4 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch branch1
nothing to commit, working tree clean
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ branch_default_name="$(git -C './repo' branch --show-current)"; echo "$branch_default_name"
master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"; git -C './repo' branch branch1
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 5d48cf0] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master 84d588b] 2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1
Switched to branch 'branch1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* 84d588b - 2026-05-30 17:09 (1 second ago) 2 - Han Jiang (refs/heads/master)
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 5d48cf0 - 2026-05-30 17:09 (1 second ago) 1 - Han Jiang (HEAD -> refs/heads/branch1)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --message="$((++number))" "$branch_default_name"
Updating 5d48cf0..84d588b
Fast-forward (no commit created; -m option ignored)
file | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* 84d588b - 2026-05-30 17:09 (2 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/branch1, refs/heads/master)
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 5d48cf0 - 2026-05-30 17:09 (2 seconds ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch branch1
nothing to commit, working tree clean
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"; git -C './repo' branch branch1
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 29e9bf9] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master 27a3216] 2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* 27a3216 - 2026-05-30 17:09 (1 second ago) 2 - Han Jiang (HEAD -> refs/heads/master)
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 29e9bf9 - 2026-05-30 17:09 (1 second ago) 1 - Han Jiang (refs/heads/branch1)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --message="$((++number))" branch1
Already up to date.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* 27a3216 - 2026-05-30 17:09 (2 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 29e9bf9 - 2026-05-30 17:09 (2 seconds ago) 1 - Han Jiang (refs/heads/branch1)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
nothing to commit, working tree clean
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty; git -C './repo' branch branch2
[master (root-commit) 8f4f26d] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout -b branch1; git -C './repo' commit --message="$((++number))" --allow-empty
Switched to a new branch 'branch1'
[branch1 4db49b2] 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch2; git -C './repo' commit --message="$((++number))" --allow-empty
Switched to branch 'branch2'
[branch2 50f7135] 3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1
Switched to branch 'branch1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 50f7135 - 2026-05-30 17:10 (1 second ago) 3 - Han Jiang (refs/heads/branch2)
| * 4db49b2 - 2026-05-30 17:10 (2 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/branch1)
|/
* 8f4f26d - 2026-05-30 17:10 (2 seconds ago) 1 - Han Jiang (refs/heads/master)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --message="$((++number))" --ff-only branch2
hint: Diverging branches can't be fast-forwarded, you need to either:
hint:
hint: git merge --no-ff
hint:
hint: or:
hint:
hint: git rebase
hint:
hint: Disable this message with "git config set advice.diverging false"
fatal: Not possible to fast-forward, aborting.
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 50f7135 - 2026-05-30 17:10 (2 seconds ago) 3 - Han Jiang (refs/heads/branch2)
| * 4db49b2 - 2026-05-30 17:10 (3 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/branch1)
|/
* 8f4f26d - 2026-05-30 17:10 (3 seconds ago) 1 - Han Jiang (refs/heads/master)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ branch_default_name="$(git -C './repo' branch --show-current)"; echo "$branch_default_name"
master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty; git -C './repo' branch branch1
[master (root-commit) ab5c98a] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master b25b7e8] 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1
Switched to branch 'branch1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* b25b7e8 - 2026-05-30 17:10 (1 second ago) 2 - Han Jiang (refs/heads/master)
* ab5c98a - 2026-05-30 17:10 (2 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/branch1)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --message="$((++number))" --ff-only "$branch_default_name"
Updating ab5c98a..b25b7e8
Fast-forward (no commit created; -m option ignored)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* b25b7e8 - 2026-05-30 17:10 (2 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/branch1, refs/heads/master)
* ab5c98a - 2026-05-30 17:10 (3 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty; git -C './repo' branch branch1
[master (root-commit) 98d0367] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master 8d7cb17] 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 8d7cb17 - 2026-05-30 17:10 (0 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
* 98d0367 - 2026-05-30 17:10 (1 second ago) 1 - Han Jiang (refs/heads/branch1)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --message="$((++number))" --ff-only branch1
Already up to date.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 8d7cb17 - 2026-05-30 17:10 (1 second ago) 2 - Han Jiang (HEAD -> refs/heads/master)
* 98d0367 - 2026-05-30 17:10 (2 seconds ago) 1 - Han Jiang (refs/heads/branch1)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty; git -C './repo' branch branch2
[master (root-commit) b400aaf] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout -b branch1; git -C './repo' commit --message="$((++number))" --allow-empty
Switched to a new branch 'branch1'
[branch1 992602c] 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch2; git -C './repo' commit --message="$((++number))" --allow-empty
Switched to branch 'branch2'
[branch2 be01916] 3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1
Switched to branch 'branch1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 992602c - 2026-05-30 17:10 (1 second ago) 2 - Han Jiang (HEAD -> refs/heads/branch1)
| * be01916 - 2026-05-30 17:10 (1 second ago) 3 - Han Jiang (refs/heads/branch2)
|/
* b400aaf - 2026-05-30 17:10 (2 seconds ago) 1 - Han Jiang (refs/heads/master)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --message="$((++number))" --no-ff branch2
Merge made by the 'ort' strategy.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 50488c2 - 2026-05-30 17:10 (0 seconds ago) 4 - Han Jiang (HEAD -> refs/heads/branch1)
|\
| * be01916 - 2026-05-30 17:10 (2 seconds ago) 3 - Han Jiang (refs/heads/branch2)
* | 992602c - 2026-05-30 17:10 (2 seconds ago) 2 - Han Jiang
|/
* b400aaf - 2026-05-30 17:10 (3 seconds ago) 1 - Han Jiang (refs/heads/master)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ branch_default_name="$(git -C './repo' branch --show-current)"; echo "$branch_default_name"
master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty; git -C './repo' branch branch1
[master (root-commit) 6fd485c] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master fb1fa21] 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1
Switched to branch 'branch1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* fb1fa21 - 2026-05-30 17:10 (1 second ago) 2 - Han Jiang (refs/heads/master)
* 6fd485c - 2026-05-30 17:10 (1 second ago) 1 - Han Jiang (HEAD -> refs/heads/branch1)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --message="$((++number))" --no-ff "$branch_default_name"
Merge made by the 'ort' strategy.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 6b7b8b6 - 2026-05-30 17:10 (0 seconds ago) 3 - Han Jiang (HEAD -> refs/heads/branch1)
|\
| * fb1fa21 - 2026-05-30 17:10 (2 seconds ago) 2 - Han Jiang (refs/heads/master)
|/
* 6fd485c - 2026-05-30 17:10 (2 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty; git -C './repo' branch branch1
[master (root-commit) 1a5e8d5] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master 95c0937] 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 95c0937 - 2026-05-30 17:10 (1 second ago) 2 - Han Jiang (HEAD -> refs/heads/master)
* 1a5e8d5 - 2026-05-30 17:10 (1 second ago) 1 - Han Jiang (refs/heads/branch1)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --message="$((++number))" --no-ff branch1
Already up to date.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 95c0937 - 2026-05-30 17:10 (2 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
* 1a5e8d5 - 2026-05-30 17:10 (2 seconds ago) 1 - Han Jiang (refs/heads/branch1)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty; git -C './repo' branch branch2
[master (root-commit) 5ec34ef] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout -b branch1; git -C './repo' commit --message="$((++number))" --allow-empty
Switched to a new branch 'branch1'
[branch1 d4a4a5e] 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch2; git -C './repo' commit --message="$((++number))" --allow-empty
Switched to branch 'branch2'
[branch2 80a9bd1] 3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1
Switched to branch 'branch1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* d4a4a5e - 2026-05-30 17:10 (1 second ago) 2 - Han Jiang (HEAD -> refs/heads/branch1)
| * 80a9bd1 - 2026-05-30 17:10 (1 second ago) 3 - Han Jiang (refs/heads/branch2)
|/
* 5ec34ef - 2026-05-30 17:10 (2 seconds ago) 1 - Han Jiang (refs/heads/master)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --message="$((++number))" --ff branch2
Merge made by the 'ort' strategy.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 711c5aa - 2026-05-30 17:10 (0 seconds ago) 4 - Han Jiang (HEAD -> refs/heads/branch1)
|\
| * 80a9bd1 - 2026-05-30 17:10 (2 seconds ago) 3 - Han Jiang (refs/heads/branch2)
* | d4a4a5e - 2026-05-30 17:10 (2 seconds ago) 2 - Han Jiang
|/
* 5ec34ef - 2026-05-30 17:10 (3 seconds ago) 1 - Han Jiang (refs/heads/master)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ branch_default_name="$(git -C './repo' branch --show-current)"; echo "$branch_default_name"
master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty; git -C './repo' branch branch1
[master (root-commit) f8d1467] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master 5c2a965] 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1
Switched to branch 'branch1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 5c2a965 - 2026-05-30 17:10 (1 second ago) 2 - Han Jiang (refs/heads/master)
* f8d1467 - 2026-05-30 17:10 (1 second ago) 1 - Han Jiang (HEAD -> refs/heads/branch1)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --message="$((++number))" --ff "$branch_default_name"
Updating f8d1467..5c2a965
Fast-forward (no commit created; -m option ignored)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 5c2a965 - 2026-05-30 17:10 (2 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/branch1, refs/heads/master)
* f8d1467 - 2026-05-30 17:10 (2 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty; git -C './repo' branch branch1
[master (root-commit) 9fe69a3] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master 0b6fd83] 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 0b6fd83 - 2026-05-30 17:11 (0 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
* 9fe69a3 - 2026-05-30 17:11 (1 second ago) 1 - Han Jiang (refs/heads/branch1)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --message="$((++number))" --ff branch1
Already up to date.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 0b6fd83 - 2026-05-30 17:11 (1 second ago) 2 - Han Jiang (HEAD -> refs/heads/master)
* 9fe69a3 - 2026-05-30 17:11 (2 seconds ago) 1 - Han Jiang (refs/heads/branch1)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file_conflict'; git -C './repo' add './file_conflict'; git -C './repo' commit --message="$((++number))"; git -C './repo' branch branch2
warning: in the working copy of 'file_conflict', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 925181a] 1
1 file changed, 1 insertion(+)
create mode 100644 file_conflict
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout -b branch1; echo 'file' >'./repo/.gitignore'; git -C './repo' add './.gitignore'; echo '2' >'./repo/file_conflict'; git -C './repo' add './file_conflict'; git -C './repo' commit --message="$((++number))"
Switched to a new branch 'branch1'
warning: in the working copy of '.gitignore', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file_conflict', LF will be replaced by CRLF the next time Git touches it
[branch1 616297b] 2
2 files changed, 2 insertions(+), 1 deletion(-)
create mode 100644 .gitignore
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch2; echo '1' >'./repo/file'; git -C './repo' add './file'; echo '3' >'./repo/file_conflict'; git -C './repo' add './file_conflict'; git -C './repo' commit --message="$((++number))"
Switched to branch 'branch2'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file_conflict', LF will be replaced by CRLF the next time Git touches it
[branch2 4ffccce] 3
2 files changed, 2 insertions(+), 1 deletion(-)
create mode 100644 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1
Switched to branch 'branch1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./repo/file';
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* 4ffccce - 2026-05-30 17:11 (2 seconds ago) 3 - Han Jiang (refs/heads/branch2)
|
| diff --git a/file b/file
| new file mode 100644
| index 0000000..d00491f
| --- /dev/null
| +++ b/file
| @@ -0,0 +1 @@
| +1
| diff --git a/file_conflict b/file_conflict
| index d00491f..00750ed 100644
| --- a/file_conflict
| +++ b/file_conflict
| @@ -1 +1 @@
| -1
| +3
| * 616297b - 2026-05-30 17:11 (3 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/branch1)
|/
|
| diff --git a/.gitignore b/.gitignore
| new file mode 100644
| index 0000000..f73f309
| --- /dev/null
| +++ b/.gitignore
| @@ -0,0 +1 @@
| +file
| diff --git a/file_conflict b/file_conflict
| index d00491f..0cfbf08 100644
| --- a/file_conflict
| +++ b/file_conflict
| @@ -1 +1 @@
| -1
| +2
* 925181a - 2026-05-30 17:11 (4 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file_conflict b/file_conflict
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file_conflict
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch branch1
nothing to commit, working tree clean
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './repo/file'
./repo/file -/0o100/regular file rw-r--r--/0o644
1 2\n
2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --message="$((++number))" --no-overwrite-ignore branch2
Auto-merging file_conflict
CONFLICT (content): Merge conflict in file_conflict
Automatic merge failed; fix conflicts and then commit the result.
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* 4ffccce - 2026-05-30 17:11 (4 seconds ago) 3 - Han Jiang (refs/heads/branch2)
|
| diff --git a/file b/file
| new file mode 100644
| index 0000000..d00491f
| --- /dev/null
| +++ b/file
| @@ -0,0 +1 @@
| +1
| diff --git a/file_conflict b/file_conflict
| index d00491f..00750ed 100644
| --- a/file_conflict
| +++ b/file_conflict
| @@ -1 +1 @@
| -1
| +3
| * 616297b - 2026-05-30 17:11 (5 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/branch1)
|/
|
| diff --git a/.gitignore b/.gitignore
| new file mode 100644
| index 0000000..f73f309
| --- /dev/null
| +++ b/.gitignore
| @@ -0,0 +1 @@
| +file
| diff --git a/file_conflict b/file_conflict
| index d00491f..0cfbf08 100644
| --- a/file_conflict
| +++ b/file_conflict
| @@ -1 +1 @@
| -1
| +2
* 925181a - 2026-05-30 17:11 (6 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file_conflict b/file_conflict
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file_conflict
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch branch1
You have unmerged paths.
(fix conflicts and run "git commit")
(use "git merge --abort" to abort the merge)
Changes to be committed:
new file: file
Unmerged paths:
(use "git add <file>..." to mark resolution)
both modified: file_conflict
Changes to be committed:
diff --git c/file i/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ i/file
@@ -0,0 +1 @@
+1
* Unmerged path file_conflict
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './repo/file'
./repo/file -/0o100/regular file rw-r--r--/0o644
1 1\r\n
2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty; git -C './repo' branch branch2
[master (root-commit) e85a1cc] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout -b branch1; echo 'file' >'./repo/.gitignore'; git -C './repo' add './.gitignore'; git -C './repo' commit --message="$((++number))"
Switched to a new branch 'branch1'
warning: in the working copy of '.gitignore', LF will be replaced by CRLF the next time Git touches it
[branch1 f60b3c1] 2
1 file changed, 1 insertion(+)
create mode 100644 .gitignore
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch2; echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
Switched to branch 'branch2'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch2 ffb015e] 3
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1
Switched to branch 'branch1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./repo/file';
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* ffb015e - 2026-05-30 17:11 (1 second ago) 3 - Han Jiang (refs/heads/branch2)
|
| diff --git a/file b/file
| new file mode 100644
| index 0000000..d00491f
| --- /dev/null
| +++ b/file
| @@ -0,0 +1 @@
| +1
| * f60b3c1 - 2026-05-30 17:11 (2 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/branch1)
|/
|
| diff --git a/.gitignore b/.gitignore
| new file mode 100644
| index 0000000..f73f309
| --- /dev/null
| +++ b/.gitignore
| @@ -0,0 +1 @@
| +file
* e85a1cc - 2026-05-30 17:11 (3 seconds ago) 1 - Han Jiang (refs/heads/master)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch branch1
nothing to commit, working tree clean
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './repo/file'
./repo/file -/0o100/regular file rw-r--r--/0o644
1 2\n
2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --message="$((++number))" --no-overwrite-ignore branch2
Merge made by the 'ort' strategy.
file | 1 +
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch --diff-merges=separate
* c64de8f - 2026-05-30 17:11 (1 second ago) 4 - Han Jiang (HEAD -> refs/heads/branch1)
|\
| |
| | diff --git a/file b/file
| | new file mode 100644
| | index 0000000..d00491f
| | --- /dev/null
| | +++ b/file
| | @@ -0,0 +1 @@
| | +1
| | c64de8f - 2026-05-30 17:11 (1 second ago) 4 - Han Jiang (HEAD -> refs/heads/branch1)
| |
| | diff --git a/.gitignore b/.gitignore
| | new file mode 100644
| | index 0000000..f73f309
| | --- /dev/null
| | +++ b/.gitignore
| | @@ -0,0 +1 @@
| | +file
| * ffb015e - 2026-05-30 17:11 (4 seconds ago) 3 - Han Jiang (refs/heads/branch2)
| |
| | diff --git a/file b/file
| | new file mode 100644
| | index 0000000..d00491f
| | --- /dev/null
| | +++ b/file
| | @@ -0,0 +1 @@
| | +1
* | f60b3c1 - 2026-05-30 17:11 (5 seconds ago) 2 - Han Jiang
|/
|
| diff --git a/.gitignore b/.gitignore
| new file mode 100644
| index 0000000..f73f309
| --- /dev/null
| +++ b/.gitignore
| @@ -0,0 +1 @@
| +file
* e85a1cc - 2026-05-30 17:11 (6 seconds ago) 1 - Han Jiang (refs/heads/master)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch branch1
nothing to commit, working tree clean
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './repo/file'
./repo/file -/0o100/regular file rw-r--r--/0o644
1 1\r\n
2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ branch_default_name="$(git -C './repo' branch --show-current)"; echo "$branch_default_name"
master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo 'file' >'./repo/.gitignore'; git -C './repo' add './.gitignore'; git -C './repo' commit --message="$((++number))"; git -C './repo' branch branch1
warning: in the working copy of '.gitignore', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) b3724b8] 1
1 file changed, 1 insertion(+)
create mode 100644 .gitignore
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ rm './repo/.gitignore'; git -C './repo' add './.gitignore'; echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master 4916090] 2
2 files changed, 1 insertion(+), 1 deletion(-)
delete mode 100644 .gitignore
create mode 100644 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1
Switched to branch 'branch1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./repo/file';
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* 4916090 - 2026-05-30 17:11 (2 seconds ago) 2 - Han Jiang (refs/heads/master)
|
| diff --git a/.gitignore b/.gitignore
| deleted file mode 100644
| index f73f309..0000000
| --- a/.gitignore
| +++ /dev/null
| @@ -1 +0,0 @@
| -file
| diff --git a/file b/file
| new file mode 100644
| index 0000000..d00491f
| --- /dev/null
| +++ b/file
| @@ -0,0 +1 @@
| +1
* b3724b8 - 2026-05-30 17:11 (3 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/branch1)
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..f73f309
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch branch1
nothing to commit, working tree clean
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './repo/file'
./repo/file -/0o100/regular file rw-r--r--/0o644
1 2\n
2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --message="$((++number))" --no-overwrite-ignore "$branch_default_name"
Updating b3724b8..4916090
error: The following untracked working tree files would be overwritten by merge:
file
Please move or remove them before you merge.
Aborting
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* 4916090 - 2026-05-30 17:11 (4 seconds ago) 2 - Han Jiang (refs/heads/master)
|
| diff --git a/.gitignore b/.gitignore
| deleted file mode 100644
| index f73f309..0000000
| --- a/.gitignore
| +++ /dev/null
| @@ -1 +0,0 @@
| -file
| diff --git a/file b/file
| new file mode 100644
| index 0000000..d00491f
| --- /dev/null
| +++ b/file
| @@ -0,0 +1 @@
| +1
* b3724b8 - 2026-05-30 17:11 (5 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/branch1)
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..f73f309
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch branch1
nothing to commit, working tree clean
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './repo/file'
./repo/file -/0o100/regular file rw-r--r--/0o644
1 2\n
2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
--squash record conflicts in AUTO_MERGE and index and working tree, doesn't record commits in $GIT_DIR/MERGE_HEAD; use git commit to create non-merge commit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"; git -C './repo' branch branch2
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) ed65edc] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout -b branch1; echo '2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
Switched to a new branch 'branch1'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch1 df7e588] 2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch2; echo '3' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
Switched to branch 'branch2'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch2 490953c] 3
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1
Switched to branch 'branch1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* df7e588 - 2026-05-30 17:11 (1 second ago) 2 - Han Jiang (HEAD -> refs/heads/branch1)
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
| * 490953c - 2026-05-30 17:11 (1 second ago) 3 - Han Jiang (refs/heads/branch2)
|/
|
| diff --git a/file b/file
| index d00491f..00750ed 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +3
* ed65edc - 2026-05-30 17:11 (2 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --message="$((++number))" --squash branch2
Auto-merging file
CONFLICT (content): Merge conflict in file
Squash commit -- not updating HEAD
Automatic merge failed; fix conflicts and then commit the result.
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* df7e588 - 2026-05-30 17:11 (2 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/branch1)
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
| * 490953c - 2026-05-30 17:11 (2 seconds ago) 3 - Han Jiang (refs/heads/branch2)
|/
|
| diff --git a/file b/file
| index d00491f..00750ed 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +3
* ed65edc - 2026-05-30 17:11 (3 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 d00491fd7e5bb6fa28c517a0bb32b8b506539d4d 1 file
100644 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f 2 file
100644 00750edc07d6415dcc07ae0351e9397b0222b7ba 3 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch branch1
Unmerged paths:
(use "git restore --staged <file>..." to unstage)
(use "git add <file>..." to mark resolution)
both modified: file
* Unmerged path file
no changes added to commit (use "git add" and/or "git commit -a")
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show :1:file
1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show :2:file
2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show :3:file
3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show "$(git -C './repo' merge-base MERGE_HEAD HEAD)":file
fatal: Not a valid object name MERGE_HEAD
fatal: path 'file' is in the index, but not at stage 0
hint: Did you mean ':1:file'?
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show HEAD:file
2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show MERGE_HEAD:file
fatal: invalid object name 'MERGE_HEAD'.
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show AUTO_MERGE:file
<<<<<<< HEAD
2
=======
3
>>>>>>> branch2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '4' >'./repo/file'; git -C './repo' add './file'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' -c 'core.editor=:' merge --continue
fatal: There is no merge in progress (MERGE_HEAD missing).
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))"
[branch1 ecc9a61] 5
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* ecc9a61 - 2026-05-30 17:11 (1 second ago) 5 - Han Jiang (HEAD -> refs/heads/branch1)
|
| diff --git a/file b/file
| index 0cfbf08..b8626c4 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -2
| +4
* df7e588 - 2026-05-30 17:11 (9 seconds ago) 2 - Han Jiang
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
| * 490953c - 2026-05-30 17:11 (9 seconds ago) 3 - Han Jiang (refs/heads/branch2)
|/
|
| diff --git a/file b/file
| index d00491f..00750ed 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +3
* ed65edc - 2026-05-30 17:11 (10 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
--no-commit record conflicts in AUTO_MERGE and index and working tree, record commits in $GIT_DIR/MERGE_HEAD; use git merge --continue or git commit to create merge commit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"; git -C './repo' branch branch2
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 03fa24c] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout -b branch1; echo '2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
Switched to a new branch 'branch1'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch1 9273e83] 2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch2; echo '3' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
Switched to branch 'branch2'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch2 3c03a32] 3
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1
Switched to branch 'branch1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* 3c03a32 - 2026-05-30 17:12 (1 second ago) 3 - Han Jiang (refs/heads/branch2)
|
| diff --git a/file b/file
| index d00491f..00750ed 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +3
| * 9273e83 - 2026-05-30 17:12 (2 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/branch1)
|/
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 03fa24c - 2026-05-30 17:12 (3 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --message="$((++number))" --no-commit branch2
Auto-merging file
CONFLICT (content): Merge conflict in file
Automatic merge failed; fix conflicts and then commit the result.
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* 3c03a32 - 2026-05-30 17:12 (2 seconds ago) 3 - Han Jiang (refs/heads/branch2)
|
| diff --git a/file b/file
| index d00491f..00750ed 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +3
| * 9273e83 - 2026-05-30 17:12 (3 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/branch1)
|/
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 03fa24c - 2026-05-30 17:12 (4 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 d00491fd7e5bb6fa28c517a0bb32b8b506539d4d 1 file
100644 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f 2 file
100644 00750edc07d6415dcc07ae0351e9397b0222b7ba 3 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch branch1
You have unmerged paths.
(fix conflicts and run "git commit")
(use "git merge --abort" to abort the merge)
Unmerged paths:
(use "git add <file>..." to mark resolution)
both modified: file
* Unmerged path file
no changes added to commit (use "git add" and/or "git commit -a")
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show :1:file
1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show :2:file
2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show :3:file
3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show "$(git -C './repo' merge-base MERGE_HEAD HEAD)":file
1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show HEAD:file
2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show MERGE_HEAD:file
3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show AUTO_MERGE:file
<<<<<<< HEAD
2
=======
3
>>>>>>> branch2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '4' >'./repo/file'; git -C './repo' add './file'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' -c 'core.editor=:' merge --continue
[branch1 ac9d435] 4
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch --diff-merges=separate
* ac9d435 - 2026-05-30 17:12 (0 seconds ago) 4 - Han Jiang (HEAD -> refs/heads/branch1)
|\
| |
| | diff --git a/file b/file
| | index 0cfbf08..b8626c4 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -2
| | +4
| | ac9d435 - 2026-05-30 17:12 (0 seconds ago) 4 - Han Jiang (HEAD -> refs/heads/branch1)
| |
| | diff --git a/file b/file
| | index 00750ed..b8626c4 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -3
| | +4
| * 3c03a32 - 2026-05-30 17:12 (7 seconds ago) 3 - Han Jiang (refs/heads/branch2)
| |
| | diff --git a/file b/file
| | index d00491f..00750ed 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -1
| | +3
* | 9273e83 - 2026-05-30 17:12 (8 seconds ago) 2 - Han Jiang
|/
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 03fa24c - 2026-05-30 17:12 (9 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
--squash record merge result in index and working tree, doesn't create merge commit, doesn't record commits in $GIT_DIR/MERGE_HEAD; use git commit to create non-merge commit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"; git -C './repo' branch branch2
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) c879012] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout -b branch1; echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))" --allow-empty
Switched to a new branch 'branch1'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch1 f3380a6] 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch2; echo '2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
Switched to branch 'branch2'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch2 b518dcc] 3
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1
Switched to branch 'branch1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* f3380a6 - 2026-05-30 17:12 (1 second ago) 2 - Han Jiang (HEAD -> refs/heads/branch1)
| * b518dcc - 2026-05-30 17:12 (1 second ago) 3 - Han Jiang (refs/heads/branch2)
|/
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* c879012 - 2026-05-30 17:12 (2 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --message="$((++number))" --squash branch2
Squash commit -- not updating HEAD
Automatic merge went well; stopped before committing as requested
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* f3380a6 - 2026-05-30 17:12 (2 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/branch1)
| * b518dcc - 2026-05-30 17:12 (2 seconds ago) 3 - Han Jiang (refs/heads/branch2)
|/
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* c879012 - 2026-05-30 17:12 (3 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch branch1
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
modified: file
Changes to be committed:
diff --git c/file i/file
index d00491f..0cfbf08 100644
--- c/file
+++ i/file
@@ -1 +1 @@
-1
+2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show "$(git -C './repo' merge-base MERGE_HEAD HEAD)":file
fatal: Not a valid object name MERGE_HEAD
2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show HEAD:file
1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show MERGE_HEAD:file
fatal: invalid object name 'MERGE_HEAD'.
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show AUTO_MERGE:file
2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' -c 'core.editor=:' merge --continue
fatal: There is no merge in progress (MERGE_HEAD missing).
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))"
[branch1 9d4d1d3] 5
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* 9d4d1d3 - 2026-05-30 17:12 (0 seconds ago) 5 - Han Jiang (HEAD -> refs/heads/branch1)
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* f3380a6 - 2026-05-30 17:12 (6 seconds ago) 2 - Han Jiang
| * b518dcc - 2026-05-30 17:12 (6 seconds ago) 3 - Han Jiang (refs/heads/branch2)
|/
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* c879012 - 2026-05-30 17:12 (7 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
--no-commit record merge result in index and working tree, doesn't create merge commit, record commits in $GIT_DIR/MERGE_HEAD; use git merge --continue or git commit to create merge commit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"; git -C './repo' branch branch2
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) f4bbe33] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout -b branch1; echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))" --allow-empty
Switched to a new branch 'branch1'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch1 93c9d35] 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch2; echo '2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
Switched to branch 'branch2'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch2 08296db] 3
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1
Switched to branch 'branch1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* 08296db - 2026-05-30 17:12 (1 second ago) 3 - Han Jiang (refs/heads/branch2)
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
| * 93c9d35 - 2026-05-30 17:12 (2 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/branch1)
|/
* f4bbe33 - 2026-05-30 17:12 (3 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --message="$((++number))" --no-commit branch2
Automatic merge went well; stopped before committing as requested
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* 08296db - 2026-05-30 17:12 (1 second ago) 3 - Han Jiang (refs/heads/branch2)
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
| * 93c9d35 - 2026-05-30 17:12 (2 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/branch1)
|/
* f4bbe33 - 2026-05-30 17:12 (3 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch branch1
All conflicts fixed but you are still merging.
(use "git commit" to conclude merge)
Changes to be committed:
modified: file
Changes to be committed:
diff --git c/file i/file
index d00491f..0cfbf08 100644
--- c/file
+++ i/file
@@ -1 +1 @@
-1
+2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show "$(git -C './repo' merge-base MERGE_HEAD HEAD)":file
1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show HEAD:file
1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show MERGE_HEAD:file
2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show AUTO_MERGE:file
2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' -c 'core.editor=:' merge --continue
[branch1 3f6c899] 4
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch --diff-merges=separate
* 3f6c899 - 2026-05-30 17:12 (1 second ago) 4 - Han Jiang (HEAD -> refs/heads/branch1)
|\
| |
| | diff --git a/file b/file
| | index d00491f..0cfbf08 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -1
| | +2
| * 08296db - 2026-05-30 17:12 (5 seconds ago) 3 - Han Jiang (refs/heads/branch2)
| |
| | diff --git a/file b/file
| | index d00491f..0cfbf08 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -1
| | +2
* | 93c9d35 - 2026-05-30 17:12 (6 seconds ago) 2 - Han Jiang
|/
* f4bbe33 - 2026-05-30 17:12 (7 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
--squash fast-forward index and working tree but not HEAD
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ branch_default_name="$(git -C './repo' branch --show-current)"; echo "$branch_default_name"
master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"; git -C './repo' branch branch1
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 999e4f8] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master d49858b] 2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1
Switched to branch 'branch1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* d49858b - 2026-05-30 17:12 (1 second ago) 2 - Han Jiang (refs/heads/master)
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 999e4f8 - 2026-05-30 17:12 (1 second ago) 1 - Han Jiang (HEAD -> refs/heads/branch1)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --message="$((++number))" --squash "$branch_default_name"
Updating 999e4f8..d49858b
Fast-forward (no commit created; -m option ignored)
Squash commit -- not updating HEAD
file | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* d49858b - 2026-05-30 17:12 (2 seconds ago) 2 - Han Jiang (refs/heads/master)
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 999e4f8 - 2026-05-30 17:12 (2 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/branch1)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch branch1
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
modified: file
Changes to be committed:
diff --git c/file i/file
index d00491f..0cfbf08 100644
--- c/file
+++ i/file
@@ -1 +1 @@
-1
+2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
--no-commit has no effect on fast-forward, fast-forward completes as normal
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ branch_default_name="$(git -C './repo' branch --show-current)"; echo "$branch_default_name"
master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"; git -C './repo' branch branch1
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 245f584] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master 785b963] 2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1
Switched to branch 'branch1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* 785b963 - 2026-05-30 17:12 (0 seconds ago) 2 - Han Jiang (refs/heads/master)
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 245f584 - 2026-05-30 17:12 (1 second ago) 1 - Han Jiang (HEAD -> refs/heads/branch1)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --message="$((++number))" --no-commit "$branch_default_name"
Updating 245f584..785b963
Fast-forward (no commit created; -m option ignored)
file | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* 785b963 - 2026-05-30 17:12 (1 second ago) 2 - Han Jiang (HEAD -> refs/heads/branch1, refs/heads/master)
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 245f584 - 2026-05-30 17:12 (2 seconds ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch branch1
nothing to commit, working tree clean
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
--squash no op
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"; git -C './repo' branch branch1
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 59da399] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master 3ed4681] 2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* 3ed4681 - 2026-05-30 17:12 (1 second ago) 2 - Han Jiang (HEAD -> refs/heads/master)
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 59da399 - 2026-05-30 17:12 (2 seconds ago) 1 - Han Jiang (refs/heads/branch1)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --message="$((++number))" --squash branch1
Already up to date. (nothing to squash)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* 3ed4681 - 2026-05-30 17:12 (1 second ago) 2 - Han Jiang (HEAD -> refs/heads/master)
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 59da399 - 2026-05-30 17:12 (2 seconds ago) 1 - Han Jiang (refs/heads/branch1)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
nothing to commit, working tree clean
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
--no-commit no op
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"; git -C './repo' branch branch1
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 5ae115c] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master 8203597] 2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* 8203597 - 2026-05-30 17:13 (1 second ago) 2 - Han Jiang (HEAD -> refs/heads/master)
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 5ae115c - 2026-05-30 17:13 (1 second ago) 1 - Han Jiang (refs/heads/branch1)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --message="$((++number))" --no-commit branch1
Already up to date.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* 8203597 - 2026-05-30 17:13 (2 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 5ae115c - 2026-05-30 17:13 (2 seconds ago) 1 - Han Jiang (refs/heads/branch1)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
nothing to commit, working tree clean
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' config set --local 'rerere.enabled' 'true'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"; git -C './repo' branch branch2
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 3f9d801] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout -b branch1; echo '2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
Switched to a new branch 'branch1'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch1 a3567af] 2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch2; echo '3' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
Switched to branch 'branch2'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch2 8a34048] 3
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1
Switched to branch 'branch1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* a3567af - 2026-05-30 17:13 (1 second ago) 2 - Han Jiang (HEAD -> refs/heads/branch1)
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
| * 8a34048 - 2026-05-30 17:13 (1 second ago) 3 - Han Jiang (refs/heads/branch2)
|/
|
| diff --git a/file b/file
| index d00491f..00750ed 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +3
* 3f9d801 - 2026-05-30 17:13 (2 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --message="$((++number))" branch2
Auto-merging file
CONFLICT (content): Merge conflict in file
Recorded preimage for 'file'
Automatic merge failed; fix conflicts and then commit the result.
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff
diff --cc file
index 0cfbf08,00750ed..0000000
--- a/file
+++ b/file
@@@ -1,1 -1,1 +1,5 @@@
++<<<<<<< HEAD
+2
++=======
+ 3
++>>>>>>> branch2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '4' >'./repo/file'; git -C './repo' add './file'; git -C './repo' -c 'core.editor=:' merge --continue
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
Recorded resolution for 'file'.
[branch1 26dd444] 4
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch --diff-merges=separate
* 26dd444 - 2026-05-30 17:13 (0 seconds ago) 4 - Han Jiang (HEAD -> refs/heads/branch1)
|\
| |
| | diff --git a/file b/file
| | index 0cfbf08..b8626c4 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -2
| | +4
| | 26dd444 - 2026-05-30 17:13 (0 seconds ago) 4 - Han Jiang (HEAD -> refs/heads/branch1)
| |
| | diff --git a/file b/file
| | index 00750ed..b8626c4 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -3
| | +4
| * 8a34048 - 2026-05-30 17:13 (3 seconds ago) 3 - Han Jiang (refs/heads/branch2)
| |
| | diff --git a/file b/file
| | index d00491f..00750ed 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -1
| | +3
* | a3567af - 2026-05-30 17:13 (3 seconds ago) 2 - Han Jiang
|/
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 3f9d801 - 2026-05-30 17:13 (4 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' reset --hard HEAD^1
HEAD is now at a3567af 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* a3567af - 2026-05-30 17:13 (4 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/branch1)
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
| * 8a34048 - 2026-05-30 17:13 (4 seconds ago) 3 - Han Jiang (refs/heads/branch2)
|/
|
| diff --git a/file b/file
| index d00491f..00750ed 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +3
* 3f9d801 - 2026-05-30 17:13 (5 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --message="$((++number))" branch2
Auto-merging file
CONFLICT (content): Merge conflict in file
Resolved 'file' using previous resolution.
Automatic merge failed; fix conflicts and then commit the result.
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --cc file
index 0cfbf08,00750ed..0000000
--- a/file
+++ b/file
@@@ -1,1 -1,1 +1,1 @@@
- 2
-3
++4
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* a3567af - 2026-05-30 17:13 (5 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/branch1)
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
| * 8a34048 - 2026-05-30 17:13 (5 seconds ago) 3 - Han Jiang (refs/heads/branch2)
|/
|
| diff --git a/file b/file
| index d00491f..00750ed 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +3
* 3f9d801 - 2026-05-30 17:13 (6 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 d00491fd7e5bb6fa28c517a0bb32b8b506539d4d 1 file
100644 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f 2 file
100644 00750edc07d6415dcc07ae0351e9397b0222b7ba 3 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch branch1
You have unmerged paths.
(fix conflicts and run "git commit")
(use "git merge --abort" to abort the merge)
Unmerged paths:
(use "git add <file>..." to mark resolution)
both modified: file
* Unmerged path file
no changes added to commit (use "git add" and/or "git commit -a")
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' config set --local 'rerere.enabled' 'true'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"; git -C './repo' branch branch2
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 65053bd] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout -b branch1; echo '2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
Switched to a new branch 'branch1'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch1 4b79544] 2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch2; echo '3' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
Switched to branch 'branch2'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch2 0504b8a] 3
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1
Switched to branch 'branch1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* 0504b8a - 2026-05-30 17:13 (1 second ago) 3 - Han Jiang (refs/heads/branch2)
|
| diff --git a/file b/file
| index d00491f..00750ed 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +3
| * 4b79544 - 2026-05-30 17:13 (2 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/branch1)
|/
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 65053bd - 2026-05-30 17:13 (2 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --message="$((++number))" branch2
Auto-merging file
CONFLICT (content): Merge conflict in file
Recorded preimage for 'file'
Automatic merge failed; fix conflicts and then commit the result.
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff
diff --cc file
index 0cfbf08,00750ed..0000000
--- a/file
+++ b/file
@@@ -1,1 -1,1 +1,5 @@@
++<<<<<<< HEAD
+2
++=======
+ 3
++>>>>>>> branch2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '4' >'./repo/file'; git -C './repo' add './file'; git -C './repo' -c 'core.editor=:' merge --continue
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
Recorded resolution for 'file'.
[branch1 bd7eb71] 4
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch --diff-merges=separate
* bd7eb71 - 2026-05-30 17:13 (1 second ago) 4 - Han Jiang (HEAD -> refs/heads/branch1)
|\
| |
| | diff --git a/file b/file
| | index 0cfbf08..b8626c4 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -2
| | +4
| | bd7eb71 - 2026-05-30 17:13 (1 second ago) 4 - Han Jiang (HEAD -> refs/heads/branch1)
| |
| | diff --git a/file b/file
| | index 00750ed..b8626c4 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -3
| | +4
| * 0504b8a - 2026-05-30 17:13 (3 seconds ago) 3 - Han Jiang (refs/heads/branch2)
| |
| | diff --git a/file b/file
| | index d00491f..00750ed 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -1
| | +3
* | 4b79544 - 2026-05-30 17:13 (4 seconds ago) 2 - Han Jiang
|/
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 65053bd - 2026-05-30 17:13 (4 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' reset --hard HEAD^1
HEAD is now at 4b79544 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* 0504b8a - 2026-05-30 17:13 (4 seconds ago) 3 - Han Jiang (refs/heads/branch2)
|
| diff --git a/file b/file
| index d00491f..00750ed 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +3
| * 4b79544 - 2026-05-30 17:13 (5 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/branch1)
|/
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 65053bd - 2026-05-30 17:13 (5 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --message="$((++number))" --rerere-autoupdate branch2
Auto-merging file
CONFLICT (content): Merge conflict in file
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
Staged 'file' using previous resolution.
Automatic merge failed; fix conflicts and then commit the result.
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* 0504b8a - 2026-05-30 17:13 (5 seconds ago) 3 - Han Jiang (refs/heads/branch2)
|
| diff --git a/file b/file
| index d00491f..00750ed 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +3
| * 4b79544 - 2026-05-30 17:13 (6 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/branch1)
|/
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 65053bd - 2026-05-30 17:13 (6 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 b8626c4cff2849624fb67f87cd0ad72b163671ad 0 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch branch1
All conflicts fixed but you are still merging.
(use "git commit" to conclude merge)
Changes to be committed:
modified: file
Changes to be committed:
diff --git c/file i/file
index 0cfbf08..b8626c4 100644
--- c/file
+++ i/file
@@ -1 +1 @@
-2
+4
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))"$'\n'"$((++number))"$'\n'"$((++number))" --allow-empty; git -C './repo' branch branch2
[master (root-commit) 7d08a2f] 1 2 3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout -b branch1; git -C './repo' commit --message="$((++number))"$'\n'"$((++number))"$'\n'"$((++number))" --allow-empty
Switched to a new branch 'branch1'
[branch1 56c4577] 4 5 6
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch2; git -C './repo' commit --message="$((++number))"$'\n'"$((++number))"$'\n'"$((++number))" --allow-empty; git -C './repo' commit --message="$((++number))"$'\n'"$((++number))"$'\n'"$((++number))" --allow-empty
Switched to branch 'branch2'
[branch2 f4cece2] 7 8 9
[branch2 fd681e7] 10 11 12
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1
Switched to branch 'branch1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --graph --decorate=full --all
* commit fd681e7c8c3505b647f6e73d0cba6d6cbaeb1c6d (refs/heads/branch2)
| Author: Han Jiang <jhcarl0814@gmail.com>
| Date: Sat May 30 17:13:36 2026 +1200
|
| 10
| 11
| 12
|
* commit f4cece25e68526f38f5233660eb15f49f453a67e
| Author: Han Jiang <jhcarl0814@gmail.com>
| Date: Sat May 30 17:13:36 2026 +1200
|
| 7
| 8
| 9
|
| * commit 56c45776f7f8943c3e6a18898a6bc1b604bf5db7 (HEAD -> refs/heads/branch1)
|/ Author: Han Jiang <jhcarl0814@gmail.com>
| Date: Sat May 30 17:13:35 2026 +1200
|
| 4
| 5
| 6
|
* commit 7d08a2fd15645bce0d0e607f2e242e990e1764e7 (refs/heads/master)
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Sat May 30 17:13:35 2026 +1200
1
2
3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --message="$((++number))" --log=1 branch2
Merge made by the 'ort' strategy.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --graph --decorate=full --all
* commit 85ca0fe42e7d5cd5b3c6e68bf273439bfc36ea14 (HEAD -> refs/heads/branch1)
|\ Merge: 56c4577 fd681e7
| | Author: Han Jiang <jhcarl0814@gmail.com>
| | Date: Sat May 30 17:13:37 2026 +1200
| |
| | 13
| |
| | * branch2: (2 commits)
| | 10 11 12
| | ...
| |
| * commit fd681e7c8c3505b647f6e73d0cba6d6cbaeb1c6d (refs/heads/branch2)
| | Author: Han Jiang <jhcarl0814@gmail.com>
| | Date: Sat May 30 17:13:36 2026 +1200
| |
| | 10
| | 11
| | 12
| |
| * commit f4cece25e68526f38f5233660eb15f49f453a67e
| | Author: Han Jiang <jhcarl0814@gmail.com>
| | Date: Sat May 30 17:13:36 2026 +1200
| |
| | 7
| | 8
| | 9
| |
* | commit 56c45776f7f8943c3e6a18898a6bc1b604bf5db7
|/ Author: Han Jiang <jhcarl0814@gmail.com>
| Date: Sat May 30 17:13:35 2026 +1200
|
| 4
| 5
| 6
|
* commit 7d08a2fd15645bce0d0e607f2e242e990e1764e7 (refs/heads/master)
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Sat May 30 17:13:35 2026 +1200
1
2
3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))"$'\n'"$((++number))"$'\n'"$((++number))" --allow-empty; git -C './repo' branch branch2
[master (root-commit) 8273aaa] 1 2 3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout -b branch1; git -C './repo' commit --message="$((++number))"$'\n'"$((++number))"$'\n'"$((++number))" --allow-empty
Switched to a new branch 'branch1'
[branch1 fe6e1c1] 4 5 6
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch2; git -C './repo' commit --message="$((++number))"$'\n'"$((++number))"$'\n'"$((++number))" --allow-empty; git -C './repo' commit --message="$((++number))"$'\n'"$((++number))"$'\n'"$((++number))" --allow-empty
Switched to branch 'branch2'
[branch2 803c465] 7 8 9
[branch2 e456b27] 10 11 12
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1
Switched to branch 'branch1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --graph --decorate=full --all
* commit e456b2755de27f5d78550b58a8455336e7a381cc (refs/heads/branch2)
| Author: Han Jiang <jhcarl0814@gmail.com>
| Date: Sat May 30 17:13:44 2026 +1200
|
| 10
| 11
| 12
|
* commit 803c465d34c52685a6ee585350edd73c8d8c4c79
| Author: Han Jiang <jhcarl0814@gmail.com>
| Date: Sat May 30 17:13:44 2026 +1200
|
| 7
| 8
| 9
|
| * commit fe6e1c1c62f797f6b40d86cab0051b4d9eae1301 (HEAD -> refs/heads/branch1)
|/ Author: Han Jiang <jhcarl0814@gmail.com>
| Date: Sat May 30 17:13:43 2026 +1200
|
| 4
| 5
| 6
|
* commit 8273aaa8adeb480db88390474e673032c4293795 (refs/heads/master)
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Sat May 30 17:13:42 2026 +1200
1
2
3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --message="$((++number))" --log branch2
Merge made by the 'ort' strategy.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --graph --decorate=full --all
* commit 39191630a51a0581c34d27f955d403ac7ae454ad (HEAD -> refs/heads/branch1)
|\ Merge: fe6e1c1 e456b27
| | Author: Han Jiang <jhcarl0814@gmail.com>
| | Date: Sat May 30 17:13:45 2026 +1200
| |
| | 13
| |
| | * branch2:
| | 10 11 12
| | 7 8 9
| |
| * commit e456b2755de27f5d78550b58a8455336e7a381cc (refs/heads/branch2)
| | Author: Han Jiang <jhcarl0814@gmail.com>
| | Date: Sat May 30 17:13:44 2026 +1200
| |
| | 10
| | 11
| | 12
| |
| * commit 803c465d34c52685a6ee585350edd73c8d8c4c79
| | Author: Han Jiang <jhcarl0814@gmail.com>
| | Date: Sat May 30 17:13:44 2026 +1200
| |
| | 7
| | 8
| | 9
| |
* | commit fe6e1c1c62f797f6b40d86cab0051b4d9eae1301
|/ Author: Han Jiang <jhcarl0814@gmail.com>
| Date: Sat May 30 17:13:43 2026 +1200
|
| 4
| 5
| 6
|
* commit 8273aaa8adeb480db88390474e673032c4293795 (refs/heads/master)
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Sat May 30 17:13:42 2026 +1200
1
2
3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"; git -C './repo' branch branch2
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 150f0be] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout -b branch1; echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))" --allow-empty
Switched to a new branch 'branch1'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch1 a295e83] 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch2; echo '2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
Switched to branch 'branch2'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch2 f7e5053] 3
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1
Switched to branch 'branch1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* f7e5053 - 2026-05-30 17:13 (1 second ago) 3 - Han Jiang (refs/heads/branch2)
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
| * a295e83 - 2026-05-30 17:13 (2 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/branch1)
|/
* 150f0be - 2026-05-30 17:13 (3 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --message="$((++number))" --stat branch2
Merge made by the 'ort' strategy.
file | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch --diff-merges=separate
* 7c3006b - 2026-05-30 17:13 (1 second ago) 4 - Han Jiang (HEAD -> refs/heads/branch1)
|\
| |
| | diff --git a/file b/file
| | index d00491f..0cfbf08 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -1
| | +2
| * f7e5053 - 2026-05-30 17:13 (2 seconds ago) 3 - Han Jiang (refs/heads/branch2)
| |
| | diff --git a/file b/file
| | index d00491f..0cfbf08 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -1
| | +2
* | a295e83 - 2026-05-30 17:13 (3 seconds ago) 2 - Han Jiang
|/
* 150f0be - 2026-05-30 17:13 (4 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch branch1
nothing to commit, working tree clean
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"; git -C './repo' branch branch2
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 5b3aa69] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout -b branch1; echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))" --allow-empty
Switched to a new branch 'branch1'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch1 6dbaaba] 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch2; echo '2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
Switched to branch 'branch2'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch2 c7fc4ed] 3
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1
Switched to branch 'branch1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* c7fc4ed - 2026-05-30 17:14 (0 seconds ago) 3 - Han Jiang (refs/heads/branch2)
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
| * 6dbaaba - 2026-05-30 17:14 (1 second ago) 2 - Han Jiang (HEAD -> refs/heads/branch1)
|/
* 5b3aa69 - 2026-05-30 17:13 (2 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --message="$((++number))" --no-stat branch2
Merge made by the 'ort' strategy.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch --diff-merges=separate
* c65817d - 2026-05-30 17:14 (0 seconds ago) 4 - Han Jiang (HEAD -> refs/heads/branch1)
|\
| |
| | diff --git a/file b/file
| | index d00491f..0cfbf08 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -1
| | +2
| * c7fc4ed - 2026-05-30 17:14 (1 second ago) 3 - Han Jiang (refs/heads/branch2)
| |
| | diff --git a/file b/file
| | index d00491f..0cfbf08 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -1
| | +2
* | 6dbaaba - 2026-05-30 17:14 (2 seconds ago) 2 - Han Jiang
|/
* 5b3aa69 - 2026-05-30 17:13 (3 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch branch1
nothing to commit, working tree clean
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ branch_default_name="$(git -C './repo' branch --show-current)"; echo "$branch_default_name"
master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"; git -C './repo' branch branch1
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 039a6d9] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master d8af60d] 2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1
Switched to branch 'branch1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* d8af60d - 2026-05-30 17:14 (1 second ago) 2 - Han Jiang (refs/heads/master)
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 039a6d9 - 2026-05-30 17:14 (2 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/branch1)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --message="$((++number))" --stat "$branch_default_name"
Updating 039a6d9..d8af60d
Fast-forward (no commit created; -m option ignored)
file | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* d8af60d - 2026-05-30 17:14 (1 second ago) 2 - Han Jiang (HEAD -> refs/heads/branch1, refs/heads/master)
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 039a6d9 - 2026-05-30 17:14 (2 seconds ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch branch1
nothing to commit, working tree clean
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ branch_default_name="$(git -C './repo' branch --show-current)"; echo "$branch_default_name"
master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"; git -C './repo' branch branch1
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 9155aaf] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master 00a379d] 2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1
Switched to branch 'branch1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* 00a379d - 2026-05-30 17:14 (1 second ago) 2 - Han Jiang (refs/heads/master)
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 9155aaf - 2026-05-30 17:14 (2 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/branch1)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --message="$((++number))" --no-stat "$branch_default_name"
Updating 9155aaf..00a379d
Fast-forward (no commit created; -m option ignored)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* 00a379d - 2026-05-30 17:14 (1 second ago) 2 - Han Jiang (HEAD -> refs/heads/branch1, refs/heads/master)
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 9155aaf - 2026-05-30 17:14 (2 seconds ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch branch1
nothing to commit, working tree clean
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"; git -C './repo' branch branch2
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 6b82f96] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout -b branch1; echo '2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
Switched to a new branch 'branch1'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch1 b0fb2fb] 2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch2; echo '3' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
Switched to branch 'branch2'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch2 bb07886] 3
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1
Switched to branch 'branch1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* bb07886 - 2026-05-30 17:14 (1 second ago) 3 - Han Jiang (refs/heads/branch2)
|
| diff --git a/file b/file
| index d00491f..00750ed 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +3
| * b0fb2fb - 2026-05-30 17:14 (2 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/branch1)
|/
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 6b82f96 - 2026-05-30 17:14 (2 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' rebase branch2 branch1
Auto-merging file
CONFLICT (content): Merge conflict in file
error: could not apply b0fb2fb... 2
hint: Resolve all conflicts manually, mark them as resolved with
hint: "git add/rm <conflicted_files>", then run "git rebase --continue".
hint: You can instead skip this commit: run "git rebase --skip".
hint: To abort and get back to the state before "git rebase", run "git rebase --abort".
hint: Disable this message with "git config set advice.mergeConflict false"
Could not apply b0fb2fb... # 2
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* bb07886 - 2026-05-30 17:14 (2 seconds ago) 3 - Han Jiang (HEAD, refs/heads/branch2)
|
| diff --git a/file b/file
| index d00491f..00750ed 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +3
| * b0fb2fb - 2026-05-30 17:14 (3 seconds ago) 2 - Han Jiang (refs/heads/branch1)
|/
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 6b82f96 - 2026-05-30 17:14 (3 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 d00491fd7e5bb6fa28c517a0bb32b8b506539d4d 1 file
100644 00750edc07d6415dcc07ae0351e9397b0222b7ba 2 file
100644 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f 3 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
interactive rebase in progress; onto bb07886
Last command done (1 command done):
pick b0fb2fb # 2
No commands remaining.
You are currently rebasing branch 'branch1' on 'bb07886'.
(fix conflicts and then run "git rebase --continue")
(use "git rebase --skip" to skip this patch)
(use "git rebase --abort" to check out the original branch)
Unmerged paths:
(use "git restore --staged <file>..." to unstage)
(use "git add <file>..." to mark resolution)
both modified: file
* Unmerged path file
no changes added to commit (use "git add" and/or "git commit -a")
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show :1:file
1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show :2:file
3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show :3:file
2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show REBASE_HEAD
commit b0fb2fb76ddbd7330e5d026331a9355bd6bbf45e (branch1)
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Sat May 30 17:14:57 2026 +1200
2
diff --git a/file b/file
index d00491f..0cfbf08 100644
--- a/file
+++ b/file
@@ -1 +1 @@
-1
+2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' rebase --show-current-patch
commit b0fb2fb76ddbd7330e5d026331a9355bd6bbf45e (branch1)
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Sat May 30 17:14:57 2026 +1200
2
diff --git a/file b/file
index d00491f..0cfbf08 100644
--- a/file
+++ b/file
@@ -1 +1 @@
-1
+2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show REBASE_HEAD~1:file
1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show HEAD:file
3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show REBASE_HEAD:file
2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show AUTO_MERGE:file
<<<<<<< HEAD
3
=======
2
>>>>>>> b0fb2fb (2)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff
diff --cc file
index 00750ed,0cfbf08..0000000
--- a/file
+++ b/file
@@@ -1,1 -1,1 +1,5 @@@
++<<<<<<< HEAD
+3
++=======
+ 2
++>>>>>>> b0fb2fb (2)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --base
* Unmerged path file
diff --git a/file b/file
index d00491f..bfd8b7f 100644
--- a/file
+++ b/file
@@ -1 +1,5 @@
-1
+<<<<<<< HEAD
+3
+=======
+2
+>>>>>>> b0fb2fb (2)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff REBASE_HEAD~1
diff --git a/file b/file
index d00491f..bfd8b7f 100644
--- a/file
+++ b/file
@@ -1 +1,5 @@
-1
+<<<<<<< HEAD
+3
+=======
+2
+>>>>>>> b0fb2fb (2)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --ours
* Unmerged path file
diff --git a/file b/file
index 00750ed..bfd8b7f 100644
--- a/file
+++ b/file
@@ -1 +1,5 @@
+<<<<<<< HEAD
3
+=======
+2
+>>>>>>> b0fb2fb (2)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff HEAD
diff --git a/file b/file
index 00750ed..bfd8b7f 100644
--- a/file
+++ b/file
@@ -1 +1,5 @@
+<<<<<<< HEAD
3
+=======
+2
+>>>>>>> b0fb2fb (2)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --theirs
* Unmerged path file
diff --git a/file b/file
index 0cfbf08..bfd8b7f 100644
--- a/file
+++ b/file
@@ -1 +1,5 @@
+<<<<<<< HEAD
+3
+=======
2
+>>>>>>> b0fb2fb (2)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff REBASE_HEAD
diff --git a/file b/file
index 0cfbf08..bfd8b7f 100644
--- a/file
+++ b/file
@@ -1 +1,5 @@
+<<<<<<< HEAD
+3
+=======
2
+>>>>>>> b0fb2fb (2)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff AUTO_MERGE
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server' init --bare './repo.git'
Initialized empty Git repository in C:/Program Files/Git/test_git/server/repo.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./file'; git --git-dir='./server/repo.git' --work-tree='.' add './file'; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 362c033] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./file'; git --git-dir='./server/repo.git' --work-tree='.' add './file'; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master 414ea50] 2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --all --patch
* 414ea50 - 2026-05-30 17:15 (1 second ago) 2 - Han Jiang (HEAD -> refs/heads/master)
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 362c033 - 2026-05-30 17:15 (1 second ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone '../server/repo.git' './repo'
Cloning into './repo'...
done.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '3' >'./client/repo/file'; git -C './client/repo' add './file'; git -C './client/repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master 45f4943] 3
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all --patch
* 45f4943 - 2026-05-30 17:15 (1 second ago) 3 - Han Jiang (HEAD -> refs/heads/master)
|
| diff --git a/file b/file
| index 0cfbf08..00750ed 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -2
| +3
* 414ea50 - 2026-05-30 17:15 (3 seconds ago) 2 - Han Jiang (refs/remotes/origin/master, refs/remotes/origin/HEAD)
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 362c033 - 2026-05-30 17:15 (3 seconds ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' reset --soft HEAD~1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '4' >'./file'; git --git-dir='./server/repo.git' --work-tree='.' add './file'; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master 98332ce] 4
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --all --patch
* 98332ce - 2026-05-30 17:15 (0 seconds ago) 4 - Han Jiang (HEAD -> refs/heads/master)
|
| diff --git a/file b/file
| index d00491f..b8626c4 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +4
* 362c033 - 2026-05-30 17:15 (4 seconds ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch --all
remote: Enumerating objects: 5, done.
remote: Counting objects: 100% (5/5), done.
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (3/3), 211 bytes | 19.00 KiB/s, done.
From C:/Program Files/Git/test_git/client/../server/repo
+ 414ea50...98332ce master -> origin/master (forced update)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all --patch
* 98332ce - 2026-05-30 17:15 (2 seconds ago) 4 - Han Jiang (refs/remotes/origin/master, refs/remotes/origin/HEAD)
|
| diff --git a/file b/file
| index d00491f..b8626c4 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +4
| * 45f4943 - 2026-05-30 17:15 (4 seconds ago) 3 - Han Jiang (HEAD -> refs/heads/master)
| |
| | diff --git a/file b/file
| | index 0cfbf08..00750ed 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -2
| | +3
| * 414ea50 - 2026-05-30 17:15 (6 seconds ago) 2 - Han Jiang
|/
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 362c033 - 2026-05-30 17:15 (6 seconds ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' -c 'core.editor=cat' rebase --no-fork-point --interactive
hint: Waiting for your editor to close the file... pick 414ea50 # 2
pick 45f4943 # 3
# Rebase 98332ce..45f4943 onto 98332ce (2 commands)
#
# Commands:
# p, pick <commit> = use commit
# r, reword <commit> = use commit, but edit the commit message
# e, edit <commit> = use commit, but stop for amending
# s, squash <commit> = use commit, but meld into previous commit
# f, fixup [-C | -c] <commit> = like "squash" but keep only the previous
# commit's log message, unless -C is used, in which case
# keep only this commit's message; -c is same as -C but
# opens the editor
# x, exec <command> = run command (the rest of the line) using shell
# b, break = stop here (continue rebase later with 'git rebase --continue')
# d, drop <commit> = remove commit
# l, label <label> = label current HEAD with a name
# t, reset <label> = reset HEAD to a label
# m, merge [-C <commit> | -c <commit>] <label> [# <oneline>]
# create a merge commit using the original merge commit's
# message (or the oneline, if no original merge commit was
# specified); use -c <commit> to reword the commit message
# u, update-ref <ref> = track a placeholder for the <ref> to be updated
# to this position in the new commits. The <ref> is
# updated at the end of the rebase
#
# These lines can be re-ordered; they are executed from top to bottom.
#
# If you remove a line here THAT COMMIT WILL BE LOST.
#
# However, if you remove everything, the rebase will be aborted.
#
Auto-merging file
CONFLICT (content): Merge conflict in file
error: could not apply 414ea50... 2
hint: Resolve all conflicts manually, mark them as resolved with
hint: "git add/rm <conflicted_files>", then run "git rebase --continue".
hint: You can instead skip this commit: run "git rebase --skip".
hint: To abort and get back to the state before "git rebase", run "git rebase --abort".
hint: Disable this message with "git config set advice.mergeConflict false"
Could not apply 414ea50... # 2
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all --patch
* 98332ce - 2026-05-30 17:15 (3 seconds ago) 4 - Han Jiang (HEAD, refs/remotes/origin/master, refs/remotes/origin/HEAD)
|
| diff --git a/file b/file
| index d00491f..b8626c4 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +4
| * 45f4943 - 2026-05-30 17:15 (5 seconds ago) 3 - Han Jiang (refs/heads/master)
| |
| | diff --git a/file b/file
| | index 0cfbf08..00750ed 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -2
| | +3
| * 414ea50 - 2026-05-30 17:15 (7 seconds ago) 2 - Han Jiang
|/
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 362c033 - 2026-05-30 17:15 (7 seconds ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' rebase --skip
Auto-merging file
CONFLICT (content): Merge conflict in file
error: could not apply 45f4943... 3
hint: Resolve all conflicts manually, mark them as resolved with
hint: "git add/rm <conflicted_files>", then run "git rebase --continue".
hint: You can instead skip this commit: run "git rebase --skip".
hint: To abort and get back to the state before "git rebase", run "git rebase --abort".
hint: Disable this message with "git config set advice.mergeConflict false"
Could not apply 45f4943... # 3
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '5' >'./client/repo/file'; git -C './client/repo' add './file'; git -C './client/repo' -c 'core.editor=:' rebase --continue
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[detached HEAD 3c0377f] 3
1 file changed, 1 insertion(+), 1 deletion(-)
Successfully rebased and updated refs/heads/master.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all --patch
* 3c0377f - 2026-05-30 17:15 (6 seconds ago) 3 - Han Jiang (HEAD -> refs/heads/master)
|
| diff --git a/file b/file
| index b8626c4..7ed6ff8 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -4
| +5
* 98332ce - 2026-05-30 17:15 (4 seconds ago) 4 - Han Jiang (refs/remotes/origin/master, refs/remotes/origin/HEAD)
|
| diff --git a/file b/file
| index d00491f..b8626c4 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +4
* 362c033 - 2026-05-30 17:15 (8 seconds ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server' init --bare './repo.git'
Initialized empty Git repository in C:/Program Files/Git/test_git/server/repo.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./file'; git --git-dir='./server/repo.git' --work-tree='.' add './file'; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) d25a6c9] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./file'; git --git-dir='./server/repo.git' --work-tree='.' add './file'; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master a95cdb9] 2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --all --patch
* a95cdb9 - 2026-05-30 17:15 (0 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* d25a6c9 - 2026-05-30 17:15 (1 second ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone '../server/repo.git' './repo'
Cloning into './repo'...
done.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ branch_default_name="$(git -C './client/repo' branch --show-current)"; echo "$branch_default_name"
master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '3' >'./client/repo/file'; git -C './client/repo' add './file'; git -C './client/repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master 3995ff8] 3
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all --patch
* 3995ff8 - 2026-05-30 17:15 (0 seconds ago) 3 - Han Jiang (HEAD -> refs/heads/master)
|
| diff --git a/file b/file
| index 0cfbf08..00750ed 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -2
| +3
* a95cdb9 - 2026-05-30 17:15 (2 seconds ago) 2 - Han Jiang (refs/remotes/origin/master, refs/remotes/origin/HEAD)
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* d25a6c9 - 2026-05-30 17:15 (3 seconds ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' reset --soft HEAD~1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '4' >'./file'; git --git-dir='./server/repo.git' --work-tree='.' add './file'; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master 7869125] 4
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --all --patch
* 7869125 - 2026-05-30 17:15 (1 second ago) 4 - Han Jiang (HEAD -> refs/heads/master)
|
| diff --git a/file b/file
| index d00491f..b8626c4 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +4
* d25a6c9 - 2026-05-30 17:15 (5 seconds ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch --all
remote: Enumerating objects: 5, done.
remote: Counting objects: 100% (5/5), done.
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (3/3), 210 bytes | 17.00 KiB/s, done.
From C:/Program Files/Git/test_git/client/../server/repo
+ a95cdb9...7869125 master -> origin/master (forced update)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all --patch
* 7869125 - 2026-05-30 17:15 (2 seconds ago) 4 - Han Jiang (refs/remotes/origin/master, refs/remotes/origin/HEAD)
|
| diff --git a/file b/file
| index d00491f..b8626c4 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +4
| * 3995ff8 - 2026-05-30 17:15 (3 seconds ago) 3 - Han Jiang (HEAD -> refs/heads/master)
| |
| | diff --git a/file b/file
| | index 0cfbf08..00750ed 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -2
| | +3
| * a95cdb9 - 2026-05-30 17:15 (5 seconds ago) 2 - Han Jiang
|/
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* d25a6c9 - 2026-05-30 17:15 (6 seconds ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' -c 'core.editor=cat' rebase --onto=HEAD@{upstream} --interactive "$(git -C './client/repo' merge-base --fork-point HEAD@{upstream} HEAD)" HEAD
hint: Waiting for your editor to close the file... pick 3995ff8 # 3
# Rebase a95cdb9..3995ff8 onto 7869125 (1 command)
#
# Commands:
# p, pick <commit> = use commit
# r, reword <commit> = use commit, but edit the commit message
# e, edit <commit> = use commit, but stop for amending
# s, squash <commit> = use commit, but meld into previous commit
# f, fixup [-C | -c] <commit> = like "squash" but keep only the previous
# commit's log message, unless -C is used, in which case
# keep only this commit's message; -c is same as -C but
# opens the editor
# x, exec <command> = run command (the rest of the line) using shell
# b, break = stop here (continue rebase later with 'git rebase --continue')
# d, drop <commit> = remove commit
# l, label <label> = label current HEAD with a name
# t, reset <label> = reset HEAD to a label
# m, merge [-C <commit> | -c <commit>] <label> [# <oneline>]
# create a merge commit using the original merge commit's
# message (or the oneline, if no original merge commit was
# specified); use -c <commit> to reword the commit message
# u, update-ref <ref> = track a placeholder for the <ref> to be updated
# to this position in the new commits. The <ref> is
# updated at the end of the rebase
#
# These lines can be re-ordered; they are executed from top to bottom.
#
# If you remove a line here THAT COMMIT WILL BE LOST.
#
# However, if you remove everything, the rebase will be aborted.
#
Auto-merging file
CONFLICT (content): Merge conflict in file
error: could not apply 3995ff8... 3
hint: Resolve all conflicts manually, mark them as resolved with
hint: "git add/rm <conflicted_files>", then run "git rebase --continue".
hint: You can instead skip this commit: run "git rebase --skip".
hint: To abort and get back to the state before "git rebase", run "git rebase --abort".
hint: Disable this message with "git config set advice.mergeConflict false"
Could not apply 3995ff8... # 3
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all --patch
* 7869125 - 2026-05-30 17:15 (3 seconds ago) 4 - Han Jiang (HEAD, refs/remotes/origin/master, refs/remotes/origin/HEAD)
|
| diff --git a/file b/file
| index d00491f..b8626c4 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +4
| * 3995ff8 - 2026-05-30 17:15 (4 seconds ago) 3 - Han Jiang (refs/heads/master)
| |
| | diff --git a/file b/file
| | index 0cfbf08..00750ed 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -2
| | +3
| * a95cdb9 - 2026-05-30 17:15 (6 seconds ago) 2 - Han Jiang
|/
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* d25a6c9 - 2026-05-30 17:15 (7 seconds ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '5' >'./client/repo/file'; git -C './client/repo' add './file'; git -C './client/repo' -c 'core.editor=:' rebase --continue
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[detached HEAD aeb5af3] 3
1 file changed, 1 insertion(+), 1 deletion(-)
Successfully rebased and updated detached HEAD.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all --patch
* aeb5af3 - 2026-05-30 17:15 (5 seconds ago) 3 - Han Jiang (HEAD)
|
| diff --git a/file b/file
| index b8626c4..7ed6ff8 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -4
| +5
* 7869125 - 2026-05-30 17:15 (4 seconds ago) 4 - Han Jiang (refs/remotes/origin/master, refs/remotes/origin/HEAD)
|
| diff --git a/file b/file
| index d00491f..b8626c4 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +4
| * 3995ff8 - 2026-05-30 17:15 (5 seconds ago) 3 - Han Jiang (refs/heads/master)
| |
| | diff --git a/file b/file
| | index 0cfbf08..00750ed 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -2
| | +3
| * a95cdb9 - 2026-05-30 17:15 (7 seconds ago) 2 - Han Jiang
|/
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* d25a6c9 - 2026-05-30 17:15 (8 seconds ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' checkout -B "$branch_default_name"
Switched to and reset branch 'master'
Your branch is ahead of 'origin/master' by 1 commit.
(use "git push" to publish your local commits)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all --patch
* aeb5af3 - 2026-05-30 17:15 (6 seconds ago) 3 - Han Jiang (HEAD -> refs/heads/master)
|
| diff --git a/file b/file
| index b8626c4..7ed6ff8 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -4
| +5
* 7869125 - 2026-05-30 17:15 (5 seconds ago) 4 - Han Jiang (refs/remotes/origin/master, refs/remotes/origin/HEAD)
|
| diff --git a/file b/file
| index d00491f..b8626c4 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +4
* d25a6c9 - 2026-05-30 17:15 (9 seconds ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server' init --bare './repo.git'
Initialized empty Git repository in C:/Program Files/Git/test_git/server/repo.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./file'; git --git-dir='./server/repo.git' --work-tree='.' add './file'; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) a6bcce2] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./file'; git --git-dir='./server/repo.git' --work-tree='.' add './file'; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master 27c7ef9] 2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --all --patch
* 27c7ef9 - 2026-05-30 17:15 (0 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* a6bcce2 - 2026-05-30 17:15 (1 second ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone '../server/repo.git' './repo'
Cloning into './repo'...
done.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '3' >'./client/repo/file'; git -C './client/repo' add './file'; git -C './client/repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master bfe08ee] 3
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all --patch
* bfe08ee - 2026-05-30 17:15 (0 seconds ago) 3 - Han Jiang (HEAD -> refs/heads/master)
|
| diff --git a/file b/file
| index 0cfbf08..00750ed 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -2
| +3
* 27c7ef9 - 2026-05-30 17:15 (2 seconds ago) 2 - Han Jiang (refs/remotes/origin/master, refs/remotes/origin/HEAD)
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* a6bcce2 - 2026-05-30 17:15 (3 seconds ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' reset --soft HEAD~1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '4' >'./file'; git --git-dir='./server/repo.git' --work-tree='.' add './file'; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master ea88e10] 4
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --all --patch
* ea88e10 - 2026-05-30 17:15 (1 second ago) 4 - Han Jiang (HEAD -> refs/heads/master)
|
| diff --git a/file b/file
| index d00491f..b8626c4 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +4
* a6bcce2 - 2026-05-30 17:15 (5 seconds ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch --all
remote: Enumerating objects: 5, done.
remote: Counting objects: 100% (5/5), done.
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (3/3), 211 bytes | 15.00 KiB/s, done.
From C:/Program Files/Git/test_git/client/../server/repo
+ 27c7ef9...ea88e10 master -> origin/master (forced update)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all --patch
* ea88e10 - 2026-05-30 17:15 (2 seconds ago) 4 - Han Jiang (refs/remotes/origin/master, refs/remotes/origin/HEAD)
|
| diff --git a/file b/file
| index d00491f..b8626c4 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +4
| * bfe08ee - 2026-05-30 17:15 (3 seconds ago) 3 - Han Jiang (HEAD -> refs/heads/master)
| |
| | diff --git a/file b/file
| | index 0cfbf08..00750ed 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -2
| | +3
| * 27c7ef9 - 2026-05-30 17:15 (5 seconds ago) 2 - Han Jiang
|/
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* a6bcce2 - 2026-05-30 17:15 (6 seconds ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' -c 'core.editor=cat' rebase --onto=HEAD@{upstream} --interactive "$(git -C './client/repo' merge-base --fork-point HEAD@{upstream} HEAD)" "$(git -C './client/repo' branch --show-current)"
hint: Waiting for your editor to close the file... pick bfe08ee # 3
# Rebase 27c7ef9..bfe08ee onto ea88e10 (1 command)
#
# Commands:
# p, pick <commit> = use commit
# r, reword <commit> = use commit, but edit the commit message
# e, edit <commit> = use commit, but stop for amending
# s, squash <commit> = use commit, but meld into previous commit
# f, fixup [-C | -c] <commit> = like "squash" but keep only the previous
# commit's log message, unless -C is used, in which case
# keep only this commit's message; -c is same as -C but
# opens the editor
# x, exec <command> = run command (the rest of the line) using shell
# b, break = stop here (continue rebase later with 'git rebase --continue')
# d, drop <commit> = remove commit
# l, label <label> = label current HEAD with a name
# t, reset <label> = reset HEAD to a label
# m, merge [-C <commit> | -c <commit>] <label> [# <oneline>]
# create a merge commit using the original merge commit's
# message (or the oneline, if no original merge commit was
# specified); use -c <commit> to reword the commit message
# u, update-ref <ref> = track a placeholder for the <ref> to be updated
# to this position in the new commits. The <ref> is
# updated at the end of the rebase
#
# These lines can be re-ordered; they are executed from top to bottom.
#
# If you remove a line here THAT COMMIT WILL BE LOST.
#
# However, if you remove everything, the rebase will be aborted.
#
Auto-merging file
CONFLICT (content): Merge conflict in file
error: could not apply bfe08ee... 3
hint: Resolve all conflicts manually, mark them as resolved with
hint: "git add/rm <conflicted_files>", then run "git rebase --continue".
hint: You can instead skip this commit: run "git rebase --skip".
hint: To abort and get back to the state before "git rebase", run "git rebase --abort".
hint: Disable this message with "git config set advice.mergeConflict false"
Could not apply bfe08ee... # 3
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all --patch
* ea88e10 - 2026-05-30 17:15 (3 seconds ago) 4 - Han Jiang (HEAD, refs/remotes/origin/master, refs/remotes/origin/HEAD)
|
| diff --git a/file b/file
| index d00491f..b8626c4 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +4
| * bfe08ee - 2026-05-30 17:15 (4 seconds ago) 3 - Han Jiang (refs/heads/master)
| |
| | diff --git a/file b/file
| | index 0cfbf08..00750ed 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -2
| | +3
| * 27c7ef9 - 2026-05-30 17:15 (6 seconds ago) 2 - Han Jiang
|/
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* a6bcce2 - 2026-05-30 17:15 (7 seconds ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '5' >'./client/repo/file'; git -C './client/repo' add './file'; git -C './client/repo' -c 'core.editor=:' rebase --continue
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[detached HEAD beb8981] 3
1 file changed, 1 insertion(+), 1 deletion(-)
Successfully rebased and updated refs/heads/master.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all --patch
* beb8981 - 2026-05-30 17:15 (5 seconds ago) 3 - Han Jiang (HEAD -> refs/heads/master)
|
| diff --git a/file b/file
| index b8626c4..7ed6ff8 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -4
| +5
* ea88e10 - 2026-05-30 17:15 (4 seconds ago) 4 - Han Jiang (refs/remotes/origin/master, refs/remotes/origin/HEAD)
|
| diff --git a/file b/file
| index d00491f..b8626c4 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +4
* a6bcce2 - 2026-05-30 17:15 (8 seconds ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server' init --bare './repo.git'
Initialized empty Git repository in C:/Program Files/Git/test_git/server/repo.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./file'; git --git-dir='./server/repo.git' --work-tree='.' add './file'; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) bdc2ccf] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./file'; git --git-dir='./server/repo.git' --work-tree='.' add './file'; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master 5e31c4e] 2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --all --patch
* 5e31c4e - 2026-05-30 17:15 (0 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* bdc2ccf - 2026-05-30 17:15 (1 second ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone '../server/repo.git' './repo'
Cloning into './repo'...
done.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '3' >'./client/repo/file'; git -C './client/repo' add './file'; git -C './client/repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master fcf94fb] 3
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all --patch
* fcf94fb - 2026-05-30 17:15 (0 seconds ago) 3 - Han Jiang (HEAD -> refs/heads/master)
|
| diff --git a/file b/file
| index 0cfbf08..00750ed 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -2
| +3
* 5e31c4e - 2026-05-30 17:15 (2 seconds ago) 2 - Han Jiang (refs/remotes/origin/master, refs/remotes/origin/HEAD)
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* bdc2ccf - 2026-05-30 17:15 (3 seconds ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' reset --soft HEAD~1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '4' >'./file'; git --git-dir='./server/repo.git' --work-tree='.' add './file'; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master 16679a1] 4
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --all --patch
* 16679a1 - 2026-05-30 17:15 (1 second ago) 4 - Han Jiang (HEAD -> refs/heads/master)
|
| diff --git a/file b/file
| index d00491f..b8626c4 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +4
* bdc2ccf - 2026-05-30 17:15 (5 seconds ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch --all
remote: Enumerating objects: 5, done.
remote: Counting objects: 100% (5/5), done.
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (3/3), 212 bytes | 19.00 KiB/s, done.
From C:/Program Files/Git/test_git/client/../server/repo
+ 5e31c4e...16679a1 master -> origin/master (forced update)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all --patch
* 16679a1 - 2026-05-30 17:15 (2 seconds ago) 4 - Han Jiang (refs/remotes/origin/master, refs/remotes/origin/HEAD)
|
| diff --git a/file b/file
| index d00491f..b8626c4 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +4
| * fcf94fb - 2026-05-30 17:15 (3 seconds ago) 3 - Han Jiang (HEAD -> refs/heads/master)
| |
| | diff --git a/file b/file
| | index 0cfbf08..00750ed 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -2
| | +3
| * 5e31c4e - 2026-05-30 17:15 (5 seconds ago) 2 - Han Jiang
|/
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* bdc2ccf - 2026-05-30 17:15 (6 seconds ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' -c 'core.editor=sed --in-place -- '\''1d'\''' rebase --keep-base --no-fork-point --interactive
Auto-merging file
CONFLICT (content): Merge conflict in file
error: could not apply fcf94fb... 3
hint: Resolve all conflicts manually, mark them as resolved with
hint: "git add/rm <conflicted_files>", then run "git rebase --continue".
hint: You can instead skip this commit: run "git rebase --skip".
hint: To abort and get back to the state before "git rebase", run "git rebase --abort".
hint: Disable this message with "git config set advice.mergeConflict false"
Could not apply fcf94fb... # 3
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all --patch
* 16679a1 - 2026-05-30 17:15 (3 seconds ago) 4 - Han Jiang (refs/remotes/origin/master, refs/remotes/origin/HEAD)
|
| diff --git a/file b/file
| index d00491f..b8626c4 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +4
| * fcf94fb - 2026-05-30 17:15 (4 seconds ago) 3 - Han Jiang (refs/heads/master)
| |
| | diff --git a/file b/file
| | index 0cfbf08..00750ed 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -2
| | +3
| * 5e31c4e - 2026-05-30 17:15 (6 seconds ago) 2 - Han Jiang
|/
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* bdc2ccf - 2026-05-30 17:15 (7 seconds ago) 1 - Han Jiang (HEAD)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '5' >'./client/repo/file'; git -C './client/repo' add './file'; git -C './client/repo' -c 'core.editor=:' rebase --continue
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[detached HEAD 21f2afd] 3
1 file changed, 1 insertion(+), 1 deletion(-)
Successfully rebased and updated refs/heads/master.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all --patch
* 21f2afd - 2026-05-30 17:15 (5 seconds ago) 3 - Han Jiang (HEAD -> refs/heads/master)
|
| diff --git a/file b/file
| index d00491f..7ed6ff8 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +5
| * 16679a1 - 2026-05-30 17:15 (4 seconds ago) 4 - Han Jiang (refs/remotes/origin/master, refs/remotes/origin/HEAD)
|/
|
| diff --git a/file b/file
| index d00491f..b8626c4 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +4
* bdc2ccf - 2026-05-30 17:15 (8 seconds ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server' init --bare './repo.git'
Initialized empty Git repository in C:/Program Files/Git/test_git/server/repo.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./file'; git --git-dir='./server/repo.git' --work-tree='.' add './file'; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) f581c8f] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./file'; git --git-dir='./server/repo.git' --work-tree='.' add './file'; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master 2e9f7fc] 2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --all --patch
* 2e9f7fc - 2026-05-30 17:16 (0 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* f581c8f - 2026-05-30 17:16 (1 second ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone '../server/repo.git' './repo'
Cloning into './repo'...
done.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '3' >'./client/repo/file'; git -C './client/repo' add './file'; git -C './client/repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master 26cd340] 3
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all --patch
* 26cd340 - 2026-05-30 17:16 (0 seconds ago) 3 - Han Jiang (HEAD -> refs/heads/master)
|
| diff --git a/file b/file
| index 0cfbf08..00750ed 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -2
| +3
* 2e9f7fc - 2026-05-30 17:16 (2 seconds ago) 2 - Han Jiang (refs/remotes/origin/master, refs/remotes/origin/HEAD)
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* f581c8f - 2026-05-30 17:16 (3 seconds ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' reset --soft HEAD~1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '4' >'./file'; git --git-dir='./server/repo.git' --work-tree='.' add './file'; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master 3561b6e] 4
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --all --patch
* 3561b6e - 2026-05-30 17:16 (0 seconds ago) 4 - Han Jiang (HEAD -> refs/heads/master)
|
| diff --git a/file b/file
| index d00491f..b8626c4 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +4
* f581c8f - 2026-05-30 17:16 (5 seconds ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch --all
remote: Enumerating objects: 5, done.
remote: Counting objects: 100% (5/5), done.
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (3/3), 212 bytes | 15.00 KiB/s, done.
From C:/Program Files/Git/test_git/client/../server/repo
+ 2e9f7fc...3561b6e master -> origin/master (forced update)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all --patch
* 3561b6e - 2026-05-30 17:16 (1 second ago) 4 - Han Jiang (refs/remotes/origin/master, refs/remotes/origin/HEAD)
|
| diff --git a/file b/file
| index d00491f..b8626c4 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +4
| * 26cd340 - 2026-05-30 17:16 (3 seconds ago) 3 - Han Jiang (HEAD -> refs/heads/master)
| |
| | diff --git a/file b/file
| | index 0cfbf08..00750ed 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -2
| | +3
| * 2e9f7fc - 2026-05-30 17:16 (5 seconds ago) 2 - Han Jiang
|/
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* f581c8f - 2026-05-30 17:16 (6 seconds ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' -c 'core.editor=cat' rebase --fork-point --interactive
hint: Waiting for your editor to close the file... pick 26cd340 # 3
# Rebase 3561b6e..26cd340 onto 3561b6e (1 command)
#
# Commands:
# p, pick <commit> = use commit
# r, reword <commit> = use commit, but edit the commit message
# e, edit <commit> = use commit, but stop for amending
# s, squash <commit> = use commit, but meld into previous commit
# f, fixup [-C | -c] <commit> = like "squash" but keep only the previous
# commit's log message, unless -C is used, in which case
# keep only this commit's message; -c is same as -C but
# opens the editor
# x, exec <command> = run command (the rest of the line) using shell
# b, break = stop here (continue rebase later with 'git rebase --continue')
# d, drop <commit> = remove commit
# l, label <label> = label current HEAD with a name
# t, reset <label> = reset HEAD to a label
# m, merge [-C <commit> | -c <commit>] <label> [# <oneline>]
# create a merge commit using the original merge commit's
# message (or the oneline, if no original merge commit was
# specified); use -c <commit> to reword the commit message
# u, update-ref <ref> = track a placeholder for the <ref> to be updated
# to this position in the new commits. The <ref> is
# updated at the end of the rebase
#
# These lines can be re-ordered; they are executed from top to bottom.
#
# If you remove a line here THAT COMMIT WILL BE LOST.
#
# However, if you remove everything, the rebase will be aborted.
#
Auto-merging file
CONFLICT (content): Merge conflict in file
error: could not apply 26cd340... 3
hint: Resolve all conflicts manually, mark them as resolved with
hint: "git add/rm <conflicted_files>", then run "git rebase --continue".
hint: You can instead skip this commit: run "git rebase --skip".
hint: To abort and get back to the state before "git rebase", run "git rebase --abort".
hint: Disable this message with "git config set advice.mergeConflict false"
Could not apply 26cd340... # 3
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all --patch
* 3561b6e - 2026-05-30 17:16 (2 seconds ago) 4 - Han Jiang (HEAD, refs/remotes/origin/master, refs/remotes/origin/HEAD)
|
| diff --git a/file b/file
| index d00491f..b8626c4 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +4
| * 26cd340 - 2026-05-30 17:16 (4 seconds ago) 3 - Han Jiang (refs/heads/master)
| |
| | diff --git a/file b/file
| | index 0cfbf08..00750ed 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -2
| | +3
| * 2e9f7fc - 2026-05-30 17:16 (6 seconds ago) 2 - Han Jiang
|/
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* f581c8f - 2026-05-30 17:16 (7 seconds ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '5' >'./client/repo/file'; git -C './client/repo' add './file'; git -C './client/repo' -c 'core.editor=:' rebase --continue
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[detached HEAD 899e809] 3
1 file changed, 1 insertion(+), 1 deletion(-)
Successfully rebased and updated refs/heads/master.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all --patch
* 899e809 - 2026-05-30 17:16 (5 seconds ago) 3 - Han Jiang (HEAD -> refs/heads/master)
|
| diff --git a/file b/file
| index b8626c4..7ed6ff8 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -4
| +5
* 3561b6e - 2026-05-30 17:16 (3 seconds ago) 4 - Han Jiang (refs/remotes/origin/master, refs/remotes/origin/HEAD)
|
| diff --git a/file b/file
| index d00491f..b8626c4 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +4
* f581c8f - 2026-05-30 17:16 (8 seconds ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server' init --bare './repo.git'
Initialized empty Git repository in C:/Program Files/Git/test_git/server/repo.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./file'; git --git-dir='./server/repo.git' --work-tree='.' add './file'; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 5a1f6f3] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./file'; git --git-dir='./server/repo.git' --work-tree='.' add './file'; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master eaa2668] 2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --all --patch
* eaa2668 - 2026-05-30 17:16 (0 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 5a1f6f3 - 2026-05-30 17:16 (1 second ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone '../server/repo.git' './repo'
Cloning into './repo'...
done.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '3' >'./client/repo/file'; git -C './client/repo' add './file'; git -C './client/repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master e5def42] 3
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all --patch
* e5def42 - 2026-05-30 17:16 (0 seconds ago) 3 - Han Jiang (HEAD -> refs/heads/master)
|
| diff --git a/file b/file
| index 0cfbf08..00750ed 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -2
| +3
* eaa2668 - 2026-05-30 17:16 (2 seconds ago) 2 - Han Jiang (refs/remotes/origin/master, refs/remotes/origin/HEAD)
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 5a1f6f3 - 2026-05-30 17:16 (3 seconds ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' reset --soft HEAD~1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '4' >'./file'; git --git-dir='./server/repo.git' --work-tree='.' add './file'; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master 4e36583] 4
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --all --patch
* 4e36583 - 2026-05-30 17:16 (1 second ago) 4 - Han Jiang (HEAD -> refs/heads/master)
|
| diff --git a/file b/file
| index d00491f..b8626c4 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +4
* 5a1f6f3 - 2026-05-30 17:16 (5 seconds ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch --all
remote: Enumerating objects: 5, done.
remote: Counting objects: 100% (5/5), done.
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (3/3), 212 bytes | 15.00 KiB/s, done.
From C:/Program Files/Git/test_git/client/../server/repo
+ eaa2668...4e36583 master -> origin/master (forced update)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch collect_my_changes_into_this_branch
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all --patch
* 4e36583 - 2026-05-30 17:16 (2 seconds ago) 4 - Han Jiang (refs/remotes/origin/master, refs/remotes/origin/HEAD)
|
| diff --git a/file b/file
| index d00491f..b8626c4 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +4
| * e5def42 - 2026-05-30 17:16 (3 seconds ago) 3 - Han Jiang (HEAD -> refs/heads/master, refs/heads/collect_my_changes_into_this_branch)
| |
| | diff --git a/file b/file
| | index 0cfbf08..00750ed 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -2
| | +3
| * eaa2668 - 2026-05-30 17:16 (5 seconds ago) 2 - Han Jiang
|/
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 5a1f6f3 - 2026-05-30 17:16 (6 seconds ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' -c 'core.editor=cat' rebase --fork-point --onto=HEAD@{upstream}...HEAD --interactive HEAD@{upstream} collect_my_changes_into_this_branch
hint: Waiting for your editor to close the file... pick e5def42 # 3
# Rebase 4e36583..e5def42 onto 5a1f6f3 (1 command)
#
# Commands:
# p, pick <commit> = use commit
# r, reword <commit> = use commit, but edit the commit message
# e, edit <commit> = use commit, but stop for amending
# s, squash <commit> = use commit, but meld into previous commit
# f, fixup [-C | -c] <commit> = like "squash" but keep only the previous
# commit's log message, unless -C is used, in which case
# keep only this commit's message; -c is same as -C but
# opens the editor
# x, exec <command> = run command (the rest of the line) using shell
# b, break = stop here (continue rebase later with 'git rebase --continue')
# d, drop <commit> = remove commit
# l, label <label> = label current HEAD with a name
# t, reset <label> = reset HEAD to a label
# m, merge [-C <commit> | -c <commit>] <label> [# <oneline>]
# create a merge commit using the original merge commit's
# message (or the oneline, if no original merge commit was
# specified); use -c <commit> to reword the commit message
# u, update-ref <ref> = track a placeholder for the <ref> to be updated
# to this position in the new commits. The <ref> is
# updated at the end of the rebase
#
# These lines can be re-ordered; they are executed from top to bottom.
#
# If you remove a line here THAT COMMIT WILL BE LOST.
#
# However, if you remove everything, the rebase will be aborted.
#
Auto-merging file
CONFLICT (content): Merge conflict in file
error: could not apply e5def42... 3
hint: Resolve all conflicts manually, mark them as resolved with
hint: "git add/rm <conflicted_files>", then run "git rebase --continue".
hint: You can instead skip this commit: run "git rebase --skip".
hint: To abort and get back to the state before "git rebase", run "git rebase --abort".
hint: Disable this message with "git config set advice.mergeConflict false"
Could not apply e5def42... # 3
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all --patch
* 4e36583 - 2026-05-30 17:16 (3 seconds ago) 4 - Han Jiang (refs/remotes/origin/master, refs/remotes/origin/HEAD)
|
| diff --git a/file b/file
| index d00491f..b8626c4 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +4
| * e5def42 - 2026-05-30 17:16 (4 seconds ago) 3 - Han Jiang (refs/heads/master,
refs/heads/collect_my_changes_into_this_branch)
| |
| | diff --git a/file b/file
| | index 0cfbf08..00750ed 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -2
| | +3
| * eaa2668 - 2026-05-30 17:16 (6 seconds ago) 2 - Han Jiang
|/
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 5a1f6f3 - 2026-05-30 17:16 (7 seconds ago) 1 - Han Jiang (HEAD)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '5' >'./client/repo/file'; git -C './client/repo' add './file'; git -C './client/repo' -c 'core.editor=:' rebase --continue
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[detached HEAD f857962] 3
1 file changed, 1 insertion(+), 1 deletion(-)
Successfully rebased and updated refs/heads/collect_my_changes_into_this_branch.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all --patch
* f857962 - 2026-05-30 17:16 (6 seconds ago) 3 - Han Jiang (HEAD -> refs/heads/collect_my_changes_into_this_branch)
|
| diff --git a/file b/file
| index d00491f..7ed6ff8 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +5
| * 4e36583 - 2026-05-30 17:16 (5 seconds ago) 4 - Han Jiang (refs/remotes/origin/master, refs/remotes/origin/HEAD)
|/
|
| diff --git a/file b/file
| index d00491f..b8626c4 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +4
| * e5def42 - 2026-05-30 17:16 (6 seconds ago) 3 - Han Jiang (refs/heads/master)
| |
| | diff --git a/file b/file
| | index 0cfbf08..00750ed 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -2
| | +3
| * eaa2668 - 2026-05-30 17:16 (8 seconds ago) 2 - Han Jiang
|/
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 5a1f6f3 - 2026-05-30 17:16 (9 seconds ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server' init --bare './repo.git'
Initialized empty Git repository in C:/Program Files/Git/test_git/server/repo.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./file'; git --git-dir='./server/repo.git' --work-tree='.' add './file'; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 61d213c] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./file'; git --git-dir='./server/repo.git' --work-tree='.' add './file'; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master a28f4a0] 2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --all --patch
* a28f4a0 - 2026-05-30 17:16 (1 second ago) 2 - Han Jiang (HEAD -> refs/heads/master)
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 61d213c - 2026-05-30 17:16 (1 second ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone '../server/repo.git' './repo'
Cloning into './repo'...
done.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '3' >'./client/repo/file'; git -C './client/repo' add './file'; git -C './client/repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master 07276f3] 3
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all --patch
* 07276f3 - 2026-05-30 17:16 (1 second ago) 3 - Han Jiang (HEAD -> refs/heads/master)
|
| diff --git a/file b/file
| index 0cfbf08..00750ed 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -2
| +3
* a28f4a0 - 2026-05-30 17:16 (3 seconds ago) 2 - Han Jiang (refs/remotes/origin/master, refs/remotes/origin/HEAD)
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 61d213c - 2026-05-30 17:16 (3 seconds ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' reset --soft HEAD~1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '4' >'./file'; git --git-dir='./server/repo.git' --work-tree='.' add './file'; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master 38af909] 4
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --all --patch
* 38af909 - 2026-05-30 17:16 (0 seconds ago) 4 - Han Jiang (HEAD -> refs/heads/master)
|
| diff --git a/file b/file
| index d00491f..b8626c4 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +4
* 61d213c - 2026-05-30 17:16 (4 seconds ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch --all
remote: Enumerating objects: 5, done.
remote: Counting objects: 100% (5/5), done.
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (3/3), 211 bytes | 19.00 KiB/s, done.
From C:/Program Files/Git/test_git/client/../server/repo
+ a28f4a0...38af909 master -> origin/master (forced update)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all --patch
* 38af909 - 2026-05-30 17:16 (2 seconds ago) 4 - Han Jiang (refs/remotes/origin/master, refs/remotes/origin/HEAD)
|
| diff --git a/file b/file
| index d00491f..b8626c4 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +4
| * 07276f3 - 2026-05-30 17:16 (4 seconds ago) 3 - Han Jiang (HEAD -> refs/heads/master)
| |
| | diff --git a/file b/file
| | index 0cfbf08..00750ed 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -2
| | +3
| * a28f4a0 - 2026-05-30 17:16 (6 seconds ago) 2 - Han Jiang
|/
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 61d213c - 2026-05-30 17:16 (6 seconds ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' -c 'core.editor=cat' rebase --fork-point --keep-base --interactive
hint: Waiting for your editor to close the file... pick 07276f3 # 3
# Rebase 61d213c..07276f3 onto 61d213c (1 command)
#
# Commands:
# p, pick <commit> = use commit
# r, reword <commit> = use commit, but edit the commit message
# e, edit <commit> = use commit, but stop for amending
# s, squash <commit> = use commit, but meld into previous commit
# f, fixup [-C | -c] <commit> = like "squash" but keep only the previous
# commit's log message, unless -C is used, in which case
# keep only this commit's message; -c is same as -C but
# opens the editor
# x, exec <command> = run command (the rest of the line) using shell
# b, break = stop here (continue rebase later with 'git rebase --continue')
# d, drop <commit> = remove commit
# l, label <label> = label current HEAD with a name
# t, reset <label> = reset HEAD to a label
# m, merge [-C <commit> | -c <commit>] <label> [# <oneline>]
# create a merge commit using the original merge commit's
# message (or the oneline, if no original merge commit was
# specified); use -c <commit> to reword the commit message
# u, update-ref <ref> = track a placeholder for the <ref> to be updated
# to this position in the new commits. The <ref> is
# updated at the end of the rebase
#
# These lines can be re-ordered; they are executed from top to bottom.
#
# If you remove a line here THAT COMMIT WILL BE LOST.
#
# However, if you remove everything, the rebase will be aborted.
#
Auto-merging file
CONFLICT (content): Merge conflict in file
error: could not apply 07276f3... 3
hint: Resolve all conflicts manually, mark them as resolved with
hint: "git add/rm <conflicted_files>", then run "git rebase --continue".
hint: You can instead skip this commit: run "git rebase --skip".
hint: To abort and get back to the state before "git rebase", run "git rebase --abort".
hint: Disable this message with "git config set advice.mergeConflict false"
Could not apply 07276f3... # 3
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all --patch
* 38af909 - 2026-05-30 17:16 (3 seconds ago) 4 - Han Jiang (refs/remotes/origin/master, refs/remotes/origin/HEAD)
|
| diff --git a/file b/file
| index d00491f..b8626c4 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +4
| * 07276f3 - 2026-05-30 17:16 (5 seconds ago) 3 - Han Jiang (refs/heads/master)
| |
| | diff --git a/file b/file
| | index 0cfbf08..00750ed 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -2
| | +3
| * a28f4a0 - 2026-05-30 17:16 (7 seconds ago) 2 - Han Jiang
|/
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 61d213c - 2026-05-30 17:16 (7 seconds ago) 1 - Han Jiang (HEAD)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '5' >'./client/repo/file'; git -C './client/repo' add './file'; git -C './client/repo' -c 'core.editor=:' rebase --continue
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[detached HEAD 1539db7] 3
1 file changed, 1 insertion(+), 1 deletion(-)
Successfully rebased and updated refs/heads/master.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all --patch
* 1539db7 - 2026-05-30 17:16 (6 seconds ago) 3 - Han Jiang (HEAD -> refs/heads/master)
|
| diff --git a/file b/file
| index d00491f..7ed6ff8 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +5
| * 38af909 - 2026-05-30 17:16 (4 seconds ago) 4 - Han Jiang (refs/remotes/origin/master, refs/remotes/origin/HEAD)
|/
|
| diff --git a/file b/file
| index d00491f..b8626c4 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +4
* 61d213c - 2026-05-30 17:16 (8 seconds ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"; git -C './repo' branch branch2
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) a40362a] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout -b branch1; echo '2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
Switched to a new branch 'branch1'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch1 6ee1ae8] 2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch2; echo '3' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
Switched to branch 'branch2'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch2 e96c0fe] 3
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1
Switched to branch 'branch1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --message="$((++number))" branch2
Auto-merging file
CONFLICT (content): Merge conflict in file
Automatic merge failed; fix conflicts and then commit the result.
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '4' >'./repo/file'; git -C './repo' add './file'; git -C './repo' -c 'core.editor=:' merge --continue
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch1 eed7a46] 4
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch --diff-merges=separate
* eed7a46 - 2026-05-30 17:16 (1 second ago) 4 - Han Jiang (HEAD -> refs/heads/branch1)
|\
| |
| | diff --git a/file b/file
| | index 0cfbf08..b8626c4 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -2
| | +4
| | eed7a46 - 2026-05-30 17:16 (1 second ago) 4 - Han Jiang (HEAD -> refs/heads/branch1)
| |
| | diff --git a/file b/file
| | index 00750ed..b8626c4 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -3
| | +4
| * e96c0fe - 2026-05-30 17:16 (2 seconds ago) 3 - Han Jiang (refs/heads/branch2)
| |
| | diff --git a/file b/file
| | index d00491f..00750ed 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -1
| | +3
* | 6ee1ae8 - 2026-05-30 17:16 (3 seconds ago) 2 - Han Jiang
|/
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* a40362a - 2026-05-30 17:16 (4 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' -c 'core.editor=cat' rebase --root --interactive
hint: Waiting for your editor to close the file... pick a40362a # 1
pick 6ee1ae8 # 2
pick e96c0fe # 3
# Rebase eed7a46 onto 54953eb (3 commands)
#
# Commands:
# p, pick <commit> = use commit
# r, reword <commit> = use commit, but edit the commit message
# e, edit <commit> = use commit, but stop for amending
# s, squash <commit> = use commit, but meld into previous commit
# f, fixup [-C | -c] <commit> = like "squash" but keep only the previous
# commit's log message, unless -C is used, in which case
# keep only this commit's message; -c is same as -C but
# opens the editor
# x, exec <command> = run command (the rest of the line) using shell
# b, break = stop here (continue rebase later with 'git rebase --continue')
# d, drop <commit> = remove commit
# l, label <label> = label current HEAD with a name
# t, reset <label> = reset HEAD to a label
# m, merge [-C <commit> | -c <commit>] <label> [# <oneline>]
# create a merge commit using the original merge commit's
# message (or the oneline, if no original merge commit was
# specified); use -c <commit> to reword the commit message
# u, update-ref <ref> = track a placeholder for the <ref> to be updated
# to this position in the new commits. The <ref> is
# updated at the end of the rebase
#
# These lines can be re-ordered; they are executed from top to bottom.
#
# If you remove a line here THAT COMMIT WILL BE LOST.
#
# However, if you remove everything, the rebase will be aborted.
#
Auto-merging file
CONFLICT (content): Merge conflict in file
error: could not apply e96c0fe... 3
hint: Resolve all conflicts manually, mark them as resolved with
hint: "git add/rm <conflicted_files>", then run "git rebase --continue".
hint: You can instead skip this commit: run "git rebase --skip".
hint: To abort and get back to the state before "git rebase", run "git rebase --abort".
hint: Disable this message with "git config set advice.mergeConflict false"
Could not apply e96c0fe... # 3
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch --diff-merges=separate
* eed7a46 - 2026-05-30 17:16 (2 seconds ago) 4 - Han Jiang (refs/heads/branch1)
|\
| |
| | diff --git a/file b/file
| | index 0cfbf08..b8626c4 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -2
| | +4
| | eed7a46 - 2026-05-30 17:16 (2 seconds ago) 4 - Han Jiang (refs/heads/branch1)
| |
| | diff --git a/file b/file
| | index 00750ed..b8626c4 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -3
| | +4
| * e96c0fe - 2026-05-30 17:16 (3 seconds ago) 3 - Han Jiang (refs/heads/branch2)
| |
| | diff --git a/file b/file
| | index d00491f..00750ed 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -1
| | +3
* | 6ee1ae8 - 2026-05-30 17:16 (4 seconds ago) 2 - Han Jiang (HEAD)
|/
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* a40362a - 2026-05-30 17:16 (5 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '5' >'./repo/file'; git -C './repo' add './file'; git -C './repo' -c 'core.editor=:' rebase --continue
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[detached HEAD d9253d8] 3
1 file changed, 1 insertion(+), 1 deletion(-)
Successfully rebased and updated refs/heads/branch1.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch --diff-merges=separate
* d9253d8 - 2026-05-30 17:16 (4 seconds ago) 3 - Han Jiang (HEAD -> refs/heads/branch1)
|
| diff --git a/file b/file
| index 0cfbf08..7ed6ff8 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -2
| +5
* 6ee1ae8 - 2026-05-30 17:16 (5 seconds ago) 2 - Han Jiang
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
| * e96c0fe - 2026-05-30 17:16 (4 seconds ago) 3 - Han Jiang (refs/heads/branch2)
|/
|
| diff --git a/file b/file
| index d00491f..00750ed 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +3
* a40362a - 2026-05-30 17:16 (6 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"; git -C './repo' branch branch2
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 75d9169] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout -b branch1; echo '2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
Switched to a new branch 'branch1'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch1 1c33dc3] 2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch2; echo '3' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
Switched to branch 'branch2'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch2 15e976a] 3
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1
Switched to branch 'branch1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --message="$((++number))" branch2
Auto-merging file
CONFLICT (content): Merge conflict in file
Automatic merge failed; fix conflicts and then commit the result.
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '4' >'./repo/file'; git -C './repo' add './file'; git -C './repo' -c 'core.editor=:' merge --continue
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch1 30c592d] 4
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch --diff-merges=separate
* 30c592d - 2026-05-30 17:17 (0 seconds ago) 4 - Han Jiang (HEAD -> refs/heads/branch1)
|\
| |
| | diff --git a/file b/file
| | index 0cfbf08..b8626c4 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -2
| | +4
| | 30c592d - 2026-05-30 17:17 (0 seconds ago) 4 - Han Jiang (HEAD -> refs/heads/branch1)
| |
| | diff --git a/file b/file
| | index 00750ed..b8626c4 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -3
| | +4
| * 15e976a - 2026-05-30 17:16 (2 seconds ago) 3 - Han Jiang (refs/heads/branch2)
| |
| | diff --git a/file b/file
| | index d00491f..00750ed 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -1
| | +3
* | 1c33dc3 - 2026-05-30 17:16 (3 seconds ago) 2 - Han Jiang
|/
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 75d9169 - 2026-05-30 17:16 (3 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' -c 'core.editor=cat' rebase --root --rebase-merges --interactive
hint: Waiting for your editor to close the file... label onto
# Branch branch2
reset [new root]
pick 75d9169 # 1
label branch-point
pick 15e976a # 3
label branch2
reset branch-point # 1
pick 1c33dc3 # 2
merge -C 30c592d branch2 # 4
# Rebase 30c592d onto 6a21117 (9 commands)
#
# Commands:
# p, pick <commit> = use commit
# r, reword <commit> = use commit, but edit the commit message
# e, edit <commit> = use commit, but stop for amending
# s, squash <commit> = use commit, but meld into previous commit
# f, fixup [-C | -c] <commit> = like "squash" but keep only the previous
# commit's log message, unless -C is used, in which case
# keep only this commit's message; -c is same as -C but
# opens the editor
# x, exec <command> = run command (the rest of the line) using shell
# b, break = stop here (continue rebase later with 'git rebase --continue')
# d, drop <commit> = remove commit
# l, label <label> = label current HEAD with a name
# t, reset <label> = reset HEAD to a label
# m, merge [-C <commit> | -c <commit>] <label> [# <oneline>]
# create a merge commit using the original merge commit's
# message (or the oneline, if no original merge commit was
# specified); use -c <commit> to reword the commit message
# u, update-ref <ref> = track a placeholder for the <ref> to be updated
# to this position in the new commits. The <ref> is
# updated at the end of the rebase
#
# These lines can be re-ordered; they are executed from top to bottom.
#
# If you remove a line here THAT COMMIT WILL BE LOST.
#
# However, if you remove everything, the rebase will be aborted.
#
Successfully rebased and updated refs/heads/branch1.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch --diff-merges=separate
* 30c592d - 2026-05-30 17:17 (1 second ago) 4 - Han Jiang (HEAD -> refs/heads/branch1)
|\
| |
| | diff --git a/file b/file
| | index 0cfbf08..b8626c4 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -2
| | +4
| | 30c592d - 2026-05-30 17:17 (1 second ago) 4 - Han Jiang (HEAD -> refs/heads/branch1)
| |
| | diff --git a/file b/file
| | index 00750ed..b8626c4 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -3
| | +4
| * 15e976a - 2026-05-30 17:16 (3 seconds ago) 3 - Han Jiang (refs/heads/branch2)
| |
| | diff --git a/file b/file
| | index d00491f..00750ed 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -1
| | +3
* | 1c33dc3 - 2026-05-30 17:16 (4 seconds ago) 2 - Han Jiang
|/
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 75d9169 - 2026-05-30 17:16 (4 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"; git -C './repo' branch branch1
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 8f7f304] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout --orphan branch2; echo '2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
Switched to a new branch 'branch2'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch2 (root-commit) 2ccd5fd] 2
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1
Switched to branch 'branch1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --message="$((++number))" --allow-unrelated-histories branch2
Auto-merging file
CONFLICT (add/add): Merge conflict in file
Automatic merge failed; fix conflicts and then commit the result.
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '3' >'./repo/file'; git -C './repo' add './file'; git -C './repo' -c 'core.editor=:' merge --continue
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch1 ba3879f] 3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch --diff-merges=separate
* ba3879f - 2026-05-30 17:17 (0 seconds ago) 3 - Han Jiang (HEAD -> refs/heads/branch1)
|\
| |
| | diff --git a/file b/file
| | index d00491f..00750ed 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -1
| | +3
| | ba3879f - 2026-05-30 17:17 (0 seconds ago) 3 - Han Jiang (HEAD -> refs/heads/branch1)
| |
| | diff --git a/file b/file
| | index 0cfbf08..00750ed 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -2
| | +3
| * 2ccd5fd - 2026-05-30 17:17 (1 second ago) 2 - Han Jiang (refs/heads/branch2)
|
| diff --git a/file b/file
| new file mode 100644
| index 0000000..0cfbf08
| --- /dev/null
| +++ b/file
| @@ -0,0 +1 @@
| +2
* 8f7f304 - 2026-05-30 17:17 (2 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' -c 'core.editor=cat' rebase --root --interactive
hint: Waiting for your editor to close the file... pick 8f7f304 # 1
pick 2ccd5fd # 2
# Rebase ba3879f onto 6bb41c3 (2 commands)
#
# Commands:
# p, pick <commit> = use commit
# r, reword <commit> = use commit, but edit the commit message
# e, edit <commit> = use commit, but stop for amending
# s, squash <commit> = use commit, but meld into previous commit
# f, fixup [-C | -c] <commit> = like "squash" but keep only the previous
# commit's log message, unless -C is used, in which case
# keep only this commit's message; -c is same as -C but
# opens the editor
# x, exec <command> = run command (the rest of the line) using shell
# b, break = stop here (continue rebase later with 'git rebase --continue')
# d, drop <commit> = remove commit
# l, label <label> = label current HEAD with a name
# t, reset <label> = reset HEAD to a label
# m, merge [-C <commit> | -c <commit>] <label> [# <oneline>]
# create a merge commit using the original merge commit's
# message (or the oneline, if no original merge commit was
# specified); use -c <commit> to reword the commit message
# u, update-ref <ref> = track a placeholder for the <ref> to be updated
# to this position in the new commits. The <ref> is
# updated at the end of the rebase
#
# These lines can be re-ordered; they are executed from top to bottom.
#
# If you remove a line here THAT COMMIT WILL BE LOST.
#
# However, if you remove everything, the rebase will be aborted.
#
Auto-merging file
CONFLICT (add/add): Merge conflict in file
error: could not apply 2ccd5fd... 2
hint: Resolve all conflicts manually, mark them as resolved with
hint: "git add/rm <conflicted_files>", then run "git rebase --continue".
hint: You can instead skip this commit: run "git rebase --skip".
hint: To abort and get back to the state before "git rebase", run "git rebase --abort".
hint: Disable this message with "git config set advice.mergeConflict false"
Could not apply 2ccd5fd... # 2
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch --diff-merges=separate
* ba3879f - 2026-05-30 17:17 (1 second ago) 3 - Han Jiang (refs/heads/branch1)
|\
| |
| | diff --git a/file b/file
| | index d00491f..00750ed 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -1
| | +3
| | ba3879f - 2026-05-30 17:17 (1 second ago) 3 - Han Jiang (refs/heads/branch1)
| |
| | diff --git a/file b/file
| | index 0cfbf08..00750ed 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -2
| | +3
| * 2ccd5fd - 2026-05-30 17:17 (2 seconds ago) 2 - Han Jiang (refs/heads/branch2)
|
| diff --git a/file b/file
| new file mode 100644
| index 0000000..0cfbf08
| --- /dev/null
| +++ b/file
| @@ -0,0 +1 @@
| +2
* 8f7f304 - 2026-05-30 17:17 (3 seconds ago) 1 - Han Jiang (HEAD, refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '4' >'./repo/file'; git -C './repo' add './file'; git -C './repo' -c 'core.editor=:' rebase --continue
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[detached HEAD 432802e] 2
1 file changed, 1 insertion(+), 1 deletion(-)
Successfully rebased and updated refs/heads/branch1.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch --diff-merges=separate
* 432802e - 2026-05-30 17:17 (3 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/branch1)
|
| diff --git a/file b/file
| index d00491f..b8626c4 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +4
* 8f7f304 - 2026-05-30 17:17 (4 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
* 2ccd5fd - 2026-05-30 17:17 (3 seconds ago) 2 - Han Jiang (refs/heads/branch2)
diff --git a/file b/file
new file mode 100644
index 0000000..0cfbf08
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"; git -C './repo' branch branch1
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 2a96e27] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout --orphan branch2; echo '2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
Switched to a new branch 'branch2'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch2 (root-commit) 30b49f4] 2
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1
Switched to branch 'branch1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --message="$((++number))" --allow-unrelated-histories branch2
Auto-merging file
CONFLICT (add/add): Merge conflict in file
Automatic merge failed; fix conflicts and then commit the result.
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '3' >'./repo/file'; git -C './repo' add './file'; git -C './repo' -c 'core.editor=:' merge --continue
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch1 7f0abbc] 3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch --diff-merges=separate
* 7f0abbc - 2026-05-30 17:17 (1 second ago) 3 - Han Jiang (HEAD -> refs/heads/branch1)
|\
| |
| | diff --git a/file b/file
| | index d00491f..00750ed 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -1
| | +3
| | 7f0abbc - 2026-05-30 17:17 (1 second ago) 3 - Han Jiang (HEAD -> refs/heads/branch1)
| |
| | diff --git a/file b/file
| | index 0cfbf08..00750ed 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -2
| | +3
| * 30b49f4 - 2026-05-30 17:17 (2 seconds ago) 2 - Han Jiang (refs/heads/branch2)
|
| diff --git a/file b/file
| new file mode 100644
| index 0000000..0cfbf08
| --- /dev/null
| +++ b/file
| @@ -0,0 +1 @@
| +2
* 2a96e27 - 2026-05-30 17:17 (3 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' -c 'core.editor=cat' rebase --root --rebase-merges --interactive
hint: Waiting for your editor to close the file... label onto
# Branch branch2
reset [new root]
pick 30b49f4 # 2
label branch2
reset [new root]
pick 2a96e27 # 1
merge -C 7f0abbc branch2 # 3
# Rebase 7f0abbc onto b525423 (7 commands)
#
# Commands:
# p, pick <commit> = use commit
# r, reword <commit> = use commit, but edit the commit message
# e, edit <commit> = use commit, but stop for amending
# s, squash <commit> = use commit, but meld into previous commit
# f, fixup [-C | -c] <commit> = like "squash" but keep only the previous
# commit's log message, unless -C is used, in which case
# keep only this commit's message; -c is same as -C but
# opens the editor
# x, exec <command> = run command (the rest of the line) using shell
# b, break = stop here (continue rebase later with 'git rebase --continue')
# d, drop <commit> = remove commit
# l, label <label> = label current HEAD with a name
# t, reset <label> = reset HEAD to a label
# m, merge [-C <commit> | -c <commit>] <label> [# <oneline>]
# create a merge commit using the original merge commit's
# message (or the oneline, if no original merge commit was
# specified); use -c <commit> to reword the commit message
# u, update-ref <ref> = track a placeholder for the <ref> to be updated
# to this position in the new commits. The <ref> is
# updated at the end of the rebase
#
# These lines can be re-ordered; they are executed from top to bottom.
#
# If you remove a line here THAT COMMIT WILL BE LOST.
#
# However, if you remove everything, the rebase will be aborted.
#
Successfully rebased and updated refs/heads/branch1.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch --diff-merges=separate
* 7f0abbc - 2026-05-30 17:17 (2 seconds ago) 3 - Han Jiang (HEAD -> refs/heads/branch1)
|\
| |
| | diff --git a/file b/file
| | index d00491f..00750ed 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -1
| | +3
| | 7f0abbc - 2026-05-30 17:17 (2 seconds ago) 3 - Han Jiang (HEAD -> refs/heads/branch1)
| |
| | diff --git a/file b/file
| | index 0cfbf08..00750ed 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -2
| | +3
| * 30b49f4 - 2026-05-30 17:17 (3 seconds ago) 2 - Han Jiang (refs/heads/branch2)
|
| diff --git a/file b/file
| new file mode 100644
| index 0000000..0cfbf08
| --- /dev/null
| +++ b/file
| @@ -0,0 +1 @@
| +2
* 2a96e27 - 2026-05-30 17:17 (4 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"; git -C './repo' branch branch2
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) a9b4826] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout -b branch1; echo '2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
Switched to a new branch 'branch1'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch1 44ffad9] 2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch2; echo '3' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
Switched to branch 'branch2'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch2 e19fa51] 3
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1
Switched to branch 'branch1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --message="$((++number))" branch2
Auto-merging file
CONFLICT (content): Merge conflict in file
Automatic merge failed; fix conflicts and then commit the result.
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '4' >'./repo/file'; git -C './repo' add './file'; git -C './repo' -c 'core.editor=:' merge --continue
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch1 f3e2ecf] 4
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout --orphan branch3; echo '5' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
Switched to a new branch 'branch3'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch3 (root-commit) b8abd70] 5
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1
Switched to branch 'branch1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch --diff-merges=separate
* f3e2ecf - 2026-05-30 17:17 (1 second ago) 4 - Han Jiang (HEAD -> refs/heads/branch1)
|\
| |
| | diff --git a/file b/file
| | index 0cfbf08..b8626c4 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -2
| | +4
| | f3e2ecf - 2026-05-30 17:17 (1 second ago) 4 - Han Jiang (HEAD -> refs/heads/branch1)
| |
| | diff --git a/file b/file
| | index 00750ed..b8626c4 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -3
| | +4
| * e19fa51 - 2026-05-30 17:17 (3 seconds ago) 3 - Han Jiang (refs/heads/branch2)
| |
| | diff --git a/file b/file
| | index d00491f..00750ed 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -1
| | +3
* | 44ffad9 - 2026-05-30 17:17 (4 seconds ago) 2 - Han Jiang
|/
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* a9b4826 - 2026-05-30 17:17 (5 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
* b8abd70 - 2026-05-30 17:17 (1 second ago) 5 - Han Jiang (refs/heads/branch3)
diff --git a/file b/file
new file mode 100644
index 0000000..7ed6ff8
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+5
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' -c 'core.editor=cat' rebase --onto=branch3 --root --interactive
hint: Waiting for your editor to close the file... pick a9b4826 # 1
pick 44ffad9 # 2
pick e19fa51 # 3
# Rebase f3e2ecf onto b8abd70 (3 commands)
#
# Commands:
# p, pick <commit> = use commit
# r, reword <commit> = use commit, but edit the commit message
# e, edit <commit> = use commit, but stop for amending
# s, squash <commit> = use commit, but meld into previous commit
# f, fixup [-C | -c] <commit> = like "squash" but keep only the previous
# commit's log message, unless -C is used, in which case
# keep only this commit's message; -c is same as -C but
# opens the editor
# x, exec <command> = run command (the rest of the line) using shell
# b, break = stop here (continue rebase later with 'git rebase --continue')
# d, drop <commit> = remove commit
# l, label <label> = label current HEAD with a name
# t, reset <label> = reset HEAD to a label
# m, merge [-C <commit> | -c <commit>] <label> [# <oneline>]
# create a merge commit using the original merge commit's
# message (or the oneline, if no original merge commit was
# specified); use -c <commit> to reword the commit message
# u, update-ref <ref> = track a placeholder for the <ref> to be updated
# to this position in the new commits. The <ref> is
# updated at the end of the rebase
#
# These lines can be re-ordered; they are executed from top to bottom.
#
# If you remove a line here THAT COMMIT WILL BE LOST.
#
# However, if you remove everything, the rebase will be aborted.
#
Auto-merging file
CONFLICT (add/add): Merge conflict in file
error: could not apply a9b4826... 1
hint: Resolve all conflicts manually, mark them as resolved with
hint: "git add/rm <conflicted_files>", then run "git rebase --continue".
hint: You can instead skip this commit: run "git rebase --skip".
hint: To abort and get back to the state before "git rebase", run "git rebase --abort".
hint: Disable this message with "git config set advice.mergeConflict false"
Could not apply a9b4826... # 1
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch --diff-merges=separate
* f3e2ecf - 2026-05-30 17:17 (2 seconds ago) 4 - Han Jiang (refs/heads/branch1)
|\
| |
| | diff --git a/file b/file
| | index 0cfbf08..b8626c4 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -2
| | +4
| | f3e2ecf - 2026-05-30 17:17 (2 seconds ago) 4 - Han Jiang (refs/heads/branch1)
| |
| | diff --git a/file b/file
| | index 00750ed..b8626c4 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -3
| | +4
| * e19fa51 - 2026-05-30 17:17 (4 seconds ago) 3 - Han Jiang (refs/heads/branch2)
| |
| | diff --git a/file b/file
| | index d00491f..00750ed 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -1
| | +3
* | 44ffad9 - 2026-05-30 17:17 (5 seconds ago) 2 - Han Jiang
|/
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* a9b4826 - 2026-05-30 17:17 (6 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
* b8abd70 - 2026-05-30 17:17 (2 seconds ago) 5 - Han Jiang (HEAD, refs/heads/branch3)
diff --git a/file b/file
new file mode 100644
index 0000000..7ed6ff8
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+5
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '6' >'./repo/file'; git -C './repo' add './file'; git -C './repo' -c 'core.editor=:' rebase --continue
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[detached HEAD 5ae5994] 1
1 file changed, 1 insertion(+), 1 deletion(-)
Auto-merging file
CONFLICT (content): Merge conflict in file
error: could not apply 44ffad9... 2
hint: Resolve all conflicts manually, mark them as resolved with
hint: "git add/rm <conflicted_files>", then run "git rebase --continue".
hint: You can instead skip this commit: run "git rebase --skip".
hint: To abort and get back to the state before "git rebase", run "git rebase --abort".
hint: Disable this message with "git config set advice.mergeConflict false"
Could not apply 44ffad9... # 2
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '7' >'./repo/file'; git -C './repo' add './file'; git -C './repo' -c 'core.editor=:' rebase --continue
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[detached HEAD 9a134ea] 2
1 file changed, 1 insertion(+), 1 deletion(-)
Auto-merging file
CONFLICT (content): Merge conflict in file
error: could not apply e19fa51... 3
hint: Resolve all conflicts manually, mark them as resolved with
hint: "git add/rm <conflicted_files>", then run "git rebase --continue".
hint: You can instead skip this commit: run "git rebase --skip".
hint: To abort and get back to the state before "git rebase", run "git rebase --abort".
hint: Disable this message with "git config set advice.mergeConflict false"
Could not apply e19fa51... # 3
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '8' >'./repo/file'; git -C './repo' add './file'; git -C './repo' -c 'core.editor=:' rebase --continue
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[detached HEAD 3b67024] 3
1 file changed, 1 insertion(+), 1 deletion(-)
Successfully rebased and updated refs/heads/branch1.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch --diff-merges=separate
* 3b67024 - 2026-05-30 17:17 (6 seconds ago) 3 - Han Jiang (HEAD -> refs/heads/branch1)
|
| diff --git a/file b/file
| index 7f8f011..45a4fb7 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -7
| +8
* 9a134ea - 2026-05-30 17:17 (7 seconds ago) 2 - Han Jiang
|
| diff --git a/file b/file
| index 1e8b314..7f8f011 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -6
| +7
* 5ae5994 - 2026-05-30 17:17 (8 seconds ago) 1 - Han Jiang
|
| diff --git a/file b/file
| index 7ed6ff8..1e8b314 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -5
| +6
* b8abd70 - 2026-05-30 17:17 (4 seconds ago) 5 - Han Jiang (refs/heads/branch3)
diff --git a/file b/file
new file mode 100644
index 0000000..7ed6ff8
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+5
* e19fa51 - 2026-05-30 17:17 (6 seconds ago) 3 - Han Jiang (refs/heads/branch2)
|
| diff --git a/file b/file
| index d00491f..00750ed 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +3
* a9b4826 - 2026-05-30 17:17 (8 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"; git -C './repo' branch branch2
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 95a13fa] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout -b branch1; echo '2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
Switched to a new branch 'branch1'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch1 c4436e0] 2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch2; echo '3' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
Switched to branch 'branch2'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch2 b4daaeb] 3
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1
Switched to branch 'branch1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --message="$((++number))" branch2
Auto-merging file
CONFLICT (content): Merge conflict in file
Automatic merge failed; fix conflicts and then commit the result.
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '4' >'./repo/file'; git -C './repo' add './file'; git -C './repo' -c 'core.editor=:' merge --continue
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch1 66c4436] 4
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout --orphan branch3; echo '5' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
Switched to a new branch 'branch3'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch3 (root-commit) 5f6dd8f] 5
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1
Switched to branch 'branch1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch --diff-merges=separate
* 66c4436 - 2026-05-30 17:17 (1 second ago) 4 - Han Jiang (HEAD -> refs/heads/branch1)
|\
| |
| | diff --git a/file b/file
| | index 0cfbf08..b8626c4 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -2
| | +4
| | 66c4436 - 2026-05-30 17:17 (1 second ago) 4 - Han Jiang (HEAD -> refs/heads/branch1)
| |
| | diff --git a/file b/file
| | index 00750ed..b8626c4 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -3
| | +4
| * b4daaeb - 2026-05-30 17:17 (3 seconds ago) 3 - Han Jiang (refs/heads/branch2)
| |
| | diff --git a/file b/file
| | index d00491f..00750ed 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -1
| | +3
* | c4436e0 - 2026-05-30 17:17 (4 seconds ago) 2 - Han Jiang
|/
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 95a13fa - 2026-05-30 17:17 (4 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
* 5f6dd8f - 2026-05-30 17:17 (1 second ago) 5 - Han Jiang (refs/heads/branch3)
diff --git a/file b/file
new file mode 100644
index 0000000..7ed6ff8
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+5
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' -c 'core.editor=cat' rebase --onto=branch3 --root --rebase-merges --interactive
hint: Waiting for your editor to close the file... label onto
# Branch branch2
reset onto
pick 95a13fa # 1
label branch-point
pick b4daaeb # 3
label branch2
reset branch-point # 1
pick c4436e0 # 2
merge -C 66c4436 branch2 # 4
# Rebase 66c4436 onto 5f6dd8f (9 commands)
#
# Commands:
# p, pick <commit> = use commit
# r, reword <commit> = use commit, but edit the commit message
# e, edit <commit> = use commit, but stop for amending
# s, squash <commit> = use commit, but meld into previous commit
# f, fixup [-C | -c] <commit> = like "squash" but keep only the previous
# commit's log message, unless -C is used, in which case
# keep only this commit's message; -c is same as -C but
# opens the editor
# x, exec <command> = run command (the rest of the line) using shell
# b, break = stop here (continue rebase later with 'git rebase --continue')
# d, drop <commit> = remove commit
# l, label <label> = label current HEAD with a name
# t, reset <label> = reset HEAD to a label
# m, merge [-C <commit> | -c <commit>] <label> [# <oneline>]
# create a merge commit using the original merge commit's
# message (or the oneline, if no original merge commit was
# specified); use -c <commit> to reword the commit message
# u, update-ref <ref> = track a placeholder for the <ref> to be updated
# to this position in the new commits. The <ref> is
# updated at the end of the rebase
#
# These lines can be re-ordered; they are executed from top to bottom.
#
# If you remove a line here THAT COMMIT WILL BE LOST.
#
# However, if you remove everything, the rebase will be aborted.
#
Auto-merging file
CONFLICT (add/add): Merge conflict in file
error: could not apply 95a13fa... 1
hint: Resolve all conflicts manually, mark them as resolved with
hint: "git add/rm <conflicted_files>", then run "git rebase --continue".
hint: You can instead skip this commit: run "git rebase --skip".
hint: To abort and get back to the state before "git rebase", run "git rebase --abort".
hint: Disable this message with "git config set advice.mergeConflict false"
Could not apply 95a13fa... # 1
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch --diff-merges=separate
* 66c4436 - 2026-05-30 17:17 (2 seconds ago) 4 - Han Jiang (refs/heads/branch1)
|\
| |
| | diff --git a/file b/file
| | index 0cfbf08..b8626c4 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -2
| | +4
| | 66c4436 - 2026-05-30 17:17 (2 seconds ago) 4 - Han Jiang (refs/heads/branch1)
| |
| | diff --git a/file b/file
| | index 00750ed..b8626c4 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -3
| | +4
| * b4daaeb - 2026-05-30 17:17 (4 seconds ago) 3 - Han Jiang (refs/heads/branch2)
| |
| | diff --git a/file b/file
| | index d00491f..00750ed 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -1
| | +3
* | c4436e0 - 2026-05-30 17:17 (5 seconds ago) 2 - Han Jiang
|/
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 95a13fa - 2026-05-30 17:17 (5 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
* 5f6dd8f - 2026-05-30 17:17 (2 seconds ago) 5 - Han Jiang (HEAD, refs/heads/branch3)
diff --git a/file b/file
new file mode 100644
index 0000000..7ed6ff8
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+5
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '6' >'./repo/file'; git -C './repo' add './file'; git -C './repo' -c 'core.editor=:' rebase --continue
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[detached HEAD 3fc33ac] 1
1 file changed, 1 insertion(+), 1 deletion(-)
Auto-merging file
CONFLICT (content): Merge conflict in file
error: could not apply b4daaeb... 3
hint: Resolve all conflicts manually, mark them as resolved with
hint: "git add/rm <conflicted_files>", then run "git rebase --continue".
hint: You can instead skip this commit: run "git rebase --skip".
hint: To abort and get back to the state before "git rebase", run "git rebase --abort".
hint: Disable this message with "git config set advice.mergeConflict false"
Could not apply b4daaeb... # 3
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '8' >'./repo/file'; git -C './repo' add './file'; git -C './repo' -c 'core.editor=:' rebase --continue
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[detached HEAD 3609b93] 3
1 file changed, 1 insertion(+), 1 deletion(-)
Auto-merging file
CONFLICT (content): Merge conflict in file
error: could not apply c4436e0... 2
hint: Resolve all conflicts manually, mark them as resolved with
hint: "git add/rm <conflicted_files>", then run "git rebase --continue".
hint: You can instead skip this commit: run "git rebase --skip".
hint: To abort and get back to the state before "git rebase", run "git rebase --abort".
hint: Disable this message with "git config set advice.mergeConflict false"
Could not apply c4436e0... # 2
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '7' >'./repo/file'; git -C './repo' add './file'; git -C './repo' -c 'core.editor=:' rebase --continue
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[detached HEAD a46e7e9] 2
1 file changed, 1 insertion(+), 1 deletion(-)
Auto-merging file
CONFLICT (content): Merge conflict in file
Could not apply 66c4436... branch2 # 4
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '9' >'./repo/file'; git -C './repo' add './file'; git -C './repo' -c 'core.editor=:' rebase --continue
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[detached HEAD 7c9e97c] 4
Successfully rebased and updated refs/heads/branch1.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch --diff-merges=separate
* 7c9e97c - 2026-05-30 17:17 (5 seconds ago) 4 - Han Jiang (HEAD -> refs/heads/branch1)
|\
| |
| | diff --git a/file b/file
| | index 7f8f011..ec63514 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -7
| | +9
| | 7c9e97c - 2026-05-30 17:17 (5 seconds ago) 4 - Han Jiang (HEAD -> refs/heads/branch1)
| |
| | diff --git a/file b/file
| | index 45a4fb7..ec63514 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -8
| | +9
| * 3609b93 - 2026-05-30 17:17 (7 seconds ago) 3 - Han Jiang
| |
| | diff --git a/file b/file
| | index 1e8b314..45a4fb7 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -6
| | +8
* | a46e7e9 - 2026-05-30 17:17 (8 seconds ago) 2 - Han Jiang
|/
|
| diff --git a/file b/file
| index 1e8b314..7f8f011 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -6
| +7
* 3fc33ac - 2026-05-30 17:17 (8 seconds ago) 1 - Han Jiang
|
| diff --git a/file b/file
| index 7ed6ff8..1e8b314 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -5
| +6
* 5f6dd8f - 2026-05-30 17:17 (5 seconds ago) 5 - Han Jiang (refs/heads/branch3)
diff --git a/file b/file
new file mode 100644
index 0000000..7ed6ff8
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+5
* b4daaeb - 2026-05-30 17:17 (7 seconds ago) 3 - Han Jiang (refs/heads/branch2)
|
| diff --git a/file b/file
| index d00491f..00750ed 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +3
* 95a13fa - 2026-05-30 17:17 (8 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"; git -C './repo' branch branch1
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 2cf9507] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout --orphan branch2; echo '2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
Switched to a new branch 'branch2'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch2 (root-commit) 18c369c] 2
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1
Switched to branch 'branch1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --message="$((++number))" --allow-unrelated-histories branch2
Auto-merging file
CONFLICT (add/add): Merge conflict in file
Automatic merge failed; fix conflicts and then commit the result.
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '3' >'./repo/file'; git -C './repo' add './file'; git -C './repo' -c 'core.editor=:' merge --continue
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch1 cde8712] 3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout --orphan branch3; echo '4' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
Switched to a new branch 'branch3'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch3 (root-commit) 78eb504] 4
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1
Switched to branch 'branch1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch --diff-merges=separate
* 78eb504 - 2026-05-30 17:17 (1 second ago) 4 - Han Jiang (refs/heads/branch3)
diff --git a/file b/file
new file mode 100644
index 0000000..b8626c4
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+4
* cde8712 - 2026-05-30 17:17 (2 seconds ago) 3 - Han Jiang (HEAD -> refs/heads/branch1)
|\
| |
| | diff --git a/file b/file
| | index d00491f..00750ed 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -1
| | +3
| | cde8712 - 2026-05-30 17:17 (2 seconds ago) 3 - Han Jiang (HEAD -> refs/heads/branch1)
| |
| | diff --git a/file b/file
| | index 0cfbf08..00750ed 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -2
| | +3
| * 18c369c - 2026-05-30 17:17 (3 seconds ago) 2 - Han Jiang (refs/heads/branch2)
|
| diff --git a/file b/file
| new file mode 100644
| index 0000000..0cfbf08
| --- /dev/null
| +++ b/file
| @@ -0,0 +1 @@
| +2
* 2cf9507 - 2026-05-30 17:17 (4 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' -c 'core.editor=cat' rebase --onto=branch3 --root --interactive
hint: Waiting for your editor to close the file... pick 2cf9507 # 1
pick 18c369c # 2
# Rebase cde8712 onto 78eb504 (2 commands)
#
# Commands:
# p, pick <commit> = use commit
# r, reword <commit> = use commit, but edit the commit message
# e, edit <commit> = use commit, but stop for amending
# s, squash <commit> = use commit, but meld into previous commit
# f, fixup [-C | -c] <commit> = like "squash" but keep only the previous
# commit's log message, unless -C is used, in which case
# keep only this commit's message; -c is same as -C but
# opens the editor
# x, exec <command> = run command (the rest of the line) using shell
# b, break = stop here (continue rebase later with 'git rebase --continue')
# d, drop <commit> = remove commit
# l, label <label> = label current HEAD with a name
# t, reset <label> = reset HEAD to a label
# m, merge [-C <commit> | -c <commit>] <label> [# <oneline>]
# create a merge commit using the original merge commit's
# message (or the oneline, if no original merge commit was
# specified); use -c <commit> to reword the commit message
# u, update-ref <ref> = track a placeholder for the <ref> to be updated
# to this position in the new commits. The <ref> is
# updated at the end of the rebase
#
# These lines can be re-ordered; they are executed from top to bottom.
#
# If you remove a line here THAT COMMIT WILL BE LOST.
#
# However, if you remove everything, the rebase will be aborted.
#
Auto-merging file
CONFLICT (add/add): Merge conflict in file
error: could not apply 2cf9507... 1
hint: Resolve all conflicts manually, mark them as resolved with
hint: "git add/rm <conflicted_files>", then run "git rebase --continue".
hint: You can instead skip this commit: run "git rebase --skip".
hint: To abort and get back to the state before "git rebase", run "git rebase --abort".
hint: Disable this message with "git config set advice.mergeConflict false"
Could not apply 2cf9507... # 1
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch --diff-merges=separate
* 78eb504 - 2026-05-30 17:17 (2 seconds ago) 4 - Han Jiang (HEAD, refs/heads/branch3)
diff --git a/file b/file
new file mode 100644
index 0000000..b8626c4
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+4
* cde8712 - 2026-05-30 17:17 (3 seconds ago) 3 - Han Jiang (refs/heads/branch1)
|\
| |
| | diff --git a/file b/file
| | index d00491f..00750ed 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -1
| | +3
| | cde8712 - 2026-05-30 17:17 (3 seconds ago) 3 - Han Jiang (refs/heads/branch1)
| |
| | diff --git a/file b/file
| | index 0cfbf08..00750ed 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -2
| | +3
| * 18c369c - 2026-05-30 17:17 (4 seconds ago) 2 - Han Jiang (refs/heads/branch2)
|
| diff --git a/file b/file
| new file mode 100644
| index 0000000..0cfbf08
| --- /dev/null
| +++ b/file
| @@ -0,0 +1 @@
| +2
* 2cf9507 - 2026-05-30 17:17 (5 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '5' >'./repo/file'; git -C './repo' add './file'; git -C './repo' -c 'core.editor=:' rebase --continue
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[detached HEAD df61ef7] 1
1 file changed, 1 insertion(+), 1 deletion(-)
Auto-merging file
CONFLICT (add/add): Merge conflict in file
error: could not apply 18c369c... 2
hint: Resolve all conflicts manually, mark them as resolved with
hint: "git add/rm <conflicted_files>", then run "git rebase --continue".
hint: You can instead skip this commit: run "git rebase --skip".
hint: To abort and get back to the state before "git rebase", run "git rebase --abort".
hint: Disable this message with "git config set advice.mergeConflict false"
Could not apply 18c369c... # 2
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '6' >'./repo/file'; git -C './repo' add './file'; git -C './repo' -c 'core.editor=:' rebase --continue
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[detached HEAD 9a8f2a9] 2
1 file changed, 1 insertion(+), 1 deletion(-)
Successfully rebased and updated refs/heads/branch1.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch --diff-merges=separate
* 9a8f2a9 - 2026-05-30 17:17 (5 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/branch1)
|
| diff --git a/file b/file
| index 7ed6ff8..1e8b314 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -5
| +6
* df61ef7 - 2026-05-30 17:17 (6 seconds ago) 1 - Han Jiang
|
| diff --git a/file b/file
| index b8626c4..7ed6ff8 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -4
| +5
* 78eb504 - 2026-05-30 17:17 (3 seconds ago) 4 - Han Jiang (refs/heads/branch3)
diff --git a/file b/file
new file mode 100644
index 0000000..b8626c4
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+4
* 18c369c - 2026-05-30 17:17 (5 seconds ago) 2 - Han Jiang (refs/heads/branch2)
diff --git a/file b/file
new file mode 100644
index 0000000..0cfbf08
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+2
* 2cf9507 - 2026-05-30 17:17 (6 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"; git -C './repo' branch branch1
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) ff80a76] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout --orphan branch2; echo '2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
Switched to a new branch 'branch2'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch2 (root-commit) ae513d2] 2
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1
Switched to branch 'branch1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --message="$((++number))" --allow-unrelated-histories branch2
Auto-merging file
CONFLICT (add/add): Merge conflict in file
Automatic merge failed; fix conflicts and then commit the result.
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '3' >'./repo/file'; git -C './repo' add './file'; git -C './repo' -c 'core.editor=:' merge --continue
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch1 e71b3e4] 3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout --orphan branch3; echo '4' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
Switched to a new branch 'branch3'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch3 (root-commit) d84d8ae] 4
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1
Switched to branch 'branch1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch --diff-merges=separate
* e71b3e4 - 2026-05-30 17:18 (1 second ago) 3 - Han Jiang (HEAD -> refs/heads/branch1)
|\
| |
| | diff --git a/file b/file
| | index d00491f..00750ed 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -1
| | +3
| | e71b3e4 - 2026-05-30 17:18 (1 second ago) 3 - Han Jiang (HEAD -> refs/heads/branch1)
| |
| | diff --git a/file b/file
| | index 0cfbf08..00750ed 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -2
| | +3
| * ae513d2 - 2026-05-30 17:18 (3 seconds ago) 2 - Han Jiang (refs/heads/branch2)
|
| diff --git a/file b/file
| new file mode 100644
| index 0000000..0cfbf08
| --- /dev/null
| +++ b/file
| @@ -0,0 +1 @@
| +2
* ff80a76 - 2026-05-30 17:18 (4 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
* d84d8ae - 2026-05-30 17:18 (1 second ago) 4 - Han Jiang (refs/heads/branch3)
diff --git a/file b/file
new file mode 100644
index 0000000..b8626c4
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+4
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' -c 'core.editor=cat' rebase --onto=branch3 --root --rebase-merges --interactive
hint: Waiting for your editor to close the file... label onto
# Branch branch2
reset onto
pick ae513d2 # 2
label branch2
reset onto
pick ff80a76 # 1
merge -C e71b3e4 branch2 # 3
# Rebase e71b3e4 onto d84d8ae (7 commands)
#
# Commands:
# p, pick <commit> = use commit
# r, reword <commit> = use commit, but edit the commit message
# e, edit <commit> = use commit, but stop for amending
# s, squash <commit> = use commit, but meld into previous commit
# f, fixup [-C | -c] <commit> = like "squash" but keep only the previous
# commit's log message, unless -C is used, in which case
# keep only this commit's message; -c is same as -C but
# opens the editor
# x, exec <command> = run command (the rest of the line) using shell
# b, break = stop here (continue rebase later with 'git rebase --continue')
# d, drop <commit> = remove commit
# l, label <label> = label current HEAD with a name
# t, reset <label> = reset HEAD to a label
# m, merge [-C <commit> | -c <commit>] <label> [# <oneline>]
# create a merge commit using the original merge commit's
# message (or the oneline, if no original merge commit was
# specified); use -c <commit> to reword the commit message
# u, update-ref <ref> = track a placeholder for the <ref> to be updated
# to this position in the new commits. The <ref> is
# updated at the end of the rebase
#
# These lines can be re-ordered; they are executed from top to bottom.
#
# If you remove a line here THAT COMMIT WILL BE LOST.
#
# However, if you remove everything, the rebase will be aborted.
#
Auto-merging file
CONFLICT (add/add): Merge conflict in file
error: could not apply ae513d2... 2
hint: Resolve all conflicts manually, mark them as resolved with
hint: "git add/rm <conflicted_files>", then run "git rebase --continue".
hint: You can instead skip this commit: run "git rebase --skip".
hint: To abort and get back to the state before "git rebase", run "git rebase --abort".
hint: Disable this message with "git config set advice.mergeConflict false"
Could not apply ae513d2... # 2
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch --diff-merges=separate
* e71b3e4 - 2026-05-30 17:18 (2 seconds ago) 3 - Han Jiang (refs/heads/branch1)
|\
| |
| | diff --git a/file b/file
| | index d00491f..00750ed 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -1
| | +3
| | e71b3e4 - 2026-05-30 17:18 (2 seconds ago) 3 - Han Jiang (refs/heads/branch1)
| |
| | diff --git a/file b/file
| | index 0cfbf08..00750ed 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -2
| | +3
| * ae513d2 - 2026-05-30 17:18 (4 seconds ago) 2 - Han Jiang (refs/heads/branch2)
|
| diff --git a/file b/file
| new file mode 100644
| index 0000000..0cfbf08
| --- /dev/null
| +++ b/file
| @@ -0,0 +1 @@
| +2
* ff80a76 - 2026-05-30 17:18 (5 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
* d84d8ae - 2026-05-30 17:18 (2 seconds ago) 4 - Han Jiang (HEAD, refs/heads/branch3)
diff --git a/file b/file
new file mode 100644
index 0000000..b8626c4
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+4
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '6' >'./repo/file'; git -C './repo' add './file'; git -C './repo' -c 'core.editor=:' rebase --continue
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[detached HEAD 871e31f] 2
1 file changed, 1 insertion(+), 1 deletion(-)
Auto-merging file
CONFLICT (add/add): Merge conflict in file
error: could not apply ff80a76... 1
hint: Resolve all conflicts manually, mark them as resolved with
hint: "git add/rm <conflicted_files>", then run "git rebase --continue".
hint: You can instead skip this commit: run "git rebase --skip".
hint: To abort and get back to the state before "git rebase", run "git rebase --abort".
hint: Disable this message with "git config set advice.mergeConflict false"
Could not apply ff80a76... # 1
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '5' >'./repo/file'; git -C './repo' add './file'; git -C './repo' -c 'core.editor=:' rebase --continue
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[detached HEAD af87446] 1
1 file changed, 1 insertion(+), 1 deletion(-)
Auto-merging file
CONFLICT (content): Merge conflict in file
Could not apply e71b3e4... branch2 # 3
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '7' >'./repo/file'; git -C './repo' add './file'; git -C './repo' -c 'core.editor=:' rebase --continue
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[detached HEAD 8aa925f] 3
Successfully rebased and updated refs/heads/branch1.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch --diff-merges=separate
* 8aa925f - 2026-05-30 17:18 (5 seconds ago) 3 - Han Jiang (HEAD -> refs/heads/branch1)
|\
| |
| | diff --git a/file b/file
| | index 7ed6ff8..7f8f011 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -5
| | +7
| | 8aa925f - 2026-05-30 17:18 (5 seconds ago) 3 - Han Jiang (HEAD -> refs/heads/branch1)
| |
| | diff --git a/file b/file
| | index 1e8b314..7f8f011 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -6
| | +7
| * 871e31f - 2026-05-30 17:18 (7 seconds ago) 2 - Han Jiang
| |
| | diff --git a/file b/file
| | index b8626c4..1e8b314 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -4
| | +6
* | af87446 - 2026-05-30 17:18 (8 seconds ago) 1 - Han Jiang
|/
|
| diff --git a/file b/file
| index b8626c4..7ed6ff8 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -4
| +5
* d84d8ae - 2026-05-30 17:18 (5 seconds ago) 4 - Han Jiang (refs/heads/branch3)
diff --git a/file b/file
new file mode 100644
index 0000000..b8626c4
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+4
* ae513d2 - 2026-05-30 17:18 (7 seconds ago) 2 - Han Jiang (refs/heads/branch2)
diff --git a/file b/file
new file mode 100644
index 0000000..0cfbf08
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+2
* ff80a76 - 2026-05-30 17:18 (8 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ branch_default_name="$(git -C './repo' branch --show-current)"; echo "$branch_default_name"
master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"; git -C './repo' branch branch1
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 39c2293] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"; git -C './repo' branch branch2
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master 9a58955] 2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '3' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master 638a214] 3
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1; echo '4' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
Switched to branch 'branch1'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch1 0daac71] 4
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch2; echo '5' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
Switched to branch 'branch2'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch2 0f438c3] 5
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1
Switched to branch 'branch1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --message="$((++number))" branch2
Auto-merging file
CONFLICT (content): Merge conflict in file
Automatic merge failed; fix conflicts and then commit the result.
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '6' >'./repo/file'; git -C './repo' add './file'; git -C './repo' -c 'core.editor=:' merge --continue
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch1 0e3e361] 6
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout --orphan branch3; echo '7' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
Switched to a new branch 'branch3'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch3 (root-commit) 6e527dc] 7
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1
Switched to branch 'branch1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --message="$((++number))" --allow-unrelated-histories branch3
Auto-merging file
CONFLICT (add/add): Merge conflict in file
Automatic merge failed; fix conflicts and then commit the result.
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '8' >'./repo/file'; git -C './repo' add './file'; git -C './repo' -c 'core.editor=:' merge --continue
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch1 d89f706] 8
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch --diff-merges=separate
* d89f706 - 2026-05-30 17:18 (0 seconds ago) 8 - Han Jiang (HEAD -> refs/heads/branch1)
|\
| |
| | diff --git a/file b/file
| | index 1e8b314..45a4fb7 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -6
| | +8
| | d89f706 - 2026-05-30 17:18 (0 seconds ago) 8 - Han Jiang (HEAD -> refs/heads/branch1)
| |
| | diff --git a/file b/file
| | index 7f8f011..45a4fb7 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -7
| | +8
| * 6e527dc - 2026-05-30 17:18 (2 seconds ago) 7 - Han Jiang (refs/heads/branch3)
|
| diff --git a/file b/file
| new file mode 100644
| index 0000000..7f8f011
| --- /dev/null
| +++ b/file
| @@ -0,0 +1 @@
| +7
* 0e3e361 - 2026-05-30 17:18 (2 seconds ago) 6 - Han Jiang
|\
| |
| | diff --git a/file b/file
| | index b8626c4..1e8b314 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -4
| | +6
| | 0e3e361 - 2026-05-30 17:18 (2 seconds ago) 6 - Han Jiang
| |
| | diff --git a/file b/file
| | index 7ed6ff8..1e8b314 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -5
| | +6
| * 0f438c3 - 2026-05-30 17:18 (4 seconds ago) 5 - Han Jiang (refs/heads/branch2)
| |
| | diff --git a/file b/file
| | index 0cfbf08..7ed6ff8 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -2
| | +5
* | 0daac71 - 2026-05-30 17:18 (5 seconds ago) 4 - Han Jiang
| |
| | diff --git a/file b/file
| | index d00491f..b8626c4 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -1
| | +4
| | * 638a214 - 2026-05-30 17:18 (5 seconds ago) 3 - Han Jiang (refs/heads/master)
| |/
| |
| | diff --git a/file b/file
| | index 0cfbf08..00750ed 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -2
| | +3
| * 9a58955 - 2026-05-30 17:18 (6 seconds ago) 2 - Han Jiang
|/
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 39c2293 - 2026-05-30 17:18 (7 seconds ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' -c 'core.editor=cat' rebase --interactive "$branch_default_name" branch1
hint: Waiting for your editor to close the file... pick 0daac71 # 4
pick 0f438c3 # 5
pick 6e527dc # 7
# Rebase 638a214..d89f706 onto 638a214 (3 commands)
#
# Commands:
# p, pick <commit> = use commit
# r, reword <commit> = use commit, but edit the commit message
# e, edit <commit> = use commit, but stop for amending
# s, squash <commit> = use commit, but meld into previous commit
# f, fixup [-C | -c] <commit> = like "squash" but keep only the previous
# commit's log message, unless -C is used, in which case
# keep only this commit's message; -c is same as -C but
# opens the editor
# x, exec <command> = run command (the rest of the line) using shell
# b, break = stop here (continue rebase later with 'git rebase --continue')
# d, drop <commit> = remove commit
# l, label <label> = label current HEAD with a name
# t, reset <label> = reset HEAD to a label
# m, merge [-C <commit> | -c <commit>] <label> [# <oneline>]
# create a merge commit using the original merge commit's
# message (or the oneline, if no original merge commit was
# specified); use -c <commit> to reword the commit message
# u, update-ref <ref> = track a placeholder for the <ref> to be updated
# to this position in the new commits. The <ref> is
# updated at the end of the rebase
#
# These lines can be re-ordered; they are executed from top to bottom.
#
# If you remove a line here THAT COMMIT WILL BE LOST.
#
# However, if you remove everything, the rebase will be aborted.
#
Auto-merging file
CONFLICT (content): Merge conflict in file
error: could not apply 0daac71... 4
hint: Resolve all conflicts manually, mark them as resolved with
hint: "git add/rm <conflicted_files>", then run "git rebase --continue".
hint: You can instead skip this commit: run "git rebase --skip".
hint: To abort and get back to the state before "git rebase", run "git rebase --abort".
hint: Disable this message with "git config set advice.mergeConflict false"
Could not apply 0daac71... # 4
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch --diff-merges=separate
* d89f706 - 2026-05-30 17:18 (1 second ago) 8 - Han Jiang (refs/heads/branch1)
|\
| |
| | diff --git a/file b/file
| | index 1e8b314..45a4fb7 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -6
| | +8
| | d89f706 - 2026-05-30 17:18 (1 second ago) 8 - Han Jiang (refs/heads/branch1)
| |
| | diff --git a/file b/file
| | index 7f8f011..45a4fb7 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -7
| | +8
| * 6e527dc - 2026-05-30 17:18 (3 seconds ago) 7 - Han Jiang (refs/heads/branch3)
|
| diff --git a/file b/file
| new file mode 100644
| index 0000000..7f8f011
| --- /dev/null
| +++ b/file
| @@ -0,0 +1 @@
| +7
* 0e3e361 - 2026-05-30 17:18 (3 seconds ago) 6 - Han Jiang
|\
| |
| | diff --git a/file b/file
| | index b8626c4..1e8b314 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -4
| | +6
| | 0e3e361 - 2026-05-30 17:18 (3 seconds ago) 6 - Han Jiang
| |
| | diff --git a/file b/file
| | index 7ed6ff8..1e8b314 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -5
| | +6
| * 0f438c3 - 2026-05-30 17:18 (5 seconds ago) 5 - Han Jiang (refs/heads/branch2)
| |
| | diff --git a/file b/file
| | index 0cfbf08..7ed6ff8 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -2
| | +5
* | 0daac71 - 2026-05-30 17:18 (6 seconds ago) 4 - Han Jiang
| |
| | diff --git a/file b/file
| | index d00491f..b8626c4 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -1
| | +4
| | * 638a214 - 2026-05-30 17:18 (6 seconds ago) 3 - Han Jiang (HEAD, refs/heads/master)
| |/
| |
| | diff --git a/file b/file
| | index 0cfbf08..00750ed 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -2
| | +3
| * 9a58955 - 2026-05-30 17:18 (7 seconds ago) 2 - Han Jiang
|/
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 39c2293 - 2026-05-30 17:18 (8 seconds ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '9' >'./repo/file'; git -C './repo' add './file'; git -C './repo' -c 'core.editor=:' rebase --continue
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[detached HEAD 252aee9] 4
1 file changed, 1 insertion(+), 1 deletion(-)
Auto-merging file
CONFLICT (content): Merge conflict in file
error: could not apply 0f438c3... 5
hint: Resolve all conflicts manually, mark them as resolved with
hint: "git add/rm <conflicted_files>", then run "git rebase --continue".
hint: You can instead skip this commit: run "git rebase --skip".
hint: To abort and get back to the state before "git rebase", run "git rebase --abort".
hint: Disable this message with "git config set advice.mergeConflict false"
Could not apply 0f438c3... # 5
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '10' >'./repo/file'; git -C './repo' add './file'; git -C './repo' -c 'core.editor=:' rebase --continue
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[detached HEAD faa5489] 5
1 file changed, 1 insertion(+), 1 deletion(-)
Auto-merging file
CONFLICT (add/add): Merge conflict in file
error: could not apply 6e527dc... 7
hint: Resolve all conflicts manually, mark them as resolved with
hint: "git add/rm <conflicted_files>", then run "git rebase --continue".
hint: You can instead skip this commit: run "git rebase --skip".
hint: To abort and get back to the state before "git rebase", run "git rebase --abort".
hint: Disable this message with "git config set advice.mergeConflict false"
Could not apply 6e527dc... # 7
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '11' >'./repo/file'; git -C './repo' add './file'; git -C './repo' -c 'core.editor=:' rebase --continue
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[detached HEAD 7da4242] 7
1 file changed, 1 insertion(+), 1 deletion(-)
Successfully rebased and updated refs/heads/branch1.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch --diff-merges=separate
* 7da4242 - 2026-05-30 17:18 (6 seconds ago) 7 - Han Jiang (HEAD -> refs/heads/branch1)
|
| diff --git a/file b/file
| index f599e28..b4de394 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -10
| +11
* faa5489 - 2026-05-30 17:18 (8 seconds ago) 5 - Han Jiang
|
| diff --git a/file b/file
| index ec63514..f599e28 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -9
| +10
* 252aee9 - 2026-05-30 17:18 (9 seconds ago) 4 - Han Jiang
|
| diff --git a/file b/file
| index 00750ed..ec63514 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -3
| +9
* 638a214 - 2026-05-30 17:18 (9 seconds ago) 3 - Han Jiang (refs/heads/master)
|
| diff --git a/file b/file
| index 0cfbf08..00750ed 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -2
| +3
| * 6e527dc - 2026-05-30 17:18 (6 seconds ago) 7 - Han Jiang (refs/heads/branch3)
|
| diff --git a/file b/file
| new file mode 100644
| index 0000000..7f8f011
| --- /dev/null
| +++ b/file
| @@ -0,0 +1 @@
| +7
| * 0f438c3 - 2026-05-30 17:18 (8 seconds ago) 5 - Han Jiang (refs/heads/branch2)
|/
|
| diff --git a/file b/file
| index 0cfbf08..7ed6ff8 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -2
| +5
* 9a58955 - 2026-05-30 17:18 (10 seconds ago) 2 - Han Jiang
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 39c2293 - 2026-05-30 17:18 (11 seconds ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ branch_default_name="$(git -C './repo' branch --show-current)"; echo "$branch_default_name"
master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"; git -C './repo' branch branch1
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) da39c2e] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"; git -C './repo' branch branch2
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master f05baed] 2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '3' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master 8b44578] 3
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1; echo '4' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
Switched to branch 'branch1'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch1 e58eb09] 4
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch2; echo '5' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
Switched to branch 'branch2'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch2 b9fd7d8] 5
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1
Switched to branch 'branch1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --message="$((++number))" branch2
Auto-merging file
CONFLICT (content): Merge conflict in file
Automatic merge failed; fix conflicts and then commit the result.
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '6' >'./repo/file'; git -C './repo' add './file'; git -C './repo' -c 'core.editor=:' merge --continue
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch1 8ee1fe9] 6
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout --orphan branch3; echo '7' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
Switched to a new branch 'branch3'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch3 (root-commit) 57792db] 7
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1
Switched to branch 'branch1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --message="$((++number))" --allow-unrelated-histories branch3
Auto-merging file
CONFLICT (add/add): Merge conflict in file
Automatic merge failed; fix conflicts and then commit the result.
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '8' >'./repo/file'; git -C './repo' add './file'; git -C './repo' -c 'core.editor=:' merge --continue
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch1 dcedd7c] 8
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch --diff-merges=separate
* dcedd7c - 2026-05-30 17:18 (0 seconds ago) 8 - Han Jiang (HEAD -> refs/heads/branch1)
|\
| |
| | diff --git a/file b/file
| | index 1e8b314..45a4fb7 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -6
| | +8
| | dcedd7c - 2026-05-30 17:18 (0 seconds ago) 8 - Han Jiang (HEAD -> refs/heads/branch1)
| |
| | diff --git a/file b/file
| | index 7f8f011..45a4fb7 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -7
| | +8
| * 57792db - 2026-05-30 17:18 (2 seconds ago) 7 - Han Jiang (refs/heads/branch3)
|
| diff --git a/file b/file
| new file mode 100644
| index 0000000..7f8f011
| --- /dev/null
| +++ b/file
| @@ -0,0 +1 @@
| +7
* 8ee1fe9 - 2026-05-30 17:18 (3 seconds ago) 6 - Han Jiang
|\
| |
| | diff --git a/file b/file
| | index b8626c4..1e8b314 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -4
| | +6
| | 8ee1fe9 - 2026-05-30 17:18 (3 seconds ago) 6 - Han Jiang
| |
| | diff --git a/file b/file
| | index 7ed6ff8..1e8b314 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -5
| | +6
| * b9fd7d8 - 2026-05-30 17:18 (4 seconds ago) 5 - Han Jiang (refs/heads/branch2)
| |
| | diff --git a/file b/file
| | index 0cfbf08..7ed6ff8 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -2
| | +5
* | e58eb09 - 2026-05-30 17:18 (5 seconds ago) 4 - Han Jiang
| |
| | diff --git a/file b/file
| | index d00491f..b8626c4 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -1
| | +4
| | * 8b44578 - 2026-05-30 17:18 (5 seconds ago) 3 - Han Jiang (refs/heads/master)
| |/
| |
| | diff --git a/file b/file
| | index 0cfbf08..00750ed 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -2
| | +3
| * f05baed - 2026-05-30 17:18 (6 seconds ago) 2 - Han Jiang
|/
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* da39c2e - 2026-05-30 17:18 (7 seconds ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' -c 'core.editor=cat' rebase --interactive --rebase-merges=no-rebase-cousins "$branch_default_name" branch1
hint: Waiting for your editor to close the file... label onto
# Branch branch2
reset onto
pick b9fd7d8 # 5
label branch2
# Branch branch3
reset [new root]
pick 57792db # 7
label branch3
reset da39c2e # 1
pick e58eb09 # 4
merge -C 8ee1fe9 branch2 # 6
merge -C dcedd7c branch3 # 8
# Rebase 8b44578..dcedd7c onto 8b44578 (11 commands)
#
# Commands:
# p, pick <commit> = use commit
# r, reword <commit> = use commit, but edit the commit message
# e, edit <commit> = use commit, but stop for amending
# s, squash <commit> = use commit, but meld into previous commit
# f, fixup [-C | -c] <commit> = like "squash" but keep only the previous
# commit's log message, unless -C is used, in which case
# keep only this commit's message; -c is same as -C but
# opens the editor
# x, exec <command> = run command (the rest of the line) using shell
# b, break = stop here (continue rebase later with 'git rebase --continue')
# d, drop <commit> = remove commit
# l, label <label> = label current HEAD with a name
# t, reset <label> = reset HEAD to a label
# m, merge [-C <commit> | -c <commit>] <label> [# <oneline>]
# create a merge commit using the original merge commit's
# message (or the oneline, if no original merge commit was
# specified); use -c <commit> to reword the commit message
# u, update-ref <ref> = track a placeholder for the <ref> to be updated
# to this position in the new commits. The <ref> is
# updated at the end of the rebase
#
# These lines can be re-ordered; they are executed from top to bottom.
#
# If you remove a line here THAT COMMIT WILL BE LOST.
#
# However, if you remove everything, the rebase will be aborted.
#
Auto-merging file
CONFLICT (content): Merge conflict in file
error: could not apply b9fd7d8... 5
hint: Resolve all conflicts manually, mark them as resolved with
hint: "git add/rm <conflicted_files>", then run "git rebase --continue".
hint: You can instead skip this commit: run "git rebase --skip".
hint: To abort and get back to the state before "git rebase", run "git rebase --abort".
hint: Disable this message with "git config set advice.mergeConflict false"
Could not apply b9fd7d8... # 5
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '9' >'./repo/file'; git -C './repo' add './file'; git -C './repo' -c 'core.editor=:' rebase --continue
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[detached HEAD babef5e] 5
1 file changed, 1 insertion(+), 1 deletion(-)
Auto-merging file
CONFLICT (content): Merge conflict in file
Could not apply 8ee1fe9... branch2 # 6
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '10' >'./repo/file'; git -C './repo' add './file'; git -C './repo' -c 'core.editor=:' rebase --continue
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[detached HEAD d502f15] 6
Auto-merging file
CONFLICT (add/add): Merge conflict in file
Could not apply dcedd7c... branch3 # 8
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '11' >'./repo/file'; git -C './repo' add './file'; git -C './repo' -c 'core.editor=:' rebase --continue
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[detached HEAD 439d7bb] 8
Successfully rebased and updated refs/heads/branch1.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch --diff-merges=separate
* 439d7bb - 2026-05-30 17:18 (3 seconds ago) 8 - Han Jiang (HEAD -> refs/heads/branch1)
|\
| |
| | diff --git a/file b/file
| | index f599e28..b4de394 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -10
| | +11
| | 439d7bb - 2026-05-30 17:18 (3 seconds ago) 8 - Han Jiang (HEAD -> refs/heads/branch1)
| |
| | diff --git a/file b/file
| | index 7f8f011..b4de394 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -7
| | +11
| * 57792db - 2026-05-30 17:18 (5 seconds ago) 7 - Han Jiang (refs/heads/branch3)
|
| diff --git a/file b/file
| new file mode 100644
| index 0000000..7f8f011
| --- /dev/null
| +++ b/file
| @@ -0,0 +1 @@
| +7
* d502f15 - 2026-05-30 17:18 (6 seconds ago) 6 - Han Jiang
|\
| |
| | diff --git a/file b/file
| | index b8626c4..f599e28 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -4
| | +10
| | d502f15 - 2026-05-30 17:18 (6 seconds ago) 6 - Han Jiang
| |
| | diff --git a/file b/file
| | index ec63514..f599e28 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -9
| | +10
| * babef5e - 2026-05-30 17:18 (7 seconds ago) 5 - Han Jiang
| |
| | diff --git a/file b/file
| | index 00750ed..ec63514 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -3
| | +9
| * 8b44578 - 2026-05-30 17:18 (8 seconds ago) 3 - Han Jiang (refs/heads/master)
| |
| | diff --git a/file b/file
| | index 0cfbf08..00750ed 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -2
| | +3
* | e58eb09 - 2026-05-30 17:18 (8 seconds ago) 4 - Han Jiang
| |
| | diff --git a/file b/file
| | index d00491f..b8626c4 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -1
| | +4
| | * b9fd7d8 - 2026-05-30 17:18 (7 seconds ago) 5 - Han Jiang (refs/heads/branch2)
| |/
| |
| | diff --git a/file b/file
| | index 0cfbf08..7ed6ff8 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -2
| | +5
| * f05baed - 2026-05-30 17:18 (9 seconds ago) 2 - Han Jiang
|/
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* da39c2e - 2026-05-30 17:18 (10 seconds ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ branch_default_name="$(git -C './repo' branch --show-current)"; echo "$branch_default_name"
master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"; git -C './repo' branch branch1
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 78ba3ee] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"; git -C './repo' branch branch2
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master baa06dd] 2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '3' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master 757148b] 3
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1; echo '4' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
Switched to branch 'branch1'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch1 c77362f] 4
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch2; echo '5' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
Switched to branch 'branch2'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch2 c40e8eb] 5
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1
Switched to branch 'branch1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --message="$((++number))" branch2
Auto-merging file
CONFLICT (content): Merge conflict in file
Automatic merge failed; fix conflicts and then commit the result.
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '6' >'./repo/file'; git -C './repo' add './file'; git -C './repo' -c 'core.editor=:' merge --continue
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch1 0e1bff7] 6
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout --orphan branch3; echo '7' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
Switched to a new branch 'branch3'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch3 (root-commit) 8bae97d] 7
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1
Switched to branch 'branch1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --message="$((++number))" --allow-unrelated-histories branch3
Auto-merging file
CONFLICT (add/add): Merge conflict in file
Automatic merge failed; fix conflicts and then commit the result.
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '8' >'./repo/file'; git -C './repo' add './file'; git -C './repo' -c 'core.editor=:' merge --continue
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch1 8ee2057] 8
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch --diff-merges=separate
* 8ee2057 - 2026-05-30 17:18 (1 second ago) 8 - Han Jiang (HEAD -> refs/heads/branch1)
|\
| |
| | diff --git a/file b/file
| | index 1e8b314..45a4fb7 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -6
| | +8
| | 8ee2057 - 2026-05-30 17:18 (1 second ago) 8 - Han Jiang (HEAD -> refs/heads/branch1)
| |
| | diff --git a/file b/file
| | index 7f8f011..45a4fb7 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -7
| | +8
| * 8bae97d - 2026-05-30 17:18 (2 seconds ago) 7 - Han Jiang (refs/heads/branch3)
|
| diff --git a/file b/file
| new file mode 100644
| index 0000000..7f8f011
| --- /dev/null
| +++ b/file
| @@ -0,0 +1 @@
| +7
* 0e1bff7 - 2026-05-30 17:18 (3 seconds ago) 6 - Han Jiang
|\
| |
| | diff --git a/file b/file
| | index b8626c4..1e8b314 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -4
| | +6
| | 0e1bff7 - 2026-05-30 17:18 (3 seconds ago) 6 - Han Jiang
| |
| | diff --git a/file b/file
| | index 7ed6ff8..1e8b314 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -5
| | +6
| * c40e8eb - 2026-05-30 17:18 (5 seconds ago) 5 - Han Jiang (refs/heads/branch2)
| |
| | diff --git a/file b/file
| | index 0cfbf08..7ed6ff8 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -2
| | +5
* | c77362f - 2026-05-30 17:18 (5 seconds ago) 4 - Han Jiang
| |
| | diff --git a/file b/file
| | index d00491f..b8626c4 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -1
| | +4
| | * 757148b - 2026-05-30 17:18 (6 seconds ago) 3 - Han Jiang (refs/heads/master)
| |/
| |
| | diff --git a/file b/file
| | index 0cfbf08..00750ed 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -2
| | +3
| * baa06dd - 2026-05-30 17:18 (7 seconds ago) 2 - Han Jiang
|/
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 78ba3ee - 2026-05-30 17:18 (7 seconds ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' -c 'core.editor=cat' rebase --interactive --rebase-merges=rebase-cousins "$branch_default_name" branch1
hint: Waiting for your editor to close the file... label onto
# Branch branch2
reset onto
pick c40e8eb # 5
label branch2
# Branch branch3
reset onto
pick 8bae97d # 7
label branch3
reset onto
pick c77362f # 4
merge -C 0e1bff7 branch2 # 6
merge -C 8ee2057 branch3 # 8
# Rebase 757148b..8ee2057 onto 757148b (11 commands)
#
# Commands:
# p, pick <commit> = use commit
# r, reword <commit> = use commit, but edit the commit message
# e, edit <commit> = use commit, but stop for amending
# s, squash <commit> = use commit, but meld into previous commit
# f, fixup [-C | -c] <commit> = like "squash" but keep only the previous
# commit's log message, unless -C is used, in which case
# keep only this commit's message; -c is same as -C but
# opens the editor
# x, exec <command> = run command (the rest of the line) using shell
# b, break = stop here (continue rebase later with 'git rebase --continue')
# d, drop <commit> = remove commit
# l, label <label> = label current HEAD with a name
# t, reset <label> = reset HEAD to a label
# m, merge [-C <commit> | -c <commit>] <label> [# <oneline>]
# create a merge commit using the original merge commit's
# message (or the oneline, if no original merge commit was
# specified); use -c <commit> to reword the commit message
# u, update-ref <ref> = track a placeholder for the <ref> to be updated
# to this position in the new commits. The <ref> is
# updated at the end of the rebase
#
# These lines can be re-ordered; they are executed from top to bottom.
#
# If you remove a line here THAT COMMIT WILL BE LOST.
#
# However, if you remove everything, the rebase will be aborted.
#
Auto-merging file
CONFLICT (content): Merge conflict in file
error: could not apply c40e8eb... 5
hint: Resolve all conflicts manually, mark them as resolved with
hint: "git add/rm <conflicted_files>", then run "git rebase --continue".
hint: You can instead skip this commit: run "git rebase --skip".
hint: To abort and get back to the state before "git rebase", run "git rebase --abort".
hint: Disable this message with "git config set advice.mergeConflict false"
Could not apply c40e8eb... # 5
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '10' >'./repo/file'; git -C './repo' add './file'; git -C './repo' -c 'core.editor=:' rebase --continue
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[detached HEAD d0b609f] 5
1 file changed, 1 insertion(+), 1 deletion(-)
Auto-merging file
CONFLICT (add/add): Merge conflict in file
error: could not apply 8bae97d... 7
hint: Resolve all conflicts manually, mark them as resolved with
hint: "git add/rm <conflicted_files>", then run "git rebase --continue".
hint: You can instead skip this commit: run "git rebase --skip".
hint: To abort and get back to the state before "git rebase", run "git rebase --abort".
hint: Disable this message with "git config set advice.mergeConflict false"
Could not apply 8bae97d... # 7
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '12' >'./repo/file'; git -C './repo' add './file'; git -C './repo' -c 'core.editor=:' rebase --continue
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[detached HEAD e21af1a] 7
1 file changed, 1 insertion(+), 1 deletion(-)
Auto-merging file
CONFLICT (content): Merge conflict in file
error: could not apply c77362f... 4
hint: Resolve all conflicts manually, mark them as resolved with
hint: "git add/rm <conflicted_files>", then run "git rebase --continue".
hint: You can instead skip this commit: run "git rebase --skip".
hint: To abort and get back to the state before "git rebase", run "git rebase --abort".
hint: Disable this message with "git config set advice.mergeConflict false"
Could not apply c77362f... # 4
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '9' >'./repo/file'; git -C './repo' add './file'; git -C './repo' -c 'core.editor=:' rebase --continue
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[detached HEAD 1726d28] 4
1 file changed, 1 insertion(+), 1 deletion(-)
Auto-merging file
CONFLICT (content): Merge conflict in file
Could not apply 0e1bff7... branch2 # 6
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '11' >'./repo/file'; git -C './repo' add './file'; git -C './repo' -c 'core.editor=:' rebase --continue
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[detached HEAD 7129f28] 6
Auto-merging file
CONFLICT (content): Merge conflict in file
Could not apply 8ee2057... branch3 # 8
jhcarl0814@jhcarl0814 MINGW64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '13' >'./repo/file'; git -C './repo' add './file'; git -C './repo' -c 'core.editor=:' rebase --continue
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[detached HEAD 72822af] 8
Successfully rebased and updated refs/heads/branch1.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch --diff-merges=separate
* 72822af - 2026-05-30 17:18 (5 seconds ago) 8 - Han Jiang (HEAD -> refs/heads/branch1)
|\
| |
| | diff --git a/file b/file
| | index b4de394..b1bd38b 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -11
| | +13
| | 72822af - 2026-05-30 17:18 (5 seconds ago) 8 - Han Jiang (HEAD -> refs/heads/branch1)
| |
| | diff --git a/file b/file
| | index 48082f7..b1bd38b 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -12
| | +13
| * e21af1a - 2026-05-30 17:18 (6 seconds ago) 7 - Han Jiang
| |
| | diff --git a/file b/file
| | index 00750ed..48082f7 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -3
| | +12
* | 7129f28 - 2026-05-30 17:18 (7 seconds ago) 6 - Han Jiang
|\ \
| | |
| | | diff --git a/file b/file
| | | index ec63514..b4de394 100644
| | | --- a/file
| | | +++ b/file
| | | @@ -1 +1 @@
| | | -9
| | | +11
| | | 7129f28 - 2026-05-30 17:18 (7 seconds ago) 6 - Han Jiang
| | |
| | | diff --git a/file b/file
| | | index f599e28..b4de394 100644
| | | --- a/file
| | | +++ b/file
| | | @@ -1 +1 @@
| | | -10
| | | +11
| * | d0b609f - 2026-05-30 17:18 (9 seconds ago) 5 - Han Jiang
| |/
| |
| | diff --git a/file b/file
| | index 00750ed..f599e28 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -3
| | +10
* / 1726d28 - 2026-05-30 17:18 (9 seconds ago) 4 - Han Jiang
|/
|
| diff --git a/file b/file
| index 00750ed..ec63514 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -3
| +9
* 757148b - 2026-05-30 17:18 (10 seconds ago) 3 - Han Jiang (refs/heads/master)
|
| diff --git a/file b/file
| index 0cfbf08..00750ed 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -2
| +3
| * 8bae97d - 2026-05-30 17:18 (6 seconds ago) 7 - Han Jiang (refs/heads/branch3)
|
| diff --git a/file b/file
| new file mode 100644
| index 0000000..7f8f011
| --- /dev/null
| +++ b/file
| @@ -0,0 +1 @@
| +7
| * c40e8eb - 2026-05-30 17:18 (9 seconds ago) 5 - Han Jiang (refs/heads/branch2)
|/
|
| diff --git a/file b/file
| index 0cfbf08..7ed6ff8 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -2
| +5
* baa06dd - 2026-05-30 17:18 (11 seconds ago) 2 - Han Jiang
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 78ba3ee - 2026-05-30 17:18 (11 seconds ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty; git -C './repo' branch branch3; git -C './repo' tag tag1; git -C './repo' branch branch2
[master (root-commit) d6a6ad2] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout -b branch1; git -C './repo' commit --message="$((++number))" --allow-empty; git -C './repo' branch branch4; git -C './repo' tag tag2
Switched to a new branch 'branch1'
[branch1 c0069a7] 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch2; git -C './repo' commit --message="$((++number))" --allow-empty; git -C './repo' branch branch5; git -C './repo' tag tag3
Switched to branch 'branch2'
[branch2 529b313] 3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1
Switched to branch 'branch1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* 529b313 - 2026-05-30 17:19 (1 second ago) 3 - Han Jiang (tag: refs/tags/tag3, refs/heads/branch5, refs/heads/branch2)
| * c0069a7 - 2026-05-30 17:19 (2 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/branch1, tag: refs/tags/tag2, refs/heads/branch4)
|/
* d6a6ad2 - 2026-05-30 17:19 (2 seconds ago) 1 - Han Jiang (tag: refs/tags/tag1,
refs/heads/master, refs/heads/branch3)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' rebase branch2 branch1
Successfully rebased and updated refs/heads/branch1.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* e800ca9 - 2026-05-30 17:19 (3 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/branch1)
* 529b313 - 2026-05-30 17:19 (2 seconds ago) 3 - Han Jiang (tag: refs/tags/tag3,
refs/heads/branch5, refs/heads/branch2)
| * c0069a7 - 2026-05-30 17:19 (3 seconds ago) 2 - Han Jiang (tag: refs/tags/tag2, refs/heads/branch4)
|/
* d6a6ad2 - 2026-05-30 17:19 (3 seconds ago) 1 - Han Jiang (tag: refs/tags/tag1,
refs/heads/master, refs/heads/branch3)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty; git -C './repo' branch branch3; git -C './repo' tag tag1; git -C './repo' branch branch2
[master (root-commit) 500d9f6] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout -b branch1; git -C './repo' commit --message="$((++number))" --allow-empty; git -C './repo' branch branch41; git -C './repo' branch branch42; git -C './repo' tag tag2
Switched to a new branch 'branch1'
[branch1 1f93af6] 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch2; git -C './repo' commit --message="$((++number))" --allow-empty; git -C './repo' branch branch5; git -C './repo' tag tag3
Switched to branch 'branch2'
[branch2 24d302b] 3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1
Switched to branch 'branch1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree add '../worktree' branch41
Preparing worktree (checking out 'branch41')
HEAD is now at 1f93af6 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* 24d302b - 2026-05-30 17:19 (2 seconds ago) 3 - Han Jiang (tag: refs/tags/tag3,
refs/heads/branch5, refs/heads/branch2)
| * 1f93af6 - 2026-05-30 17:19 (3 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/branch1, tag: refs/tags/tag2, refs/heads/branch42, refs/heads/branch41)
|/
* 500d9f6 - 2026-05-30 17:19 (4 seconds ago) 1 - Han Jiang (tag: refs/tags/tag1,
refs/heads/master, refs/heads/branch3)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' rebase --update-refs branch2 branch1
Successfully rebased and updated refs/heads/branch1.
Updated the following refs with --update-refs:
refs/heads/branch42
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* 7303dc7 - 2026-05-30 17:19 (3 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/branch1, refs/heads/branch42)
* 24d302b - 2026-05-30 17:19 (2 seconds ago) 3 - Han Jiang (tag: refs/tags/tag3,
refs/heads/branch5, refs/heads/branch2)
| * 1f93af6 - 2026-05-30 17:19 (3 seconds ago) 2 - Han Jiang (tag: refs/tags/tag2, refs/heads/branch41)
|/
* 500d9f6 - 2026-05-30 17:19 (4 seconds ago) 1 - Han Jiang (tag: refs/tags/tag1,
refs/heads/master, refs/heads/branch3)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/ %cd%=C:\Program Files\Git
$ git help
usage: git [-v | --version] [-h | --help] [-C <path>] [-c <name>=<value>]
[--exec-path[=<path>]] [--html-path] [--man-path] [--info-path]
[-p | --paginate | -P | --no-pager] [--no-replace-objects] [--no-lazy-fetch]
[--no-optional-locks] [--no-advice] [--bare] [--git-dir=<path>]
[--work-tree=<path>] [--namespace=<name>] [--config-env=<name>=<envvar>]
<command> [<args>]
These are common Git commands used in various situations:
start a working area (see also: git help tutorial)
clone Clone a repository into a new directory
init Create an empty Git repository or reinitialize an existing one
work on the current change (see also: git help everyday)
add Add file contents to the index
mv Move or rename a file, a directory, or a symlink
restore Restore working tree files
rm Remove files from the working tree and from the index
examine the history and state (see also: git help revisions)
bisect Use binary search to find the commit that introduced a bug
diff Show changes between commits, commit and working tree, etc
grep Print lines matching a pattern
log Show commit logs
show Show various types of objects
status Show the working tree status
grow, mark and tweak your common history
backfill Download missing objects in a partial clone
branch List, create, or delete branches
commit Record changes to the repository
history EXPERIMENTAL: Rewrite history
merge Join two or more development histories together
rebase Reapply commits on top of another base tip
reset Set `HEAD` or the index to a known state
switch Switch branches
tag Create, list, delete or verify tags
collaborate (see also: git help workflows)
fetch Download objects and refs from another repository
pull Fetch from and integrate with another repository or a local branch
push Update remote refs along with associated objects
'git help -a' and 'git help -g' list available subcommands and some
concept guides. See 'git help <command>' or 'git help <concept>'
to read about a specific subcommand or concept.
See 'git help git' for an overview of the system.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/ %cd%=C:\Program Files\Git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/ %cd%=C:\Program Files\Git
$ git help --all
See 'git help <command>' to read about a specific subcommand
Main Porcelain Commands
add Add file contents to the index
am Apply a series of patches from a mailbox
archive Create an archive of files from a named tree
backfill Download missing objects in a partial clone
bisect Use binary search to find the commit that introduced a bug
branch List, create, or delete branches
bundle Move objects and refs by archive
checkout Switch branches or restore working tree files
cherry-pick Apply the changes introduced by some existing commits
citool Graphical alternative to git-commit
clean Remove untracked files from the working tree
clone Clone a repository into a new directory
commit Record changes to the repository
describe Give an object a human readable name based on an available ref
diff Show changes between commits, commit and working tree, etc
fetch Download objects and refs from another repository
format-patch Prepare patches for e-mail submission
gc Cleanup unnecessary files and optimize the local repository
gitk The Git repository browser
grep Print lines matching a pattern
gui A portable graphical interface to Git
history EXPERIMENTAL: Rewrite history
init Create an empty Git repository or reinitialize an existing one
log Show commit logs
maintenance Run tasks to optimize Git repository data
merge Join two or more development histories together
mv Move or rename a file, a directory, or a symlink
notes Add or inspect object notes
pull Fetch from and integrate with another repository or a local branch
push Update remote refs along with associated objects
range-diff Compare two commit ranges (e.g. two versions of a branch)
rebase Reapply commits on top of another base tip
reset Set `HEAD` or the index to a known state
restore Restore working tree files
revert Revert some existing commits
rm Remove files from the working tree and from the index
scalar A tool for managing large Git repositories
shortlog Summarize 'git log' output
show Show various types of objects
sparse-checkout Reduce your working tree to a subset of tracked files
stash Stash the changes in a dirty working directory away
status Show the working tree status
submodule Initialize, update or inspect submodules
survey EXPERIMENTAL: Measure various repository dimensions of scale
switch Switch branches
tag Create, list, delete or verify tags
worktree Manage multiple working trees
Ancillary Commands / Manipulators
config Get and set repository or global options
fast-export Git data exporter
fast-import Backend for fast Git data importers
filter-branch Rewrite branches
mergetool Run merge conflict resolution tools to resolve merge conflicts
pack-refs Pack heads and tags for efficient repository access
prune Prune all unreachable objects from the object database
reflog Manage reflog information
refs Low-level access to refs
remote Manage set of tracked repositories
repack Pack unpacked objects in a repository
replace Create, list, delete refs to replace objects
Ancillary Commands / Interrogators
annotate Annotate file lines with commit information
blame Show what revision and author last modified each line of a file
bugreport Collect information for user to file a bug report
count-objects Count unpacked number of objects and their disk consumption
diagnose Generate a zip archive of diagnostic information
difftool Show changes using common diff tools
fsck Verifies the connectivity and validity of the objects in the database
gitweb Git web interface (web frontend to Git repositories)
help Display help information about Git
instaweb Instantly browse your working repository in gitweb
merge-tree Perform merge without touching index or working tree
rerere Reuse recorded resolution of conflicted merges
show-branch Show branches and their commits
verify-commit Check the GPG signature of commits
verify-tag Check the GPG signature of tags
version Display version information about Git
whatchanged Show logs with differences each commit introduces
Interacting with Others
archimport Import a GNU Arch repository into Git
cvsexportcommit Export a single commit to a CVS checkout
cvsimport Salvage your data out of another SCM people love to hate
cvsserver A CVS server emulator for Git
imap-send Send a collection of patches from stdin to an IMAP folder
p4 Import from and submit to Perforce repositories
quiltimport Applies a quilt patchset onto the current branch
request-pull Generates a summary of pending changes
send-email Send a collection of patches as emails
svn Bidirectional operation between a Subversion repository and Git
Low-level Commands / Manipulators
apply Apply a patch to files and/or to the index
checkout-index Copy files from the index to the working tree
commit-graph Write and verify Git commit-graph files
commit-tree Create a new commit object
hash-object Compute object ID and optionally create an object from a file
index-pack Build pack index file for an existing packed archive
merge-file Run a three-way file merge
merge-index Run a merge for files needing merging
mktag Creates a tag object with extra validation
mktree Build a tree-object from ls-tree formatted text
multi-pack-index Write and verify multi-pack-indexes
pack-objects Create a packed archive of objects
prune-packed Remove extra objects that are already in pack files
read-tree Reads tree information into the index
replay EXPERIMENTAL: Replay commits on a new base, works with bare repos too
symbolic-ref Read, modify and delete symbolic refs
unpack-objects Unpack objects from a packed archive
update-index Register file contents in the working tree to the index
update-ref Update the object name stored in a ref safely
write-tree Create a tree object from the current index
Low-level Commands / Interrogators
cat-file Provide contents or details of repository objects
cherry Find commits yet to be applied to upstream
diff-files Compares files in the working tree and the index
diff-index Compare a tree to the working tree or index
diff-pairs Compare the content and mode of provided blob pairs
diff-tree Compares the content and mode of blobs found via two tree objects
for-each-ref Output information on each ref
for-each-repo Run a Git command on a list of repositories
get-tar-commit-id Extract commit ID from an archive created using git-archive
last-modified EXPERIMENTAL: Show when files were last modified
ls-files Show information about files in the index and the working tree
ls-remote List references in a remote repository
ls-tree List the contents of a tree object
merge-base Find as good common ancestors as possible for a merge
name-rev Find symbolic names for given revs
pack-redundant Find redundant pack files
repo Retrieve information about the repository
rev-list Lists commit objects in reverse chronological order
rev-parse Pick out and massage parameters
show-index Show packed archive index
show-ref List references in a local repository
unpack-file Creates a temporary file with a blob's contents
var Show a Git logical variable
verify-pack Validate packed Git archive files
Low-level Commands / Syncing Repositories
daemon A really simple server for Git repositories
fetch-pack Receive missing objects from another repository
http-backend Server side implementation of Git over HTTP
send-pack Push objects over Git protocol to another repository
update-server-info Update auxiliary info file to help dumb servers
Low-level Commands / Internal Helpers
check-attr Display gitattributes information
check-ignore Debug gitignore / exclude files
check-mailmap Show canonical names and email addresses of contacts
check-ref-format Ensures that a reference name is well formed
column Display data in columns
credential Retrieve and store user credentials
credential-cache Helper to temporarily store passwords in memory
credential-store Helper to store credentials on disk
fmt-merge-msg Produce a merge commit message
hook Run git hooks
interpret-trailers Add or parse structured information in commit messages
mailinfo Extracts patch and authorship from a single e-mail message
mailsplit Simple UNIX mbox splitter program
merge-one-file The standard helper program to use with git-merge-index
patch-id Compute unique IDs for patches
sh-i18n Git's i18n setup code for shell scripts
sh-setup Common Git shell script setup code
stripspace Remove unnecessary whitespace
User-facing repository, command and file interfaces
attributes Defining attributes per path
cli Git command-line interface and conventions
hooks Hooks used by Git
ignore Specifies intentionally untracked files to ignore
mailmap Map author/committer names and/or E-Mail addresses
modules Defining submodule properties
repository-layout Git Repository Layout
revisions Specifying revisions and ranges for Git
Developer-facing file formats, protocols and other interfaces
format-bundle The bundle file format
format-chunk Chunk-based file formats
format-commit-graph Git commit-graph format
format-index Git index format
format-pack Git pack format
format-signature Git cryptographic signature formats
protocol-capabilities Protocol v0 and v1 capabilities
protocol-common Things common to various protocols
protocol-http Git HTTP-based protocols
protocol-pack How packs are transferred over-the-wire
protocol-v2 Git Wire Protocol, Version 2
External commands
askpass
askyesno
clang-format
credential-helper-selector
credential-manager
lfs
update-git-for-windows
Command aliases
lg log --graph --abbrev-commit --decorate=full --date=format:'%Y-%m-%d %H:%M' --format=tformat:'%C(bold green)%h%C(reset) - %C(bold blue)%ad (%ar)%C(reset) %C(white)%s%C(reset) %C(dim white)- %an%C(reset)%C(auto)%d%C(reset)'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/ %cd%=C:\Program Files\Git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/ %cd%=C:\Program Files\Git
$ git help --all --no-verbose
usage: git [-v | --version] [-h | --help] [-C <path>] [-c <name>=<value>]
[--exec-path[=<path>]] [--html-path] [--man-path] [--info-path]
[-p | --paginate | -P | --no-pager] [--no-replace-objects] [--no-lazy-fetch]
[--no-optional-locks] [--no-advice] [--bare] [--git-dir=<path>]
[--work-tree=<path>] [--namespace=<name>] [--config-env=<name>=<envvar>]
<command> [<args>]
available git commands in 'C:/Program Files/Git/mingw64/libexec/git-core'
add merge-one-file
am merge-ours
annotate merge-recursive
apply merge-recursive-ours
archive merge-recursive-theirs
backfill merge-resolve
bisect merge-subtree
blame merge-tree
branch mergetool
bugreport mktag
bundle mktree
cat-file multi-pack-index
check-attr mv
check-ignore name-rev
check-mailmap notes
check-ref-format pack-objects
checkout pack-redundant
checkout--worker pack-refs
checkout-index patch-id
cherry pickaxe
cherry-pick prune
citool prune-packed
clean pull
clone push
column quiltimport
commit range-diff
commit-graph read-tree
commit-tree rebase
config receive-pack
count-objects reflog
credential refs
credential-cache remote
credential-cache--daemon remote-ext
credential-store remote-fd
credential-wincred remote-ftp
daemon remote-ftps
describe remote-http
diagnose remote-https
diff repack
diff-files replace
diff-index replay
diff-pairs repo
diff-tree request-pull
difftool rerere
difftool--helper reset
fast-export restore
fast-import rev-list
fetch rev-parse
fetch-pack revert
filter-branch rm
fmt-merge-msg send-email
for-each-ref send-pack
for-each-repo sh-i18n--envsubst
format-patch shortlog
fsck show
fsck-objects show-branch
fsmonitor--daemon show-index
gc show-ref
get-tar-commit-id sparse-checkout
grep stage
gui stash
gui--askpass status
gui--askyesno stripspace
gui.tcl submodule
hash-object submodule--helper
help subtree
history survey
hook switch
http-backend symbolic-ref
http-fetch tag
http-push unpack-file
imap-send unpack-objects
index-pack update
init update-index
init-db update-ref
interpret-trailers update-server-info
last-modified upload-archive
log upload-archive--writer
ls-files upload-pack
ls-remote var
ls-tree verify-commit
mailinfo verify-pack
mailsplit verify-tag
maintenance version
merge web--browse
merge-base whatchanged
merge-file worktree
merge-index write-tree
merge-octopus
git commands available from elsewhere on your $PATH
askpass credential-manager
askyesno lfs
clang-format update-git-for-windows
credential-helper-selector
'git help -a' and 'git help -g' list available subcommands and some
concept guides. See 'git help <command>' or 'git help <concept>'
to read about a specific subcommand or concept.
See 'git help git' for an overview of the system.
usage: git [-v | --version] [-h | --help] [-C <path>] [-c <name>=<value>]
[--exec-path[=<path>]] [--html-path] [--man-path] [--info-path]
[-p | --paginate | -P | --no-pager] [--no-replace-objects] [--no-lazy-fetch]
[--no-optional-locks] [--no-advice] [--bare] [--git-dir=<path>]
[--work-tree=<path>] [--namespace=<name>] [--config-env=<name>=<envvar>]
<command> [<args>]
These are common Git commands used in various situations:
start a working area (see also: git help tutorial)
clone Clone a repository into a new directory
init Create an empty Git repository or reinitialize an existing one
work on the current change (see also: git help everyday)
add Add file contents to the index
mv Move or rename a file, a directory, or a symlink
restore Restore working tree files
rm Remove files from the working tree and from the index
examine the history and state (see also: git help revisions)
bisect Use binary search to find the commit that introduced a bug
diff Show changes between commits, commit and working tree, etc
grep Print lines matching a pattern
log Show commit logs
show Show various types of objects
status Show the working tree status
grow, mark and tweak your common history
backfill Download missing objects in a partial clone
branch List, create, or delete branches
commit Record changes to the repository
history EXPERIMENTAL: Rewrite history
merge Join two or more development histories together
rebase Reapply commits on top of another base tip
reset Set `HEAD` or the index to a known state
switch Switch branches
tag Create, list, delete or verify tags
collaborate (see also: git help workflows)
fetch Download objects and refs from another repository
pull Fetch from and integrate with another repository or a local branch
push Update remote refs along with associated objects
'git help -a' and 'git help -g' list available subcommands and some
concept guides. See 'git help <command>' or 'git help <concept>'
to read about a specific subcommand or concept.
See 'git help git' for an overview of the system.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/ %cd%=C:\Program Files\Git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/ %cd%=C:\Program Files\Git
$ git help --guides
The Git concept guides are:
core-tutorial A Git core tutorial for developers
credentials Providing usernames and passwords to Git
cvs-migration Git for CVS users
diffcore Tweaking diff output
everyday A useful minimum set of commands for Everyday Git
faq Frequently asked questions about using Git
glossary A Git Glossary
namespaces Git namespaces
remote-helpers Helper programs to interact with remote repositories
submodules Mounting one repository inside another
tutorial A tutorial introduction to Git
tutorial-2 A tutorial introduction to Git: part two
workflows An overview of recommended workflows with Git
'git help -a' and 'git help -g' list available subcommands and some
concept guides. See 'git help <command>' or 'git help <concept>'
to read about a specific subcommand or concept.
See 'git help git' for an overview of the system.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/ %cd%=C:\Program Files\Git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/ %cd%=C:\Program Files\Git
$ git help --config
add.ignoreErrors
advice.addEmbeddedRepo
advice.addEmptyPathspec
advice.addIgnoredFile
advice.amWorkDir
advice.ambiguousFetchRefspec
advice.checkoutAmbiguousRemoteBranchName
advice.commitBeforeMerge
advice.defaultBranchName
advice.detachedHead
advice.diverging
advice.fetchRemoteHEADWarn
advice.fetchShowForcedUpdates
advice.forceDeleteBranch
advice.graftFileDeprecated
advice.ignoredHook
advice.implicitIdentity
advice.mergeConflict
advice.nameTooLong
advice.nestedTag
advice.objectNameWarning
advice.pushAlreadyExists
advice.pushFetchFirst
advice.pushNeedsForce
advice.pushNonFFCurrent
advice.pushNonFFMatching
advice.pushNonFastForward
advice.pushRefNeedsUpdate
advice.pushUnqualifiedRefName
advice.pushUpdateRejected
advice.rebaseTodoError
advice.refSyntax
advice.resetNoRefresh
advice.resolveConflict
advice.rmHints
advice.sequencerInUse
advice.setUpstreamFailure
advice.skippedCherryPicks
advice.sparseIndexExpanded
advice.statusAheadBehindWarning
advice.statusHints
advice.statusUoption
advice.submoduleAlternateErrorStrategyDie
advice.submoduleMergeConflict
advice.submodulesNotUpdated
advice.suggestDetachingHead
advice.updateSparsePath
advice.useCoreFSMonitorConfig
advice.waitingForEditor
advice.worktreeAddOrphan
alias.*
alias.*.command
am.keepcr
am.messageId
am.threeWay
apply.ignoreWhitespace
apply.whitespace
attr.tree
author.email
author.name
bitmapPseudoMerge.<name>.decay
bitmapPseudoMerge.<name>.maxMerges
bitmapPseudoMerge.<name>.pattern
bitmapPseudoMerge.<name>.sampleRate
bitmapPseudoMerge.<name>.stableSize
bitmapPseudoMerge.<name>.stableThreshold
bitmapPseudoMerge.<name>.threshold
blame.blankBoundary
blame.coloring
blame.date
blame.ignoreRevsFile
blame.markIgnoredLines
blame.markUnblamableLines
blame.showEmail
blame.showRoot
branch.<name>.description
branch.<name>.merge
branch.<name>.mergeOptions
branch.<name>.pushRemote
branch.<name>.rebase
branch.<name>.remote
branch.autoSetupMerge
branch.autoSetupRebase
branch.sort
browser.<tool>.cmd
browser.<tool>.path
bundle.*
bundle.<id>.*
bundle.<id>.uri
bundle.heuristic
bundle.mode
bundle.version
checkout.defaultRemote
checkout.guess
checkout.thresholdForParallelism
checkout.workers
clean.requireForce
clone.defaultRemoteName
clone.filterSubmodules
clone.rejectShallow
color.advice
color.advice.hint
color.blame.highlightRecent
color.blame.repeatedLines
color.branch
color.branch.current
color.branch.local
color.branch.plain
color.branch.remote
color.branch.reset
color.branch.upstream
color.branch.worktree
color.decorate.HEAD
color.decorate.branch
color.decorate.grafted
color.decorate.remoteBranch
color.decorate.stash
color.decorate.tag
color.diff
color.diff.commit
color.diff.context
color.diff.contextBold
color.diff.contextDimmed
color.diff.frag
color.diff.func
color.diff.meta
color.diff.new
color.diff.newBold
color.diff.newDimmed
color.diff.newMoved
color.diff.newMovedAlternative
color.diff.newMovedAlternativeDimmed
color.diff.newMovedDimmed
color.diff.old
color.diff.oldBold
color.diff.oldDimmed
color.diff.oldMoved
color.diff.oldMovedAlternative
color.diff.oldMovedAlternativeDimmed
color.diff.oldMovedDimmed
color.diff.plain
color.diff.whitespace
color.grep
color.grep.column
color.grep.context
color.grep.filename
color.grep.function
color.grep.lineNumber
color.grep.match
color.grep.matchContext
color.grep.matchSelected
color.grep.selected
color.grep.separator
color.interactive
color.interactive.error
color.interactive.header
color.interactive.help
color.interactive.plain
color.interactive.prompt
color.interactive.reset
color.pager
color.push
color.push.error
color.remote
color.remote.error
color.remote.hint
color.remote.success
color.remote.warning
color.showBranch
color.status
color.status.added
color.status.branch
color.status.changed
color.status.header
color.status.localBranch
color.status.noBranch
color.status.remoteBranch
color.status.unmerged
color.status.untracked
color.status.updated
color.transport
color.transport.rejected
color.ui
column.branch
column.clean
column.status
column.tag
column.ui
commit.cleanup
commit.gpgSign
commit.status
commit.template
commit.verbose
commitGraph.changedPaths
commitGraph.changedPathsVersion
commitGraph.generationVersion
commitGraph.maxNewFilters
commitGraph.readChangedPaths
committer.email
committer.name
completion.commands
core.WSLCompat
core.abbrev
core.alternateRefsCommand
core.alternateRefsPrefixes
core.askPass
core.attributesFile
core.autocrlf
core.bare
core.bigFileThreshold
core.checkRoundtripEncoding
core.checkStat
core.commentChar
core.commentString
core.commitGraph
core.compression
core.createObject
core.deltaBaseCacheLimit
core.editor
core.eol
core.excludesFile
core.fileMode
core.filesRefLockTimeout
core.fscache
core.fsmonitor
core.fsmonitorHookVersion
core.fsync
core.fsyncMethod
core.fsyncObjectFiles
core.gitProxy
core.hideDotFiles
core.hooksPath
core.ignoreCase
core.ignoreStat
core.lockfilePid
core.logAllRefUpdates
core.longpaths
core.looseCompression
core.maxTreeDepth
core.multiPackIndex
core.notesRef
core.packedGitLimit
core.packedGitWindowSize
core.packedRefsTimeout
core.pager
core.precomposeUnicode
core.preferSymlinkRefs
core.preloadIndex
core.protectHFS
core.protectNTFS
core.quotePath
core.repositoryFormatVersion
core.safecrlf
core.sharedRepository
core.sparseCheckout
core.sparseCheckoutCone
core.splitIndex
core.sshCommand
core.symlinks
core.trustctime
core.unsetenvvars
core.untrackedCache
core.useReplaceRefs
core.warnAmbiguousRefs
core.whitespace
core.worktree
credential.<url>.*
credential.helper
credential.interactive
credential.protectProtocol
credential.sanitizePrompt
credential.useHttpPath
credential.username
credentialCache.ignoreSIGHUP
credentialStore.lockTimeoutMS
diff.<driver>.binary
diff.<driver>.cachetextconv
diff.<driver>.command
diff.<driver>.textconv
diff.<driver>.trustExitCode
diff.<driver>.wordRegex
diff.<driver>.xfuncname
diff.algorithm
diff.autoRefreshIndex
diff.colorMoved
diff.colorMovedWS
diff.context
diff.dirstat
diff.dstPrefix
diff.external
diff.guitool
diff.ignoreSubmodules
diff.indentHeuristic
diff.interHunkContext
diff.mnemonicPrefix
diff.noPrefix
diff.orderFile
diff.relative
diff.renameLimit
diff.renames
diff.srcPrefix
diff.statGraphWidth
diff.statNameWidth
diff.submodule
diff.suppressBlankEmpty
diff.tool
diff.trustExitCode
diff.wordRegex
diff.wsErrorHighlight
difftool.<tool>.cmd
difftool.<tool>.path
difftool.guiDefault
difftool.prompt
difftool.trustExitCode
extensions.*
fastimport.unpackLimit
feature.*
feature.experimental
feature.manyFiles
fetch.all
fetch.bundleCreationToken
fetch.bundleURI
fetch.fsck.<msg-id>
fetch.fsck.skipList
fetch.fsckObjects
fetch.negotiationAlgorithm
fetch.output
fetch.parallel
fetch.prune
fetch.pruneTags
fetch.recurseSubmodules
fetch.showForcedUpdates
fetch.unpackLimit
fetch.writeCommitGraph
filter.<driver>.clean
filter.<driver>.smudge
format.attach
format.cc
format.commitListFormat
format.coverFromDescription
format.coverLetter
format.encodeEmailHeaders
format.filenameMaxLength
format.forceInBodyFrom
format.from
format.headers
format.mboxrd
format.noprefix
format.notes
format.numbered
format.outputDirectory
format.pretty
format.signOff
format.signature
format.signatureFile
format.subjectPrefix
format.suffix
format.thread
format.to
format.useAutoBase
fsck.badDate
fsck.badDateOverflow
fsck.badEmail
fsck.badFilemode
fsck.badGpgsig
fsck.badHeadTarget
fsck.badHeaderContinuation
fsck.badName
fsck.badObjectSha1
fsck.badPackedRefEntry
fsck.badPackedRefHeader
fsck.badParentSha1
fsck.badRefContent
fsck.badRefFiletype
fsck.badRefName
fsck.badRefOid
fsck.badReferentName
fsck.badReftableTableName
fsck.badTagName
fsck.badTimezone
fsck.badTree
fsck.badTreeSha1
fsck.badType
fsck.duplicateEntries
fsck.emptyName
fsck.emptyPackedRefsFile
fsck.extraHeaderEntry
fsck.fullPathname
fsck.gitattributesBlob
fsck.gitattributesLarge
fsck.gitattributesLineLength
fsck.gitattributesMissing
fsck.gitattributesSymlink
fsck.gitignoreSymlink
fsck.gitmodulesBlob
fsck.gitmodulesLarge
fsck.gitmodulesMissing
fsck.gitmodulesName
fsck.gitmodulesParse
fsck.gitmodulesPath
fsck.gitmodulesSymlink
fsck.gitmodulesUpdate
fsck.gitmodulesUrl
fsck.hasDot
fsck.hasDotdot
fsck.hasDotgit
fsck.largePathname
fsck.mailmapSymlink
fsck.missingAuthor
fsck.missingCommitter
fsck.missingEmail
fsck.missingNameBeforeEmail
fsck.missingObject
fsck.missingSpaceBeforeDate
fsck.missingSpaceBeforeEmail
fsck.missingTag
fsck.missingTagEntry
fsck.missingTaggerEntry
fsck.missingTree
fsck.missingType
fsck.missingTypeEntry
fsck.multipleAuthors
fsck.nulInCommit
fsck.nulInHeader
fsck.nullSha1
fsck.packedRefEntryNotTerminated
fsck.packedRefUnsorted
fsck.refMissingNewline
fsck.skipList
fsck.symlinkRef
fsck.symrefTargetIsNotARef
fsck.trailingRefContent
fsck.treeNotSorted
fsck.unknownType
fsck.unterminatedHeader
fsck.zeroPaddedDate
fsck.zeroPaddedFilemode
fsmonitor.allowRemote
fsmonitor.socketDir
gc.<pattern>.reflogExpire
gc.<pattern>.reflogExpireUnreachable
gc.aggressiveDepth
gc.aggressiveWindow
gc.auto
gc.autoDetach
gc.autoPackLimit
gc.bigPackThreshold
gc.cruftPacks
gc.logExpiry
gc.maxCruftSize
gc.packRefs
gc.pruneExpire
gc.recentObjectsHook
gc.reflogExpire
gc.reflogExpireUnreachable
gc.repackFilter
gc.repackFilterTo
gc.rerereResolved
gc.rerereUnresolved
gc.worktreePruneExpire
gc.writeCommitGraph
gitcvs.allBinary
gitcvs.commitMsgAnnotation
gitcvs.dbDriver
gitcvs.dbName
gitcvs.dbPass
gitcvs.dbTableNamePrefix
gitcvs.dbUser
gitcvs.enabled
gitcvs.logFile
gitcvs.usecrlfattr
gitweb.avatar
gitweb.blame
gitweb.category
gitweb.description
gitweb.grep
gitweb.highlight
gitweb.owner
gitweb.patches
gitweb.pickaxe
gitweb.remote_heads
gitweb.showSizes
gitweb.snapshot
gitweb.url
gpg.<format>.program
gpg.format
gpg.minTrustLevel
gpg.program
gpg.ssh.allowedSignersFile
gpg.ssh.defaultKeyCommand
gpg.ssh.revocationFile
grep.column
grep.extendedRegexp
grep.fallbackToNoIndex
grep.fullName
grep.lineNumber
grep.patternType
grep.threads
gui.GCWarning
gui.blamehistoryctx
gui.commitMsgWidth
gui.copyBlameThreshold
gui.diffContext
gui.displayUntracked
gui.encoding
gui.fastCopyBlame
gui.matchTrackingBranch
gui.newBranchTemplate
gui.pruneDuringFetch
gui.spellingDictionary
gui.trustmtime
guitool.<name>.argPrompt
guitool.<name>.cmd
guitool.<name>.confirm
guitool.<name>.needsFile
guitool.<name>.noConsole
guitool.<name>.noRescan
guitool.<name>.prompt
guitool.<name>.revPrompt
guitool.<name>.revUnmerged
guitool.<name>.title
hasconfig:remote.*.url
help.autoCorrect
help.browser
help.format
help.htmlPath
hook.<friendly-name>.command
hook.<friendly-name>.enabled
hook.<friendly-name>.event
http.<url>.*
http.allowNTLMAuth
http.cookieFile
http.curloptResolve
http.delegation
http.emptyAuth
http.extraHeader
http.followRedirects
http.keepAliveCount
http.keepAliveIdle
http.keepAliveInterval
http.lowSpeedLimit
http.lowSpeedTime
http.maxRequests
http.maxRetries
http.maxRetryTime
http.minSessions
http.noEPSV
http.pinnedPubkey
http.postBuffer
http.proactiveAuth
http.proxy
http.proxyAuthMethod
http.proxySSLCAInfo
http.proxySSLCert
http.proxySSLCertPasswordProtected
http.proxySSLKey
http.retryAfter
http.saveCookies
http.schannelCheckRevoke
http.schannelUseSSLCAInfo
http.sslAutoClientCert
http.sslBackend
http.sslCAInfo
http.sslCAPath
http.sslCert
http.sslCertPasswordProtected
http.sslCertType
http.sslCipherList
http.sslKey
http.sslKeyType
http.sslTry
http.sslVerify
http.sslVersion
http.userAgent
http.version
i18n.commitEncoding
i18n.logOutputEncoding
imap.authMethod
imap.folder
imap.host
imap.pass
imap.port
imap.preformattedHTML
imap.sslverify
imap.tunnel
imap.user
include.path
includeIf.<condition>.path
index.recordEndOfIndexEntries
index.recordOffsetTable
index.skipHash
index.sparse
index.threads
index.version
init.defaultBranch
init.defaultObjectFormat
init.defaultRefFormat
init.defaultSubmodulePathConfig
init.templateDir
instaweb.browser
instaweb.httpd
instaweb.local
instaweb.modulePath
instaweb.port
interactive.diffFilter
interactive.singleKey
log.abbrevCommit
log.date
log.decorate
log.diffMerges
log.excludeDecoration
log.follow
log.graphColors
log.initialDecorationSet
log.mailmap
log.showRoot
log.showSignature
lsrefs.unborn
mailinfo.scissors
mailmap.blob
mailmap.file
maintenance.<task>.enabled
maintenance.<task>.schedule
maintenance.auto
maintenance.autoDetach
maintenance.commit-graph.auto
maintenance.geometric-repack.auto
maintenance.geometric-repack.splitFactor
maintenance.incremental-repack.auto
maintenance.loose-objects.auto
maintenance.loose-objects.batchSize
maintenance.reflog-expire.auto
maintenance.rerere-gc.auto
maintenance.strategy
maintenance.worktree-prune.auto
man.<tool>.cmd
man.<tool>.path
man.viewer
merge.<driver>.driver
merge.<driver>.name
merge.<driver>.recursive
merge.autoStash
merge.branchdesc
merge.conflictStyle
merge.defaultToUpstream
merge.directoryRenames
merge.ff
merge.guitool
merge.log
merge.renameLimit
merge.renames
merge.renormalize
merge.stat
merge.suppressDest
merge.tool
merge.verbosity
merge.verifySignatures
mergetool.<tool>.cmd
mergetool.<tool>.hideResolved
mergetool.<tool>.path
mergetool.<tool>.trustExitCode
mergetool.<variant>.layout
mergetool.guiDefault
mergetool.hideResolved
mergetool.keepBackup
mergetool.keepTemporaries
mergetool.meld.hasOutput
mergetool.meld.useAutoMerge
mergetool.prompt
mergetool.writeToTemp
notes.<name>.mergeStrategy
notes.displayRef
notes.mergeStrategy
notes.rewrite.<command>
notes.rewriteMode
notes.rewriteRef
pack.allowPackReuse
pack.compression
pack.deltaCacheLimit
pack.deltaCacheSize
pack.depth
pack.indexVersion
pack.island
pack.islandCore
pack.packSizeLimit
pack.preferBitmapTips
pack.readReverseIndex
pack.threads
pack.useBitmapBoundaryTraversal
pack.useBitmaps
pack.usePathWalk
pack.useSparse
pack.window
pack.windowMemory
pack.writeBitmapHashCache
pack.writeBitmapLookupTable
pack.writeReverseIndex
pager.<cmd>
pretty.<name>
promisor.acceptFromServer
promisor.advertise
promisor.checkFields
promisor.quiet
promisor.sendFields
promisor.storeFields
protocol.<name>.allow
protocol.allow
protocol.version
pull.autoStash
pull.ff
pull.octopus
pull.rebase
pull.twohead
push.autoSetupRemote
push.default
push.followTags
push.gpgSign
push.negotiate
push.pushOption
push.recurseSubmodules
push.useBitmaps
push.useForceIfIncludes
rebase.abbreviateCommands
rebase.autoSquash
rebase.autoStash
rebase.backend
rebase.forkPoint
rebase.instructionFormat
rebase.maxLabelLength
rebase.missingCommitsCheck
rebase.rebaseMerges
rebase.rescheduleFailedExec
rebase.stat
rebase.updateRefs
receive.advertiseAtomic
receive.advertisePushOptions
receive.autogc
receive.certNonceSeed
receive.certNonceSlop
receive.denyCurrentBranch
receive.denyDeleteCurrent
receive.denyDeletes
receive.denyNonFastForwards
receive.fsck.badDate
receive.fsck.badDateOverflow
receive.fsck.badEmail
receive.fsck.badFilemode
receive.fsck.badGpgsig
receive.fsck.badHeadTarget
receive.fsck.badHeaderContinuation
receive.fsck.badName
receive.fsck.badObjectSha1
receive.fsck.badPackedRefEntry
receive.fsck.badPackedRefHeader
receive.fsck.badParentSha1
receive.fsck.badRefContent
receive.fsck.badRefFiletype
receive.fsck.badRefName
receive.fsck.badRefOid
receive.fsck.badReferentName
receive.fsck.badReftableTableName
receive.fsck.badTagName
receive.fsck.badTimezone
receive.fsck.badTree
receive.fsck.badTreeSha1
receive.fsck.badType
receive.fsck.duplicateEntries
receive.fsck.emptyName
receive.fsck.emptyPackedRefsFile
receive.fsck.extraHeaderEntry
receive.fsck.fullPathname
receive.fsck.gitattributesBlob
receive.fsck.gitattributesLarge
receive.fsck.gitattributesLineLength
receive.fsck.gitattributesMissing
receive.fsck.gitattributesSymlink
receive.fsck.gitignoreSymlink
receive.fsck.gitmodulesBlob
receive.fsck.gitmodulesLarge
receive.fsck.gitmodulesMissing
receive.fsck.gitmodulesName
receive.fsck.gitmodulesParse
receive.fsck.gitmodulesPath
receive.fsck.gitmodulesSymlink
receive.fsck.gitmodulesUpdate
receive.fsck.gitmodulesUrl
receive.fsck.hasDot
receive.fsck.hasDotdot
receive.fsck.hasDotgit
receive.fsck.largePathname
receive.fsck.mailmapSymlink
receive.fsck.missingAuthor
receive.fsck.missingCommitter
receive.fsck.missingEmail
receive.fsck.missingNameBeforeEmail
receive.fsck.missingObject
receive.fsck.missingSpaceBeforeDate
receive.fsck.missingSpaceBeforeEmail
receive.fsck.missingTag
receive.fsck.missingTagEntry
receive.fsck.missingTaggerEntry
receive.fsck.missingTree
receive.fsck.missingType
receive.fsck.missingTypeEntry
receive.fsck.multipleAuthors
receive.fsck.nulInCommit
receive.fsck.nulInHeader
receive.fsck.nullSha1
receive.fsck.packedRefEntryNotTerminated
receive.fsck.packedRefUnsorted
receive.fsck.refMissingNewline
receive.fsck.skipList
receive.fsck.symlinkRef
receive.fsck.symrefTargetIsNotARef
receive.fsck.trailingRefContent
receive.fsck.treeNotSorted
receive.fsck.unknownType
receive.fsck.unterminatedHeader
receive.fsck.zeroPaddedDate
receive.fsck.zeroPaddedFilemode
receive.fsckObjects
receive.hideRefs
receive.keepAlive
receive.maxInputSize
receive.procReceiveRefs
receive.shallowUpdate
receive.unpackLimit
receive.updateServerInfo
reftable.blockSize
reftable.geometricFactor
reftable.indexObjects
reftable.lockTimeout
reftable.restartInterval
remote.<name>.fetch
remote.<name>.followRemoteHEAD
remote.<name>.mirror
remote.<name>.partialclonefilter
remote.<name>.promisor
remote.<name>.proxy
remote.<name>.proxyAuthMethod
remote.<name>.prune
remote.<name>.pruneTags
remote.<name>.push
remote.<name>.pushurl
remote.<name>.receivepack
remote.<name>.serverOption
remote.<name>.skipDefaultUpdate
remote.<name>.skipFetchAll
remote.<name>.tagOpt
remote.<name>.uploadpack
remote.<name>.url
remote.<name>.vcs
remote.pushDefault
remotes.<group>
repack.cruftDepth
repack.cruftThreads
repack.cruftWindow
repack.cruftWindowMemory
repack.midxMustContainCruft
repack.packKeptObjects
repack.updateServerInfo
repack.useDeltaBaseOffset
repack.useDeltaIslands
repack.writeBitmaps
replay.refAction
rerere.autoUpdate
rerere.enabled
revert.reference
safe.bareRepository
safe.directory
sendemail.<identity>.*
sendemail.aliasFileType
sendemail.aliasesFile
sendemail.annotate
sendemail.bcc
sendemail.cc
sendemail.ccCmd
sendemail.chainReplyTo
sendemail.confirm
sendemail.envelopeSender
sendemail.forbidSendmailVariables
sendemail.from
sendemail.headerCmd
sendemail.identity
sendemail.imapSentFolder
sendemail.mailmap
sendemail.mailmap.blob
sendemail.mailmap.file
sendemail.multiEdit
sendemail.outlookidfix
sendemail.signedOffByCc
sendemail.smtpBatchSize
sendemail.smtpDomain
sendemail.smtpEncryption
sendemail.smtpPass
sendemail.smtpReloginDelay
sendemail.smtpSSLCertPath
sendemail.smtpSSLClientCert
sendemail.smtpSSLClientKey
sendemail.smtpServer
sendemail.smtpServerOption
sendemail.smtpServerPort
sendemail.smtpUser
sendemail.suppressCc
sendemail.suppressFrom
sendemail.thread
sendemail.to
sendemail.toCmd
sendemail.transferEncoding
sendemail.useImapOnly
sendemail.validate
sendemail.xmailer
sendpack.sideband
sequence.editor
showBranch.default
sideband.allowControlCharacters
sparse.expectFilesOutsideOfPatterns
splitIndex.maxPercentChange
splitIndex.sharedIndexExpire
ssh.variant
stash.index
stash.showIncludeUntracked
stash.showPatch
stash.showStat
status.aheadBehind
status.branch
status.compareBranches
status.displayCommentPrefix
status.relativePaths
status.renameLimit
status.renames
status.short
status.showStash
status.showUntrackedFiles
status.submoduleSummary
submodule.<name>.active
submodule.<name>.branch
submodule.<name>.fetchRecurseSubmodules
submodule.<name>.gitdir
submodule.<name>.ignore
submodule.<name>.update
submodule.<name>.url
submodule.active
submodule.alternateErrorStrategy
submodule.alternateLocation
submodule.fetchJobs
submodule.propagateBranches
submodule.recurse
survey.*
tag.forceSignAnnotated
tag.gpgSign
tag.sort
tar.umask
trace2.configParams
trace2.destinationDebug
trace2.envVars
trace2.eventBrief
trace2.eventNesting
trace2.eventTarget
trace2.maxFiles
trace2.normalBrief
trace2.normalTarget
trace2.perfBrief
trace2.perfTarget
trailer.<key-alias>.cmd
trailer.<key-alias>.command
trailer.<key-alias>.ifexists
trailer.<key-alias>.ifmissing
trailer.<key-alias>.key
trailer.<key-alias>.where
trailer.ifexists
trailer.ifmissing
trailer.separators
trailer.where
transfer.advertiseObjectInfo
transfer.advertiseSID
transfer.bundleURI
transfer.credentialsInUrl
transfer.fsckObjects
transfer.hideRefs
transfer.unpackLimit
uploadarchive.allowUnreachable
uploadpack.allowAnySHA1InWant
uploadpack.allowFilter
uploadpack.allowReachableSHA1InWant
uploadpack.allowRefInWant
uploadpack.allowTipSHA1InWant
uploadpack.hideRefs
uploadpack.keepAlive
uploadpack.packObjectsHook
uploadpackfilter.<filter>.allow
uploadpackfilter.allow
uploadpackfilter.tree.maxDepth
url.<base>.insteadOf
url.<base>.pushInsteadOf
user.email
user.name
user.signingKey
user.useConfigOnly
versionsort.suffix
web.browser
windows.appendAtomically
worktree.guessRemote
worktree.useRelativePaths
'git help config' for more information
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/ %cd%=C:\Program Files\Git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/ %cd%=C:\Program Files\Git
$ git help --user-interfaces
User-facing repository, command and file interfaces:
attributes Defining attributes per path
cli Git command-line interface and conventions
hooks Hooks used by Git
ignore Specifies intentionally untracked files to ignore
mailmap Map author/committer names and/or E-Mail addresses
modules Defining submodule properties
repository-layout Git Repository Layout
revisions Specifying revisions and ranges for Git
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/ %cd%=C:\Program Files\Git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/ %cd%=C:\Program Files\Git
$ git help --developer-interfaces
File formats, protocols and other developer interfaces:
format-bundle The bundle file format
format-chunk Chunk-based file formats
format-commit-graph Git commit-graph format
format-index Git index format
format-pack Git pack format
format-signature Git cryptographic signature formats
protocol-capabilities Protocol v0 and v1 capabilities
protocol-common Things common to various protocols
protocol-http Git HTTP-based protocols
protocol-pack How packs are transferred over-the-wire
protocol-v2 Git Wire Protocol, Version 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/ %cd%=C:\Program Files\Git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/ %cd%=C:\Program Files\Git
$ git --exec-path="abc" --exec-path
abc
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/ %cd%=C:\Program Files\Git
$ git --exec-path="123" --exec-path
123
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/ %cd%=C:\Program Files\Git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/ %cd%=C:\Program Files\Git
$ git -c section.key=value config get section.key
value
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/ %cd%=C:\Program Files\Git
$ git -c section.key=value1 -c section.key=value2 config get section.key
value2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/ %cd%=C:\Program Files\Git
$ git -c section.key=value1 -c section.key=value2 config get --all section.key
value1
value2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/ %cd%=C:\Program Files\Git
$ git -c section.key -c section.key= -c section.key=value3 config get --all section.key
value3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/ %cd%=C:\Program Files\Git
$ git -c section.key -c section.key= -c section.key=value3 config get --type=bool --all section.key
fatal: bad boolean config value 'value3' for 'section.key'
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/ %cd%=C:\Program Files\Git
$ git -c section.key -c section.key= -c section.key=nO -c section.key=oFf -c section.key=fAlSe -c section.key=0 -c section.key=yEs -c section.key=oN -c section.key=tRuE -c section.key=1 config get --type=bool --all section.key
true
false
false
false
false
false
true
true
true
true
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/ %cd%=C:\Program Files\Git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/ %cd%=C:\Program Files\Git
$ git --config-env=section.key config get section.key
fatal: invalid config format: section.key
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/ %cd%=C:\Program Files\Git
$ git --config-env=section.key= config get section.key
fatal: missing environment variable name for configuration 'section.key'
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/ %cd%=C:\Program Files\Git
$ git --config-env=section.key=ENV_VAR1 config get section.key
fatal: missing environment variable 'ENV_VAR1' for configuration 'section.key'
jhcarl0814@jhcarl0814 MINGW64 $?=128 $!= $OLDPWD=/ $PWD=/ %cd%=C:\Program Files\Git
$ ENV_VAR1= git --config-env=section.key=ENV_VAR1 config get section.key
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/ %cd%=C:\Program Files\Git
$ ENV_VAR1=value git --config-env=section.key=ENV_VAR1 config get section.key
value
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/ %cd%=C:\Program Files\Git
$ ENV_VAR1=value1 ENV_VAR2=value2 git --config-env=section.key=ENV_VAR1 --config-env=section.key=ENV_VAR2 config get section.key
value2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/ %cd%=C:\Program Files\Git
$ ENV_VAR1=value1 ENV_VAR2=value2 git --config-env=section.key=ENV_VAR1 --config-env=section.key=ENV_VAR2 config get --all section.key
value1
value2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/ %cd%=C:\Program Files\Git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/test_git $PWD=/test_git/repo2 %cd%=C:\Program Files\Git\test_git\repo2
$ cd '../repo1'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/test_git/repo2 $PWD=/test_git/repo1 %cd%=C:\Program Files\Git\test_git\repo1
$ git init
Initialized empty Git repository in C:/Program Files/Git/test_git/repo1/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/test_git/repo2 $PWD=/test_git/repo1 %cd%=C:\Program Files\Git\test_git\repo1 (refs/heads/master)
$ git status
On branch master
No commits yet
nothing to commit (create/copy files and use "git add" to track)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/test_git/repo2 $PWD=/test_git/repo1 %cd%=C:\Program Files\Git\test_git\repo1 (refs/heads/master)
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/test_git $PWD=/test_git/repo2 %cd%=C:\Program Files\Git\test_git\repo2
$ git -C '../repo1' init
Initialized empty Git repository in C:/Program Files/Git/test_git/repo1/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/test_git $PWD=/test_git/repo2 %cd%=C:\Program Files\Git\test_git\repo2
$ git -C '../repo1' status
On branch master
No commits yet
nothing to commit (create/copy files and use "git add" to track)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/test_git $PWD=/test_git/repo2 %cd%=C:\Program Files\Git\test_git\repo2
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo1' init; git -C './repo2' init
Initialized empty Git repository in C:/Program Files/Git/test_git/repo1/.git/
Initialized empty Git repository in C:/Program Files/Git/test_git/repo2/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ mkdir --parents -- './repo1/dir' './repo2/dir'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ touch -- './repo1/file11' './repo1/file12' './repo1/dir/file13' './repo1/dir/file14' './repo2/file21' './repo2/file22' './repo2/dir/file23' './repo2/dir/file24'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo1' add './file11' './dir/file13'; git -C './repo2' add './file21' './dir/file23';
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ cd './repo1/dir'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/test_git $PWD=/test_git/repo1/dir %cd%=C:\Program Files\Git\test_git\repo1\dir (refs/heads/master)
$ git rev-parse --path-format=absolute --absolute-git-dir --git-common-dir --show-toplevel
C:/Program Files/Git/test_git/repo1/.git
C:/Program Files/Git/test_git/repo1/.git
C:/Program Files/Git/test_git/repo1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/test_git $PWD=/test_git/repo1/dir %cd%=C:\Program Files\Git\test_git\repo1\dir (refs/heads/master)
$ git status
On branch master
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: file13
new file: ../file11
Untracked files:
(use "git add <file>..." to include in what will be committed)
file14
../file12
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/test_git $PWD=/test_git/repo1/dir %cd%=C:\Program Files\Git\test_git\repo1\dir (refs/heads/master)
$ git status '.'
On branch master
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: file13
Untracked files:
(use "git add <file>..." to include in what will be committed)
file14
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/test_git $PWD=/test_git/repo1/dir %cd%=C:\Program Files\Git\test_git\repo1\dir (refs/heads/master)
$ cd '../../repo2/dir'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/test_git/repo1/dir $PWD=/test_git/repo2/dir %cd%=C:\Program Files\Git\test_git\repo2\dir (refs/heads/master)
$ git --git-dir '../../repo1/.git' rev-parse --path-format=absolute --absolute-git-dir --git-common-dir --show-toplevel
C:/Program Files/Git/test_git/repo1/.git
C:/Program Files/Git/test_git/repo1/.git
C:/Program Files/Git/test_git/repo2/dir
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/test_git/repo1/dir $PWD=/test_git/repo2/dir %cd%=C:\Program Files\Git\test_git\repo2\dir (refs/heads/master)
$ git --git-dir '../../repo1/.git' status
On branch master
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: dir/file13
new file: file11
Changes not staged for commit:
(use "git add/rm <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
deleted: dir/file13
deleted: file11
Untracked files:
(use "git add <file>..." to include in what will be committed)
file23
file24
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/test_git/repo1/dir $PWD=/test_git/repo2/dir %cd%=C:\Program Files\Git\test_git\repo2\dir (refs/heads/master)
$ git --git-dir '../../repo1/.git' status '.'
On branch master
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: dir/file13
new file: file11
Changes not staged for commit:
(use "git add/rm <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
deleted: dir/file13
deleted: file11
Untracked files:
(use "git add <file>..." to include in what will be committed)
file23
file24
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/test_git/repo1/dir $PWD=/test_git/repo2/dir %cd%=C:\Program Files\Git\test_git\repo2\dir (refs/heads/master)
$ git --git-dir '../../repo1/.git' --work-tree '../../repo1' rev-parse --path-format=absolute --absolute-git-dir --git-common-dir --show-toplevel
C:/Program Files/Git/test_git/repo1/.git
C:/Program Files/Git/test_git/repo1/.git
C:/Program Files/Git/test_git/repo1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/test_git/repo1/dir $PWD=/test_git/repo2/dir %cd%=C:\Program Files\Git\test_git\repo2\dir (refs/heads/master)
$ git --git-dir '../../repo1/.git' --work-tree '../../repo1' status
On branch master
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: dir/file13
new file: file11
Untracked files:
(use "git add <file>..." to include in what will be committed)
dir/file14
file12
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/test_git/repo1/dir $PWD=/test_git/repo2/dir %cd%=C:\Program Files\Git\test_git\repo2\dir (refs/heads/master)
$ git --git-dir '../../repo1/.git' --work-tree '../../repo1' status '.'
On branch master
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: dir/file13
new file: file11
Untracked files:
(use "git add <file>..." to include in what will be committed)
dir/file14
file12
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/test_git/repo1/dir $PWD=/test_git/repo2/dir %cd%=C:\Program Files\Git\test_git\repo2\dir (refs/heads/master)
$ git -C '..' --git-dir '../repo1/.git' --work-tree '../repo1' rev-parse --path-format=absolute --absolute-git-dir --git-common-dir --show-toplevel
C:/Program Files/Git/test_git/repo1/.git
C:/Program Files/Git/test_git/repo1/.git
C:/Program Files/Git/test_git/repo1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/test_git/repo1/dir $PWD=/test_git/repo2/dir %cd%=C:\Program Files\Git\test_git\repo2\dir (refs/heads/master)
$ git -C '..' --git-dir '../repo1/.git' --work-tree '../repo1' status
On branch master
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: dir/file13
new file: file11
Untracked files:
(use "git add <file>..." to include in what will be committed)
dir/file14
file12
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/test_git/repo1/dir $PWD=/test_git/repo2/dir %cd%=C:\Program Files\Git\test_git\repo2\dir (refs/heads/master)
$ git -C '..' --git-dir '../repo1/.git' --work-tree '../repo1' status '.'
On branch master
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: dir/file13
new file: file11
Untracked files:
(use "git add <file>..." to include in what will be committed)
dir/file14
file12
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/test_git/repo1/dir $PWD=/test_git/repo2/dir %cd%=C:\Program Files\Git\test_git\repo2\dir (refs/heads/master)
$ git -C '..' -C '../repo1' -C './dir' --git-dir '../.git' --work-tree '..' rev-parse --path-format=absolute --absolute-git-dir --git-common-dir --show-toplevel
C:/Program Files/Git/test_git/repo1/.git
C:/Program Files/Git/test_git/repo1/.git
C:/Program Files/Git/test_git/repo1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/test_git/repo1/dir $PWD=/test_git/repo2/dir %cd%=C:\Program Files\Git\test_git\repo2\dir (refs/heads/master)
$ git -C '..' -C '../repo1' -C './dir' --git-dir '../.git' --work-tree '..' status
On branch master
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: file13
new file: ../file11
Untracked files:
(use "git add <file>..." to include in what will be committed)
file14
../file12
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/test_git/repo1/dir $PWD=/test_git/repo2/dir %cd%=C:\Program Files\Git\test_git\repo2\dir (refs/heads/master)
$ git -C '..' -C '../repo1' -C './dir' --git-dir '../.git' --work-tree '..' status '.'
On branch master
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: file13
Untracked files:
(use "git add <file>..." to include in what will be committed)
file14
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/test_git/repo1/dir $PWD=/test_git/repo2/dir %cd%=C:\Program Files\Git\test_git\repo2\dir (refs/heads/master)
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server' init --bare './repo.git';
Initialized empty Git repository in C:/Program Files/Git/test_git/server/repo.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client1' clone 'file://'"$(realpath './server/repo.git')" 'repo'
Cloning into 'repo'...
warning: You appear to have cloned an empty repository.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client1/repo' remote --verbose show
origin file:///test_git/server/repo.git (fetch)
origin file:///test_git/server/repo.git (push)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client1/repo' branch --list --all --verbose --verbose
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
[master (root-commit) 6bdbdfe] 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client1/repo' fetch origin
remote: Enumerating objects: 2, done.
remote: Counting objects: 100% (2/2), done.
remote: Total 2 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (2/2), 138 bytes | 15.00 KiB/s, done.
From file:///test_git/server/repo
* [new branch] master -> origin/master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client1/repo' branch --list --all --verbose --verbose
remotes/origin/HEAD -> origin/master
remotes/origin/master 6bdbdfe 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ branch_remote_default_path="$(git -C './client1/repo' symbolic-ref 'refs/remotes/origin/HEAD')"; echo "$branch_remote_default_path"
refs/remotes/origin/master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ branch_remote_default_name="${branch_remote_default_path#'refs/remotes/origin/'}"; echo "$branch_remote_default_name"
master
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client1/repo' checkout "$branch_remote_default_name"
branch 'master' set up to track 'origin/master'.
Already on 'master'
Your branch is up to date with 'origin/master'.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client1/repo' branch --list --all --verbose --verbose
* master 6bdbdfe [origin/master] 1
remotes/origin/HEAD -> origin/master
remotes/origin/master 6bdbdfe 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client1/repo' checkout -b tests
Switched to a new branch 'tests'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client1/repo' commit --message="$((++number))" --allow-empty
[tests cfaebb2] 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client1/repo' --namespace='client1' push origin tests
Enumerating objects: 1, done.
Counting objects: 100% (1/1), done.
Writing objects: 100% (1/1), 179 bytes | 179.00 KiB/s, done.
Total 1 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
To file:///test_git/server/repo.git
* [new branch] tests -> tests
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client1/repo' lg --all
* cfaebb2 - 2026-05-30 17:20 (1 second ago) 2 - Han Jiang (HEAD -> refs/heads/tests, refs/remotes/origin/tests)
* 6bdbdfe - 2026-05-30 17:20 (5 seconds ago) 1 - Han Jiang (refs/remotes/origin/master, refs/remotes/origin/HEAD, refs/heads/master)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client2' clone 'file://'"$(realpath './server/repo.git')" 'repo'
Cloning into 'repo'...
remote: Enumerating objects: 2, done.
remote: Counting objects: 100% (2/2), done.
remote: Total 2 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Receiving objects: 100% (2/2), done.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client2/repo' branch --list --all --verbose --verbose
* master 6bdbdfe [origin/master] 1
remotes/origin/HEAD -> origin/master
remotes/origin/master 6bdbdfe 1
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client2/repo' checkout -b tests
Switched to a new branch 'tests'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client2/repo' commit --message="$((++number))" --allow-empty
[tests f6f83aa] 3
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client2/repo' --namespace='client2' push origin tests
Enumerating objects: 1, done.
Counting objects: 100% (1/1), done.
Writing objects: 100% (1/1), 179 bytes | 179.00 KiB/s, done.
Total 1 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
To file:///test_git/server/repo.git
* [new branch] tests -> tests
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client2/repo' lg --all
* f6f83aa - 2026-05-30 17:20 (1 second ago) 3 - Han Jiang (HEAD -> refs/heads/tests, refs/remotes/origin/tests)
* 6bdbdfe - 2026-05-30 17:20 (8 seconds ago) 1 - Han Jiang (refs/remotes/origin/master, refs/remotes/origin/HEAD, refs/heads/master)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client1/repo' show-ref --head
cfaebb274c080a12a9836f1c2b292e3eeee66421 HEAD
6bdbdfe1b5846a6dfe470ca7273a4cf96b04e2d3 refs/heads/master
cfaebb274c080a12a9836f1c2b292e3eeee66421 refs/heads/tests
6bdbdfe1b5846a6dfe470ca7273a4cf96b04e2d3 refs/remotes/origin/HEAD
6bdbdfe1b5846a6dfe470ca7273a4cf96b04e2d3 refs/remotes/origin/master
cfaebb274c080a12a9836f1c2b292e3eeee66421 refs/remotes/origin/tests
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client2/repo' show-ref --head
f6f83aa8f44159d0ad4b7fb83fcd391a8cc84d13 HEAD
6bdbdfe1b5846a6dfe470ca7273a4cf96b04e2d3 refs/heads/master
f6f83aa8f44159d0ad4b7fb83fcd391a8cc84d13 refs/heads/tests
6bdbdfe1b5846a6dfe470ca7273a4cf96b04e2d3 refs/remotes/origin/HEAD
6bdbdfe1b5846a6dfe470ca7273a4cf96b04e2d3 refs/remotes/origin/master
f6f83aa8f44159d0ad4b7fb83fcd391a8cc84d13 refs/remotes/origin/tests
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' show-ref --head
6bdbdfe1b5846a6dfe470ca7273a4cf96b04e2d3 HEAD
6bdbdfe1b5846a6dfe470ca7273a4cf96b04e2d3 refs/heads/master
cfaebb274c080a12a9836f1c2b292e3eeee66421 refs/namespaces/client1/refs/heads/tests
f6f83aa8f44159d0ad4b7fb83fcd391a8cc84d13 refs/namespaces/client2/refs/heads/tests
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --all --clear-decorations
* f6f83aa - 2026-05-30 17:20 (3 seconds ago) 3 - Han Jiang (refs/namespaces/client2/refs/heads/tests)
| * cfaebb2 - 2026-05-30 17:20 (6 seconds ago) 2 - Han Jiang (refs/namespaces/client1/refs/heads/tests)
|/
* 6bdbdfe - 2026-05-30 17:20 (10 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git ls-remote --symref 'file://'"$(realpath './server/repo.git')"
ref: refs/heads/master HEAD
6bdbdfe1b5846a6dfe470ca7273a4cf96b04e2d3 HEAD
6bdbdfe1b5846a6dfe470ca7273a4cf96b04e2d3 refs/heads/master
cfaebb274c080a12a9836f1c2b292e3eeee66421 refs/namespaces/client1/refs/heads/tests
f6f83aa8f44159d0ad4b7fb83fcd391a8cc84d13 refs/namespaces/client2/refs/heads/tests
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './tester11' --namespace='client1' clone --branch tests 'file://'"$(realpath './server/repo.git')" 'repo'
Cloning into 'repo'...
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 3 (delta 1), reused 0 (delta 0), pack-reused 0 (from 0)
Receiving objects: 100% (3/3), done.
Resolving deltas: 100% (1/1), done.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './tester11/repo' branch --list --all --verbose --verbose
* tests cfaebb2 [origin/tests] 2
remotes/origin/tests cfaebb2 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './tester11/repo' lg --all
* cfaebb2 - 2026-05-30 17:20 (9 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/tests, refs/remotes/origin/tests)
* 6bdbdfe - 2026-05-30 17:20 (13 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ IFS= read -rd '' windows_path < <(cygpath --windows "$(realpath './server/repo.git')" | awk --characters-as-bytes --assign BINMODE='rw' '
> BEGIN {
> RS = "\r\n|\n|\r";
> FS = "";
> }
> {
> for(i = 1; i <= NF; ++i) {
> if($i == "%")
> printf("%%%%");
> else if($i == " ")
> printf("%% ");
> else
> printf("%s", $i);
> }
> printf("%s", RT);
> }
> '); echo "$windows_path"
C:\Program% Files\Git\test_git\server\repo.git
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!=122434 $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './tester12' -c protocol.ext.allow=always clone --branch tests ext::'git --namespace=client1 %s '"${windows_path%?}" 'repo'
Cloning into 'repo'...
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 3 (delta 1), reused 0 (delta 0), pack-reused 0 (from 0)
Receiving objects: 100% (3/3), done.
Resolving deltas: 100% (1/1), done.
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!=122434 $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './tester12/repo' branch --list --all --verbose --verbose
* tests cfaebb2 [origin/tests] 2
remotes/origin/tests cfaebb2 2
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!=122434 $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './tester12/repo' lg --all
* cfaebb2 - 2026-05-30 17:20 (11 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/tests, refs/remotes/origin/tests)
* 6bdbdfe - 2026-05-30 17:20 (15 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!=122434 $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ touch -- './repo/abcd' './repo/ab*cd'
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status
On branch master
No commits yet
Untracked files:
(use "git add <file>..." to include in what will be committed)
abcd
"ab\357\200\252cd"
nothing added to commit but untracked files present (use "git add" to track)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status 'abcd'
On branch master
No commits yet
Untracked files:
(use "git add <file>..." to include in what will be committed)
abcd
nothing added to commit but untracked files present (use "git add" to track)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status 'ab*cd'
On branch master
No commits yet
Untracked files:
(use "git add <file>..." to include in what will be committed)
abcd
"ab\357\200\252cd"
nothing added to commit but untracked files present (use "git add" to track)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status $'ab\357\200\252cd'
On branch master
No commits yet
Untracked files:
(use "git add <file>..." to include in what will be committed)
"ab\357\200\252cd"
nothing added to commit but untracked files present (use "git add" to track)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' --literal-pathspecs status 'abcd'
On branch master
No commits yet
Untracked files:
(use "git add <file>..." to include in what will be committed)
abcd
nothing added to commit but untracked files present (use "git add" to track)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' --literal-pathspecs status 'ab*cd'
On branch master
No commits yet
nothing to commit (create/copy files and use "git add" to track)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' --literal-pathspecs status $'ab\357\200\252cd'
On branch master
No commits yet
Untracked files:
(use "git add <file>..." to include in what will be committed)
"ab\357\200\252cd"
nothing added to commit but untracked files present (use "git add" to track)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' --glob-pathspecs status 'abcd'
On branch master
No commits yet
Untracked files:
(use "git add <file>..." to include in what will be committed)
abcd
nothing added to commit but untracked files present (use "git add" to track)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' --glob-pathspecs status 'ab*cd'
On branch master
No commits yet
Untracked files:
(use "git add <file>..." to include in what will be committed)
abcd
"ab\357\200\252cd"
nothing added to commit but untracked files present (use "git add" to track)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' --glob-pathspecs status $'ab\357\200\252cd'
On branch master
No commits yet
Untracked files:
(use "git add <file>..." to include in what will be committed)
"ab\357\200\252cd"
nothing added to commit but untracked files present (use "git add" to track)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' --noglob-pathspecs status 'abcd'
On branch master
No commits yet
Untracked files:
(use "git add <file>..." to include in what will be committed)
abcd
nothing added to commit but untracked files present (use "git add" to track)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' --noglob-pathspecs status 'ab*cd'
On branch master
No commits yet
nothing to commit (create/copy files and use "git add" to track)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' --noglob-pathspecs status $'ab\357\200\252cd'
On branch master
No commits yet
Untracked files:
(use "git add <file>..." to include in what will be committed)
"ab\357\200\252cd"
nothing added to commit but untracked files present (use "git add" to track)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' --icase-pathspecs status 'Abcd'
On branch master
No commits yet
Untracked files:
(use "git add <file>..." to include in what will be committed)
abcd
nothing added to commit but untracked files present (use "git add" to track)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' --icase-pathspecs status 'Ab*cd'
On branch master
No commits yet
Untracked files:
(use "git add <file>..." to include in what will be committed)
abcd
"ab\357\200\252cd"
nothing added to commit but untracked files present (use "git add" to track)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' --icase-pathspecs status $'Ab\357\200\252cd'
On branch master
No commits yet
Untracked files:
(use "git add <file>..." to include in what will be committed)
"ab\357\200\252cd"
nothing added to commit but untracked files present (use "git add" to track)
jhcarl0814@jhcarl0814 MINGW64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit