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