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.
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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/ %cd%=C:\Program Files\Git
$ git version
git version 2.56.0.windows.1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/ %cd%=C:\Program Files\Git
$ git version --build-options
git version 2.56.0.windows.1
cpu: x86_64
built from commit: 49d759b698127791a5f3f2759c69b983846711dd
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.22.0
OpenSSL: OpenSSL 3.5.8 25 Aug 2026
zlib: 1.3.2
SHA-1: SHA1_DC
SHA-256: SHA256_BLK
default-ref-format: files
default-hash: sha1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/ %cd%=C:\Program Files\Git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config set --file='./config.txt' 'section2.ke-y2' 'value2'
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config set --file='./config.txt' 's-ection6.key6' 'value6'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config set --file='./config.txt' '7section.key7' 'value7'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config set --file='./config.txt' -- '-section81.key81' 'value81'
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config set --file='./config.txt' 'section.key'
error: missing value to set to the variable 'section.key'
jhcarl0814@jhcarl0814 UCRT64 $?=129 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config set --file='./config.txt' 'section.key0' ''
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config set --file='./config.txt' 'section.key1' 'value'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config set --file='./config.txt' 'section.key2' ' val
> ue '
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -n -e '[section]
> key = v\0al\0ue
> ' >>'./config.txt'
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -n -e '[section]
> key = v\\0al\\0ue
> ' >>'./config.txt'
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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/ucrt64/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 UCRT64 $?=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 UCRT64 $?=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/ucrt64/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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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/ucrt64/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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=129 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' config set --local --all 'section.key' 'value5'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' config set --local --append 'section.key' 'value6'
jhcarl0814@jhcarl0814 UCRT64 $?=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/ucrt64/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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' config --local extensions.worktreeConfig true
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' config set --worktree --all 'section.key' 'value71'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' config set --worktree --append 'section.key' 'value81'
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' config set --worktree --all 'section.key' 'value72'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' config set --worktree --append 'section.key' 'value82'
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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/ucrt64/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 UCRT64 $?=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/ucrt64/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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/ %cd%=C:\Program Files\Git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config get --file='./config.txt' --all 'section.key2'
value2
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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/ucrt64/
command file:./config.txt /
command file:./config.txt //
command file:./config.txt ///
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/ %cd%=C:\Program Files\Git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/ %cd%=C:\Program Files\Git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' config --local extensions.worktreeConfig true
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' config set --system 'section.key' 'value11'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' config set --global 'section.key' 'value21'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' config set --local 'section.key' 'value31'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' config set --worktree 'section.key' 'value411'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' config set --worktree 'section.key' 'value412'
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config set --file='./config.txt' 'section.key' 'value31'
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' config set --system 'section.key' 'value12'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' config set --global 'section.key' 'value22'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' config set --local 'section.key' 'value32'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' config set --worktree 'section.key' 'value421'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' config set --worktree 'section.key' 'value422'
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config set --file='./config.txt' 'section.key' 'value32'
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' config set --system --append 'section.key' 'value13'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' config set --global --append 'section.key' 'value23'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' config set --local --append 'section.key' 'value33'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' config set --worktree --append 'section.key' 'value431'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' config set --worktree --append 'section.key' 'value432'
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config set --file='./config.txt' --append 'section.key' 'value33'
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=5 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' config set --system --all 'section.key' 'value14'
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=5 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' config set --global --all 'section.key' 'value24'
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=5 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' config set --local --all 'section.key' 'value34'
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=5 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' config set --worktree --all 'section.key' 'value441'
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=5 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' config set --worktree --all 'section.key' 'value442'
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=5 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config set --file='./config.txt' --all 'section.key' 'value34'
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' config unset --system 'section.key'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' config unset --global 'section.key'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' config unset --local 'section.key'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' config unset --worktree 'section.key'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' config unset --worktree 'section.key'
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config unset --file='./config.txt' 'section.key'
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' config set --system --append 'section.key' 'value15'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' config set --system --append 'section.key' 'value16'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' config set --global --append 'section.key' 'value25'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' config set --global --append 'section.key' 'value26'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' config set --local --append 'section.key' 'value35'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' config set --local --append 'section.key' 'value36'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' config set --worktree --append 'section.key' 'value451'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' config set --worktree --append 'section.key' 'value461'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' config set --worktree --append 'section.key' 'value452'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' config set --worktree --append 'section.key' 'value462'
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config set --file='./config.txt' --append 'section.key' 'value35'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config set --file='./config.txt' --append 'section.key' 'value36'
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=5 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' config unset --system --all 'section.key'
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=5 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' config unset --global --all 'section.key'
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=5 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' config unset --local --all 'section.key'
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=5 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' config unset --worktree --all 'section.key'
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=5 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' config unset --worktree --all 'section.key'
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=5 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config unset --file='./config.txt' --all 'section.key'
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config set --file='./config.txt' --value='^$' 'section.key' 'value3'
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config set --file='./config.txt' --value='!' 'section.key' 'value7'
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config rename-section --file='./config.txt' 'section1' 'section4'
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config rename-section --file='./config.txt' 'section4' 'section2'
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config rename-section --file='./config.txt' 'section2' 'section5'
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config remove-section --file='./config.txt' 'section3'
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config remove-section --file='./config.txt' 'section5'
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
wreckage
jhcarl0814@jhcarl0814 UCRT64 $?=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
wreckage
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ test -t 0
wreckage
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config --file='./config.txt' --get-colorbool 'section.key1'; echo "$?"
wreckage0
wreckage
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config --file='./config.txt' --get-colorbool 'section.key2'; echo "$?"
wreckage1
wreckage
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config --file='./config.txt' --get-colorbool 'section.key3'; echo "$?"
wreckage1
wreckage
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config --file='./config.txt' --get-colorbool 'section.key4'; echo "$?"
wreckage1
wreckage
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config --file='./config.txt' --get-colorbool 'section.key5'; echo "$?"
wreckage0
wreckage
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config --file='./config.txt' --get-colorbool 'section.key6'; echo "$?"
wreckage0
wreckage
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config --file='./config.txt' --get-colorbool 'section.key7'; echo "$?"
wreckage0
wreckage
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config --file='./config.txt' --get-colorbool 'section.key1' false
false
wreckagewreckage
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config --file='./config.txt' --get-colorbool 'section.key2' false
false
wreckagewreckage
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config --file='./config.txt' --get-colorbool 'section.key3' false
false
wreckagewreckage
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config --file='./config.txt' --get-colorbool 'section.key4' false
false
wreckagewreckage
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config --file='./config.txt' --get-colorbool 'section.key5' false
false
wreckagewreckage
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config --file='./config.txt' --get-colorbool 'section.key6' false
false
wreckagewreckage
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config --file='./config.txt' --get-colorbool 'section.key7' false
true
wreckagewreckage
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config --file='./config.txt' --get-colorbool 'section.key1' true
true
wreckagewreckage
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config --file='./config.txt' --get-colorbool 'section.key2' true
false
wreckagewreckage
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config --file='./config.txt' --get-colorbool 'section.key3' true
false
wreckagewreckage
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config --file='./config.txt' --get-colorbool 'section.key4' true
false
wreckagewreckage
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config --file='./config.txt' --get-colorbool 'section.key5' true
true
wreckagewreckage
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config --file='./config.txt' --get-colorbool 'section.key6' true
true
wreckagewreckage
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config --file='./config.txt' --get-colorbool 'section.key7' true
true
wreckagewreckage
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
wreckage
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config set --file='./config.txt' 'color.ui' 'never'
wreckagewreckage
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config --file='./config.txt' --get-colorbool 'section.key'; echo "$?"
wreckage1
wreckage
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config set --file='./config.txt' 'color.ui' 'auto'
wreckagewreckage
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config --file='./config.txt' --get-colorbool 'section.key'; echo "$?"
wreckage0
wreckage
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config set --file='./config.txt' 'color.ui' 'always'
wreckagewreckage
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git config --file='./config.txt' --get-colorbool 'section.key'; echo "$?"
wreckage0
wreckage
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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/ucrt64/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> 1793175536 +1300
GIT_AUTHOR_IDENT=Han Jiang <jhcarl0814@gmail.com> 1793175536 +1300
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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/ %cd%=C:\Program Files\Git
$ git var GIT_CONFIG_SYSTEM
C:/Program Files/Git/etc/gitconfig
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/ %cd%=C:\Program Files\Git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/ %cd%=C:\Program Files\Git
$ git --version
git version 2.56.0.windows.1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/ %cd%=C:\Program Files\Git
$ git --version --build-options
git version 2.56.0.windows.1
cpu: x86_64
built from commit: 49d759b698127791a5f3f2759c69b983846711dd
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.22.0
OpenSSL: OpenSSL 3.5.8 25 Aug 2026
zlib: 1.3.2
SHA-1: SHA1_DC
SHA-256: SHA256_BLK
default-ref-format: files
default-hash: sha1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/ %cd%=C:\Program Files\Git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/ %cd%=C:\Program Files\Git
$ git --exec-path
C:/Program Files/Git/ucrt64/libexec/git-core
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/ %cd%=C:\Program Files\Git
$ ls --group-directories-first --escape --classify --quoting-style=shell-escape-always -- "$(git --exec-path)"
'mergetools'/ 'git-imap-send.exe'*
'Atlassian.Bitbucket.dll'* 'git-merge-octopus'*
'Avalonia.Base.dll'* 'git-merge-one-file'*
'Avalonia.Controls.dll'* 'git-merge-resolve'*
'Avalonia.DesignerSupport.dll'* 'git-mergetool'*
'Avalonia.Dialogs.dll'* 'git-mergetool--lib'
'Avalonia.Markup.Xaml.dll'* 'git-quiltimport'*
'Avalonia.Markup.dll'* 'git-remote-ftp.exe'*
'Avalonia.Metal.dll'* 'git-remote-ftps.exe'*
'Avalonia.MicroCom.dll'* 'git-remote-http.exe'*
'Avalonia.OpenGL.dll'* 'git-remote-https.exe'*
'Avalonia.Remote.Protocol.dll'* 'git-request-pull'*
'Avalonia.Skia.dll'* 'git-send-email'*
'Avalonia.Themes.Fluent.dll'* 'git-sh-i18n'
'Avalonia.Vulkan.dll'* 'git-sh-i18n--envsubst.exe'*
'Avalonia.Win32.dll'* 'git-sh-setup'
'Avalonia.dll'* 'git-submodule'*
'GitHub.dll'* 'git-subtree'*
'GitLab.dll'* 'git-update'*
'HarfBuzzSharp.dll'* 'git-web--browse'*
'MicroCom.Runtime.dll'* 'git.exe'*
'Microsoft.AzureRepos.dll'* 'headless-git.exe'*
'Microsoft.Bcl.AsyncInterfaces.dll'* 'libHarfBuzzSharp.dll'*
'Microsoft.Identity.Client.Broker.dll'* 'libSkiaSharp.dll'*
'Microsoft.Identity.Client.Extensions.Msal.dll'* 'libbrotlicommon.dll'*
'Microsoft.Identity.Client.NativeInterop.dll'* 'libbrotlidec.dll'*
'Microsoft.Identity.Client.dll'* 'libbrotlienc.dll'*
'Microsoft.IdentityModel.Abstractions.dll'* 'libbz2-1.dll'*
'SkiaSharp.dll'* 'libcares-2.dll'*
'System.Buffers.dll'* 'libcrypto-3-x64.dll'*
'System.CommandLine.dll'* 'libcurl-4.dll'*
'System.ComponentModel.Annotations.dll'* 'libcurl-openssl-4.dll'*
'System.Diagnostics.DiagnosticSource.dll'* 'libexpat-1.dll'*
'System.Formats.Asn1.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-7.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-9.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'* 'libunistring-5.dll'*
'git-filter-branch'* 'libwinpthread-1.dll'*
'git-gui'* 'libzstd.dll'*
'git-gui--askpass'* 'msalruntime.dll'*
'git-gui--askyesno'* 'scalar.exe'*
'git-gui.tcl'* 'tcl86.dll'*
'git-http-backend.exe'* 'tk86.dll'*
'git-http-fetch.exe'* 'zlib1.dll'*
'git-http-push.exe'*
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/ %cd%=C:\Program Files\Git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/ %cd%=C:\Program Files\Git
$ git --html-path
C:/Program Files/Git/ucrt64/share/doc/git-doc
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/ %cd%=C:\Program Files\Git
$ git --man-path
C:/Program Files/Git/ucrt64/share/man
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/ %cd%=C:\Program Files\Git
$ git --info-path
C:/Program Files/Git/ucrt64/share/info
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/ %cd%=C:\Program Files\Git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/ %cd%=C:\Program Files\Git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 DEPRECATED: 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
format-rev EXPERIMENTAL: Pretty format revisions on demand
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 metadata 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
url-parse Parse and extract git URL components
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
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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/ %cd%=C:\Program Files\Git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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/ucrt64/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
format-rev show
fsck show-branch
fsck-objects show-index
fsmonitor--daemon show-ref
gc sparse-checkout
get-tar-commit-id stage
grep stash
gui status
gui--askpass stripspace
gui--askyesno submodule
gui.tcl submodule--helper
hash-object subtree
help survey
history switch
hook symbolic-ref
http-backend tag
http-fetch unpack-file
http-push unpack-objects
imap-send update
index-pack update-index
init update-ref
init-db update-server-info
interpret-trailers upload-archive
last-modified upload-archive--writer
log upload-pack
ls-files url-parse
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
credential-helper-selector update-git-for-windows
'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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/ %cd%=C:\Program Files\Git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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
datamodel Git's core data model
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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/ %cd%=C:\Program Files\Git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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.pushRepoLooksLikeRef
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>.deleteMerged
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.configLockTimeout
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.followRemoteHEAD
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.<event>.enabled
hook.<event>.jobs
hook.<friendly-name>.command
hook.<friendly-name>.enabled
hook.<friendly-name>.event
hook.<friendly-name>.parallel
hook.jobs
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.graphIndent
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.acceptFromServerUrl
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>.advertisedAs
remote.<name>.fetch
remote.<name>.followRemoteHEAD
remote.<name>.mirror
remote.<name>.negotiationInclude
remote.<name>.negotiationRestrict
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.midxNewLayerThreshold
repack.midxSplitFactor
repack.packKeptObjects
repack.updateServerInfo
repack.useDeltaBaseOffset
repack.useDeltaIslands
repack.writeBitmaps
replay.refAction
repo.structure.*
rerere.autoUpdate
rerere.enabled
revert.reference
safe.bareRepository
safe.directory
sendemail.<identity>.<config>
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.<url>.*
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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/ %cd%=C:\Program Files\Git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/ %cd%=C:\Program Files\Git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/ %cd%=C:\Program Files\Git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master (root-commit) 91ec44f] 1
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 91ec44f 1
jhcarl0814@jhcarl0814 UCRT64 $?=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 91ec44f 1
jhcarl0814@jhcarl0814 UCRT64 $?=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 91ec44f 1
jhcarl0814@jhcarl0814 UCRT64 $?=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 91ec44f 1
jhcarl0814@jhcarl0814 UCRT64 $?=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 91ec44f 1
jhcarl0814@jhcarl0814 UCRT64 $?=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 91ec44f 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ rm --force --recursive -- './worktree2' './worktree4' './worktree6'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 91ec44f [master]\n
2 C:/Program Files/Git/test_git/worktree1 91ec44f [branch1]\n
3 C:/Program Files/Git/test_git/worktree2 91ec44f [branch2] prunable\n
4 C:/Program Files/Git/test_git/worktree3 91ec44f [branch3] locked\n
5 C:/Program Files/Git/test_git/worktree4 91ec44f [branch4] locked\n
6 C:/Program Files/Git/test_git/worktree5 91ec44f [branch5] locked\n
7 C:/Program Files/Git/test_git/worktree6 91ec44f [branch6] locked\n
8
jhcarl0814@jhcarl0814 UCRT64 $?=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 91ec44f [master]\n
2 C:/Program Files/Git/test_git/worktree1 91ec44f [branch1]\n
3 C:/Program Files/Git/test_git/worktree2 91ec44f [branch2]\n
4 \tprunable: gitdir file points to non-existent location\n
5 C:/Program Files/Git/test_git/worktree3 91ec44f [branch3]\n
6 \tlocked: added with --lock\n
7 C:/Program Files/Git/test_git/worktree4 91ec44f [branch4]\n
8 \tlocked: added with --lock\n
9 C:/Program Files/Git/test_git/worktree5 91ec44f [branch5]\n
10 \tlocked: lock reason\n
11 C:/Program Files/Git/test_git/worktree6 91ec44f [branch6]\n
12 \tlocked: lock reason\n
13
jhcarl0814@jhcarl0814 UCRT64 $?=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 91ec44f381d0974e730de0128e29647c20ec79f2\n
3 branch refs/heads/master\n
4 \n
5 worktree C:/Program Files/Git/test_git/worktree1\n
6 HEAD 91ec44f381d0974e730de0128e29647c20ec79f2\n
7 branch refs/heads/branch1\n
8 \n
9 worktree C:/Program Files/Git/test_git/worktree2\n
10 HEAD 91ec44f381d0974e730de0128e29647c20ec79f2\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 91ec44f381d0974e730de0128e29647c20ec79f2\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 91ec44f381d0974e730de0128e29647c20ec79f2\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 91ec44f381d0974e730de0128e29647c20ec79f2\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 91ec44f381d0974e730de0128e29647c20ec79f2\n
31 branch refs/heads/branch6\n
32 locked lock reason\n
33 \n
34
jhcarl0814@jhcarl0814 UCRT64 $?=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 91ec44f381d0974e730de0128e29647c20ec79f2\0branch refs/heads/master\0\0worktree C:/Program Files/Git/test_git/worktree1\0HEAD 91ec44f381d0974e730de0128e29647c20ec79f2\0branch refs/heads/branch1\0\0worktree C:/Program Files/Git/test_git/worktree2\0HEAD 91ec44f381d0974e730de0128e29647c20ec79f2\0branch refs/heads/branch2\0prunable gitdir file points to non-existent location\0\0worktree C:/Program Files/Git/test_git/worktree3\0HEAD 91ec44f381d0974e730de0128e29647c20ec79f2\0branch refs/heads/branch3\0locked added with --lock\0\0worktree C:/Program Files/Git/test_git/worktree4\0HEAD 91ec44f381d0974e730de0128e29647c20ec79f2\0branch refs/heads/branch4\0locked added with --lock\0\0worktree C:/Program Files/Git/test_git/worktree5\0HEAD 91ec44f381d0974e730de0128e29647c20ec79f2\0branch refs/heads/branch5\0locked lock reason\0\0worktree C:/Program Files/Git/test_git/worktree6\0HEAD 91ec44f381d0974e730de0128e29647c20ec79f2\0branch refs/heads/branch6\0locked lock reason\0\0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master (root-commit) de9860e] 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch branch1
jhcarl0814@jhcarl0814 UCRT64 $?=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 de9860e [master]
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* de9860e - 2026-10-28 21:20 (1 second ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/heads/branch1)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 de9860e 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master 88543a6] 2
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 88543a6 [master]
C:/Program Files/Git/test_git/worktree1 de9860e [branch1]
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 88543a6 - 2026-10-28 21:20 (1 second ago) 2 - Han Jiang (HEAD -> refs/heads/master)
* de9860e - 2026-10-28 21:20 (4 seconds ago) 1 - Han Jiang (refs/heads/branch1)
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 88543a6 [master]
C:/Program Files/Git/test_git/worktree1 de9860e [branch1]
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' lg --all
* 88543a6 - 2026-10-28 21:20 (3 seconds ago) 2 - Han Jiang (refs/heads/master)
* de9860e - 2026-10-28 21:20 (6 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/branch1)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' commit --message="$((++number))" --allow-empty
[branch1 1dc0842] 3
jhcarl0814@jhcarl0814 UCRT64 $?=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 88543a6 [master]
C:/Program Files/Git/test_git/worktree1 1dc0842 [branch1]
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 1dc0842 - 2026-10-28 21:20 (1 second ago) 3 - Han Jiang (refs/heads/branch1)
| * 88543a6 - 2026-10-28 21:20 (5 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
|/
* de9860e - 2026-10-28 21:20 (8 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 UCRT64 $?=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 88543a6 [master]
C:/Program Files/Git/test_git/worktree1 1dc0842 [branch1]
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' lg --all
* 1dc0842 - 2026-10-28 21:20 (2 seconds ago) 3 - Han Jiang (HEAD -> refs/heads/branch1)
| * 88543a6 - 2026-10-28 21:20 (6 seconds ago) 2 - Han Jiang (refs/heads/master)
|/
* de9860e - 2026-10-28 21:20 (9 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 UCRT64 $?=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
│ │ │ ├╴1d/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴c0842f778cdb08e85f57823f3725527ce69ac8 -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴4b/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴825dc642cb6eb9a060e54bf8d69288fbee4904 -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴88/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴543a6c43528f678351368aff864a2630e4686c -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴de/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴9860ea63bd24136a50fed72faec412a659b228 -/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 UCRT64 $?=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 de9860ea63bd24136a50fed72faec412a659b228 Han Jiang <jhcarl0814@gmail.com> 1793175602 +1300\n
│ │ │ 2 de9860ea63bd24136a50fed72faec412a659b228 de9860ea63bd24136a50fed72faec412a659b228 Han Jiang <jhcarl0814@gmail.com> 1793175602 +1300\treset: moving to HEAD\n
│ │ │ 3 de9860ea63bd24136a50fed72faec412a659b228 1dc0842f778cdb08e85f57823f3725527ce69ac8 Han Jiang <jhcarl0814@gmail.com> 1793175607 +1300\tcommit: 3\n
│ │ │ 4
│ ├╴ORIG_HEAD -/0o100/regular file rw-r--r--/0o644
│ │ 1 de9860ea63bd24136a50fed72faec412a659b228\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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master (root-commit) 23fa654] 1
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 23fa654 [branch1]
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 23fa654 - 2026-10-28 21:20 (2 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/branch1, refs/heads/master)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 23fa654 1
jhcarl0814@jhcarl0814 UCRT64 $?=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 23fa654 [branch1]
C:/Program Files/Git/test_git/worktree1 23fa654 [branch1]
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 23fa654 - 2026-10-28 21:20 (4 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/branch1, refs/heads/master)
jhcarl0814@jhcarl0814 UCRT64 $?=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 23fa654 [branch1]
C:/Program Files/Git/test_git/worktree1 23fa654 [branch1]
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' lg --all
* 23fa654 - 2026-10-28 21:20 (5 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/branch1, refs/heads/master)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master (root-commit) 6b5a8a5] 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch branch1
jhcarl0814@jhcarl0814 UCRT64 $?=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 6b5a8a5 [master]
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 6b5a8a5 - 2026-10-28 21:20 (1 second ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/heads/branch1)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 6b5a8a5 1
jhcarl0814@jhcarl0814 UCRT64 $?=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 6b5a8a5 [master]
C:/Program Files/Git/test_git/worktree1 6b5a8a5 [branch1]
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ rm --force --recursive -- './worktree1'
jhcarl0814@jhcarl0814 UCRT64 $?=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 6b5a8a5 [master]
C:/Program Files/Git/test_git/worktree1 6b5a8a5 [branch1]
prunable: gitdir file points to non-existent location
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 6b5a8a5 1
jhcarl0814@jhcarl0814 UCRT64 $?=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 6b5a8a5 [master]
C:/Program Files/Git/test_git/worktree1 6b5a8a5 [branch1]
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 6b5a8a5 - 2026-10-28 21:20 (5 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/heads/branch1)
jhcarl0814@jhcarl0814 UCRT64 $?=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 6b5a8a5 [master]
C:/Program Files/Git/test_git/worktree1 6b5a8a5 [branch1]
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' lg --all
* 6b5a8a5 - 2026-10-28 21:20 (6 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/branch1, refs/heads/master)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master (root-commit) a7bd55f] 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch branch1
jhcarl0814@jhcarl0814 UCRT64 $?=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 a7bd55f [master]
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* a7bd55f - 2026-10-28 21:20 (1 second ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/heads/branch1)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 a7bd55f 1
jhcarl0814@jhcarl0814 UCRT64 $?=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 a7bd55f [master]
C:/Program Files/Git/test_git/worktree1 a7bd55f [branch1]
locked: added with --lock
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ rm --force --recursive -- './worktree1'
jhcarl0814@jhcarl0814 UCRT64 $?=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 a7bd55f [master]
C:/Program Files/Git/test_git/worktree1 a7bd55f [branch1]
locked: added with --lock
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 a7bd55f 1
jhcarl0814@jhcarl0814 UCRT64 $?=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 a7bd55f [master]
C:/Program Files/Git/test_git/worktree1 a7bd55f [branch1]
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* a7bd55f - 2026-10-28 21:20 (6 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/heads/branch1)
jhcarl0814@jhcarl0814 UCRT64 $?=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 a7bd55f [master]
C:/Program Files/Git/test_git/worktree1 a7bd55f [branch1]
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' lg --all
* a7bd55f - 2026-10-28 21:20 (7 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/branch1, refs/heads/master)
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master (root-commit) 234b94b] 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch branch1
jhcarl0814@jhcarl0814 UCRT64 $?=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 234b94b [master]
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 234b94b - 2026-10-28 21:21 (1 second ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/heads/branch1)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --show-current
master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 234b94b [master]
C:/Program Files/Git/test_git/worktree1 0000000 [worktree1]
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 234b94b - 2026-10-28 21:21 (4 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/heads/branch1)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --show-current
master
jhcarl0814@jhcarl0814 UCRT64 $?=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 234b94b [master]
C:/Program Files/Git/test_git/worktree1 0000000 [worktree1]
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' lg --all
* 234b94b - 2026-10-28 21:21 (5 seconds ago) 1 - Han Jiang (refs/heads/master, refs/heads/branch1)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' branch --show-current
worktree1
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master (root-commit) 4c09499] 1
jhcarl0814@jhcarl0814 UCRT64 $?=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 4c09499 [master]
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 4c09499 - 2026-10-28 21:21 (1 second ago) 1 - Han Jiang (HEAD -> refs/heads/master)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --show-current
master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 4c09499 [master]
C:/Program Files/Git/test_git/worktree1 0000000 [branch1]
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 4c09499 - 2026-10-28 21:21 (4 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --show-current
master
jhcarl0814@jhcarl0814 UCRT64 $?=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 4c09499 [master]
C:/Program Files/Git/test_git/worktree1 0000000 [branch1]
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' lg --all
* 4c09499 - 2026-10-28 21:21 (5 seconds ago) 1 - Han Jiang (refs/heads/master)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' branch --show-current
branch1
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master (root-commit) e77ffe5] 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch branch1
jhcarl0814@jhcarl0814 UCRT64 $?=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 e77ffe5 [master]
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* e77ffe5 - 2026-10-28 21:21 (2 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/heads/branch1)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --show-current
master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 e77ffe5)
fatal: a branch named 'branch1' already exists
jhcarl0814@jhcarl0814 UCRT64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --delete branch1
Deleted branch branch1 (was e77ffe5).
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 e77ffe5 [master]
C:/Program Files/Git/test_git/worktree1 0000000 [branch1]
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* e77ffe5 - 2026-10-28 21:21 (5 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --show-current
master
jhcarl0814@jhcarl0814 UCRT64 $?=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 e77ffe5 [master]
C:/Program Files/Git/test_git/worktree1 0000000 [branch1]
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' lg --all
* e77ffe5 - 2026-10-28 21:21 (6 seconds ago) 1 - Han Jiang (refs/heads/master)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' branch --show-current
branch1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
isn't allowed
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master (root-commit) dd1b68b] 1
jhcarl0814@jhcarl0814 UCRT64 $?=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 dd1b68b [master]
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* dd1b68b - 2026-10-28 21:21 (1 second ago) 1 - Han Jiang (HEAD -> refs/heads/master)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --show-current
master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
(see below)
create new branch
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master (root-commit) 8a30345] 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch branch1
jhcarl0814@jhcarl0814 UCRT64 $?=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 8a30345 [master]
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 8a30345 - 2026-10-28 21:21 (1 second ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/heads/branch1)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 8a30345 1
jhcarl0814@jhcarl0814 UCRT64 $?=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 8a30345 [master]
C:/Program Files/Git/test_git/worktree1 8a30345 [branch2]
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 8a30345 - 2026-10-28 21:21 (4 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/heads/branch2, refs/heads/branch1)
jhcarl0814@jhcarl0814 UCRT64 $?=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 8a30345 [master]
C:/Program Files/Git/test_git/worktree1 8a30345 [branch2]
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' lg --all
* 8a30345 - 2026-10-28 21:21 (5 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/branch2, refs/heads/master, refs/heads/branch1)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
create new branch or reset existent local branch
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master (root-commit) 82a2e4e] 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch branch1
jhcarl0814@jhcarl0814 UCRT64 $?=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 82a2e4e [master]
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 82a2e4e - 2026-10-28 21:21 (2 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/heads/branch1)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 82a2e4e)
HEAD is now at 82a2e4e 1
jhcarl0814@jhcarl0814 UCRT64 $?=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 82a2e4e [master]
C:/Program Files/Git/test_git/worktree1 82a2e4e [branch1]
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 82a2e4e - 2026-10-28 21:21 (4 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/heads/branch1)
jhcarl0814@jhcarl0814 UCRT64 $?=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 82a2e4e [master]
C:/Program Files/Git/test_git/worktree1 82a2e4e [branch1]
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' lg --all
* 82a2e4e - 2026-10-28 21:21 (5 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/branch1, refs/heads/master)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
new worktree's HEAD is detached
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master (root-commit) af4b696] 1
jhcarl0814@jhcarl0814 UCRT64 $?=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 af4b696 [master]
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* af4b696 - 2026-10-28 21:22 (2 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree add --detach '../worktree1'
Preparing worktree (detached HEAD af4b696)
HEAD is now at af4b696 1
jhcarl0814@jhcarl0814 UCRT64 $?=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 af4b696 [master]
C:/Program Files/Git/test_git/worktree1 af4b696 (detached HEAD)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* af4b696 - 2026-10-28 21:22 (3 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master)
jhcarl0814@jhcarl0814 UCRT64 $?=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 af4b696 [master]
C:/Program Files/Git/test_git/worktree1 af4b696 (detached HEAD)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' lg --all
* af4b696 - 2026-10-28 21:22 (4 seconds ago) 1 - Han Jiang (HEAD, refs/heads/master)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
(see below)
behaves as if --orphan is used
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --show-current
master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --show-current
master
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' lg --all
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' branch --show-current
branch1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
behaves as if --orphan is used
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --show-current
branch1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --show-current
branch1
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' lg --all
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' branch --show-current
branch1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
error out with message saying --orphan should be used
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --show-current
master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
checkout the existent local branch
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master (root-commit) f6bcb1a] 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch branch1
jhcarl0814@jhcarl0814 UCRT64 $?=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 f6bcb1a [master]
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* f6bcb1a - 2026-10-28 21:22 (1 second ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/heads/branch1)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 f6bcb1a 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master be6f9ac] 2
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 be6f9ac [master]
C:/Program Files/Git/test_git/worktree1 f6bcb1a [branch1]
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* be6f9ac - 2026-10-28 21:22 (2 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
* f6bcb1a - 2026-10-28 21:22 (4 seconds ago) 1 - Han Jiang (refs/heads/branch1)
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 be6f9ac [master]
C:/Program Files/Git/test_git/worktree1 f6bcb1a [branch1]
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' lg --all
* be6f9ac - 2026-10-28 21:22 (3 seconds ago) 2 - Han Jiang (refs/heads/master)
* f6bcb1a - 2026-10-28 21:22 (5 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/branch1)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' commit --message="$((++number))" --allow-empty
[branch1 fcb3b30] 3
jhcarl0814@jhcarl0814 UCRT64 $?=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 be6f9ac [master]
C:/Program Files/Git/test_git/worktree1 fcb3b30 [branch1]
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* fcb3b30 - 2026-10-28 21:22 (1 second ago) 3 - Han Jiang (refs/heads/branch1)
| * be6f9ac - 2026-10-28 21:22 (5 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
|/
* f6bcb1a - 2026-10-28 21:22 (7 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 UCRT64 $?=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 be6f9ac [master]
C:/Program Files/Git/test_git/worktree1 fcb3b30 [branch1]
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' lg --all
* fcb3b30 - 2026-10-28 21:22 (2 seconds ago) 3 - Han Jiang (HEAD -> refs/heads/branch1)
| * be6f9ac - 2026-10-28 21:22 (6 seconds ago) 2 - Han Jiang (refs/heads/master)
|/
* f6bcb1a - 2026-10-28 21:22 (8 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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) 65665d4] 1
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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) 9bcf35f] 2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server2/repo.git' branch branch2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
jhcarl0814@jhcarl0814 UCRT64 $?=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 | 15.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 | 23.00 KiB/s, done.
From file:///test_git/server2/repo
* [new branch] branch2 -> server2/branch2
* [new branch] master -> server2/master
jhcarl0814@jhcarl0814 UCRT64 $?=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 65665d4 1
remotes/server1/branch3 65665d4 1
remotes/server1/master 65665d4 1
remotes/server2/HEAD -> server2/master
remotes/server2/branch2 9bcf35f 2
remotes/server2/master 9bcf35f 2
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all
* 9bcf35f - 2026-10-28 21:22 (5 seconds ago) 2 - Han Jiang (refs/remotes/server2/master, refs/remotes/server2/branch2, refs/remotes/server2/HEAD)
* 65665d4 - 2026-10-28 21:22 (7 seconds ago) 1 - Han Jiang (refs/remotes/server1/master, refs/remotes/server1/branch3, refs/remotes/server1/branch2, refs/remotes/server1/HEAD)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' worktree add '../worktree2' branch2
hint: Branch name 'branch2' appears in multiple remotes:
hint: server1
hint: server2
hint: If you meant to create a worktree from a remote tracking branch on
hint: <remote>, you can do so by:
hint:
hint: git worktree add -b branch2 ../worktree2 <remote>/branch2
hint:
hint: If you'd like to always prefer some remote, e.g. 'origin',
hint: consider setting checkout.defaultRemote=origin in your config.
fatal: 'branch2' matched multiple (2) remote tracking branches
jhcarl0814@jhcarl0814 UCRT64 $?=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 65665d4 1
jhcarl0814@jhcarl0814 UCRT64 $?=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 65665d4 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
+ branch2 65665d4 (C:/Program Files/Git/test_git/client/worktree2) [server1/branch2] 1
+ branch3 65665d4 (C:/Program Files/Git/test_git/client/worktree3) [server1/branch3] 1
remotes/server1/HEAD -> server1/master
remotes/server1/branch2 65665d4 1
remotes/server1/branch3 65665d4 1
remotes/server1/master 65665d4 1
remotes/server2/HEAD -> server2/master
remotes/server2/branch2 9bcf35f 2
remotes/server2/master 9bcf35f 2
jhcarl0814@jhcarl0814 UCRT64 $?=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 65665d4 [branch2]
C:/Program Files/Git/test_git/client/worktree3 65665d4 [branch3]
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all
* 9bcf35f - 2026-10-28 21:22 (8 seconds ago) 2 - Han Jiang (refs/remotes/server2/master, refs/remotes/server2/branch2, refs/remotes/server2/HEAD)
* 65665d4 - 2026-10-28 21:22 (10 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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/worktree2' branch --list --all --verbose --verbose
* branch2 65665d4 [server1/branch2] 1
+ branch3 65665d4 (C:/Program Files/Git/test_git/client/worktree3) [server1/branch3] 1
remotes/server1/HEAD -> server1/master
remotes/server1/branch2 65665d4 1
remotes/server1/branch3 65665d4 1
remotes/server1/master 65665d4 1
remotes/server2/HEAD -> server2/master
remotes/server2/branch2 9bcf35f 2
remotes/server2/master 9bcf35f 2
jhcarl0814@jhcarl0814 UCRT64 $?=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 65665d4 [branch2]
C:/Program Files/Git/test_git/client/worktree3 65665d4 [branch3]
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/worktree2' lg --all
* 9bcf35f - 2026-10-28 21:22 (10 seconds ago) 2 - Han Jiang (refs/remotes/server2/master, refs/remotes/server2/branch2, refs/remotes/server2/HEAD)
* 65665d4 - 2026-10-28 21:22 (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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/worktree3' branch --list --all --verbose --verbose
+ branch2 65665d4 (C:/Program Files/Git/test_git/client/worktree2) [server1/branch2] 1
* branch3 65665d4 [server1/branch3] 1
remotes/server1/HEAD -> server1/master
remotes/server1/branch2 65665d4 1
remotes/server1/branch3 65665d4 1
remotes/server1/master 65665d4 1
remotes/server2/HEAD -> server2/master
remotes/server2/branch2 9bcf35f 2
remotes/server2/master 9bcf35f 2
jhcarl0814@jhcarl0814 UCRT64 $?=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 65665d4 [branch2]
C:/Program Files/Git/test_git/client/worktree3 65665d4 [branch3]
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/worktree3' lg --all
* 9bcf35f - 2026-10-28 21:22 (11 seconds ago) 2 - Han Jiang (refs/remotes/server2/master, refs/remotes/server2/branch2, refs/remotes/server2/HEAD)
* 65665d4 - 2026-10-28 21:22 (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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
checkout the existent local branch
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master (root-commit) cb6c043] 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch branch1
jhcarl0814@jhcarl0814 UCRT64 $?=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 cb6c043 [master]
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* cb6c043 - 2026-10-28 21:23 (2 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/heads/branch1)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 cb6c043 1
jhcarl0814@jhcarl0814 UCRT64 $?=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 cb6c043 [master]
C:/Program Files/Git/test_git/branch1 cb6c043 [branch1]
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* cb6c043 - 2026-10-28 21:23 (4 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/heads/branch1)
jhcarl0814@jhcarl0814 UCRT64 $?=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 cb6c043 [master]
C:/Program Files/Git/test_git/branch1 cb6c043 [branch1]
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './branch1' lg --all
* cb6c043 - 2026-10-28 21:23 (5 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/branch1, refs/heads/master)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
(see below)
create new branch
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master (root-commit) 1fd3e2a] 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch branch1
jhcarl0814@jhcarl0814 UCRT64 $?=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 1fd3e2a [master]
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 1fd3e2a - 2026-10-28 21:23 (2 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/heads/branch1)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 1fd3e2a 1
jhcarl0814@jhcarl0814 UCRT64 $?=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 1fd3e2a [master]
C:/Program Files/Git/test_git/worktree1 1fd3e2a [worktree1]
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 1fd3e2a - 2026-10-28 21:23 (4 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/heads/worktree1, refs/heads/branch1)
jhcarl0814@jhcarl0814 UCRT64 $?=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 1fd3e2a [master]
C:/Program Files/Git/test_git/worktree1 1fd3e2a [worktree1]
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' lg --all
* 1fd3e2a - 2026-10-28 21:23 (5 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/worktree1, refs/heads/master, refs/heads/branch1)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
behaves as if --orphan is used
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --show-current
master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --show-current
master
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' lg --all
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' branch --show-current
worktree1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
needs --force, behaves as if --orphan is used
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --show-current
master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --show-current
master
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/worktree' lg --all
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/worktree' branch --show-current
worktree
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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) 4a9d138] 1
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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) fb534e0] 2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server2/repo.git' branch branch2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
jhcarl0814@jhcarl0814 UCRT64 $?=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 | 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), 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 UCRT64 $?=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 4a9d138 1
remotes/server1/branch3 4a9d138 1
remotes/server1/master 4a9d138 1
remotes/server2/HEAD -> server2/master
remotes/server2/branch2 fb534e0 2
remotes/server2/master fb534e0 2
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all
* fb534e0 - 2026-10-28 21:23 (5 seconds ago) 2 - Han Jiang (refs/remotes/server2/master, refs/remotes/server2/branch2, refs/remotes/server2/HEAD)
* 4a9d138 - 2026-10-28 21:23 (7 seconds ago) 1 - Han Jiang (refs/remotes/server1/master, refs/remotes/server1/branch3, refs/remotes/server1/branch2, refs/remotes/server1/HEAD)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' worktree add --guess-remote '../branch2'
hint: Branch name 'branch2' appears in multiple remotes:
hint: server1
hint: server2
hint: If you meant to create a worktree from a remote tracking branch on
hint: <remote>, you can do so by:
hint:
hint: git worktree add -b branch2 ../branch2 <remote>/branch2
hint:
hint: If you'd like to always prefer some remote, e.g. 'origin',
hint: consider setting checkout.defaultRemote=origin in your config.
fatal: 'branch2' matched multiple (2) remote tracking branches
jhcarl0814@jhcarl0814 UCRT64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' worktree add --guess-remote --force '../branch2'
hint: Branch name 'branch2' appears in multiple remotes:
hint: server1
hint: server2
hint: If you meant to create a worktree from a remote tracking branch on
hint: <remote>, you can do so by:
hint:
hint: git worktree add -b branch2 ../branch2 <remote>/branch2
hint:
hint: If you'd like to always prefer some remote, e.g. 'origin',
hint: consider setting checkout.defaultRemote=origin in your config.
fatal: 'branch2' matched multiple (2) remote tracking branches
jhcarl0814@jhcarl0814 UCRT64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' worktree add --guess-remote --force --force '../branch2'
hint: Branch name 'branch2' appears in multiple remotes:
hint: server1
hint: server2
hint: If you meant to create a worktree from a remote tracking branch on
hint: <remote>, you can do so by:
hint:
hint: git worktree add -b branch2 ../branch2 <remote>/branch2
hint:
hint: If you'd like to always prefer some remote, e.g. 'origin',
hint: consider setting checkout.defaultRemote=origin in your config.
fatal: 'branch2' matched multiple (2) remote tracking branches
jhcarl0814@jhcarl0814 UCRT64 $?=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 4a9d138 1
jhcarl0814@jhcarl0814 UCRT64 $?=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 4a9d138 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
+ branch2 4a9d138 (C:/Program Files/Git/test_git/client/branch2) [server1/branch2] 1
+ branch3 4a9d138 (C:/Program Files/Git/test_git/client/branch3) [server1/branch3] 1
remotes/server1/HEAD -> server1/master
remotes/server1/branch2 4a9d138 1
remotes/server1/branch3 4a9d138 1
remotes/server1/master 4a9d138 1
remotes/server2/HEAD -> server2/master
remotes/server2/branch2 fb534e0 2
remotes/server2/master fb534e0 2
jhcarl0814@jhcarl0814 UCRT64 $?=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 4a9d138 [branch2]
C:/Program Files/Git/test_git/client/branch3 4a9d138 [branch3]
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all
* fb534e0 - 2026-10-28 21:23 (11 seconds ago) 2 - Han Jiang (refs/remotes/server2/master, refs/remotes/server2/branch2, refs/remotes/server2/HEAD)
* 4a9d138 - 2026-10-28 21:23 (13 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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/branch2' branch --list --all --verbose --verbose
* branch2 4a9d138 [server1/branch2] 1
+ branch3 4a9d138 (C:/Program Files/Git/test_git/client/branch3) [server1/branch3] 1
remotes/server1/HEAD -> server1/master
remotes/server1/branch2 4a9d138 1
remotes/server1/branch3 4a9d138 1
remotes/server1/master 4a9d138 1
remotes/server2/HEAD -> server2/master
remotes/server2/branch2 fb534e0 2
remotes/server2/master fb534e0 2
jhcarl0814@jhcarl0814 UCRT64 $?=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 4a9d138 [branch2]
C:/Program Files/Git/test_git/client/branch3 4a9d138 [branch3]
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/branch2' lg --all
* fb534e0 - 2026-10-28 21:23 (13 seconds ago) 2 - Han Jiang (refs/remotes/server2/master, refs/remotes/server2/branch2, refs/remotes/server2/HEAD)
* 4a9d138 - 2026-10-28 21:23 (15 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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/branch3' branch --list --all --verbose --verbose
+ branch2 4a9d138 (C:/Program Files/Git/test_git/client/branch2) [server1/branch2] 1
* branch3 4a9d138 [server1/branch3] 1
remotes/server1/HEAD -> server1/master
remotes/server1/branch2 4a9d138 1
remotes/server1/branch3 4a9d138 1
remotes/server1/master 4a9d138 1
remotes/server2/HEAD -> server2/master
remotes/server2/branch2 fb534e0 2
remotes/server2/master fb534e0 2
jhcarl0814@jhcarl0814 UCRT64 $?=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 4a9d138 [branch2]
C:/Program Files/Git/test_git/client/branch3 4a9d138 [branch3]
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/branch3' lg --all
* fb534e0 - 2026-10-28 21:23 (15 seconds ago) 2 - Han Jiang (refs/remotes/server2/master, refs/remotes/server2/branch2, refs/remotes/server2/HEAD)
* 4a9d138 - 2026-10-28 21:23 (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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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) 72ec70a] 1
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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) 2a8cc72] 2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server2/repo.git' branch branch2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
jhcarl0814@jhcarl0814 UCRT64 $?=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 | 23.00 KiB/s, done.
From file:///test_git/server2/repo
* [new branch] branch2 -> server2/branch2
* [new branch] master -> server2/master
jhcarl0814@jhcarl0814 UCRT64 $?=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 72ec70a 1
remotes/server1/branch3 72ec70a 1
remotes/server1/master 72ec70a 1
remotes/server2/HEAD -> server2/master
remotes/server2/branch2 2a8cc72 2
remotes/server2/master 2a8cc72 2
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all
* 2a8cc72 - 2026-10-28 21:24 (6 seconds ago) 2 - Han Jiang (refs/remotes/server2/master, refs/remotes/server2/branch2, refs/remotes/server2/HEAD)
* 72ec70a - 2026-10-28 21:24 (8 seconds ago) 1 - Han Jiang (refs/remotes/server1/master, refs/remotes/server1/branch3, refs/remotes/server1/branch2, refs/remotes/server1/HEAD)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --show-current
master
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --show-current
branch0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' symbolic-ref HEAD
refs/heads/branch0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' commit --message="$((++number))" --allow-empty
[branch0 (root-commit) 1aa5c9b] 3
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' symbolic-ref HEAD "$HEAD_old"
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --show-current
master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' symbolic-ref HEAD
refs/heads/master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' worktree add --guess-remote '../branch2'
hint: Branch name 'branch2' appears in multiple remotes:
hint: server1
hint: server2
hint: If you meant to create a worktree from a remote tracking branch on
hint: <remote>, you can do so by:
hint:
hint: git worktree add -b branch2 ../branch2 <remote>/branch2
hint:
hint: If you'd like to always prefer some remote, e.g. 'origin',
hint: consider setting checkout.defaultRemote=origin in your config.
fatal: 'branch2' matched multiple (2) remote tracking branches
jhcarl0814@jhcarl0814 UCRT64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' worktree add --guess-remote --force '../branch2'
hint: Branch name 'branch2' appears in multiple remotes:
hint: server1
hint: server2
hint: If you meant to create a worktree from a remote tracking branch on
hint: <remote>, you can do so by:
hint:
hint: git worktree add -b branch2 ../branch2 <remote>/branch2
hint:
hint: If you'd like to always prefer some remote, e.g. 'origin',
hint: consider setting checkout.defaultRemote=origin in your config.
fatal: 'branch2' matched multiple (2) remote tracking branches
jhcarl0814@jhcarl0814 UCRT64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' worktree add --guess-remote --force --force '../branch2'
hint: Branch name 'branch2' appears in multiple remotes:
hint: server1
hint: server2
hint: If you meant to create a worktree from a remote tracking branch on
hint: <remote>, you can do so by:
hint:
hint: git worktree add -b branch2 ../branch2 <remote>/branch2
hint:
hint: If you'd like to always prefer some remote, e.g. 'origin',
hint: consider setting checkout.defaultRemote=origin in your config.
fatal: 'branch2' matched multiple (2) remote tracking branches
jhcarl0814@jhcarl0814 UCRT64 $?=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 72ec70a 1
jhcarl0814@jhcarl0814 UCRT64 $?=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 72ec70a 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
branch0 1aa5c9b 3
+ branch2 72ec70a (C:/Program Files/Git/test_git/client/branch2) [server1/branch2] 1
+ branch3 72ec70a (C:/Program Files/Git/test_git/client/branch3) [server1/branch3] 1
remotes/server1/HEAD -> server1/master
remotes/server1/branch2 72ec70a 1
remotes/server1/branch3 72ec70a 1
remotes/server1/master 72ec70a 1
remotes/server2/HEAD -> server2/master
remotes/server2/branch2 2a8cc72 2
remotes/server2/master 2a8cc72 2
jhcarl0814@jhcarl0814 UCRT64 $?=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 72ec70a [branch2]
C:/Program Files/Git/test_git/client/branch3 72ec70a [branch3]
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all
* 1aa5c9b - 2026-10-28 21:24 (7 seconds ago) 3 - Han Jiang (refs/heads/branch0)
* 2a8cc72 - 2026-10-28 21:24 (16 seconds ago) 2 - Han Jiang (refs/remotes/server2/master, refs/remotes/server2/branch2, refs/remotes/server2/HEAD)
* 72ec70a - 2026-10-28 21:24 (18 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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/branch2' branch --list --all --verbose --verbose
branch0 1aa5c9b 3
* branch2 72ec70a [server1/branch2] 1
+ branch3 72ec70a (C:/Program Files/Git/test_git/client/branch3) [server1/branch3] 1
remotes/server1/HEAD -> server1/master
remotes/server1/branch2 72ec70a 1
remotes/server1/branch3 72ec70a 1
remotes/server1/master 72ec70a 1
remotes/server2/HEAD -> server2/master
remotes/server2/branch2 2a8cc72 2
remotes/server2/master 2a8cc72 2
jhcarl0814@jhcarl0814 UCRT64 $?=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 72ec70a [branch2]
C:/Program Files/Git/test_git/client/branch3 72ec70a [branch3]
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/branch2' lg --all
* 1aa5c9b - 2026-10-28 21:24 (8 seconds ago) 3 - Han Jiang (refs/heads/branch0)
* 2a8cc72 - 2026-10-28 21:24 (17 seconds ago) 2 - Han Jiang (refs/remotes/server2/master, refs/remotes/server2/branch2, refs/remotes/server2/HEAD)
* 72ec70a - 2026-10-28 21:24 (19 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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/branch3' branch --list --all --verbose --verbose
branch0 1aa5c9b 3
+ branch2 72ec70a (C:/Program Files/Git/test_git/client/branch2) [server1/branch2] 1
* branch3 72ec70a [server1/branch3] 1
remotes/server1/HEAD -> server1/master
remotes/server1/branch2 72ec70a 1
remotes/server1/branch3 72ec70a 1
remotes/server1/master 72ec70a 1
remotes/server2/HEAD -> server2/master
remotes/server2/branch2 2a8cc72 2
remotes/server2/master 2a8cc72 2
jhcarl0814@jhcarl0814 UCRT64 $?=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 72ec70a [branch2]
C:/Program Files/Git/test_git/client/branch3 72ec70a [branch3]
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/branch3' lg --all
* 1aa5c9b - 2026-10-28 21:24 (9 seconds ago) 3 - Han Jiang (refs/heads/branch0)
* 2a8cc72 - 2026-10-28 21:24 (18 seconds ago) 2 - Han Jiang (refs/remotes/server2/master, refs/remotes/server2/branch2, refs/remotes/server2/HEAD)
* 72ec70a - 2026-10-28 21:24 (20 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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
error out saying "use --orphan"
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --show-current
master
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --show-current
branch1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' symbolic-ref HEAD
refs/heads/branch1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' commit --message="$((++number))" --allow-empty
[branch1 (root-commit) e6515a7] 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' symbolic-ref HEAD "$HEAD_old"
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --show-current
master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' symbolic-ref HEAD
refs/heads/master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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) bc0ec3a] 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' branch branch1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' commit --message="$((++number))" --allow-empty
[master (root-commit) 63b465b] 2
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
* master 63b465b 2
jhcarl0814@jhcarl0814 UCRT64 $?=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), 139 bytes | 27.00 KiB/s, done.
From file:///test_git/server/repo
* [new branch] branch1 -> server/branch1
* [new branch] master -> server/master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
* master 63b465b 2
remotes/server/HEAD -> server/master
remotes/server/branch1 bc0ec3a 1
remotes/server/master bc0ec3a 1
jhcarl0814@jhcarl0814 UCRT64 $?=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 63b465b [master]
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all
* 63b465b - 2026-10-28 21:24 (3 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
* bc0ec3a - 2026-10-28 21:24 (5 seconds ago) 1 - Han Jiang (refs/remotes/server/master, refs/remotes/server/branch1, refs/remotes/server/HEAD)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 bc0ec3a 1
jhcarl0814@jhcarl0814 UCRT64 $?=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 bc0ec3a 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
+ branch11 bc0ec3a (C:/Program Files/Git/test_git/client/worktree11) [server/branch1] 1
+ branch12 bc0ec3a (C:/Program Files/Git/test_git/client/worktree12) 1
* master 63b465b 2
remotes/server/HEAD -> server/master
remotes/server/branch1 bc0ec3a 1
remotes/server/master bc0ec3a 1
jhcarl0814@jhcarl0814 UCRT64 $?=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 63b465b [master]
C:/Program Files/Git/test_git/client/worktree11 bc0ec3a [branch11]
C:/Program Files/Git/test_git/client/worktree12 bc0ec3a [branch12]
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all
* 63b465b - 2026-10-28 21:24 (6 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
* bc0ec3a - 2026-10-28 21:24 (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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/worktree11' branch --list --all --verbose --verbose
* branch11 bc0ec3a [server/branch1] 1
+ branch12 bc0ec3a (C:/Program Files/Git/test_git/client/worktree12) 1
+ master 63b465b (C:/Program Files/Git/test_git/client/repo) 2
remotes/server/HEAD -> server/master
remotes/server/branch1 bc0ec3a 1
remotes/server/master bc0ec3a 1
jhcarl0814@jhcarl0814 UCRT64 $?=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 63b465b [master]
C:/Program Files/Git/test_git/client/worktree11 bc0ec3a [branch11]
C:/Program Files/Git/test_git/client/worktree12 bc0ec3a [branch12]
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/worktree11' lg --all
* 63b465b - 2026-10-28 21:24 (7 seconds ago) 2 - Han Jiang (refs/heads/master)
* bc0ec3a - 2026-10-28 21:24 (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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/worktree12' branch --list --all --verbose --verbose
+ branch11 bc0ec3a (C:/Program Files/Git/test_git/client/worktree11) [server/branch1] 1
* branch12 bc0ec3a 1
+ master 63b465b (C:/Program Files/Git/test_git/client/repo) 2
remotes/server/HEAD -> server/master
remotes/server/branch1 bc0ec3a 1
remotes/server/master bc0ec3a 1
jhcarl0814@jhcarl0814 UCRT64 $?=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 63b465b [master]
C:/Program Files/Git/test_git/client/worktree11 bc0ec3a [branch11]
C:/Program Files/Git/test_git/client/worktree12 bc0ec3a [branch12]
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/worktree12' lg --all
* 63b465b - 2026-10-28 21:24 (9 seconds ago) 2 - Han Jiang (refs/heads/master)
* bc0ec3a - 2026-10-28 21:24 (11 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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
-B
create new branch or reset existent local branch
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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) e5ad5f9] 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' branch branch1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' commit --message="$((++number))" --allow-empty
[master (root-commit) 677fad7] 2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch branch11
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch branch12
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
branch11 677fad7 2
branch12 677fad7 2
* master 677fad7 2
jhcarl0814@jhcarl0814 UCRT64 $?=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), 139 bytes | 34.00 KiB/s, done.
From file:///test_git/server/repo
* [new branch] branch1 -> server/branch1
* [new branch] master -> server/master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
branch11 677fad7 2
branch12 677fad7 2
* master 677fad7 2
remotes/server/HEAD -> server/master
remotes/server/branch1 e5ad5f9 1
remotes/server/master e5ad5f9 1
jhcarl0814@jhcarl0814 UCRT64 $?=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 677fad7 [master]
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all
* 677fad7 - 2026-10-28 21:25 (4 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master, refs/heads/branch12, refs/heads/branch11)
* e5ad5f9 - 2026-10-28 21:25 (5 seconds ago) 1 - Han Jiang (refs/remotes/server/master, refs/remotes/server/branch1, refs/remotes/server/HEAD)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 677fad7)
branch 'branch11' set up to track 'server/branch1'.
HEAD is now at e5ad5f9 1
jhcarl0814@jhcarl0814 UCRT64 $?=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 677fad7)
HEAD is now at e5ad5f9 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
+ branch11 e5ad5f9 (C:/Program Files/Git/test_git/client/worktree11) [server/branch1] 1
+ branch12 e5ad5f9 (C:/Program Files/Git/test_git/client/worktree12) 1
* master 677fad7 2
remotes/server/HEAD -> server/master
remotes/server/branch1 e5ad5f9 1
remotes/server/master e5ad5f9 1
jhcarl0814@jhcarl0814 UCRT64 $?=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 677fad7 [master]
C:/Program Files/Git/test_git/client/worktree11 e5ad5f9 [branch11]
C:/Program Files/Git/test_git/client/worktree12 e5ad5f9 [branch12]
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all
* 677fad7 - 2026-10-28 21:25 (7 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
* e5ad5f9 - 2026-10-28 21:25 (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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/worktree11' branch --list --all --verbose --verbose
* branch11 e5ad5f9 [server/branch1] 1
+ branch12 e5ad5f9 (C:/Program Files/Git/test_git/client/worktree12) 1
+ master 677fad7 (C:/Program Files/Git/test_git/client/repo) 2
remotes/server/HEAD -> server/master
remotes/server/branch1 e5ad5f9 1
remotes/server/master e5ad5f9 1
jhcarl0814@jhcarl0814 UCRT64 $?=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 677fad7 [master]
C:/Program Files/Git/test_git/client/worktree11 e5ad5f9 [branch11]
C:/Program Files/Git/test_git/client/worktree12 e5ad5f9 [branch12]
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/worktree11' lg --all
* 677fad7 - 2026-10-28 21:25 (9 seconds ago) 2 - Han Jiang (refs/heads/master)
* e5ad5f9 - 2026-10-28 21:25 (10 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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/worktree12' branch --list --all --verbose --verbose
+ branch11 e5ad5f9 (C:/Program Files/Git/test_git/client/worktree11) [server/branch1] 1
* branch12 e5ad5f9 1
+ master 677fad7 (C:/Program Files/Git/test_git/client/repo) 2
remotes/server/HEAD -> server/master
remotes/server/branch1 e5ad5f9 1
remotes/server/master e5ad5f9 1
jhcarl0814@jhcarl0814 UCRT64 $?=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 677fad7 [master]
C:/Program Files/Git/test_git/client/worktree11 e5ad5f9 [branch11]
C:/Program Files/Git/test_git/client/worktree12 e5ad5f9 [branch12]
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/worktree12' lg --all
* 677fad7 - 2026-10-28 21:25 (10 seconds ago) 2 - Han Jiang (refs/heads/master)
* e5ad5f9 - 2026-10-28 21:25 (11 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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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) fc34f64] 1
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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) d617c56] 2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server2/repo.git' branch branch2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
jhcarl0814@jhcarl0814 UCRT64 $?=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 | 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), 139 bytes | 27.00 KiB/s, done.
From file:///test_git/server2/repo
* [new branch] branch2 -> server2/branch2
* [new branch] master -> server2/master
jhcarl0814@jhcarl0814 UCRT64 $?=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 fc34f64 1
remotes/server1/branch3 fc34f64 1
remotes/server1/master fc34f64 1
remotes/server2/HEAD -> server2/master
remotes/server2/branch2 d617c56 2
remotes/server2/master d617c56 2
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all
* d617c56 - 2026-10-28 21:25 (5 seconds ago) 2 - Han Jiang (refs/remotes/server2/master, refs/remotes/server2/branch2, refs/remotes/server2/HEAD)
* fc34f64 - 2026-10-28 21:25 (7 seconds ago) 1 - Han Jiang (refs/remotes/server1/master, refs/remotes/server1/branch3, refs/remotes/server1/branch2, refs/remotes/server1/HEAD)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' worktree add --no-track '../worktree2' branch2
hint: Branch name 'branch2' appears in multiple remotes:
hint: server1
hint: server2
hint: If you meant to create a worktree from a remote tracking branch on
hint: <remote>, you can do so by:
hint:
hint: git worktree add -b branch2 ../worktree2 <remote>/branch2
hint:
hint: If you'd like to always prefer some remote, e.g. 'origin',
hint: consider setting checkout.defaultRemote=origin in your config.
fatal: 'branch2' matched multiple (2) remote tracking branches
jhcarl0814@jhcarl0814 UCRT64 $?=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 fc34f64 1
jhcarl0814@jhcarl0814 UCRT64 $?=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 fc34f64 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
+ branch2 fc34f64 (C:/Program Files/Git/test_git/client/worktree2) 1
+ branch3 fc34f64 (C:/Program Files/Git/test_git/client/worktree3) 1
remotes/server1/HEAD -> server1/master
remotes/server1/branch2 fc34f64 1
remotes/server1/branch3 fc34f64 1
remotes/server1/master fc34f64 1
remotes/server2/HEAD -> server2/master
remotes/server2/branch2 d617c56 2
remotes/server2/master d617c56 2
jhcarl0814@jhcarl0814 UCRT64 $?=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 fc34f64 [branch2]
C:/Program Files/Git/test_git/client/worktree3 fc34f64 [branch3]
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all
* d617c56 - 2026-10-28 21:25 (9 seconds ago) 2 - Han Jiang (refs/remotes/server2/master, refs/remotes/server2/branch2, refs/remotes/server2/HEAD)
* fc34f64 - 2026-10-28 21:25 (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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/worktree2' branch --list --all --verbose --verbose
* branch2 fc34f64 1
+ branch3 fc34f64 (C:/Program Files/Git/test_git/client/worktree3) 1
remotes/server1/HEAD -> server1/master
remotes/server1/branch2 fc34f64 1
remotes/server1/branch3 fc34f64 1
remotes/server1/master fc34f64 1
remotes/server2/HEAD -> server2/master
remotes/server2/branch2 d617c56 2
remotes/server2/master d617c56 2
jhcarl0814@jhcarl0814 UCRT64 $?=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 fc34f64 [branch2]
C:/Program Files/Git/test_git/client/worktree3 fc34f64 [branch3]
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/worktree2' lg --all
* d617c56 - 2026-10-28 21:25 (10 seconds ago) 2 - Han Jiang (refs/remotes/server2/master, refs/remotes/server2/branch2, refs/remotes/server2/HEAD)
* fc34f64 - 2026-10-28 21:25 (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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/worktree3' branch --list --all --verbose --verbose
+ branch2 fc34f64 (C:/Program Files/Git/test_git/client/worktree2) 1
* branch3 fc34f64 1
remotes/server1/HEAD -> server1/master
remotes/server1/branch2 fc34f64 1
remotes/server1/branch3 fc34f64 1
remotes/server1/master fc34f64 1
remotes/server2/HEAD -> server2/master
remotes/server2/branch2 d617c56 2
remotes/server2/master d617c56 2
jhcarl0814@jhcarl0814 UCRT64 $?=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 fc34f64 [branch2]
C:/Program Files/Git/test_git/client/worktree3 fc34f64 [branch3]
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/worktree3' lg --all
* d617c56 - 2026-10-28 21:25 (12 seconds ago) 2 - Han Jiang (refs/remotes/server2/master, refs/remotes/server2/branch2, refs/remotes/server2/HEAD)
* fc34f64 - 2026-10-28 21:25 (14 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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master (root-commit) 5077d27] 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch branch1
jhcarl0814@jhcarl0814 UCRT64 $?=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 5077d27 [master]
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 5077d27 - 2026-10-28 21:25 (1 second ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/heads/branch1)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 5077d27 1
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 5077d27 [master]
C:/Program Files/Git/test_git/worktree1 5077d27 [branch1]
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 5077d27 - 2026-10-28 21:25 (3 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/heads/branch1)
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 5077d27 [master]
C:/Program Files/Git/test_git/worktree1 5077d27 [branch1]
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' lg --all
* 5077d27 - 2026-10-28 21:25 (5 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/branch1, refs/heads/master)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree move '../worktree1' '../worktree2'
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 5077d27 [master]
C:/Program Files/Git/test_git/worktree2 5077d27 [branch1]
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 5077d27 - 2026-10-28 21:25 (7 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/heads/branch1)
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 5077d27 [master]
C:/Program Files/Git/test_git/worktree2 5077d27 [branch1]
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree2' lg --all
* 5077d27 - 2026-10-28 21:25 (9 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/branch1, refs/heads/master)
jhcarl0814@jhcarl0814 UCRT64 $?=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
│ │ │ ├╴50/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴77d27f241d2686807da55dcd7623fc9e641313 -/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 UCRT64 $?=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 5077d27f241d2686807da55dcd7623fc9e641313 Han Jiang <jhcarl0814@gmail.com> 1793175946 +1300\n
│ │ │ 2 5077d27f241d2686807da55dcd7623fc9e641313 5077d27f241d2686807da55dcd7623fc9e641313 Han Jiang <jhcarl0814@gmail.com> 1793175946 +1300\treset: moving to HEAD\n
│ │ │ 3
│ ├╴ORIG_HEAD -/0o100/regular file rw-r--r--/0o644
│ │ 1 5077d27f241d2686807da55dcd7623fc9e641313\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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master (root-commit) 382426f] 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch branch1
jhcarl0814@jhcarl0814 UCRT64 $?=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 382426f [master]
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 382426f - 2026-10-28 21:26 (1 second ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/heads/branch1)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 382426f 1
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 382426f [master]
C:/Program Files/Git/test_git/worktree1 382426f [branch1]
locked: added with --lock
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 382426f - 2026-10-28 21:26 (3 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/heads/branch1)
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 382426f [master]
C:/Program Files/Git/test_git/worktree1 382426f [branch1]
locked: added with --lock
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' lg --all
* 382426f - 2026-10-28 21:26 (5 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/branch1, refs/heads/master)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree move --force --force '../worktree1' '../worktree2'
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 382426f [master]
C:/Program Files/Git/test_git/worktree2 382426f [branch1]
locked: added with --lock
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 382426f - 2026-10-28 21:26 (8 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/heads/branch1)
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 382426f [master]
C:/Program Files/Git/test_git/worktree2 382426f [branch1]
locked: added with --lock
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree2' lg --all
* 382426f - 2026-10-28 21:26 (10 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/branch1, refs/heads/master)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master (root-commit) ba65a02] 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch branch1; git -C './repo' branch branch2
jhcarl0814@jhcarl0814 UCRT64 $?=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 ba65a02 [master]
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* ba65a02 - 2026-10-28 21:26 (1 second ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/heads/branch2, refs/heads/branch1)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 ba65a02 1
jhcarl0814@jhcarl0814 UCRT64 $?=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 ba65a02 1
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 ba65a02 [master]
C:/Program Files/Git/test_git/worktree1 ba65a02 [branch1]
C:/Program Files/Git/test_git/worktree2 ba65a02 [branch2]
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* ba65a02 - 2026-10-28 21:26 (4 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/heads/branch2, refs/heads/branch1)
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 ba65a02 [master]
C:/Program Files/Git/test_git/worktree1 ba65a02 [branch1]
C:/Program Files/Git/test_git/worktree2 ba65a02 [branch2]
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' lg --all
* ba65a02 - 2026-10-28 21:26 (5 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/branch1, refs/heads/master, refs/heads/branch2)
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 ba65a02 [master]
C:/Program Files/Git/test_git/worktree1 ba65a02 [branch1]
C:/Program Files/Git/test_git/worktree2 ba65a02 [branch2]
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree2' lg --all
* ba65a02 - 2026-10-28 21:26 (7 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/branch2, refs/heads/master, refs/heads/branch1)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ rm --force --recursive -- './worktree2'
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree move --force '../worktree1' '../worktree2'
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 ba65a02 [master]
C:/Program Files/Git/test_git/worktree2 ba65a02 [branch1]
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* ba65a02 - 2026-10-28 21:26 (10 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/heads/branch2, refs/heads/branch1)
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 ba65a02 [master]
C:/Program Files/Git/test_git/worktree2 ba65a02 [branch1]
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree2' lg --all
* ba65a02 - 2026-10-28 21:26 (11 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/branch1, refs/heads/master, refs/heads/branch2)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master (root-commit) b4a3e87] 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch branch1; git -C './repo' branch branch2
jhcarl0814@jhcarl0814 UCRT64 $?=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 b4a3e87 [master]
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* b4a3e87 - 2026-10-28 21:26 (2 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/heads/branch2, refs/heads/branch1)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 b4a3e87 1
jhcarl0814@jhcarl0814 UCRT64 $?=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 b4a3e87 1
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 b4a3e87 [master]
C:/Program Files/Git/test_git/worktree1 b4a3e87 [branch1]
C:/Program Files/Git/test_git/worktree2 b4a3e87 [branch2]
locked: added with --lock
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* b4a3e87 - 2026-10-28 21:26 (5 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/heads/branch2, refs/heads/branch1)
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 b4a3e87 [master]
C:/Program Files/Git/test_git/worktree1 b4a3e87 [branch1]
C:/Program Files/Git/test_git/worktree2 b4a3e87 [branch2]
locked: added with --lock
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' lg --all
* b4a3e87 - 2026-10-28 21:26 (6 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/branch1, refs/heads/master, refs/heads/branch2)
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 b4a3e87 [master]
C:/Program Files/Git/test_git/worktree1 b4a3e87 [branch1]
C:/Program Files/Git/test_git/worktree2 b4a3e87 [branch2]
locked: added with --lock
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree2' lg --all
* b4a3e87 - 2026-10-28 21:26 (8 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/branch2, refs/heads/master, refs/heads/branch1)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ rm --force --recursive -- './worktree2'
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree move --force --force '../worktree1' '../worktree2'
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 b4a3e87 [master]
C:/Program Files/Git/test_git/worktree2 b4a3e87 [branch1]
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* b4a3e87 - 2026-10-28 21:26 (11 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/heads/branch2, refs/heads/branch1)
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 b4a3e87 [master]
C:/Program Files/Git/test_git/worktree2 b4a3e87 [branch1]
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree2' lg --all
* b4a3e87 - 2026-10-28 21:26 (12 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/branch1, refs/heads/master, refs/heads/branch2)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master (root-commit) 45fb2d7] 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch branch1
jhcarl0814@jhcarl0814 UCRT64 $?=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 45fb2d7 [master]
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 45fb2d7 - 2026-10-28 21:27 (2 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/heads/branch1)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 45fb2d7 1
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 45fb2d7 [master]
C:/Program Files/Git/test_git/worktree1 45fb2d7 [branch1]
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 45fb2d7 - 2026-10-28 21:27 (4 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/heads/branch1)
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 45fb2d7 [master]
C:/Program Files/Git/test_git/worktree1 45fb2d7 [branch1]
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' lg --all
* 45fb2d7 - 2026-10-28 21:27 (5 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/branch1, refs/heads/master)
jhcarl0814@jhcarl0814 UCRT64 $?=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
│ │ │ ├╴45/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴fb2d7f2c7e2129f222cac9e546475d3f50c9bb -/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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree remove '../worktree1'
jhcarl0814@jhcarl0814 UCRT64 $?=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 45fb2d7 [master]
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 45fb2d7 - 2026-10-28 21:27 (22 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/heads/branch1)
jhcarl0814@jhcarl0814 UCRT64 $?=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
│ │ │ ├╴45/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴fb2d7f2c7e2129f222cac9e546475d3f50c9bb -/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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master (root-commit) 309d631] 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch branch1
jhcarl0814@jhcarl0814 UCRT64 $?=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 309d631 [master]
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 309d631 - 2026-10-28 21:27 (1 second ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/heads/branch1)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 309d631 1
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 309d631 [master]
C:/Program Files/Git/test_git/worktree1 309d631 [branch1]
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 309d631 - 2026-10-28 21:27 (3 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/heads/branch1)
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 309d631 [master]
C:/Program Files/Git/test_git/worktree1 309d631 [branch1]
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' lg --all
* 309d631 - 2026-10-28 21:27 (5 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/branch1, refs/heads/master)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ touch -- './worktree1/file'
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree remove --force '../worktree1'
jhcarl0814@jhcarl0814 UCRT64 $?=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 309d631 [master]
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 309d631 - 2026-10-28 21:27 (7 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/heads/branch1)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master (root-commit) fe2224c] 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch branch1
jhcarl0814@jhcarl0814 UCRT64 $?=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 fe2224c [master]
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* fe2224c - 2026-10-28 21:27 (1 second ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/heads/branch1)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 fe2224c 1
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 fe2224c [master]
C:/Program Files/Git/test_git/worktree1 fe2224c [branch1]
locked: added with --lock
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* fe2224c - 2026-10-28 21:27 (3 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/heads/branch1)
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 fe2224c [master]
C:/Program Files/Git/test_git/worktree1 fe2224c [branch1]
locked: added with --lock
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' lg --all
* fe2224c - 2026-10-28 21:27 (5 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/branch1, refs/heads/master)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree remove --force --force '../worktree1'
jhcarl0814@jhcarl0814 UCRT64 $?=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 fe2224c [master]
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* fe2224c - 2026-10-28 21:27 (7 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/heads/branch1)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master (root-commit) f3c2a9a] 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch branch1
jhcarl0814@jhcarl0814 UCRT64 $?=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 f3c2a9a [master]
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* f3c2a9a - 2026-10-28 21:28 (1 second ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/heads/branch1)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 f3c2a9a 1
jhcarl0814@jhcarl0814 UCRT64 $?=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 f3c2a9a [master]
C:/Program Files/Git/test_git/worktree1 f3c2a9a [branch1]
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* f3c2a9a - 2026-10-28 21:28 (3 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/heads/branch1)
jhcarl0814@jhcarl0814 UCRT64 $?=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 f3c2a9a [master]
C:/Program Files/Git/test_git/worktree1 f3c2a9a [branch1]
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' lg --all
* f3c2a9a - 2026-10-28 21:28 (4 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/branch1, refs/heads/master)
jhcarl0814@jhcarl0814 UCRT64 $?=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
│ │ │ ├╴f3/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴c2a9afcb0419a0a0ac58c9d759401f0671407e -/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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ rm --force --recursive -- './worktree1'
jhcarl0814@jhcarl0814 UCRT64 $?=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 f3c2a9a [master]
C:/Program Files/Git/test_git/worktree1 f3c2a9a [branch1]
prunable: gitdir file points to non-existent location
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree lock '../worktree1'
jhcarl0814@jhcarl0814 UCRT64 $?=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 f3c2a9a [master]
C:/Program Files/Git/test_git/worktree1 f3c2a9a [branch1] locked
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree prune --dry-run
jhcarl0814@jhcarl0814 UCRT64 $?=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 f3c2a9a [master]
C:/Program Files/Git/test_git/worktree1 f3c2a9a [branch1] locked
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree prune --verbose
jhcarl0814@jhcarl0814 UCRT64 $?=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 f3c2a9a [master]
C:/Program Files/Git/test_git/worktree1 f3c2a9a [branch1] locked
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree unlock '../worktree1'
jhcarl0814@jhcarl0814 UCRT64 $?=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 f3c2a9a [master]
C:/Program Files/Git/test_git/worktree1 f3c2a9a [branch1]
prunable: gitdir file points to non-existent location
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 f3c2a9a [master]
C:/Program Files/Git/test_git/worktree1 f3c2a9a [branch1]
prunable: gitdir file points to non-existent location
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 f3c2a9a [master]
jhcarl0814@jhcarl0814 UCRT64 $?=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
│ │ │ ├╴f3/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴c2a9afcb0419a0a0ac58c9d759401f0671407e -/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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master (root-commit) 95eabfc] 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch branch1
jhcarl0814@jhcarl0814 UCRT64 $?=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 95eabfc [master]
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 95eabfc - 2026-10-28 21:28 (2 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/heads/branch1)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 95eabfc 1
jhcarl0814@jhcarl0814 UCRT64 $?=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 95eabfc [master]
C:/Program Files/Git/test_git/worktree1 95eabfc [branch1]
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 95eabfc - 2026-10-28 21:28 (3 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/heads/branch1)
jhcarl0814@jhcarl0814 UCRT64 $?=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 95eabfc [master]
C:/Program Files/Git/test_git/worktree1 95eabfc [branch1]
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' lg --all
* 95eabfc - 2026-10-28 21:28 (4 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/branch1, refs/heads/master)
jhcarl0814@jhcarl0814 UCRT64 $?=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 95eabfc0e627d9e5f4bbc7df1a9bb674a64a4dd9 Han Jiang <jhcarl0814@gmail.com> 1793176128 +1300\n
│ │ │ 2 95eabfc0e627d9e5f4bbc7df1a9bb674a64a4dd9 95eabfc0e627d9e5f4bbc7df1a9bb674a64a4dd9 Han Jiang <jhcarl0814@gmail.com> 1793176128 +1300\treset: moving to HEAD\n
│ │ │ 3
│ ├╴ORIG_HEAD -/0o100/regular file rw-r--r--/0o644
│ │ 1 95eabfc0e627d9e5f4bbc7df1a9bb674a64a4dd9\n
│ │ 2
│ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree lock '../worktree1'
jhcarl0814@jhcarl0814 UCRT64 $?=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 95eabfc0e627d9e5f4bbc7df1a9bb674a64a4dd9 Han Jiang <jhcarl0814@gmail.com> 1793176128 +1300\n
│ │ │ 2 95eabfc0e627d9e5f4bbc7df1a9bb674a64a4dd9 95eabfc0e627d9e5f4bbc7df1a9bb674a64a4dd9 Han Jiang <jhcarl0814@gmail.com> 1793176128 +1300\treset: moving to HEAD\n
│ │ │ 3
│ ├╴ORIG_HEAD -/0o100/regular file rw-r--r--/0o644
│ │ 1 95eabfc0e627d9e5f4bbc7df1a9bb674a64a4dd9\n
│ │ 2
│ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree unlock '../worktree1'
jhcarl0814@jhcarl0814 UCRT64 $?=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 95eabfc0e627d9e5f4bbc7df1a9bb674a64a4dd9 Han Jiang <jhcarl0814@gmail.com> 1793176128 +1300\n
│ │ │ 2 95eabfc0e627d9e5f4bbc7df1a9bb674a64a4dd9 95eabfc0e627d9e5f4bbc7df1a9bb674a64a4dd9 Han Jiang <jhcarl0814@gmail.com> 1793176128 +1300\treset: moving to HEAD\n
│ │ │ 3
│ ├╴ORIG_HEAD -/0o100/regular file rw-r--r--/0o644
│ │ 1 95eabfc0e627d9e5f4bbc7df1a9bb674a64a4dd9\n
│ │ 2
│ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree lock --reason='lock reason' '../worktree1'
jhcarl0814@jhcarl0814 UCRT64 $?=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 95eabfc0e627d9e5f4bbc7df1a9bb674a64a4dd9 Han Jiang <jhcarl0814@gmail.com> 1793176128 +1300\n
│ │ │ 2 95eabfc0e627d9e5f4bbc7df1a9bb674a64a4dd9 95eabfc0e627d9e5f4bbc7df1a9bb674a64a4dd9 Han Jiang <jhcarl0814@gmail.com> 1793176128 +1300\treset: moving to HEAD\n
│ │ │ 3
│ ├╴ORIG_HEAD -/0o100/regular file rw-r--r--/0o644
│ │ 1 95eabfc0e627d9e5f4bbc7df1a9bb674a64a4dd9\n
│ │ 2
│ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree unlock '../worktree1'
jhcarl0814@jhcarl0814 UCRT64 $?=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 95eabfc0e627d9e5f4bbc7df1a9bb674a64a4dd9 Han Jiang <jhcarl0814@gmail.com> 1793176128 +1300\n
│ │ │ 2 95eabfc0e627d9e5f4bbc7df1a9bb674a64a4dd9 95eabfc0e627d9e5f4bbc7df1a9bb674a64a4dd9 Han Jiang <jhcarl0814@gmail.com> 1793176128 +1300\treset: moving to HEAD\n
│ │ │ 3
│ ├╴ORIG_HEAD -/0o100/regular file rw-r--r--/0o644
│ │ 1 95eabfc0e627d9e5f4bbc7df1a9bb674a64a4dd9\n
│ │ 2
│ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master (root-commit) a627619] 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch branch1; git -C './repo' branch branch2
jhcarl0814@jhcarl0814 UCRT64 $?=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 a627619 [master]
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* a627619 - 2026-10-28 21:29 (2 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/heads/branch2, refs/heads/branch1)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 a627619 1
jhcarl0814@jhcarl0814 UCRT64 $?=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 a627619 1
jhcarl0814@jhcarl0814 UCRT64 $?=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 a627619 [master]
C:/Program Files/Git/test_git/worktree1 a627619 [branch1]
C:/Program Files/Git/test_git/worktree2 a627619 [branch2]
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* a627619 - 2026-10-28 21:29 (5 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/heads/branch2, refs/heads/branch1)
jhcarl0814@jhcarl0814 UCRT64 $?=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 a627619 [master]
C:/Program Files/Git/test_git/worktree1 a627619 [branch1]
C:/Program Files/Git/test_git/worktree2 a627619 [branch2]
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' lg --all
* a627619 - 2026-10-28 21:29 (6 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/branch1, refs/heads/master, refs/heads/branch2)
jhcarl0814@jhcarl0814 UCRT64 $?=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 a627619 [master]
C:/Program Files/Git/test_git/worktree1 a627619 [branch1]
C:/Program Files/Git/test_git/worktree2 a627619 [branch2]
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree2' lg --all
* a627619 - 2026-10-28 21:29 (7 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/branch2, refs/heads/master, refs/heads/branch1)
jhcarl0814@jhcarl0814 UCRT64 $?=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 a6276199e89539c1587d838b2c52ce36dda6b35a Han Jiang <jhcarl0814@gmail.com> 1793176169 +1300\n
│ │ │ 2 a6276199e89539c1587d838b2c52ce36dda6b35a a6276199e89539c1587d838b2c52ce36dda6b35a Han Jiang <jhcarl0814@gmail.com> 1793176169 +1300\treset: moving to HEAD\n
│ │ │ 3
│ ├╴ORIG_HEAD -/0o100/regular file rw-r--r--/0o644
│ │ 1 a6276199e89539c1587d838b2c52ce36dda6b35a\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 a6276199e89539c1587d838b2c52ce36dda6b35a Han Jiang <jhcarl0814@gmail.com> 1793176170 +1300\n
│ │ │ 2 a6276199e89539c1587d838b2c52ce36dda6b35a a6276199e89539c1587d838b2c52ce36dda6b35a Han Jiang <jhcarl0814@gmail.com> 1793176170 +1300\treset: moving to HEAD\n
│ │ │ 3
│ ├╴ORIG_HEAD -/0o100/regular file rw-r--r--/0o644
│ │ 1 a6276199e89539c1587d838b2c52ce36dda6b35a\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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ mv './worktree1' './worktree1_'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ mv './worktree2' './worktree2_'
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 a6276199e89539c1587d838b2c52ce36dda6b35a Han Jiang <jhcarl0814@gmail.com> 1793176169 +1300\n
│ │ │ 2 a6276199e89539c1587d838b2c52ce36dda6b35a a6276199e89539c1587d838b2c52ce36dda6b35a Han Jiang <jhcarl0814@gmail.com> 1793176169 +1300\treset: moving to HEAD\n
│ │ │ 3
│ ├╴ORIG_HEAD -/0o100/regular file rw-r--r--/0o644
│ │ 1 a6276199e89539c1587d838b2c52ce36dda6b35a\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 a6276199e89539c1587d838b2c52ce36dda6b35a Han Jiang <jhcarl0814@gmail.com> 1793176170 +1300\n
│ │ │ 2 a6276199e89539c1587d838b2c52ce36dda6b35a a6276199e89539c1587d838b2c52ce36dda6b35a Han Jiang <jhcarl0814@gmail.com> 1793176170 +1300\treset: moving to HEAD\n
│ │ │ 3
│ ├╴ORIG_HEAD -/0o100/regular file rw-r--r--/0o644
│ │ 1 a6276199e89539c1587d838b2c52ce36dda6b35a\n
│ │ 2
│ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master (root-commit) 3d3aa48] 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch branch1; git -C './repo' branch branch2
jhcarl0814@jhcarl0814 UCRT64 $?=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 3d3aa48 [master]
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 3d3aa48 - 2026-10-28 21:30 (2 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/heads/branch2, refs/heads/branch1)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 3d3aa48 1
jhcarl0814@jhcarl0814 UCRT64 $?=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 3d3aa48 1
jhcarl0814@jhcarl0814 UCRT64 $?=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 3d3aa48 [master]
C:/Program Files/Git/test_git/worktree1 3d3aa48 [branch1]
C:/Program Files/Git/test_git/worktree2 3d3aa48 [branch2]
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 3d3aa48 - 2026-10-28 21:30 (4 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/heads/branch2, refs/heads/branch1)
jhcarl0814@jhcarl0814 UCRT64 $?=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 3d3aa48 [master]
C:/Program Files/Git/test_git/worktree1 3d3aa48 [branch1]
C:/Program Files/Git/test_git/worktree2 3d3aa48 [branch2]
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' lg --all
* 3d3aa48 - 2026-10-28 21:30 (5 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/branch1, refs/heads/master, refs/heads/branch2)
jhcarl0814@jhcarl0814 UCRT64 $?=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 3d3aa48 [master]
C:/Program Files/Git/test_git/worktree1 3d3aa48 [branch1]
C:/Program Files/Git/test_git/worktree2 3d3aa48 [branch2]
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree2' lg --all
* 3d3aa48 - 2026-10-28 21:30 (6 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/branch2, refs/heads/master, refs/heads/branch1)
jhcarl0814@jhcarl0814 UCRT64 $?=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 3d3aa48b37c587464e219e977bbb7fe6d7e4d6d1 Han Jiang <jhcarl0814@gmail.com> 1793176204 +1300\n
│ │ │ 2 3d3aa48b37c587464e219e977bbb7fe6d7e4d6d1 3d3aa48b37c587464e219e977bbb7fe6d7e4d6d1 Han Jiang <jhcarl0814@gmail.com> 1793176204 +1300\treset: moving to HEAD\n
│ │ │ 3
│ ├╴ORIG_HEAD -/0o100/regular file rw-r--r--/0o644
│ │ 1 3d3aa48b37c587464e219e977bbb7fe6d7e4d6d1\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 3d3aa48b37c587464e219e977bbb7fe6d7e4d6d1 Han Jiang <jhcarl0814@gmail.com> 1793176204 +1300\n
│ │ │ 2 3d3aa48b37c587464e219e977bbb7fe6d7e4d6d1 3d3aa48b37c587464e219e977bbb7fe6d7e4d6d1 Han Jiang <jhcarl0814@gmail.com> 1793176204 +1300\treset: moving to HEAD\n
│ │ │ 3
│ ├╴ORIG_HEAD -/0o100/regular file rw-r--r--/0o644
│ │ 1 3d3aa48b37c587464e219e977bbb7fe6d7e4d6d1\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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ mv './worktree1' './worktree1_'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ mv './worktree2' './worktree2_'
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 3d3aa48b37c587464e219e977bbb7fe6d7e4d6d1 Han Jiang <jhcarl0814@gmail.com> 1793176204 +1300\n
│ │ │ 2 3d3aa48b37c587464e219e977bbb7fe6d7e4d6d1 3d3aa48b37c587464e219e977bbb7fe6d7e4d6d1 Han Jiang <jhcarl0814@gmail.com> 1793176204 +1300\treset: moving to HEAD\n
│ │ │ 3
│ ├╴ORIG_HEAD -/0o100/regular file rw-r--r--/0o644
│ │ 1 3d3aa48b37c587464e219e977bbb7fe6d7e4d6d1\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 3d3aa48b37c587464e219e977bbb7fe6d7e4d6d1 Han Jiang <jhcarl0814@gmail.com> 1793176204 +1300\n
│ │ │ 2 3d3aa48b37c587464e219e977bbb7fe6d7e4d6d1 3d3aa48b37c587464e219e977bbb7fe6d7e4d6d1 Han Jiang <jhcarl0814@gmail.com> 1793176204 +1300\treset: moving to HEAD\n
│ │ │ 3
│ ├╴ORIG_HEAD -/0o100/regular file rw-r--r--/0o644
│ │ 1 3d3aa48b37c587464e219e977bbb7fe6d7e4d6d1\n
│ │ 2
│ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master (root-commit) 537c5f6] 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch branch1; git -C './repo' branch branch2
jhcarl0814@jhcarl0814 UCRT64 $?=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 537c5f6 [master]
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 537c5f6 - 2026-10-28 21:30 (2 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/heads/branch2, refs/heads/branch1)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 537c5f6 1
jhcarl0814@jhcarl0814 UCRT64 $?=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 537c5f6 1
jhcarl0814@jhcarl0814 UCRT64 $?=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 537c5f6 [master]
C:/Program Files/Git/test_git/worktree1 537c5f6 [branch1]
C:/Program Files/Git/test_git/worktree2 537c5f6 [branch2]
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 537c5f6 - 2026-10-28 21:30 (4 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/heads/branch2, refs/heads/branch1)
jhcarl0814@jhcarl0814 UCRT64 $?=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 537c5f6 [master]
C:/Program Files/Git/test_git/worktree1 537c5f6 [branch1]
C:/Program Files/Git/test_git/worktree2 537c5f6 [branch2]
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' lg --all
* 537c5f6 - 2026-10-28 21:30 (5 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/branch1, refs/heads/master, refs/heads/branch2)
jhcarl0814@jhcarl0814 UCRT64 $?=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 537c5f6 [master]
C:/Program Files/Git/test_git/worktree1 537c5f6 [branch1]
C:/Program Files/Git/test_git/worktree2 537c5f6 [branch2]
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree2' lg --all
* 537c5f6 - 2026-10-28 21:30 (6 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/branch2, refs/heads/master, refs/heads/branch1)
jhcarl0814@jhcarl0814 UCRT64 $?=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 537c5f69e8200cac4998d4080fa76dce9ba99a4d Han Jiang <jhcarl0814@gmail.com> 1793176238 +1300\n
│ │ │ 2 537c5f69e8200cac4998d4080fa76dce9ba99a4d 537c5f69e8200cac4998d4080fa76dce9ba99a4d Han Jiang <jhcarl0814@gmail.com> 1793176238 +1300\treset: moving to HEAD\n
│ │ │ 3
│ ├╴ORIG_HEAD -/0o100/regular file rw-r--r--/0o644
│ │ 1 537c5f69e8200cac4998d4080fa76dce9ba99a4d\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 537c5f69e8200cac4998d4080fa76dce9ba99a4d Han Jiang <jhcarl0814@gmail.com> 1793176238 +1300\n
│ │ │ 2 537c5f69e8200cac4998d4080fa76dce9ba99a4d 537c5f69e8200cac4998d4080fa76dce9ba99a4d Han Jiang <jhcarl0814@gmail.com> 1793176238 +1300\treset: moving to HEAD\n
│ │ │ 3
│ ├╴ORIG_HEAD -/0o100/regular file rw-r--r--/0o644
│ │ 1 537c5f69e8200cac4998d4080fa76dce9ba99a4d\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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ mv './worktree1' './worktree1_'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ mv './worktree2' './worktree2_'
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 537c5f69e8200cac4998d4080fa76dce9ba99a4d Han Jiang <jhcarl0814@gmail.com> 1793176238 +1300\n
│ │ │ 2 537c5f69e8200cac4998d4080fa76dce9ba99a4d 537c5f69e8200cac4998d4080fa76dce9ba99a4d Han Jiang <jhcarl0814@gmail.com> 1793176238 +1300\treset: moving to HEAD\n
│ │ │ 3
│ ├╴ORIG_HEAD -/0o100/regular file rw-r--r--/0o644
│ │ 1 537c5f69e8200cac4998d4080fa76dce9ba99a4d\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 537c5f69e8200cac4998d4080fa76dce9ba99a4d Han Jiang <jhcarl0814@gmail.com> 1793176238 +1300\n
│ │ │ 2 537c5f69e8200cac4998d4080fa76dce9ba99a4d 537c5f69e8200cac4998d4080fa76dce9ba99a4d Han Jiang <jhcarl0814@gmail.com> 1793176238 +1300\treset: moving to HEAD\n
│ │ │ 3
│ ├╴ORIG_HEAD -/0o100/regular file rw-r--r--/0o644
│ │ 1 537c5f69e8200cac4998d4080fa76dce9ba99a4d\n
│ │ 2
│ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master (root-commit) cfa15ae] 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch branch1; git -C './repo' branch branch2
jhcarl0814@jhcarl0814 UCRT64 $?=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 cfa15ae [master]
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* cfa15ae - 2026-10-28 21:31 (2 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/heads/branch2, refs/heads/branch1)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 cfa15ae 1
jhcarl0814@jhcarl0814 UCRT64 $?=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 cfa15ae 1
jhcarl0814@jhcarl0814 UCRT64 $?=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 cfa15ae [master]
C:/Program Files/Git/test_git/worktree1 cfa15ae [branch1]
C:/Program Files/Git/test_git/worktree2 cfa15ae [branch2]
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* cfa15ae - 2026-10-28 21:31 (4 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/heads/branch2, refs/heads/branch1)
jhcarl0814@jhcarl0814 UCRT64 $?=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 cfa15ae [master]
C:/Program Files/Git/test_git/worktree1 cfa15ae [branch1]
C:/Program Files/Git/test_git/worktree2 cfa15ae [branch2]
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' lg --all
* cfa15ae - 2026-10-28 21:31 (5 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/branch1, refs/heads/master, refs/heads/branch2)
jhcarl0814@jhcarl0814 UCRT64 $?=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 cfa15ae [master]
C:/Program Files/Git/test_git/worktree1 cfa15ae [branch1]
C:/Program Files/Git/test_git/worktree2 cfa15ae [branch2]
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree2' lg --all
* cfa15ae - 2026-10-28 21:31 (6 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/branch2, refs/heads/master, refs/heads/branch1)
jhcarl0814@jhcarl0814 UCRT64 $?=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 cfa15ae27a7b5db0d7abbdcf2420104c5198fe4d Han Jiang <jhcarl0814@gmail.com> 1793176273 +1300\n
│ │ │ 2 cfa15ae27a7b5db0d7abbdcf2420104c5198fe4d cfa15ae27a7b5db0d7abbdcf2420104c5198fe4d Han Jiang <jhcarl0814@gmail.com> 1793176273 +1300\treset: moving to HEAD\n
│ │ │ 3
│ ├╴ORIG_HEAD -/0o100/regular file rw-r--r--/0o644
│ │ 1 cfa15ae27a7b5db0d7abbdcf2420104c5198fe4d\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 cfa15ae27a7b5db0d7abbdcf2420104c5198fe4d Han Jiang <jhcarl0814@gmail.com> 1793176273 +1300\n
│ │ │ 2 cfa15ae27a7b5db0d7abbdcf2420104c5198fe4d cfa15ae27a7b5db0d7abbdcf2420104c5198fe4d Han Jiang <jhcarl0814@gmail.com> 1793176273 +1300\treset: moving to HEAD\n
│ │ │ 3
│ ├╴ORIG_HEAD -/0o100/regular file rw-r--r--/0o644
│ │ 1 cfa15ae27a7b5db0d7abbdcf2420104c5198fe4d\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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ mv './worktree1' './worktree1_'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ mv './worktree2' './worktree2_'
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 cfa15ae27a7b5db0d7abbdcf2420104c5198fe4d Han Jiang <jhcarl0814@gmail.com> 1793176273 +1300\n
│ │ │ 2 cfa15ae27a7b5db0d7abbdcf2420104c5198fe4d cfa15ae27a7b5db0d7abbdcf2420104c5198fe4d Han Jiang <jhcarl0814@gmail.com> 1793176273 +1300\treset: moving to HEAD\n
│ │ │ 3
│ ├╴ORIG_HEAD -/0o100/regular file rw-r--r--/0o644
│ │ 1 cfa15ae27a7b5db0d7abbdcf2420104c5198fe4d\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 cfa15ae27a7b5db0d7abbdcf2420104c5198fe4d Han Jiang <jhcarl0814@gmail.com> 1793176273 +1300\n
│ │ │ 2 cfa15ae27a7b5db0d7abbdcf2420104c5198fe4d cfa15ae27a7b5db0d7abbdcf2420104c5198fe4d Han Jiang <jhcarl0814@gmail.com> 1793176273 +1300\treset: moving to HEAD\n
│ │ │ 3
│ ├╴ORIG_HEAD -/0o100/regular file rw-r--r--/0o644
│ │ 1 cfa15ae27a7b5db0d7abbdcf2420104c5198fe4d\n
│ │ 2
│ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
necr
jhcarl0814@jhcarl0814 UCRT64 $?=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/
necrnecr
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master (root-commit) d84143e] 1
necrnecr
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch branch1; git -C './repo' branch branch2
necrnecrnecr
jhcarl0814@jhcarl0814 UCRT64 $?=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 d84143e [master]
necrnecr
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* d84143e - 2026-10-28 21:31 (2 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/heads/branch2, refs/heads/branch1)
necrnecr
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
necr
jhcarl0814@jhcarl0814 UCRT64 $?=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 d84143e 1
necrnecr
jhcarl0814@jhcarl0814 UCRT64 $?=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 d84143e 1
necrnecr
jhcarl0814@jhcarl0814 UCRT64 $?=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 d84143e [master]
C:/Program Files/Git/test_git/worktree1 d84143e [branch1]
C:/Program Files/Git/test_git/worktree2 d84143e [branch2]
necrnecr
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* d84143e - 2026-10-28 21:31 (4 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/heads/branch2, refs/heads/branch1)
necrnecr
jhcarl0814@jhcarl0814 UCRT64 $?=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 d84143e [master]
C:/Program Files/Git/test_git/worktree1 d84143e [branch1]
C:/Program Files/Git/test_git/worktree2 d84143e [branch2]
necrnecr
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' lg --all
* d84143e - 2026-10-28 21:31 (5 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/branch1, refs/heads/master, refs/heads/branch2)
necrnecr
jhcarl0814@jhcarl0814 UCRT64 $?=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 d84143e [master]
C:/Program Files/Git/test_git/worktree1 d84143e [branch1]
C:/Program Files/Git/test_git/worktree2 d84143e [branch2]
necrnecr
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree2' lg --all
* d84143e - 2026-10-28 21:31 (7 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/branch2, refs/heads/master, refs/heads/branch1)
necrnecr
jhcarl0814@jhcarl0814 UCRT64 $?=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 d84143e2e4fa70c4c72ecdd84d437fc63370d703 Han Jiang <jhcarl0814@gmail.com> 1793176307 +1300\n
│ │ │ 2 d84143e2e4fa70c4c72ecdd84d437fc63370d703 d84143e2e4fa70c4c72ecdd84d437fc63370d703 Han Jiang <jhcarl0814@gmail.com> 1793176307 +1300\treset: moving to HEAD\n
│ │ │ 3
│ ├╴ORIG_HEAD -/0o100/regular file rw-r--r--/0o644
│ │ 1 d84143e2e4fa70c4c72ecdd84d437fc63370d703\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 d84143e2e4fa70c4c72ecdd84d437fc63370d703 Han Jiang <jhcarl0814@gmail.com> 1793176307 +1300\n
│ │ │ 2 d84143e2e4fa70c4c72ecdd84d437fc63370d703 d84143e2e4fa70c4c72ecdd84d437fc63370d703 Han Jiang <jhcarl0814@gmail.com> 1793176307 +1300\treset: moving to HEAD\n
│ │ │ 3
│ ├╴ORIG_HEAD -/0o100/regular file rw-r--r--/0o644
│ │ 1 d84143e2e4fa70c4c72ecdd84d437fc63370d703\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
necr
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
necr
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ mv './worktree1' './worktree1_'
necr
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ mv './worktree2' './worktree2_'
necr
jhcarl0814@jhcarl0814 UCRT64 $?=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
necrnecr
jhcarl0814@jhcarl0814 UCRT64 $?=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 d84143e2e4fa70c4c72ecdd84d437fc63370d703 Han Jiang <jhcarl0814@gmail.com> 1793176307 +1300\n
│ │ │ 2 d84143e2e4fa70c4c72ecdd84d437fc63370d703 d84143e2e4fa70c4c72ecdd84d437fc63370d703 Han Jiang <jhcarl0814@gmail.com> 1793176307 +1300\treset: moving to HEAD\n
│ │ │ 3
│ ├╴ORIG_HEAD -/0o100/regular file rw-r--r--/0o644
│ │ 1 d84143e2e4fa70c4c72ecdd84d437fc63370d703\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 d84143e2e4fa70c4c72ecdd84d437fc63370d703 Han Jiang <jhcarl0814@gmail.com> 1793176307 +1300\n
│ │ │ 2 d84143e2e4fa70c4c72ecdd84d437fc63370d703 d84143e2e4fa70c4c72ecdd84d437fc63370d703 Han Jiang <jhcarl0814@gmail.com> 1793176307 +1300\treset: moving to HEAD\n
│ │ │ 3
│ ├╴ORIG_HEAD -/0o100/regular file rw-r--r--/0o644
│ │ 1 d84143e2e4fa70c4c72ecdd84d437fc63370d703\n
│ │ 2
│ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
necr
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master (root-commit) 7c701d5] 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch branch1; git -C './repo' branch branch2
jhcarl0814@jhcarl0814 UCRT64 $?=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 7c701d5 [master]
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 7c701d5 - 2026-10-28 21:32 (1 second ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/heads/branch2, refs/heads/branch1)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 7c701d5 1
jhcarl0814@jhcarl0814 UCRT64 $?=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 7c701d5 1
jhcarl0814@jhcarl0814 UCRT64 $?=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 7c701d5 [master]
C:/Program Files/Git/test_git/worktree1 7c701d5 [branch1]
C:/Program Files/Git/test_git/worktree2 7c701d5 [branch2]
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 7c701d5 - 2026-10-28 21:32 (3 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/heads/branch2, refs/heads/branch1)
jhcarl0814@jhcarl0814 UCRT64 $?=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 7c701d5 [master]
C:/Program Files/Git/test_git/worktree1 7c701d5 [branch1]
C:/Program Files/Git/test_git/worktree2 7c701d5 [branch2]
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' lg --all
* 7c701d5 - 2026-10-28 21:32 (4 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/branch1, refs/heads/master, refs/heads/branch2)
jhcarl0814@jhcarl0814 UCRT64 $?=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 7c701d5 [master]
C:/Program Files/Git/test_git/worktree1 7c701d5 [branch1]
C:/Program Files/Git/test_git/worktree2 7c701d5 [branch2]
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree2' lg --all
* 7c701d5 - 2026-10-28 21:32 (5 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/branch2, refs/heads/master, refs/heads/branch1)
jhcarl0814@jhcarl0814 UCRT64 $?=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 7c701d5cd3184754dd7aea0d8e559ffff6213cd2 Han Jiang <jhcarl0814@gmail.com> 1793176342 +1300\n
│ │ │ 2 7c701d5cd3184754dd7aea0d8e559ffff6213cd2 7c701d5cd3184754dd7aea0d8e559ffff6213cd2 Han Jiang <jhcarl0814@gmail.com> 1793176342 +1300\treset: moving to HEAD\n
│ │ │ 3
│ ├╴ORIG_HEAD -/0o100/regular file rw-r--r--/0o644
│ │ 1 7c701d5cd3184754dd7aea0d8e559ffff6213cd2\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 7c701d5cd3184754dd7aea0d8e559ffff6213cd2 Han Jiang <jhcarl0814@gmail.com> 1793176342 +1300\n
│ │ │ 2 7c701d5cd3184754dd7aea0d8e559ffff6213cd2 7c701d5cd3184754dd7aea0d8e559ffff6213cd2 Han Jiang <jhcarl0814@gmail.com> 1793176342 +1300\treset: moving to HEAD\n
│ │ │ 3
│ ├╴ORIG_HEAD -/0o100/regular file rw-r--r--/0o644
│ │ 1 7c701d5cd3184754dd7aea0d8e559ffff6213cd2\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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ mv './repo' './repo_'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' worktree repair '../repo_'
fatal: gitfile does not point to a valid repository: C:/Program Files/Git/test_git/worktree1/.git
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master (root-commit) 397b5c8] 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch branch1; git -C './repo' branch branch2
jhcarl0814@jhcarl0814 UCRT64 $?=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 397b5c8 [master]
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 397b5c8 - 2026-10-28 21:32 (1 second ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/heads/branch2, refs/heads/branch1)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 397b5c8 1
jhcarl0814@jhcarl0814 UCRT64 $?=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 397b5c8 1
jhcarl0814@jhcarl0814 UCRT64 $?=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 397b5c8 [master]
C:/Program Files/Git/test_git/worktree1 397b5c8 [branch1]
C:/Program Files/Git/test_git/worktree2 397b5c8 [branch2]
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 397b5c8 - 2026-10-28 21:32 (4 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/heads/branch2, refs/heads/branch1)
jhcarl0814@jhcarl0814 UCRT64 $?=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 397b5c8 [master]
C:/Program Files/Git/test_git/worktree1 397b5c8 [branch1]
C:/Program Files/Git/test_git/worktree2 397b5c8 [branch2]
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' lg --all
* 397b5c8 - 2026-10-28 21:32 (5 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/branch1, refs/heads/master, refs/heads/branch2)
jhcarl0814@jhcarl0814 UCRT64 $?=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 397b5c8 [master]
C:/Program Files/Git/test_git/worktree1 397b5c8 [branch1]
C:/Program Files/Git/test_git/worktree2 397b5c8 [branch2]
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree2' lg --all
* 397b5c8 - 2026-10-28 21:32 (6 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/branch2, refs/heads/master, refs/heads/branch1)
jhcarl0814@jhcarl0814 UCRT64 $?=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 397b5c8d1ba3795b8ed79b1b4e8bcbcf18fd0767 Han Jiang <jhcarl0814@gmail.com> 1793176369 +1300\n
│ │ │ 2 397b5c8d1ba3795b8ed79b1b4e8bcbcf18fd0767 397b5c8d1ba3795b8ed79b1b4e8bcbcf18fd0767 Han Jiang <jhcarl0814@gmail.com> 1793176369 +1300\treset: moving to HEAD\n
│ │ │ 3
│ ├╴ORIG_HEAD -/0o100/regular file rw-r--r--/0o644
│ │ 1 397b5c8d1ba3795b8ed79b1b4e8bcbcf18fd0767\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 397b5c8d1ba3795b8ed79b1b4e8bcbcf18fd0767 Han Jiang <jhcarl0814@gmail.com> 1793176370 +1300\n
│ │ │ 2 397b5c8d1ba3795b8ed79b1b4e8bcbcf18fd0767 397b5c8d1ba3795b8ed79b1b4e8bcbcf18fd0767 Han Jiang <jhcarl0814@gmail.com> 1793176370 +1300\treset: moving to HEAD\n
│ │ │ 3
│ ├╴ORIG_HEAD -/0o100/regular file rw-r--r--/0o644
│ │ 1 397b5c8d1ba3795b8ed79b1b4e8bcbcf18fd0767\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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ mv './repo' './repo_'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ mv './worktree1' './worktree1_'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ mv './worktree2' './worktree2_'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1_' worktree repair '../worktree2_' '../repo_'
fatal: gitfile does not point to a valid repository: C:/Program Files/Git/test_git/worktree1_/.git
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 397b5c8d1ba3795b8ed79b1b4e8bcbcf18fd0767 Han Jiang <jhcarl0814@gmail.com> 1793176369 +1300\n
│ │ │ 2 397b5c8d1ba3795b8ed79b1b4e8bcbcf18fd0767 397b5c8d1ba3795b8ed79b1b4e8bcbcf18fd0767 Han Jiang <jhcarl0814@gmail.com> 1793176369 +1300\treset: moving to HEAD\n
│ │ │ 3
│ ├╴ORIG_HEAD -/0o100/regular file rw-r--r--/0o644
│ │ 1 397b5c8d1ba3795b8ed79b1b4e8bcbcf18fd0767\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 397b5c8d1ba3795b8ed79b1b4e8bcbcf18fd0767 Han Jiang <jhcarl0814@gmail.com> 1793176370 +1300\n
│ │ │ 2 397b5c8d1ba3795b8ed79b1b4e8bcbcf18fd0767 397b5c8d1ba3795b8ed79b1b4e8bcbcf18fd0767 Han Jiang <jhcarl0814@gmail.com> 1793176370 +1300\treset: moving to HEAD\n
│ │ │ 3
│ ├╴ORIG_HEAD -/0o100/regular file rw-r--r--/0o644
│ │ 1 397b5c8d1ba3795b8ed79b1b4e8bcbcf18fd0767\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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' branch --show-current
master
jhcarl0814@jhcarl0814 UCRT64 $?=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) 4dd51ef] 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' tag tag
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' tag --annotate --message='' tag_annotated
jhcarl0814@jhcarl0814 UCRT64 $?=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 f1a3852] 2
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' show-ref 'refs/heads2/branch'
4dd51ef663be963e0ff46816eac46ad2a8cf5862 refs/heads2/branch
jhcarl0814@jhcarl0814 UCRT64 $?=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 257df51] 3
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' branch --show-current
master
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --all --clear-decorations
* 257df51 - 2026-10-28 21:33 (3 seconds ago) 3 - Han Jiang (refs/heads2/branch, refs/heads2/HEAD)
| * f1a3852 - 2026-10-28 21:33 (6 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
|/
* 4dd51ef - 2026-10-28 21:33 (8 seconds ago) 1 - Han Jiang (tag: refs/tags/tag_annotated, tag: refs/tags/tag)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --clear-decorations HEAD2
* f1a3852 - 2026-10-28 21:33 (6 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
* 4dd51ef - 2026-10-28 21:33 (8 seconds ago) 1 - Han Jiang (tag: refs/tags/tag_annotated, tag: refs/tags/tag)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' show-ref
f1a3852896871d4eae2df713efd8bb85250ef3b9 refs/heads/master
f1a3852896871d4eae2df713efd8bb85250ef3b9 refs/remotes/origin/HEAD
f1a3852896871d4eae2df713efd8bb85250ef3b9 refs/remotes/origin/master
4dd51ef663be963e0ff46816eac46ad2a8cf5862 refs/tags/tag
3c4138bfbe9e6a2dee92ba26a8769525a2a8e75a refs/tags/tag_annotated
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' symbolic-ref HEAD2
refs/heads/master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' show-ref
f1a3852896871d4eae2df713efd8bb85250ef3b9 refs/heads/master
f1a3852896871d4eae2df713efd8bb85250ef3b9 refs/remotes/origin/HEAD
257df51deee75c95f701cbf358499e8ca5afcf61 refs/remotes/origin/heads2/HEAD
257df51deee75c95f701cbf358499e8ca5afcf61 refs/remotes/origin/heads2/branch
f1a3852896871d4eae2df713efd8bb85250ef3b9 refs/remotes/origin/master
4dd51ef663be963e0ff46816eac46ad2a8cf5862 refs/tags/tag
3c4138bfbe9e6a2dee92ba26a8769525a2a8e75a refs/tags/tag_annotated
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' show-ref HEAD
f1a3852896871d4eae2df713efd8bb85250ef3b9 refs/remotes/origin/HEAD
257df51deee75c95f701cbf358499e8ca5afcf61 refs/remotes/origin/heads2/HEAD
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' show-ref HEAD2
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' branch --show-current
master
jhcarl0814@jhcarl0814 UCRT64 $?=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) 09b0cc1] 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' tag tag
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' tag --annotate --message='' tag_annotated
jhcarl0814@jhcarl0814 UCRT64 $?=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 b67c1ff] 2
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' show-ref 'refs/heads2/branch'
09b0cc1995dee85f8d99734a17aa41f6457e4e1e refs/heads2/branch
jhcarl0814@jhcarl0814 UCRT64 $?=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 90baa03] 3
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' branch --show-current
master
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --all --clear-decorations
* 90baa03 - 2026-10-28 21:33 (3 seconds ago) 3 - Han Jiang (refs/heads2/branch, refs/heads2/HEAD)
| * b67c1ff - 2026-10-28 21:33 (6 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
|/
* 09b0cc1 - 2026-10-28 21:33 (7 seconds ago) 1 - Han Jiang (tag: refs/tags/tag_annotated, tag: refs/tags/tag)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --clear-decorations HEAD2
* b67c1ff - 2026-10-28 21:33 (7 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
* 09b0cc1 - 2026-10-28 21:33 (8 seconds ago) 1 - Han Jiang (tag: refs/tags/tag_annotated, tag: refs/tags/tag)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' show-ref
b67c1ffa2d56e72d69f934244c5fd6006b3ac1db refs/heads/master
b67c1ffa2d56e72d69f934244c5fd6006b3ac1db refs/remotes/origin/HEAD
b67c1ffa2d56e72d69f934244c5fd6006b3ac1db refs/remotes/origin/master
09b0cc1995dee85f8d99734a17aa41f6457e4e1e refs/tags/tag
017476f561960dfa388084cb376bffa335c5ee99 refs/tags/tag_annotated
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' show-ref
b67c1ffa2d56e72d69f934244c5fd6006b3ac1db refs/heads/master
b67c1ffa2d56e72d69f934244c5fd6006b3ac1db refs/remotes/origin/HEAD
90baa03934af04fc1ff2f7fd81ed5869f4a3e881 refs/remotes/origin/heads2/HEAD
90baa03934af04fc1ff2f7fd81ed5869f4a3e881 refs/remotes/origin/heads2/branch
b67c1ffa2d56e72d69f934244c5fd6006b3ac1db refs/remotes/origin/master
09b0cc1995dee85f8d99734a17aa41f6457e4e1e refs/tags/tag
017476f561960dfa388084cb376bffa335c5ee99 refs/tags/tag_annotated
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' show-ref --branches
b67c1ffa2d56e72d69f934244c5fd6006b3ac1db refs/heads/master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' show-ref --tags
09b0cc1995dee85f8d99734a17aa41f6457e4e1e refs/tags/tag
017476f561960dfa388084cb376bffa335c5ee99 refs/tags/tag_annotated
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' show-ref --branches --tags
b67c1ffa2d56e72d69f934244c5fd6006b3ac1db refs/heads/master
09b0cc1995dee85f8d99734a17aa41f6457e4e1e refs/tags/tag
017476f561960dfa388084cb376bffa335c5ee99 refs/tags/tag_annotated
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' branch --show-current
master
jhcarl0814@jhcarl0814 UCRT64 $?=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) d3880c7] 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' tag tag
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' tag --annotate --message='' tag_annotated
jhcarl0814@jhcarl0814 UCRT64 $?=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 c3d335f] 2
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' show-ref 'refs/heads2/branch'
d3880c72eea9aee6723724df5192877141df4c53 refs/heads2/branch
jhcarl0814@jhcarl0814 UCRT64 $?=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 79c87db] 3
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' branch --show-current
master
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --all --clear-decorations
* 79c87db - 2026-10-28 21:34 (3 seconds ago) 3 - Han Jiang (refs/heads2/branch, refs/heads2/HEAD)
| * c3d335f - 2026-10-28 21:34 (7 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
|/
* d3880c7 - 2026-10-28 21:34 (9 seconds ago) 1 - Han Jiang (tag: refs/tags/tag_annotated, tag: refs/tags/tag)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --clear-decorations HEAD2
* c3d335f - 2026-10-28 21:34 (7 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
* d3880c7 - 2026-10-28 21:34 (9 seconds ago) 1 - Han Jiang (tag: refs/tags/tag_annotated, tag: refs/tags/tag)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' show-ref
c3d335fd2e7d07a29c7161e3a44e85fa373988d7 refs/heads/master
c3d335fd2e7d07a29c7161e3a44e85fa373988d7 refs/remotes/origin/HEAD
c3d335fd2e7d07a29c7161e3a44e85fa373988d7 refs/remotes/origin/master
d3880c72eea9aee6723724df5192877141df4c53 refs/tags/tag
8fe281bb8a1a0985e612e6f9698ab2b2bebd2a87 refs/tags/tag_annotated
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' show-ref
c3d335fd2e7d07a29c7161e3a44e85fa373988d7 refs/heads/master
c3d335fd2e7d07a29c7161e3a44e85fa373988d7 refs/remotes/origin/HEAD
79c87dba8427bb9beac4bb736e7d36e987fe3811 refs/remotes/origin/heads2/HEAD
79c87dba8427bb9beac4bb736e7d36e987fe3811 refs/remotes/origin/heads2/branch
c3d335fd2e7d07a29c7161e3a44e85fa373988d7 refs/remotes/origin/master
d3880c72eea9aee6723724df5192877141df4c53 refs/tags/tag
8fe281bb8a1a0985e612e6f9698ab2b2bebd2a87 refs/tags/tag_annotated
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' show-ref --dereference
c3d335fd2e7d07a29c7161e3a44e85fa373988d7 refs/heads/master
c3d335fd2e7d07a29c7161e3a44e85fa373988d7 refs/remotes/origin/HEAD
79c87dba8427bb9beac4bb736e7d36e987fe3811 refs/remotes/origin/heads2/HEAD
79c87dba8427bb9beac4bb736e7d36e987fe3811 refs/remotes/origin/heads2/branch
c3d335fd2e7d07a29c7161e3a44e85fa373988d7 refs/remotes/origin/master
d3880c72eea9aee6723724df5192877141df4c53 refs/tags/tag
8fe281bb8a1a0985e612e6f9698ab2b2bebd2a87 refs/tags/tag_annotated
d3880c72eea9aee6723724df5192877141df4c53 refs/tags/tag_annotated^{}
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' show-ref --tags
d3880c72eea9aee6723724df5192877141df4c53 refs/tags/tag
8fe281bb8a1a0985e612e6f9698ab2b2bebd2a87 refs/tags/tag_annotated
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' show-ref --tags --dereference
d3880c72eea9aee6723724df5192877141df4c53 refs/tags/tag
8fe281bb8a1a0985e612e6f9698ab2b2bebd2a87 refs/tags/tag_annotated
d3880c72eea9aee6723724df5192877141df4c53 refs/tags/tag_annotated^{}
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' show-ref --branches --tags
c3d335fd2e7d07a29c7161e3a44e85fa373988d7 refs/heads/master
d3880c72eea9aee6723724df5192877141df4c53 refs/tags/tag
8fe281bb8a1a0985e612e6f9698ab2b2bebd2a87 refs/tags/tag_annotated
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' show-ref --branches --tags --dereference
c3d335fd2e7d07a29c7161e3a44e85fa373988d7 refs/heads/master
d3880c72eea9aee6723724df5192877141df4c53 refs/tags/tag
8fe281bb8a1a0985e612e6f9698ab2b2bebd2a87 refs/tags/tag_annotated
d3880c72eea9aee6723724df5192877141df4c53 refs/tags/tag_annotated^{}
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' branch --show-current
master
jhcarl0814@jhcarl0814 UCRT64 $?=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) e8b2f1c] 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' tag tag
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' tag --annotate --message='' tag_annotated
jhcarl0814@jhcarl0814 UCRT64 $?=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 9d2c370] 2
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' show-ref 'refs/heads2/branch'
e8b2f1c96d0a908cf410a711a6705f7cc81e0297 refs/heads2/branch
jhcarl0814@jhcarl0814 UCRT64 $?=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 1fa1fe7] 3
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' branch --show-current
master
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --all --clear-decorations
* 1fa1fe7 - 2026-10-28 21:34 (2 seconds ago) 3 - Han Jiang (refs/heads2/branch, refs/heads2/HEAD)
| * 9d2c370 - 2026-10-28 21:34 (6 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
|/
* e8b2f1c - 2026-10-28 21:34 (7 seconds ago) 1 - Han Jiang (tag: refs/tags/tag_annotated, tag: refs/tags/tag)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --clear-decorations HEAD2
* 9d2c370 - 2026-10-28 21:34 (7 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
* e8b2f1c - 2026-10-28 21:34 (8 seconds ago) 1 - Han Jiang (tag: refs/tags/tag_annotated, tag: refs/tags/tag)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' show-ref
9d2c370239207e14e075af85d94ca4645d3ec2e1 refs/heads/master
9d2c370239207e14e075af85d94ca4645d3ec2e1 refs/remotes/origin/HEAD
9d2c370239207e14e075af85d94ca4645d3ec2e1 refs/remotes/origin/master
e8b2f1c96d0a908cf410a711a6705f7cc81e0297 refs/tags/tag
e7f2f0b4a03f11c145def6fcb42dbf8757328f4e refs/tags/tag_annotated
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' show-ref
9d2c370239207e14e075af85d94ca4645d3ec2e1 refs/heads/master
9d2c370239207e14e075af85d94ca4645d3ec2e1 refs/remotes/origin/HEAD
1fa1fe7166255b32e5b5cd20052e54cc6c06f30c refs/remotes/origin/heads2/HEAD
1fa1fe7166255b32e5b5cd20052e54cc6c06f30c refs/remotes/origin/heads2/branch
9d2c370239207e14e075af85d94ca4645d3ec2e1 refs/remotes/origin/master
e8b2f1c96d0a908cf410a711a6705f7cc81e0297 refs/tags/tag
e7f2f0b4a03f11c145def6fcb42dbf8757328f4e refs/tags/tag_annotated
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' show-ref --head
9d2c370239207e14e075af85d94ca4645d3ec2e1 HEAD
9d2c370239207e14e075af85d94ca4645d3ec2e1 refs/heads/master
9d2c370239207e14e075af85d94ca4645d3ec2e1 refs/remotes/origin/HEAD
1fa1fe7166255b32e5b5cd20052e54cc6c06f30c refs/remotes/origin/heads2/HEAD
1fa1fe7166255b32e5b5cd20052e54cc6c06f30c refs/remotes/origin/heads2/branch
9d2c370239207e14e075af85d94ca4645d3ec2e1 refs/remotes/origin/master
e8b2f1c96d0a908cf410a711a6705f7cc81e0297 refs/tags/tag
e7f2f0b4a03f11c145def6fcb42dbf8757328f4e refs/tags/tag_annotated
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' branch --show-current
master
jhcarl0814@jhcarl0814 UCRT64 $?=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) affa9c1] 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' tag tag
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' tag --annotate --message='' tag_annotated
jhcarl0814@jhcarl0814 UCRT64 $?=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 137641d] 2
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' show-ref 'refs/heads2/branch'
affa9c11edd7fac31187c60e00a88c873471c72d refs/heads2/branch
jhcarl0814@jhcarl0814 UCRT64 $?=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 7ddcc7a] 3
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' branch --show-current
master
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --all --clear-decorations
* 7ddcc7a - 2026-10-28 21:34 (3 seconds ago) 3 - Han Jiang (refs/heads2/branch, refs/heads2/HEAD)
| * 137641d - 2026-10-28 21:34 (6 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
|/
* affa9c1 - 2026-10-28 21:34 (8 seconds ago) 1 - Han Jiang (tag: refs/tags/tag_annotated, tag: refs/tags/tag)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --clear-decorations HEAD2
* 137641d - 2026-10-28 21:34 (6 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
* affa9c1 - 2026-10-28 21:34 (8 seconds ago) 1 - Han Jiang (tag: refs/tags/tag_annotated, tag: refs/tags/tag)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' show-ref
137641dc28b81d7dfeef1908b7f40f103aec39f0 refs/heads/master
137641dc28b81d7dfeef1908b7f40f103aec39f0 refs/remotes/origin/HEAD
137641dc28b81d7dfeef1908b7f40f103aec39f0 refs/remotes/origin/master
affa9c11edd7fac31187c60e00a88c873471c72d refs/tags/tag
6d7f24e43e724964d08315b6169a168b2fd911f4 refs/tags/tag_annotated
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' show-ref
137641dc28b81d7dfeef1908b7f40f103aec39f0 refs/heads/master
137641dc28b81d7dfeef1908b7f40f103aec39f0 refs/remotes/origin/HEAD
7ddcc7af2117a463ecd277b5cc3ba6ecb73d7d44 refs/remotes/origin/heads2/HEAD
7ddcc7af2117a463ecd277b5cc3ba6ecb73d7d44 refs/remotes/origin/heads2/branch
137641dc28b81d7dfeef1908b7f40f103aec39f0 refs/remotes/origin/master
affa9c11edd7fac31187c60e00a88c873471c72d refs/tags/tag
6d7f24e43e724964d08315b6169a168b2fd911f4 refs/tags/tag_annotated
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' show-ref --verify HEAD
137641dc28b81d7dfeef1908b7f40f103aec39f0 HEAD
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' show-ref --verify --quiet HEAD
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' show-ref --exists HEAD
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' show-ref --verify --quiet HEAD2
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' show-ref --exists HEAD2
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=2 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' show-ref --verify 'refs/tags/tag'
affa9c11edd7fac31187c60e00a88c873471c72d refs/tags/tag
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' show-ref --exists 'refs/tags/tag'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' branch --show-current
master
jhcarl0814@jhcarl0814 UCRT64 $?=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) 7e4b476] 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' tag tag
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' tag --annotate --message='' tag_annotated
jhcarl0814@jhcarl0814 UCRT64 $?=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 5e0a4c8] 2
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' show-ref 'refs/heads2/branch'
7e4b47641f2d7ccf25db762e039b64a45afd4c4d refs/heads2/branch
jhcarl0814@jhcarl0814 UCRT64 $?=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 e01277b] 3
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' branch --show-current
master
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --all --clear-decorations
* e01277b - 2026-10-28 21:35 (3 seconds ago) 3 - Han Jiang (refs/heads2/branch, refs/heads2/HEAD)
| * 5e0a4c8 - 2026-10-28 21:35 (6 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
|/
* 7e4b476 - 2026-10-28 21:35 (8 seconds ago) 1 - Han Jiang (tag: refs/tags/tag_annotated, tag: refs/tags/tag)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --clear-decorations HEAD2
* 5e0a4c8 - 2026-10-28 21:35 (6 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
* 7e4b476 - 2026-10-28 21:35 (8 seconds ago) 1 - Han Jiang (tag: refs/tags/tag_annotated, tag: refs/tags/tag)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' show-ref
5e0a4c8e8a57c60f7ef285a2d1c2657f9ec1e116 refs/heads/master
5e0a4c8e8a57c60f7ef285a2d1c2657f9ec1e116 refs/remotes/origin/HEAD
5e0a4c8e8a57c60f7ef285a2d1c2657f9ec1e116 refs/remotes/origin/master
7e4b47641f2d7ccf25db762e039b64a45afd4c4d refs/tags/tag
201608d15b1614120f6ae9c31e64ef2deb3cbb26 refs/tags/tag_annotated
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' show-ref
5e0a4c8e8a57c60f7ef285a2d1c2657f9ec1e116 refs/heads/master
5e0a4c8e8a57c60f7ef285a2d1c2657f9ec1e116 refs/remotes/origin/HEAD
e01277bcd871f44591452652a9c6c9d21da73628 refs/remotes/origin/heads2/HEAD
e01277bcd871f44591452652a9c6c9d21da73628 refs/remotes/origin/heads2/branch
5e0a4c8e8a57c60f7ef285a2d1c2657f9ec1e116 refs/remotes/origin/master
7e4b47641f2d7ccf25db762e039b64a45afd4c4d refs/tags/tag
201608d15b1614120f6ae9c31e64ef2deb3cbb26 refs/tags/tag_annotated
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server1/repo.git' branch --show-current
master
jhcarl0814@jhcarl0814 UCRT64 $?=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) 3fa4ec4] 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server1/repo.git' tag tag
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server1/repo.git' tag --annotate --message='' tag_annotated
jhcarl0814@jhcarl0814 UCRT64 $?=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 7c5caa6] 2
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server1/repo.git' show-ref 'refs/heads2/branch'
3fa4ec4b01e9c5654cc6c6c3fcb49364a017ef1d refs/heads2/branch
jhcarl0814@jhcarl0814 UCRT64 $?=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 3b80fa3] 3
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server1/repo.git' branch --show-current
master
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server1/repo.git' lg --all --clear-decorations
* 3b80fa3 - 2026-10-28 21:35 (2 seconds ago) 3 - Han Jiang (refs/heads2/branch, refs/heads2/HEAD)
| * 7c5caa6 - 2026-10-28 21:35 (6 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
|/
* 3fa4ec4 - 2026-10-28 21:35 (7 seconds ago) 1 - Han Jiang (tag: refs/tags/tag_annotated, tag: refs/tags/tag)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server1/repo.git' lg --clear-decorations HEAD2
* 7c5caa6 - 2026-10-28 21:35 (7 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
* 3fa4ec4 - 2026-10-28 21:35 (8 seconds ago) 1 - Han Jiang (tag: refs/tags/tag_annotated, tag: refs/tags/tag)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server2/repo.git' lg --all --clear-decorations
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote add server1 '../../server1/repo.git'
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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
7c5caa677b89f25052775cb18a5ce57994fdff89 HEAD
7c5caa677b89f25052775cb18a5ce57994fdff89 refs/heads/master
3b80fa3275293e5c93e289001360d18996ab8d23 refs/heads2/HEAD
3b80fa3275293e5c93e289001360d18996ab8d23 refs/heads2/branch
3fa4ec4b01e9c5654cc6c6c3fcb49364a017ef1d refs/tags/tag
391f8084eb60d14648c70285f5eba2665ca52d12 refs/tags/tag_annotated
3fa4ec4b01e9c5654cc6c6c3fcb49364a017ef1d refs/tags/tag_annotated^{}
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' ls-remote server1
7c5caa677b89f25052775cb18a5ce57994fdff89 HEAD
7c5caa677b89f25052775cb18a5ce57994fdff89 refs/heads/master
3b80fa3275293e5c93e289001360d18996ab8d23 refs/heads2/HEAD
3b80fa3275293e5c93e289001360d18996ab8d23 refs/heads2/branch
3fa4ec4b01e9c5654cc6c6c3fcb49364a017ef1d refs/tags/tag
391f8084eb60d14648c70285f5eba2665ca52d12 refs/tags/tag_annotated
3fa4ec4b01e9c5654cc6c6c3fcb49364a017ef1d refs/tags/tag_annotated^{}
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' ls-remote server2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' ls-remote '.'
jhcarl0814@jhcarl0814 UCRT64 $?=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), 333 bytes | 20.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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' ls-remote '.'
7c5caa677b89f25052775cb18a5ce57994fdff89 refs/remotes/server1/HEAD
7c5caa677b89f25052775cb18a5ce57994fdff89 refs/remotes/server1/master
3fa4ec4b01e9c5654cc6c6c3fcb49364a017ef1d refs/tags/tag
391f8084eb60d14648c70285f5eba2665ca52d12 refs/tags/tag_annotated
3fa4ec4b01e9c5654cc6c6c3fcb49364a017ef1d refs/tags/tag_annotated^{}
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' ls-remote '.'
7c5caa677b89f25052775cb18a5ce57994fdff89 HEAD
7c5caa677b89f25052775cb18a5ce57994fdff89 refs/heads/master
7c5caa677b89f25052775cb18a5ce57994fdff89 refs/remotes/server1/HEAD
7c5caa677b89f25052775cb18a5ce57994fdff89 refs/remotes/server1/master
3fa4ec4b01e9c5654cc6c6c3fcb49364a017ef1d refs/tags/tag
391f8084eb60d14648c70285f5eba2665ca52d12 refs/tags/tag_annotated
3fa4ec4b01e9c5654cc6c6c3fcb49364a017ef1d refs/tags/tag_annotated^{}
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' branch --show-current
master
jhcarl0814@jhcarl0814 UCRT64 $?=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) 05e238b] 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' tag tag
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' tag --annotate --message='' tag_annotated
jhcarl0814@jhcarl0814 UCRT64 $?=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 a7f8d46] 2
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' show-ref 'refs/heads2/branch'
05e238bd83e4728a71687ca8f367081db475311f refs/heads2/branch
jhcarl0814@jhcarl0814 UCRT64 $?=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 dde30b1] 3
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' branch --show-current
master
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --all --clear-decorations
* dde30b1 - 2026-10-28 21:35 (3 seconds ago) 3 - Han Jiang (refs/heads2/branch, refs/heads2/HEAD)
| * a7f8d46 - 2026-10-28 21:35 (6 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
|/
* 05e238b - 2026-10-28 21:35 (8 seconds ago) 1 - Han Jiang (tag: refs/tags/tag_annotated, tag: refs/tags/tag)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --clear-decorations HEAD2
* a7f8d46 - 2026-10-28 21:35 (6 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
* 05e238b - 2026-10-28 21:35 (8 seconds ago) 1 - Han Jiang (tag: refs/tags/tag_annotated, tag: refs/tags/tag)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git ls-remote './server/repo.git'
a7f8d46cbfb6476202d05d66c6fa1b9357e302b7 HEAD
a7f8d46cbfb6476202d05d66c6fa1b9357e302b7 refs/heads/master
dde30b166582252a629c143428eec5d9d64ffde0 refs/heads2/HEAD
dde30b166582252a629c143428eec5d9d64ffde0 refs/heads2/branch
05e238bd83e4728a71687ca8f367081db475311f refs/tags/tag
1909e5c4ec77e0f014d8b9f4d6710e7022a3a527 refs/tags/tag_annotated
05e238bd83e4728a71687ca8f367081db475311f refs/tags/tag_annotated^{}
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git ls-remote './server/repo.git' HEAD
a7f8d46cbfb6476202d05d66c6fa1b9357e302b7 HEAD
dde30b166582252a629c143428eec5d9d64ffde0 refs/heads2/HEAD
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git ls-remote './server/repo.git' HEAD2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' branch --show-current
master
jhcarl0814@jhcarl0814 UCRT64 $?=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) 2481a85] 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' tag tag
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' tag --annotate --message='' tag_annotated
jhcarl0814@jhcarl0814 UCRT64 $?=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 3cbf272] 2
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' show-ref 'refs/heads2/branch'
2481a85722da1209c82d42ec9c69f59717bded77 refs/heads2/branch
jhcarl0814@jhcarl0814 UCRT64 $?=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 ce1e6d1] 3
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' branch --show-current
master
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --all --clear-decorations
* ce1e6d1 - 2026-10-28 21:36 (2 seconds ago) 3 - Han Jiang (refs/heads2/branch, refs/heads2/HEAD)
| * 3cbf272 - 2026-10-28 21:35 (6 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
|/
* 2481a85 - 2026-10-28 21:35 (7 seconds ago) 1 - Han Jiang (tag: refs/tags/tag_annotated, tag: refs/tags/tag)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --clear-decorations HEAD2
* 3cbf272 - 2026-10-28 21:35 (7 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
* 2481a85 - 2026-10-28 21:35 (8 seconds ago) 1 - Han Jiang (tag: refs/tags/tag_annotated, tag: refs/tags/tag)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git ls-remote './server/repo.git'
3cbf2728e665dfb4afeb153de5810e65d6f1c462 HEAD
3cbf2728e665dfb4afeb153de5810e65d6f1c462 refs/heads/master
ce1e6d1093356742a7cf029efb0b9e2b17ba2eae refs/heads2/HEAD
ce1e6d1093356742a7cf029efb0b9e2b17ba2eae refs/heads2/branch
2481a85722da1209c82d42ec9c69f59717bded77 refs/tags/tag
bf58757e808745fb2343f6b266f752c344b1c57b refs/tags/tag_annotated
2481a85722da1209c82d42ec9c69f59717bded77 refs/tags/tag_annotated^{}
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git ls-remote --refs './server/repo.git'
3cbf2728e665dfb4afeb153de5810e65d6f1c462 refs/heads/master
ce1e6d1093356742a7cf029efb0b9e2b17ba2eae refs/heads2/HEAD
ce1e6d1093356742a7cf029efb0b9e2b17ba2eae refs/heads2/branch
2481a85722da1209c82d42ec9c69f59717bded77 refs/tags/tag
bf58757e808745fb2343f6b266f752c344b1c57b refs/tags/tag_annotated
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git ls-remote --symref './server/repo.git'
ref: refs/heads/master HEAD
3cbf2728e665dfb4afeb153de5810e65d6f1c462 HEAD
3cbf2728e665dfb4afeb153de5810e65d6f1c462 refs/heads/master
ref: refs/heads2/branch refs/heads2/HEAD
ce1e6d1093356742a7cf029efb0b9e2b17ba2eae refs/heads2/HEAD
ce1e6d1093356742a7cf029efb0b9e2b17ba2eae refs/heads2/branch
2481a85722da1209c82d42ec9c69f59717bded77 refs/tags/tag
bf58757e808745fb2343f6b266f752c344b1c57b refs/tags/tag_annotated
2481a85722da1209c82d42ec9c69f59717bded77 refs/tags/tag_annotated^{}
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git ls-remote --symref --refs './server/repo.git'
3cbf2728e665dfb4afeb153de5810e65d6f1c462 refs/heads/master
ref: refs/heads2/branch refs/heads2/HEAD
ce1e6d1093356742a7cf029efb0b9e2b17ba2eae refs/heads2/HEAD
ce1e6d1093356742a7cf029efb0b9e2b17ba2eae refs/heads2/branch
2481a85722da1209c82d42ec9c69f59717bded77 refs/tags/tag
bf58757e808745fb2343f6b266f752c344b1c57b refs/tags/tag_annotated
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git ls-remote --branches './server/repo.git'
3cbf2728e665dfb4afeb153de5810e65d6f1c462 refs/heads/master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git ls-remote --tags './server/repo.git'
2481a85722da1209c82d42ec9c69f59717bded77 refs/tags/tag
bf58757e808745fb2343f6b266f752c344b1c57b refs/tags/tag_annotated
2481a85722da1209c82d42ec9c69f59717bded77 refs/tags/tag_annotated^{}
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git ls-remote --tags --refs './server/repo.git'
2481a85722da1209c82d42ec9c69f59717bded77 refs/tags/tag
bf58757e808745fb2343f6b266f752c344b1c57b refs/tags/tag_annotated
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git ls-remote --branches --tags './server/repo.git'
3cbf2728e665dfb4afeb153de5810e65d6f1c462 refs/heads/master
2481a85722da1209c82d42ec9c69f59717bded77 refs/tags/tag
bf58757e808745fb2343f6b266f752c344b1c57b refs/tags/tag_annotated
2481a85722da1209c82d42ec9c69f59717bded77 refs/tags/tag_annotated^{}
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git ls-remote --branches --tags --refs './server/repo.git'
3cbf2728e665dfb4afeb153de5810e65d6f1c462 refs/heads/master
2481a85722da1209c82d42ec9c69f59717bded77 refs/tags/tag
bf58757e808745fb2343f6b266f752c344b1c57b refs/tags/tag_annotated
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --show-current
master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --list --all
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --list --all --verbose
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --list --all --verbose --verbose
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master (root-commit) 34cc3b2] 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --show-current
master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --list --all
* master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --list --all --verbose
* master 34cc3b2 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --list --all --verbose --verbose
* master 34cc3b2 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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) 3ee6482] 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' branch branch1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --verbose --verbose
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --remotes --verbose --verbose
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
jhcarl0814@jhcarl0814 UCRT64 $?=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), 139 bytes | 19.00 KiB/s, done.
From file:///test_git/server/repo
* [new branch] branch1 -> server/branch1
* [new branch] master -> server/master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --verbose --verbose
jhcarl0814@jhcarl0814 UCRT64 $?=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 3ee6482 1
server/master 3ee6482 1
jhcarl0814@jhcarl0814 UCRT64 $?=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 3ee6482 1
remotes/server/master 3ee6482 1
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --verbose --verbose
* branch1 3ee6482 [server/branch1] 1
jhcarl0814@jhcarl0814 UCRT64 $?=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 3ee6482 1
server/master 3ee6482 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
* branch1 3ee6482 [server/branch1] 1
remotes/server/HEAD -> server/master
remotes/server/branch1 3ee6482 1
remotes/server/master 3ee6482 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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) 92e32cc] 1
Switched to a new branch 'branch1'
jhcarl0814@jhcarl0814 UCRT64 $?=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 c5d295b] 2
jhcarl0814@jhcarl0814 UCRT64 $?=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 58eaee5] 3
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* bbd1e96 - 2026-10-28 21:36 (1 second ago) 4 - Han Jiang (HEAD -> refs/heads/branch4)
|\
| * 58eaee5 - 2026-10-28 21:36 (2 seconds ago) 3 - Han Jiang (refs/heads/branch3)
* | c5d295b - 2026-10-28 21:36 (2 seconds ago) 2 - Han Jiang (refs/heads/branch2)
|/
* 92e32cc - 2026-10-28 21:36 (3 seconds ago) 1 - Han Jiang (refs/heads/master, refs/heads/branch1)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --list --all --verbose --verbose --contains=branch2
branch2 c5d295b 2
* branch4 bbd1e96 4
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --list --all --verbose --verbose --contains=branch3
branch3 58eaee5 3
* branch4 bbd1e96 4
jhcarl0814@jhcarl0814 UCRT64 $?=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 c5d295b 2
branch3 58eaee5 3
* branch4 bbd1e96 4
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --list --all --verbose --verbose --no-contains=branch2
branch1 92e32cc 1
branch3 58eaee5 3
master 92e32cc 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --list --all --verbose --verbose --no-contains=branch3
branch1 92e32cc 1
branch2 c5d295b 2
master 92e32cc 1
jhcarl0814@jhcarl0814 UCRT64 $?=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 92e32cc 1
master 92e32cc 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --list --all --verbose --verbose --merged=branch2
branch1 92e32cc 1
branch2 c5d295b 2
master 92e32cc 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --list --all --verbose --verbose --merged=branch3
branch1 92e32cc 1
branch3 58eaee5 3
master 92e32cc 1
jhcarl0814@jhcarl0814 UCRT64 $?=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 92e32cc 1
branch2 c5d295b 2
branch3 58eaee5 3
master 92e32cc 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --list --all --verbose --verbose --no-merged=branch2
branch3 58eaee5 3
* branch4 bbd1e96 4
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --list --all --verbose --verbose --no-merged=branch3
branch2 c5d295b 2
* branch4 bbd1e96 4
jhcarl0814@jhcarl0814 UCRT64 $?=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 bbd1e96 4
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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) 6270e6c] 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' branch branch1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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), 139 bytes | 23.00 KiB/s, done.
From file:///test_git/server/repo
* [new branch] branch1 -> server/branch1
* [new branch] master -> server/master
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
* branch1 6270e6c [server/branch1] 1
remotes/server/HEAD -> server/master
remotes/server/branch1 6270e6c 1
remotes/server/master 6270e6c 1
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 6270e6c 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose branch1
* branch1 6270e6c [server/branch1] 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose '*branch1'
* branch1 6270e6c [server/branch1] 1
remotes/server/branch1 6270e6c 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose '*r*n*'
* branch1 6270e6c [server/branch1] 1
remotes/server/branch1 6270e6c 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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) a3e78bf] 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' branch branch1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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), 139 bytes | 19.00 KiB/s, done.
From file:///test_git/server/repo
* [new branch] branch1 -> server/branch1
* [new branch] master -> server/master
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
* branch1 a3e78bf [server/branch1] 1
remotes/server/HEAD -> server/master
remotes/server/branch1 a3e78bf 1
remotes/server/master a3e78bf 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose --forked='refs/remotes/server/branch1'
* branch1 a3e78bf [server/branch1] 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose --forked='remotes/server/branch1'
* branch1 a3e78bf [server/branch1] 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose --forked='server/branch1'
* branch1 a3e78bf [server/branch1] 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose --forked='server/*branch1'
* branch1 a3e78bf [server/branch1] 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose --forked='server/*r*n*'
* branch1 a3e78bf [server/branch1] 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose --forked=server
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose --forked='server/*a*'
* branch1 a3e78bf [server/branch1] 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ branch_remote_default_path="$(git -C './client/repo' symbolic-ref 'refs/remotes/server/HEAD')"; echo "$branch_remote_default_path"
refs/remotes/server/master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ branch_remote_default_name="${branch_remote_default_path#'refs/remotes/server/'}"; echo "$branch_remote_default_name"
master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' checkout "$branch_remote_default_name"
branch 'master' set up to track 'server/master'.
Switched to a new branch 'master'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
branch1 a3e78bf [server/branch1] 1
* master a3e78bf [server/master] 1
remotes/server/HEAD -> server/master
remotes/server/branch1 a3e78bf 1
remotes/server/master a3e78bf 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose --forked=server
* master a3e78bf [server/master] 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose --forked='server/*a*'
branch1 a3e78bf [server/branch1] 1
* master a3e78bf [server/master] 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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) 83fbd0c] 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' branch branch1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
jhcarl0814@jhcarl0814 UCRT64 $?=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), 139 bytes | 19.00 KiB/s, done.
From file:///test_git/server/repo
* [new branch] branch1 -> server/branch1
* [new branch] master -> server/master
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 83fbd0c 1
remotes/server/master 83fbd0c 1
jhcarl0814@jhcarl0814 UCRT64 $?=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 83fbd0c 1
remotes/server/master 83fbd0c 1
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose
* branch1 83fbd0c 1
remotes/server/HEAD -> server/master
remotes/server/branch1 83fbd0c 1
remotes/server/master 83fbd0c 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
* branch1 83fbd0c [server/branch1] 1
remotes/server/HEAD -> server/master
remotes/server/branch1 83fbd0c 1
remotes/server/master 83fbd0c 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master (root-commit) 303c6de] 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --list --all --verbose
* master 303c6de 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --list --all --verbose --abbrev
* master 303c6de 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --list --all --verbose --no-abbrev
* master 303c6de37d11b680f3cb0b6087aab00384fb5d67 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --list --all --verbose --verbose
* master 303c6de 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --list --all --verbose --verbose --abbrev
* master 303c6de 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --list --all --verbose --verbose --no-abbrev
* master 303c6de37d11b680f3cb0b6087aab00384fb5d67 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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) 24b7285] 1
jhcarl0814@jhcarl0814 UCRT64 $?=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 30c7994] 2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' branch branch1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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), 205 bytes | 4.00 KiB/s, done.
From file:///test_git/server/repo
* [new branch] branch1 -> server/branch1
* [new branch] master -> server/master
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch branch2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' reset HEAD~1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' commit --message="$((++number))" --allow-empty
[branch1 d18bdb8] 3
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all
* d18bdb8 - 2026-10-28 21:37 (1 second ago) 3 - Han Jiang (HEAD -> refs/heads/branch1)
| * 30c7994 - 2026-10-28 21:37 (5 seconds ago) 2 - Han Jiang (refs/remotes/server/master, refs/remotes/server/branch1, refs/remotes/server/HEAD, refs/heads/branch2)
|/
* 24b7285 - 2026-10-28 21:37 (6 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 UCRT64 $?=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 d18bdb8b8284f418adf2019082c81851f0978949 (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 30c7994f1ca0b664c778988a9e8ff34bbb17369a
refs/remotes/server/HEAD 30c7994f1ca0b664c778988a9e8ff34bbb17369a
refs/remotes/server/branch1 30c7994f1ca0b664c778988a9e8ff34bbb17369a
refs/remotes/server/master 30c7994f1ca0b664c778988a9e8ff34bbb17369a
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 d18bdb8b8284f418adf2019082c81851f0978949 (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 30c7994f1ca0b664c778988a9e8ff34bbb17369a
refs/remotes/server/HEAD 30c7994f1ca0b664c778988a9e8ff34bbb17369a
refs/remotes/server/branch1 30c7994f1ca0b664c778988a9e8ff34bbb17369a
refs/remotes/server/master 30c7994f1ca0b664c778988a9e8ff34bbb17369a
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 d18bdb8 3
jhcarl0814@jhcarl0814 UCRT64 $?=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 d18bdb8 [branch1]
C:/Program Files/Git/test_git/client/worktree1 d18bdb8 [branch1]
jhcarl0814@jhcarl0814 UCRT64 $?=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 d18bdb8b8284f418adf2019082c81851f0978949 (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 30c7994f1ca0b664c778988a9e8ff34bbb17369a
refs/remotes/server/HEAD 30c7994f1ca0b664c778988a9e8ff34bbb17369a
refs/remotes/server/branch1 30c7994f1ca0b664c778988a9e8ff34bbb17369a
refs/remotes/server/master 30c7994f1ca0b664c778988a9e8ff34bbb17369a
jhcarl0814@jhcarl0814 UCRT64 $?=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 d18bdb8 3
jhcarl0814@jhcarl0814 UCRT64 $?=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 d18bdb8 [branch1]
C:/Program Files/Git/test_git/client/worktree1 d18bdb8 [branch1]
C:/Program Files/Git/test_git/client/worktree2 d18bdb8 [branch1]
jhcarl0814@jhcarl0814 UCRT64 $?=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 d18bdb8b8284f418adf2019082c81851f0978949 (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 30c7994f1ca0b664c778988a9e8ff34bbb17369a
refs/remotes/server/HEAD 30c7994f1ca0b664c778988a9e8ff34bbb17369a
refs/remotes/server/branch1 30c7994f1ca0b664c778988a9e8ff34bbb17369a
refs/remotes/server/master 30c7994f1ca0b664c778988a9e8ff34bbb17369a
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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) b9f271e] 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' branch branch1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
* branch1 b9f271e [server/branch1] 1
remotes/server/HEAD -> server/master
remotes/server/branch1 b9f271e 1
remotes/server/master b9f271e 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch branch21 branch1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --no-track branch22 branch1
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
* branch1 b9f271e [server/branch1] 1
branch21 b9f271e 1
branch22 b9f271e 1
branch23 b9f271e [branch1] 1
branch24 b9f271e [server/branch1] 1
branch31 b9f271e 1
branch311 b9f271e [branch1] 1
branch312 b9f271e [server/branch1] 1
branch32 b9f271e [branch1] 1
branch321 b9f271e 1
branch33 b9f271e [server/branch1] 1
branch331 b9f271e 1
remotes/server/HEAD -> server/master
remotes/server/branch1 b9f271e 1
remotes/server/master b9f271e 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master (root-commit) 5842f06] 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch branch1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --no-create-reflog branch11
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --create-reflog branch12
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' -c 'core.logAllRefUpdates=false' branch branch2
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' -c 'core.logAllRefUpdates=true' branch branch3
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --list --all --verbose --verbose
branch1 5842f06 1
branch11 5842f06 1
branch12 5842f06 1
branch2 5842f06 1
branch21 5842f06 1
branch3 5842f06 1
branch31 5842f06 1
* master 5842f06 1
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master (root-commit) 0cc7f39] 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch branch1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master 65ad9a3] 2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch branch2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 65ad9a3 - 2026-10-28 21:38 (1 second ago) 2 - Han Jiang (HEAD -> refs/heads/master, refs/heads/branch2)
* 0cc7f39 - 2026-10-28 21:38 (2 seconds ago) 1 - Han Jiang (refs/heads/branch1)
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --move --force branch2 branch1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 65ad9a3 - 2026-10-28 21:38 (3 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master, refs/heads/branch1)
* 0cc7f39 - 2026-10-28 21:38 (4 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master (root-commit) 2171846] 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch branch1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master e2860f3] 2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch branch2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1
Switched to branch 'branch1'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* e2860f3 - 2026-10-28 21:38 (2 seconds ago) 2 - Han Jiang (refs/heads/master, refs/heads/branch2)
* 2171846 - 2026-10-28 21:38 (3 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/branch1)
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master (root-commit) fa34f84] 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch branch1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master b406837] 2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch branch2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* b406837 - 2026-10-28 21:38 (1 second ago) 2 - Han Jiang (HEAD -> refs/heads/master, refs/heads/branch2)
* fa34f84 - 2026-10-28 21:38 (2 seconds ago) 1 - Han Jiang (refs/heads/branch1)
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --copy --force branch2 branch1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* b406837 - 2026-10-28 21:38 (3 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master, refs/heads/branch2, refs/heads/branch1)
* fa34f84 - 2026-10-28 21:38 (4 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master (root-commit) 7c621b3] 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch branch1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master 6f120a8] 2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch branch2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1
Switched to branch 'branch1'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 6f120a8 - 2026-10-28 21:38 (2 seconds ago) 2 - Han Jiang (refs/heads/master, refs/heads/branch2)
* 7c621b3 - 2026-10-28 21:38 (3 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/branch1)
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master (root-commit) 24eb361] 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master b35be25] 2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch branch1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' reset --hard HEAD~1
HEAD is now at 24eb361 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --list --all --verbose --verbose
branch1 b35be25 2
* master 24eb361 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* b35be25 - 2026-10-28 21:39 (2 seconds ago) 2 - Han Jiang (refs/heads/branch1)
* 24eb361 - 2026-10-28 21:39 (2 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master)
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --delete --force branch1
Deleted branch branch1 (was b35be25).
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --list --all --verbose --verbose
* master 24eb361 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 24eb361 - 2026-10-28 21:39 (4 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master (root-commit) e86eefb] 1
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --list --all --verbose --verbose
* branch1 e86eefb 1
master e86eefb 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* e86eefb - 2026-10-28 21:39 (2 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/branch1, refs/heads/master)
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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) f695258] 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' branch branch1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --show-current
master
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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), 139 bytes | 15.00 KiB/s, done.
From file:///test_git/server/repo
* [new branch] branch1 -> server/branch1
* [new branch] master -> server/master
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
* branch1 f695258 [server/branch1] 1
remotes/server/HEAD -> server/master
remotes/server/branch1 f695258 1
remotes/server/master f695258 1
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' symbolic-ref HEAD "$branch_default_path"
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' symbolic-ref HEAD
refs/heads/master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --show-current
master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --delete branch1
Deleted branch branch1 (was f695258).
jhcarl0814@jhcarl0814 UCRT64 $?=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 f695258 1
remotes/server/master f695258 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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) c101b1f] 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' branch branch1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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), 139 bytes | 23.00 KiB/s, done.
From file:///test_git/server/repo
* [new branch] branch1 -> server/branch1
* [new branch] master -> server/master
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
* branch1 c101b1f [server/branch1] 1
remotes/server/HEAD -> server/master
remotes/server/branch1 c101b1f 1
remotes/server/master c101b1f 1
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 c101b1f).
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
* branch1 c101b1f [server/branch1: gone] 1
remotes/server/HEAD -> server/master
remotes/server/master c101b1f 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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) 413f61c] 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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), 139 bytes | 17.00 KiB/s, done.
From file:///test_git/server/repo
* [new branch] master -> server/master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ branch_remote_default_path="$(git -C './client/repo' symbolic-ref 'refs/remotes/server/HEAD')"; echo "$branch_remote_default_path"
refs/remotes/server/master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ branch_remote_default_name="${branch_remote_default_path#'refs/remotes/server/'}"; echo "$branch_remote_default_name"
master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' checkout -b branch1 'server/'"$branch_remote_default_name"
branch 'branch1' set up to track 'server/master'.
Switched to a new branch 'branch1'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
* branch1 413f61c [server/master] 1
remotes/server/HEAD -> server/master
remotes/server/master 413f61c 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all
* 413f61c - 2026-10-28 21:39 (5 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/branch1, refs/remotes/server/master, refs/remotes/server/HEAD)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 fe5ed99] 2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch --all
remote: Enumerating objects: 1, done.
remote: Counting objects: 100% (1/1), done.
remote: Total 1 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (1/1), 158 bytes | 52.00 KiB/s, done.
From file:///test_git/server/repo
413f61c..fe5ed99 master -> server/master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' checkout -b branch2 'server/'"$branch_remote_default_name"
branch 'branch2' set up to track 'server/master'.
Switched to a new branch 'branch2'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' checkout -b branch3 'server/'"$branch_remote_default_name"; git -C './client/repo' commit --message="$((++number))" --allow-empty
branch 'branch3' set up to track 'server/master'.
Switched to a new branch 'branch3'
[branch3 e012bed] 3
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
branch1 413f61c [server/master: behind 1] 1
branch2 fe5ed99 [server/master] 2
* branch3 e012bed [server/master: ahead 1] 3
remotes/server/HEAD -> server/master
remotes/server/master fe5ed99 2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all
* e012bed - 2026-10-28 21:39 (1 second ago) 3 - Han Jiang (HEAD -> refs/heads/branch3)
* fe5ed99 - 2026-10-28 21:39 (4 seconds ago) 2 - Han Jiang (refs/remotes/server/master, refs/remotes/server/HEAD, refs/heads/branch2)
* 413f61c - 2026-10-28 21:39 (9 seconds ago) 1 - Han Jiang (refs/heads/branch1)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --dry-run --delete-merged='server/'"$branch_remote_default_name"
Would delete branch branch2 (was fe5ed99).
Would delete branch branch1 (was 413f61c).
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --dry-run --delete-merged='server/'"$branch_remote_default_name" '*1'
Would delete branch branch1 (was 413f61c).
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --dry-run --delete-merged='server/'"$branch_remote_default_name" '*2'
Would delete branch branch2 (was fe5ed99).
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --dry-run --delete-merged='server/'"$branch_remote_default_name" '*3'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --dry-run --delete-merged='server/'"$branch_remote_default_name" '*1' '*2' '*3'
Would delete branch branch2 (was fe5ed99).
Would delete branch branch1 (was 413f61c).
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --delete-merged='server/'"$branch_remote_default_name"
Deleted branch branch2 (was fe5ed99).
Deleted branch branch1 (was 413f61c).
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
* branch3 e012bed [server/master: ahead 1] 3
remotes/server/HEAD -> server/master
remotes/server/master fe5ed99 2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all
* e012bed - 2026-10-28 21:39 (4 seconds ago) 3 - Han Jiang (HEAD -> refs/heads/branch3)
* fe5ed99 - 2026-10-28 21:39 (7 seconds ago) 2 - Han Jiang (refs/remotes/server/master, refs/remotes/server/HEAD)
* 413f61c - 2026-10-28 21:39 (12 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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) 8f82f00] 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' branch branch1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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), 139 bytes | 17.00 KiB/s, done.
From file:///test_git/server/repo
* [new branch] branch1 -> server/branch1
* [new branch] master -> server/master
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --unset-upstream branch1
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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) 37a0553] 1
jhcarl0814@jhcarl0814 UCRT64 $?=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 eb5e887] 2
jhcarl0814@jhcarl0814 UCRT64 $?=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 37a0553 1
[master 54ee768] 3
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 4dc4c47 - 2026-10-28 21:40 (1 second ago) 4 - Han Jiang (HEAD -> refs/heads/master, tag: refs/tags/tag4)
|\
| * eb5e887 - 2026-10-28 21:40 (3 seconds ago) 2 - Han Jiang (tag: refs/tags/tag2)
* | 54ee768 - 2026-10-28 21:40 (2 seconds ago) 3 - Han Jiang (tag: refs/tags/tag3)
|/
* 37a0553 - 2026-10-28 21:40 (4 seconds ago) 1 - Han Jiang (tag: refs/tags/tag1)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' tag --list --contains=tag2
tag2
tag4
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' tag --list --contains=tag3
tag3
tag4
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' tag --list --no-contains=tag2
tag1
tag3
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' tag --list --no-contains=tag3
tag1
tag2
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' tag --list --merged=tag2
tag1
tag2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' tag --list --merged=tag3
tag1
tag3
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' tag --list --no-merged=tag2
tag3
tag4
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' tag --list --no-merged=tag3
tag2
tag4
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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) c8354ae] 1 2 3 4
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' tag tag1
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' tag --list
tag1
tag2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' tag --list -n
tag1 1
tag2 5
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ export GNUPGHOME="$(realpath '.')"'/.gnupg'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ mkdir --parents -- "$GNUPGHOME"
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ touch -- "$GNUPGHOME"'/common.conf'
jhcarl0814@jhcarl0814 UCRT64 $?=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:1793176837:0:3:1:5
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ gpg --list-secret-keys --with-colons
jhcarl0814@jhcarl0814 UCRT64 $?=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/0AA46B13636604B6F19FE39DCE50EA1DE37FEDEB.rev'
public and secret key created and signed.
pub ed25519 2026-10-28 [SC] [expires: 2029-10-27]
0AA46B13636604B6F19FE39DCE50EA1DE37FEDEB
uid Han Jiang <jhcarl0814@gmail.com>
sub cv25519 2026-10-28 [E]
jhcarl0814@jhcarl0814 UCRT64 $?=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-10-27
tru:o:1:1793176837:1:3:1:5
pub:u:255:22:CE50EA1DE37FEDEB:1793176838:1887784838::u:::scESC:::::ed25519:::0:
fpr:::::::::0AA46B13636604B6F19FE39DCE50EA1DE37FEDEB:
grp:::::::::A6109494F2CA6F138A58E970E396D4194C567BF6:
uid:u::::1793176838::E7C6FA1B44CE84FDE9CBEAB5ECDA7C3664640E65::Han Jiang <jhcarl0814@gmail.com>::::::::::0:
sub:u:255:18:60AF14D973BCF317:1793176838::::::e:::::cv25519::
fpr:::::::::65110AEC91F6B9554839A2C360AF14D973BCF317:
grp:::::::::35F3A8921CE4E224BBF1CCAAE4B4713A4583DE9C:
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ gpg --list-secret-keys --with-colons
sec:u:255:22:CE50EA1DE37FEDEB:1793176838:1887784838::u:::scESC:::+::ed25519:::0:
fpr:::::::::0AA46B13636604B6F19FE39DCE50EA1DE37FEDEB:
grp:::::::::A6109494F2CA6F138A58E970E396D4194C567BF6:
uid:u::::1793176838::E7C6FA1B44CE84FDE9CBEAB5ECDA7C3664640E65::Han Jiang <jhcarl0814@gmail.com>::::::::::0:
ssb:u:255:18:60AF14D973BCF317:1793176838::::::e:::+::cv25519::
fpr:::::::::65110AEC91F6B9554839A2C360AF14D973BCF317:
grp:::::::::35F3A8921CE4E224BBF1CCAAE4B4713A4583DE9C:
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master (root-commit) 0779a81] 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' tag tag1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' tag --annotate --message="$((++number))" tag2
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 0779a81 - 2026-10-28 21:40 (2 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, tag: refs/tags/tag2, tag: refs/tags/tag1)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' for-each-ref refs/tags
0779a81f01ca53b4e5f0c88cc450e2bdf35c3c11 commit refs/tags/tag1
6e3c46ad6c05c694ab7c145cd30219cb32c77796 tag refs/tags/tag2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show --tags
commit 0779a81f01ca53b4e5f0c88cc450e2bdf35c3c11 (HEAD -> master, tag: tag2, tag: tag1)
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Wed Oct 28 21:40:41 2026 +1300
1
tag tag2
Tagger: Han Jiang <jhcarl0814@gmail.com>
Date: Wed Oct 28 21:40:42 2026 +1300
2
jhcarl0814@jhcarl0814 UCRT64 $?=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 0779a81f01ca53b4e5f0c88cc450e2bdf35c3c11 commit author="Han Jiang <jhcarl0814@gmail.com> 2026-10-28T21:40:41+13:00" committer="Han Jiang <jhcarl0814@gmail.com> 2026-10-28T21:40:41+13:00"
refs/tags/tag2 6e3c46ad6c05c694ab7c145cd30219cb32c77796 tag tagger="Han Jiang <jhcarl0814@gmail.com> 2026-10-28T21:40:42+13:00" *author="Han Jiang <jhcarl0814@gmail.com> 2026-10-28T21:40:41+13:00" *committer="Han Jiang <jhcarl0814@gmail.com> 2026-10-28T21:40:41+13:00"
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ export GNUPGHOME="$(realpath '.')"'/.gnupg'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ mkdir --parents -- "$GNUPGHOME"
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ touch -- "$GNUPGHOME"'/common.conf'
jhcarl0814@jhcarl0814 UCRT64 $?=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:1793176850:0:3:1:5
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ gpg --list-secret-keys --with-colons
jhcarl0814@jhcarl0814 UCRT64 $?=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/AA3D1115425570AE1212C04053087CD2523FE15B.rev'
public and secret key created and signed.
pub ed25519 2026-10-28 [SC] [expires: 2029-10-27]
AA3D1115425570AE1212C04053087CD2523FE15B
uid Han Jiang <jhcarl0814@gmail.com>
sub cv25519 2026-10-28 [E]
jhcarl0814@jhcarl0814 UCRT64 $?=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-10-27
tru:o:1:1793176850:1:3:1:5
pub:u:255:22:53087CD2523FE15B:1793176850:1887784850::u:::scESC:::::ed25519:::0:
fpr:::::::::AA3D1115425570AE1212C04053087CD2523FE15B:
grp:::::::::316FBAD2F7DFF01A27F824BA46E3BDEF47433C44:
uid:u::::1793176850::E7C6FA1B44CE84FDE9CBEAB5ECDA7C3664640E65::Han Jiang <jhcarl0814@gmail.com>::::::::::0:
sub:u:255:18:8B5F2AE577A51760:1793176850::::::e:::::cv25519::
fpr:::::::::EE5E83D8B897AF07146687C08B5F2AE577A51760:
grp:::::::::446C665F5C61F645DD5EED8C618D955941D98CAE:
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ gpg --list-secret-keys --with-colons
sec:u:255:22:53087CD2523FE15B:1793176850:1887784850::u:::scESC:::+::ed25519:::0:
fpr:::::::::AA3D1115425570AE1212C04053087CD2523FE15B:
grp:::::::::316FBAD2F7DFF01A27F824BA46E3BDEF47433C44:
uid:u::::1793176850::E7C6FA1B44CE84FDE9CBEAB5ECDA7C3664640E65::Han Jiang <jhcarl0814@gmail.com>::::::::::0:
ssb:u:255:18:8B5F2AE577A51760:1793176850::::::e:::+::cv25519::
fpr:::::::::EE5E83D8B897AF07146687C08B5F2AE577A51760:
grp:::::::::446C665F5C61F645DD5EED8C618D955941D98CAE:
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master (root-commit) e22975f] 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' tag tag11
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' -c 'tag.gpgSign=false' tag tag12
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' tag --annotate --message="$((++number))" tag21
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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:1793176851:1887784850:3:1:5
pub:u:255:22:53087CD2523FE15B:1793176850:1887784850::u:::scESC:::::ed25519:::0:
fpr:::::::::AA3D1115425570AE1212C04053087CD2523FE15B:
grp:::::::::316FBAD2F7DFF01A27F824BA46E3BDEF47433C44:
uid:u::::1793176850::E7C6FA1B44CE84FDE9CBEAB5ECDA7C3664640E65::Han Jiang <jhcarl0814@gmail.com>::::::::::0:
sub:u:255:18:8B5F2AE577A51760:1793176850::::::e:::::cv25519::
fpr:::::::::EE5E83D8B897AF07146687C08B5F2AE577A51760:
grp:::::::::446C665F5C61F645DD5EED8C618D955941D98CAE:
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* e22975f - 2026-10-28 21:40 (14 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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' for-each-ref refs/tags
e22975f95801e30b283f9496f8d7e5c97baf4282 commit refs/tags/tag11
e22975f95801e30b283f9496f8d7e5c97baf4282 commit refs/tags/tag12
e22975f95801e30b283f9496f8d7e5c97baf4282 commit refs/tags/tag131
a4b2a5bcdc1820b2d6c1adf4e4a40d096f41df9a tag refs/tags/tag21
b7e4267d5c21462aed68e22093ad8324d2bc0367 tag refs/tags/tag22
a9dc7a8b52b6a06d0965389f2866b723ab124b05 tag refs/tags/tag231
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show --tags
commit e22975f95801e30b283f9496f8d7e5c97baf4282 (HEAD -> master, tag: tag231, tag: tag22, tag: tag21, tag: tag131, tag: tag12, tag: tag11)
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Wed Oct 28 21:40:52 2026 +1300
1
tag tag21
Tagger: Han Jiang <jhcarl0814@gmail.com>
Date: Wed Oct 28 21:40:55 2026 +1300
3
tag tag22
Tagger: Han Jiang <jhcarl0814@gmail.com>
Date: Wed Oct 28 21:40:55 2026 +1300
4
tag tag231
Tagger: Han Jiang <jhcarl0814@gmail.com>
Date: Wed Oct 28 21:40:56 2026 +1300
6
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master (root-commit) 4aaa69b] 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' tag tag1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' tag --create-reflog tag11
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' tag --no-create-reflog tag12
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' -c 'core.logAllRefUpdates=false' tag tag2
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' -c 'core.logAllRefUpdates=true' tag tag3
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' -c 'core.logAllRefUpdates=always' tag tag4
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 4aaa69b - 2026-10-28 21:41 (5 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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' for-each-ref refs/tags
4aaa69b9845da2266c47cad3117c021b5e7c3966 commit refs/tags/tag1
4aaa69b9845da2266c47cad3117c021b5e7c3966 commit refs/tags/tag11
4aaa69b9845da2266c47cad3117c021b5e7c3966 commit refs/tags/tag12
4aaa69b9845da2266c47cad3117c021b5e7c3966 commit refs/tags/tag2
4aaa69b9845da2266c47cad3117c021b5e7c3966 commit refs/tags/tag21
4aaa69b9845da2266c47cad3117c021b5e7c3966 commit refs/tags/tag3
4aaa69b9845da2266c47cad3117c021b5e7c3966 commit refs/tags/tag31
4aaa69b9845da2266c47cad3117c021b5e7c3966 commit refs/tags/tag4
4aaa69b9845da2266c47cad3117c021b5e7c3966 commit refs/tags/tag41
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show --tags
commit 4aaa69b9845da2266c47cad3117c021b5e7c3966 (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: Wed Oct 28 21:41:12 2026 +1300
1
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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) 9d6c03f] 1 2 3 4
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' tag tag1; git -C './repo' tag tag2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 9d6c03f - 2026-10-28 21:41 (1 second ago) 1 2 3 4 - Han Jiang (HEAD -> refs/heads/master, tag: refs/tags/tag2, tag: refs/tags/tag1)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' for-each-ref refs/tags
9d6c03f2402dac1129f6d900508af1586bdb0414 commit refs/tags/tag1
9d6c03f2402dac1129f6d900508af1586bdb0414 commit refs/tags/tag2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show --tags
commit 9d6c03f2402dac1129f6d900508af1586bdb0414 (HEAD -> master, tag: tag2, tag: tag1)
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Wed Oct 28 21:41:23 2026 +1300
1
2
3
4
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' tag --delete tag1 tag2
Deleted tag 'tag1' (was 9d6c03f)
Deleted tag 'tag2' (was 9d6c03f)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 9d6c03f - 2026-10-28 21:41 (4 seconds ago) 1 2 3 4 - Han Jiang (HEAD -> refs/heads/master)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' for-each-ref refs/tags
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show --tags
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ export GNUPGHOME="$(realpath '.')"'/.gnupg'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ mkdir --parents -- "$GNUPGHOME"
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ touch -- "$GNUPGHOME"'/common.conf'
jhcarl0814@jhcarl0814 UCRT64 $?=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:1793176893:0:3:1:5
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ gpg --list-secret-keys --with-colons
jhcarl0814@jhcarl0814 UCRT64 $?=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/AC3DF517D49C2F7CB12D9CAF8C418164DA0DBF32.rev'
public and secret key created and signed.
pub ed25519 2026-10-28 [SC] [expires: 2029-10-27]
AC3DF517D49C2F7CB12D9CAF8C418164DA0DBF32
uid Han Jiang <jhcarl0814@gmail.com>
sub cv25519 2026-10-28 [E]
jhcarl0814@jhcarl0814 UCRT64 $?=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-10-27
tru:o:1:1793176893:1:3:1:5
pub:u:255:22:8C418164DA0DBF32:1793176894:1887784894::u:::scESC:::::ed25519:::0:
fpr:::::::::AC3DF517D49C2F7CB12D9CAF8C418164DA0DBF32:
grp:::::::::94E55D3B900888C72BEB02A31E2B2CED22F0A730:
uid:u::::1793176894::E7C6FA1B44CE84FDE9CBEAB5ECDA7C3664640E65::Han Jiang <jhcarl0814@gmail.com>::::::::::0:
sub:u:255:18:5167EC1C86488AEF:1793176894::::::e:::::cv25519::
fpr:::::::::4496BABD5131385D7B9B3B155167EC1C86488AEF:
grp:::::::::21FF28070CF02C5D3F7BAC2D6EA5B3FC240ED1E8:
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ gpg --list-secret-keys --with-colons
sec:u:255:22:8C418164DA0DBF32:1793176894:1887784894::u:::scESC:::+::ed25519:::0:
fpr:::::::::AC3DF517D49C2F7CB12D9CAF8C418164DA0DBF32:
grp:::::::::94E55D3B900888C72BEB02A31E2B2CED22F0A730:
uid:u::::1793176894::E7C6FA1B44CE84FDE9CBEAB5ECDA7C3664640E65::Han Jiang <jhcarl0814@gmail.com>::::::::::0:
ssb:u:255:18:5167EC1C86488AEF:1793176894::::::e:::+::cv25519::
fpr:::::::::4496BABD5131385D7B9B3B155167EC1C86488AEF:
grp:::::::::21FF28070CF02C5D3F7BAC2D6EA5B3FC240ED1E8:
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master (root-commit) 8e8293a] 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' tag tag1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' tag --annotate --message="$((++number))" tag2
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 8e8293a - 2026-10-28 21:41 (2 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, tag: refs/tags/tag2, tag: refs/tags/tag1)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' for-each-ref refs/tags
8e8293a86b07b7550214cd571c3a18a7d7ea0c2f commit refs/tags/tag1
069c594d391473b75874af4956538af5532aefc1 tag refs/tags/tag2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show --tags
commit 8e8293a86b07b7550214cd571c3a18a7d7ea0c2f (HEAD -> master, tag: tag2, tag: tag1)
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Wed Oct 28 21:41:36 2026 +1300
1
tag tag2
Tagger: Han Jiang <jhcarl0814@gmail.com>
Date: Wed Oct 28 21:41:37 2026 +1300
2
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' tag --verify tag2
object 8e8293a86b07b7550214cd571c3a18a7d7ea0c2f
type commit
tag tag2
tagger Han Jiang <jhcarl0814@gmail.com> 1793176897 +1300
2
error: no signature found
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 8e8293a86b07b7550214cd571c3a18a7d7ea0c2f
type commit
tag tag2
tagger Han Jiang <jhcarl0814@gmail.com> 1793176897 +1300
2
error: no signature found
error: tag 'tag3' not found.
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ mkdir --parents -- './repo2'
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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
/ucrt64/bin/git
/ucrt64/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 UCRT64 $?=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/ucrt64/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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo1' branch --show-current
master
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo1' branch --show-current
master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo2' branch --show-current
master2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote add server1 '../server1/repo.git'
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote remove server1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote remove server2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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) b26c75a] 1
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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) 877a0da] 2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 | 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), 139 bytes | 34.00 KiB/s, done.
From file:///test_git/server2/repo
* [new branch] master -> server2/master
jhcarl0814@jhcarl0814 UCRT64 $?=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 b26c75a 1
remotes/server2/HEAD -> server2/master
remotes/server2/master 877a0da 2
jhcarl0814@jhcarl0814 UCRT64 $?=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 b26c75a162bcd208eb102854d085eaf303bbf144\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 877a0daa09ee217891b91f730859ec1a831175e5\n
│ │ │ 2
├╴tags/ d/0o040/directory rwxr-xr-x/0o755
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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) 3b04a43] 1
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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) 30491ca] 2
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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) 6339e7d] 3
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server3/repo.git' branch branch1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server3/repo.git' branch branch2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 | 17.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), 139 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), 139 bytes | 34.00 KiB/s, done.
From file:///test_git/server3/repo
* [new branch] branch1 -> server3/branch1
* [new branch] branch2 -> server3/branch2
jhcarl0814@jhcarl0814 UCRT64 $?=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 3b04a43 1
remotes/server2/HEAD -> server2/master
remotes/server2/master 30491ca 2
remotes/server3/branch1 6339e7d 3
remotes/server3/branch2 6339e7d 3
jhcarl0814@jhcarl0814 UCRT64 $?=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 3b04a433fe97cd2d7479434d1000b6f34d9d3cde\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 30491cae70f3922081e34340a5cc07118a293539\n
│ │ │ 2
│ ├╴server3/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴branch1 -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 6339e7dfe5b36e74d9c2f0141dee6bc0c3a2f7f2\n
│ │ │ 2
│ │ ├╴branch2 -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 6339e7dfe5b36e74d9c2f0141dee6bc0c3a2f7f2\n
│ │ │ 2
├╴tags/ d/0o040/directory rwxr-xr-x/0o755
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
branch1 6339e7d [server3/branch1] 3
* branch2 6339e7d [server3/branch2] 3
master1 3b04a43 [server1/master] 1
master2 30491ca [server2/master] 2
remotes/server1/HEAD -> server1/master
remotes/server1/master 3b04a43 1
remotes/server2/HEAD -> server2/master
remotes/server2/master 30491ca 2
remotes/server3/branch1 6339e7d 3
remotes/server3/branch2 6339e7d 3
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo/.git/refs'
./client/repo/.git/refs/ d/0o040/directory rwxr-xr-x/0o755
├╴heads/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴branch1 -/0o100/regular file rw-r--r--/0o644
│ │ 1 6339e7dfe5b36e74d9c2f0141dee6bc0c3a2f7f2\n
│ │ 2
│ ├╴branch2 -/0o100/regular file rw-r--r--/0o644
│ │ 1 6339e7dfe5b36e74d9c2f0141dee6bc0c3a2f7f2\n
│ │ 2
│ ├╴master1 -/0o100/regular file rw-r--r--/0o644
│ │ 1 3b04a433fe97cd2d7479434d1000b6f34d9d3cde\n
│ │ 2
│ ├╴master2 -/0o100/regular file rw-r--r--/0o644
│ │ 1 30491cae70f3922081e34340a5cc07118a293539\n
│ │ 2
├╴remotes/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴server1/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 ref: refs/remotes/server1/master\n
│ │ │ 2
│ │ ├╴master -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 3b04a433fe97cd2d7479434d1000b6f34d9d3cde\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 30491cae70f3922081e34340a5cc07118a293539\n
│ │ │ 2
│ ├╴server3/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴branch1 -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 6339e7dfe5b36e74d9c2f0141dee6bc0c3a2f7f2\n
│ │ │ 2
│ │ ├╴branch2 -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 6339e7dfe5b36e74d9c2f0141dee6bc0c3a2f7f2\n
│ │ │ 2
├╴tags/ d/0o040/directory rwxr-xr-x/0o755
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote rename server1 server4
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote rename server2 server5
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote rename server3 server6
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server4.url=file:///test_git/server1/repo.git
local file:.git/config remote.server4.fetch=+refs/heads/*:refs/remotes/server4/*
local file:.git/config remote.server5.url=file:///test_git/server2/repo.git
local file:.git/config remote.server5.fetch=+refs/heads/*:refs/remotes/server5/*
local file:.git/config remote.server6.url=file:///test_git/server3/repo.git
local file:.git/config remote.server6.fetch=+refs/heads/branch1:refs/remotes/server6/branch1
local file:.git/config remote.server6.fetch=+refs/heads/branch2:refs/remotes/server6/branch2
local file:.git/config branch.master1.remote=server4
local file:.git/config branch.master1.merge=refs/heads/master
local file:.git/config branch.master2.remote=server5
local file:.git/config branch.master2.merge=refs/heads/master
local file:.git/config branch.branch1.remote=server6
local file:.git/config branch.branch1.merge=refs/heads/branch1
local file:.git/config branch.branch2.remote=server6
local file:.git/config branch.branch2.merge=refs/heads/branch2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
branch1 6339e7d [server6/branch1] 3
* branch2 6339e7d [server6/branch2] 3
master1 3b04a43 [server4/master] 1
master2 30491ca [server5/master] 2
remotes/server4/HEAD -> server4/master
remotes/server4/master 3b04a43 1
remotes/server5/HEAD -> server5/master
remotes/server5/master 30491ca 2
remotes/server6/branch1 6339e7d 3
remotes/server6/branch2 6339e7d 3
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo/.git/refs'
./client/repo/.git/refs/ d/0o040/directory rwxr-xr-x/0o755
├╴heads/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴branch1 -/0o100/regular file rw-r--r--/0o644
│ │ 1 6339e7dfe5b36e74d9c2f0141dee6bc0c3a2f7f2\n
│ │ 2
│ ├╴branch2 -/0o100/regular file rw-r--r--/0o644
│ │ 1 6339e7dfe5b36e74d9c2f0141dee6bc0c3a2f7f2\n
│ │ 2
│ ├╴master1 -/0o100/regular file rw-r--r--/0o644
│ │ 1 3b04a433fe97cd2d7479434d1000b6f34d9d3cde\n
│ │ 2
│ ├╴master2 -/0o100/regular file rw-r--r--/0o644
│ │ 1 30491cae70f3922081e34340a5cc07118a293539\n
│ │ 2
├╴remotes/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴server4/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 ref: refs/remotes/server4/master\n
│ │ │ 2
│ │ ├╴master -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 3b04a433fe97cd2d7479434d1000b6f34d9d3cde\n
│ │ │ 2
│ ├╴server5/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 ref: refs/remotes/server5/master\n
│ │ │ 2
│ │ ├╴master -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 30491cae70f3922081e34340a5cc07118a293539\n
│ │ │ 2
│ ├╴server6/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴branch1 -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 6339e7dfe5b36e74d9c2f0141dee6bc0c3a2f7f2\n
│ │ │ 2
│ │ ├╴branch2 -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 6339e7dfe5b36e74d9c2f0141dee6bc0c3a2f7f2\n
│ │ │ 2
├╴tags/ d/0o040/directory rwxr-xr-x/0o755
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose
server file:///test_git/server/repo.git (fetch)
server file:///test_git/server/repo.git (push)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server/repo.git
local file:.git/config remote.server.fetch=+refs/heads/*:refs/remotes/server/*
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote set-head server --auto
fatal: 'C:/Program Files/Git/test_git/server/repo.git' does not appear to be a git repository
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
jhcarl0814@jhcarl0814 UCRT64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server' init --bare './repo.git'
Initialized empty Git repository in C:/Program Files/Git/test_git/server/repo.git/
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote set-head server --auto
error: Cannot determine remote HEAD
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
[master (root-commit) a71e606] 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote set-head server --auto
error: Not a valid ref: refs/remotes/server/master
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch --all
remote: Enumerating objects: 2, done.
remote: Counting objects: 100% (2/2), done.
remote: Total 2 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (2/2), 139 bytes | 19.00 KiB/s, done.
From file:///test_git/server/repo
* [new branch] master -> server/master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
remotes/server/HEAD -> server/master
remotes/server/master a71e606 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo/.git/refs'
./client/repo/.git/refs/ d/0o040/directory rwxr-xr-x/0o755
├╴heads/ d/0o040/directory rwxr-xr-x/0o755
├╴remotes/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴server/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 ref: refs/remotes/server/master\n
│ │ │ 2
│ │ ├╴master -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 a71e6063ec8fdf2f0f1874d7c8a646a8929f5712\n
│ │ │ 2
├╴tags/ d/0o040/directory rwxr-xr-x/0o755
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote set-head server --auto
'server/HEAD' is unchanged and points to 'master'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
remotes/server/HEAD -> server/master
remotes/server/master a71e606 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo/.git/refs'
./client/repo/.git/refs/ d/0o040/directory rwxr-xr-x/0o755
├╴heads/ d/0o040/directory rwxr-xr-x/0o755
├╴remotes/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴server/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 ref: refs/remotes/server/master\n
│ │ │ 2
│ │ ├╴master -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 a71e6063ec8fdf2f0f1874d7c8a646a8929f5712\n
│ │ │ 2
├╴tags/ d/0o040/directory rwxr-xr-x/0o755
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote add -m master server 'file://'"$(realpath './server/repo.git')"
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose
server file:///test_git/server/repo.git (fetch)
server file:///test_git/server/repo.git (push)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server/repo.git
local file:.git/config remote.server.fetch=+refs/heads/*:refs/remotes/server/*
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo/.git/refs'
./client/repo/.git/refs/ d/0o040/directory rwxr-xr-x/0o755
├╴heads/ d/0o040/directory rwxr-xr-x/0o755
├╴remotes/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴server/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 ref: refs/remotes/server/master\n
│ │ │ 2
├╴tags/ d/0o040/directory rwxr-xr-x/0o755
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote set-head server --delete
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo/.git/refs'
./client/repo/.git/refs/ d/0o040/directory rwxr-xr-x/0o755
├╴heads/ d/0o040/directory rwxr-xr-x/0o755
├╴remotes/ d/0o040/directory rwxr-xr-x/0o755
├╴tags/ d/0o040/directory rwxr-xr-x/0o755
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ branch_default_name="$(git -C './server/repo.git' branch --show-current)"; echo "$branch_default_name"
master
jhcarl0814@jhcarl0814 UCRT64 $?=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) 5f518ac] 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose
server file:///test_git/server/repo.git (fetch)
server file:///test_git/server/repo.git (push)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server/repo.git
local file:.git/config remote.server.fetch=+refs/heads/*:refs/remotes/server/*
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote set-head server "$branch_default_name"
error: Not a valid ref: refs/remotes/server/master
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
[master be54995] 2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch --all
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 3 (delta 1), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (3/3), 208 bytes | 18.00 KiB/s, done.
From file:///test_git/server/repo
* [new branch] master -> server/master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
remotes/server/HEAD -> server/master
remotes/server/master be54995 2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo/.git/refs'
./client/repo/.git/refs/ d/0o040/directory rwxr-xr-x/0o755
├╴heads/ d/0o040/directory rwxr-xr-x/0o755
├╴remotes/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴server/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 ref: refs/remotes/server/master\n
│ │ │ 2
│ │ ├╴master -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 be5499547b8039d2e6406fcc99af05510d4c0b31\n
│ │ │ 2
├╴tags/ d/0o040/directory rwxr-xr-x/0o755
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote set-head server "$branch_default_name"
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
remotes/server/HEAD -> server/master
remotes/server/master be54995 2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo/.git/refs'
./client/repo/.git/refs/ d/0o040/directory rwxr-xr-x/0o755
├╴heads/ d/0o040/directory rwxr-xr-x/0o755
├╴remotes/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴server/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 ref: refs/remotes/server/master\n
│ │ │ 2
│ │ ├╴master -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 be5499547b8039d2e6406fcc99af05510d4c0b31\n
│ │ │ 2
├╴tags/ d/0o040/directory rwxr-xr-x/0o755
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose
server file:///test_git/server/repo.git (fetch)
server file:///test_git/server/repo.git (push)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server/repo.git
local file:.git/config remote.server.fetch=+refs/heads/*:refs/remotes/server/*
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote set-branches server branch1 branch2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server/repo.git
local file:.git/config remote.server.fetch=+refs/heads/branch1:refs/remotes/server/branch1
local file:.git/config remote.server.fetch=+refs/heads/branch2:refs/remotes/server/branch2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote set-branches --add server branch3 branch4
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server/repo.git
local file:.git/config remote.server.fetch=+refs/heads/branch1:refs/remotes/server/branch1
local file:.git/config remote.server.fetch=+refs/heads/branch2:refs/remotes/server/branch2
local file:.git/config remote.server.fetch=+refs/heads/branch3:refs/remotes/server/branch3
local file:.git/config remote.server.fetch=+refs/heads/branch4:refs/remotes/server/branch4
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote set-branches --add server branch3 branch4
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server/repo.git
local file:.git/config remote.server.fetch=+refs/heads/branch1:refs/remotes/server/branch1
local file:.git/config remote.server.fetch=+refs/heads/branch2:refs/remotes/server/branch2
local file:.git/config remote.server.fetch=+refs/heads/branch3:refs/remotes/server/branch3
local file:.git/config remote.server.fetch=+refs/heads/branch4:refs/remotes/server/branch4
local file:.git/config remote.server.fetch=+refs/heads/branch3:refs/remotes/server/branch3
local file:.git/config remote.server.fetch=+refs/heads/branch4:refs/remotes/server/branch4
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote set-branches server
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server/repo.git
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote set-branches server branch1 branch2
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server/repo.git
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote set-branches --add server branch3 branch4
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server/repo.git
local file:.git/config remote.server.fetch=+refs/heads/branch3:refs/remotes/server/branch3
local file:.git/config remote.server.fetch=+refs/heads/branch4:refs/remotes/server/branch4
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote set-branches --add server branch3 branch4
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server/repo.git
local file:.git/config remote.server.fetch=+refs/heads/branch3:refs/remotes/server/branch3
local file:.git/config remote.server.fetch=+refs/heads/branch4:refs/remotes/server/branch4
local file:.git/config remote.server.fetch=+refs/heads/branch3:refs/remotes/server/branch3
local file:.git/config remote.server.fetch=+refs/heads/branch4:refs/remotes/server/branch4
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote add server 'file://'"$(realpath './server1/repo.git')"
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose
server file:///test_git/server1/repo.git (fetch)
server file:///test_git/server1/repo.git (push)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server1/repo.git
local file:.git/config remote.server.fetch=+refs/heads/*:refs/remotes/server/*
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote get-url server
file:///test_git/server1/repo.git
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote get-url --all server
file:///test_git/server1/repo.git
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote get-url --push server
file:///test_git/server1/repo.git
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote get-url --push --all server
file:///test_git/server1/repo.git
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config set --local --append 'remote.server.url' 'file://'"$(realpath './server2/repo.git')"
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config set --local --append 'remote.server.pushurl' 'file://'"$(realpath './server3/repo.git')"
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config set --local --append 'remote.server.pushurl' 'file://'"$(realpath './server4/repo.git')"
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose
server file:///test_git/server1/repo.git (fetch)
server file:///test_git/server3/repo.git (push)
server file:///test_git/server4/repo.git (push)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server1/repo.git
local file:.git/config remote.server.fetch=+refs/heads/*:refs/remotes/server/*
local file:.git/config remote.server.url=file:///test_git/server2/repo.git
local file:.git/config remote.server.pushurl=file:///test_git/server3/repo.git
local file:.git/config remote.server.pushurl=file:///test_git/server4/repo.git
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote get-url server
file:///test_git/server1/repo.git
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote get-url --all server
file:///test_git/server1/repo.git
file:///test_git/server2/repo.git
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote get-url --push server
file:///test_git/server3/repo.git
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote get-url --push --all server
file:///test_git/server3/repo.git
file:///test_git/server4/repo.git
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config set --local --append 'url.scheme1://authority1/path1/.insteadOf' 'file://'"$(realpath '.')"'/'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config set --local --append 'url.scheme2://authority2/path2/.pushInsteadOf' 'file://'"$(realpath '.')"'/'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose
server scheme1://authority1/path1/server1/repo.git (fetch)
server scheme1://authority1/path1/server3/repo.git (push)
server scheme1://authority1/path1/server4/repo.git (push)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server1/repo.git
local file:.git/config remote.server.fetch=+refs/heads/*:refs/remotes/server/*
local file:.git/config remote.server.url=file:///test_git/server2/repo.git
local file:.git/config remote.server.pushurl=file:///test_git/server3/repo.git
local file:.git/config remote.server.pushurl=file:///test_git/server4/repo.git
local file:.git/config url.scheme1://authority1/path1/.insteadof=file:///test_git/
local file:.git/config url.scheme2://authority2/path2/.pushinsteadof=file:///test_git/
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote get-url server
scheme1://authority1/path1/server1/repo.git
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote get-url --all server
scheme1://authority1/path1/server1/repo.git
scheme1://authority1/path1/server2/repo.git
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote get-url --push server
scheme1://authority1/path1/server3/repo.git
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote get-url --push --all server
scheme1://authority1/path1/server3/repo.git
scheme1://authority1/path1/server4/repo.git
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote add server 'file://'"$(realpath './server1/repo.git')"
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config set --local --append 'remote.server.url' 'file://'"$(realpath './server2/repo.git')"
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config set --local --append 'remote.server.pushurl' 'file://'"$(realpath './server3/repo.git')"
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config set --local --append 'remote.server.pushurl' 'file://'"$(realpath './server4/repo.git')"
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config set --local --append 'url.scheme1://authority1/path1/.insteadOf' 'file://'"$(realpath '.')"'/'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config set --local --append 'url.scheme2://authority2/path2/.pushInsteadOf' 'file://'"$(realpath '.')"'/'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose
server scheme1://authority1/path1/server1/repo.git (fetch)
server scheme1://authority1/path1/server3/repo.git (push)
server scheme1://authority1/path1/server4/repo.git (push)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server1/repo.git
local file:.git/config remote.server.fetch=+refs/heads/*:refs/remotes/server/*
local file:.git/config remote.server.url=file:///test_git/server2/repo.git
local file:.git/config remote.server.pushurl=file:///test_git/server3/repo.git
local file:.git/config remote.server.pushurl=file:///test_git/server4/repo.git
local file:.git/config url.scheme1://authority1/path1/.insteadof=file:///test_git/
local file:.git/config url.scheme2://authority2/path2/.pushinsteadof=file:///test_git/
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote get-url server
scheme1://authority1/path1/server1/repo.git
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote get-url --all server
scheme1://authority1/path1/server1/repo.git
scheme1://authority1/path1/server2/repo.git
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote get-url --push server
scheme1://authority1/path1/server3/repo.git
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote get-url --push --all server
scheme1://authority1/path1/server3/repo.git
scheme1://authority1/path1/server4/repo.git
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote set-url server 'file://'"$(realpath './server5/repo.git')"
warning: remote.server.url has multiple values
fatal: could not set 'remote.server.url' to 'file:///test_git/server5/repo.git'
jhcarl0814@jhcarl0814 UCRT64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote set-url server 'file://'"$(realpath './server5/repo.git')" 'server'
warning: remote.server.url has multiple values
fatal: could not set 'remote.server.url' to 'file:///test_git/server5/repo.git'
jhcarl0814@jhcarl0814 UCRT64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote set-url server 'file://'"$(realpath './server5/repo.git')" 'server2'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote set-url server --push 'file://'"$(realpath './server6/repo.git')"
warning: remote.server.pushurl has multiple values
fatal: could not set 'remote.server.pushurl' to 'file:///test_git/server6/repo.git'
jhcarl0814@jhcarl0814 UCRT64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote set-url server --push 'file://'"$(realpath './server6/repo.git')" 'server'
warning: remote.server.pushurl has multiple values
fatal: could not set 'remote.server.pushurl' to 'file:///test_git/server6/repo.git'
jhcarl0814@jhcarl0814 UCRT64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote set-url server --push 'file://'"$(realpath './server6/repo.git')" 'server4'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose
server scheme1://authority1/path1/server1/repo.git (fetch)
server scheme1://authority1/path1/server3/repo.git (push)
server scheme1://authority1/path1/server6/repo.git (push)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server1/repo.git
local file:.git/config remote.server.fetch=+refs/heads/*:refs/remotes/server/*
local file:.git/config remote.server.url=file:///test_git/server5/repo.git
local file:.git/config remote.server.pushurl=file:///test_git/server3/repo.git
local file:.git/config remote.server.pushurl=file:///test_git/server6/repo.git
local file:.git/config url.scheme1://authority1/path1/.insteadof=file:///test_git/
local file:.git/config url.scheme2://authority2/path2/.pushinsteadof=file:///test_git/
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote get-url server
scheme1://authority1/path1/server1/repo.git
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote get-url --all server
scheme1://authority1/path1/server1/repo.git
scheme1://authority1/path1/server5/repo.git
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote get-url --push server
scheme1://authority1/path1/server3/repo.git
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote get-url --push --all server
scheme1://authority1/path1/server3/repo.git
scheme1://authority1/path1/server6/repo.git
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote add server 'file://'"$(realpath './server1/repo.git')"
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config set --local --append 'remote.server.url' 'file://'"$(realpath './server2/repo.git')"
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config set --local --append 'remote.server.pushurl' 'file://'"$(realpath './server3/repo.git')"
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config set --local --append 'remote.server.pushurl' 'file://'"$(realpath './server4/repo.git')"
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config set --local --append 'url.scheme1://authority1/path1/.insteadOf' 'file://'"$(realpath '.')"'/'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config set --local --append 'url.scheme2://authority2/path2/.pushInsteadOf' 'file://'"$(realpath '.')"'/'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose
server scheme1://authority1/path1/server1/repo.git (fetch)
server scheme1://authority1/path1/server3/repo.git (push)
server scheme1://authority1/path1/server4/repo.git (push)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server1/repo.git
local file:.git/config remote.server.fetch=+refs/heads/*:refs/remotes/server/*
local file:.git/config remote.server.url=file:///test_git/server2/repo.git
local file:.git/config remote.server.pushurl=file:///test_git/server3/repo.git
local file:.git/config remote.server.pushurl=file:///test_git/server4/repo.git
local file:.git/config url.scheme1://authority1/path1/.insteadof=file:///test_git/
local file:.git/config url.scheme2://authority2/path2/.pushinsteadof=file:///test_git/
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote get-url server
scheme1://authority1/path1/server1/repo.git
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote get-url --all server
scheme1://authority1/path1/server1/repo.git
scheme1://authority1/path1/server2/repo.git
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote get-url --push server
scheme1://authority1/path1/server3/repo.git
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote get-url --push --all server
scheme1://authority1/path1/server3/repo.git
scheme1://authority1/path1/server4/repo.git
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote set-url --add server 'file://'"$(realpath './server5/repo.git')"
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote set-url --add --push server 'file://'"$(realpath './server6/repo.git')"
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose
server scheme1://authority1/path1/server1/repo.git (fetch)
server scheme1://authority1/path1/server3/repo.git (push)
server scheme1://authority1/path1/server4/repo.git (push)
server scheme1://authority1/path1/server6/repo.git (push)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server1/repo.git
local file:.git/config remote.server.fetch=+refs/heads/*:refs/remotes/server/*
local file:.git/config remote.server.url=file:///test_git/server2/repo.git
local file:.git/config remote.server.pushurl=file:///test_git/server3/repo.git
local file:.git/config remote.server.pushurl=file:///test_git/server4/repo.git
local file:.git/config remote.server.url=file:///test_git/server5/repo.git
local file:.git/config remote.server.pushurl=file:///test_git/server6/repo.git
local file:.git/config url.scheme1://authority1/path1/.insteadof=file:///test_git/
local file:.git/config url.scheme2://authority2/path2/.pushinsteadof=file:///test_git/
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote get-url server
scheme1://authority1/path1/server1/repo.git
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote get-url --all server
scheme1://authority1/path1/server1/repo.git
scheme1://authority1/path1/server2/repo.git
scheme1://authority1/path1/server5/repo.git
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote get-url --push server
scheme1://authority1/path1/server3/repo.git
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote get-url --push --all server
scheme1://authority1/path1/server3/repo.git
scheme1://authority1/path1/server4/repo.git
scheme1://authority1/path1/server6/repo.git
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote set-url --delete server 'server1'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote set-url --delete --push server 'server3'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose
server scheme1://authority1/path1/server2/repo.git (fetch)
server scheme1://authority1/path1/server4/repo.git (push)
server scheme1://authority1/path1/server6/repo.git (push)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.fetch=+refs/heads/*:refs/remotes/server/*
local file:.git/config remote.server.url=file:///test_git/server2/repo.git
local file:.git/config remote.server.pushurl=file:///test_git/server4/repo.git
local file:.git/config remote.server.url=file:///test_git/server5/repo.git
local file:.git/config remote.server.pushurl=file:///test_git/server6/repo.git
local file:.git/config url.scheme1://authority1/path1/.insteadof=file:///test_git/
local file:.git/config url.scheme2://authority2/path2/.pushinsteadof=file:///test_git/
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote get-url server
scheme1://authority1/path1/server2/repo.git
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote get-url --all server
scheme1://authority1/path1/server2/repo.git
scheme1://authority1/path1/server5/repo.git
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote get-url --push server
scheme1://authority1/path1/server4/repo.git
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote get-url --push --all server
scheme1://authority1/path1/server4/repo.git
scheme1://authority1/path1/server6/repo.git
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote set-url --delete server 'server'
fatal: Will not delete all non-push URLs
jhcarl0814@jhcarl0814 UCRT64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote set-url --delete --push server 'server'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose
server scheme1://authority1/path1/server2/repo.git (fetch)
server scheme2://authority2/path2/server2/repo.git (push)
server scheme2://authority2/path2/server5/repo.git (push)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.fetch=+refs/heads/*:refs/remotes/server/*
local file:.git/config remote.server.url=file:///test_git/server2/repo.git
local file:.git/config remote.server.url=file:///test_git/server5/repo.git
local file:.git/config url.scheme1://authority1/path1/.insteadof=file:///test_git/
local file:.git/config url.scheme2://authority2/path2/.pushinsteadof=file:///test_git/
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote get-url server
scheme1://authority1/path1/server2/repo.git
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote get-url --all server
scheme1://authority1/path1/server2/repo.git
scheme1://authority1/path1/server5/repo.git
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote get-url --push server
scheme2://authority2/path2/server2/repo.git
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote get-url --push --all server
scheme2://authority2/path2/server2/repo.git
scheme2://authority2/path2/server5/repo.git
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ branch_default_name="$(git -C './client/repo' branch --show-current)"; echo "$branch_default_name"
master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose show server1 server2 server3
fatal: 'C:/Program Files/Git/test_git/server1/repo.git' does not appear to be a git repository
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
jhcarl0814@jhcarl0814 UCRT64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose show -n server1 server2 server3
* remote server1
Fetch URL: file:///test_git/server1/repo.git
Push URL: file:///test_git/server1/repo.git
HEAD branch: (not queried)
Local ref configured for 'git push' (status not queried):
(matching) pushes to (matching)
* remote server2
Fetch URL: file:///test_git/server2/repo.git
Push URL: file:///test_git/server2/repo.git
HEAD branch: (not queried)
Local ref configured for 'git push' (status not queried):
(matching) pushes to (matching)
* remote server3
Fetch URL: file:///test_git/server3/repo.git
Push URL: file:///test_git/server3/repo.git
HEAD branch: (not queried)
Local ref configured for 'git push' (status not queried):
(matching) pushes to (matching)
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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) 258214a] 1
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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) e5b9987] 2
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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) c999e2e] 3
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server3/repo.git' branch branch1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server3/repo.git' branch branch2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose show server1 server2 server3
* remote server1
Fetch URL: file:///test_git/server1/repo.git
Push URL: file:///test_git/server1/repo.git
HEAD branch: master
Remote branch:
master new (next fetch will store in remotes/server1)
* remote server2
Fetch URL: file:///test_git/server2/repo.git
Push URL: file:///test_git/server2/repo.git
HEAD branch: master
Remote branch:
master new (next fetch will store in remotes/server2)
* remote server3
Fetch URL: file:///test_git/server3/repo.git
Push URL: file:///test_git/server3/repo.git
HEAD branch: master
Remote branches:
branch1 new (next fetch will store in remotes/server3)
branch2 new (next fetch will store in remotes/server3)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 | 17.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), 139 bytes | 34.00 KiB/s, done.
From file:///test_git/server2/repo
* [new branch] master -> server2/master
Fetching server3
remote: Enumerating objects: 2, done.
remote: Counting objects: 100% (2/2), done.
remote: Total 2 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (2/2), 139 bytes | 34.00 KiB/s, done.
From file:///test_git/server3/repo
* [new branch] branch1 -> server3/branch1
* [new branch] branch2 -> server3/branch2
jhcarl0814@jhcarl0814 UCRT64 $?=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 258214a 1
remotes/server2/HEAD -> server2/master
remotes/server2/master e5b9987 2
remotes/server3/branch1 c999e2e 3
remotes/server3/branch2 c999e2e 3
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose show server1 server2 server3
* remote server1
Fetch URL: file:///test_git/server1/repo.git
Push URL: file:///test_git/server1/repo.git
HEAD branch: master
Remote branch:
master tracked
* remote server2
Fetch URL: file:///test_git/server2/repo.git
Push URL: file:///test_git/server2/repo.git
HEAD branch: master
Remote branch:
master tracked
* remote server3
Fetch URL: file:///test_git/server3/repo.git
Push URL: file:///test_git/server3/repo.git
HEAD branch: master
Remote branches:
branch1 tracked
branch2 tracked
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' checkout -b "$branch_default_name"21 server2/"$branch_default_name"
branch 'master21' set up to track 'server2/master'.
Switched to a new branch 'master21'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' checkout -b "$branch_default_name"22 server2/"$branch_default_name"
branch 'master22' set up to track 'server2/master'.
Switched to a new branch 'master22'
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server1.url=file:///test_git/server1/repo.git
local file:.git/config remote.server1.fetch=+refs/heads/*:refs/remotes/server1/*
local file:.git/config remote.server2.url=file:///test_git/server2/repo.git
local file:.git/config remote.server2.fetch=+refs/heads/*:refs/remotes/server2/*
local file:.git/config remote.server3.url=file:///test_git/server3/repo.git
local file:.git/config remote.server3.fetch=+refs/heads/branch1:refs/remotes/server3/branch1
local file:.git/config remote.server3.fetch=+refs/heads/branch2:refs/remotes/server3/branch2
local file:.git/config branch.master1.remote=server1
local file:.git/config branch.master1.merge=refs/heads/master
local file:.git/config branch.master21.remote=server2
local file:.git/config branch.master21.merge=refs/heads/master
local file:.git/config branch.master22.remote=server2
local file:.git/config branch.master22.merge=refs/heads/master
local file:.git/config branch.branch1.remote=server3
local file:.git/config branch.branch1.merge=refs/heads/branch1
local file:.git/config branch.branch2.remote=server3
local file:.git/config branch.branch2.merge=refs/heads/branch2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
branch1 c999e2e [server3/branch1] 3
* branch2 c999e2e [server3/branch2] 3
master1 258214a [server1/master] 1
master21 e5b9987 [server2/master] 2
master22 e5b9987 [server2/master] 2
remotes/server1/HEAD -> server1/master
remotes/server1/master 258214a 1
remotes/server2/HEAD -> server2/master
remotes/server2/master e5b9987 2
remotes/server3/branch1 c999e2e 3
remotes/server3/branch2 c999e2e 3
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' checkout "$branch_default_name"1; git -C './client/repo' push
Switched to branch 'master1'
Your branch is up to date with 'server1/master'.
fatal: The upstream branch of your current branch does not match
the name of your current branch. To push to the upstream branch
on the remote, use
git push server1 HEAD:master
To push to the branch of the same name on the remote, use
git push server1 HEAD
To choose either option permanently, see push.default in 'git help config'.
To avoid automatically configuring an upstream branch when its name
won't match the local branch, see option 'simple' of branch.autoSetupMerge
in 'git help config'.
jhcarl0814@jhcarl0814 UCRT64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' checkout "$branch_default_name"21; git -C './client/repo' push
Switched to branch 'master21'
Your branch is up to date with 'server2/master'.
fatal: The upstream branch of your current branch does not match
the name of your current branch. To push to the upstream branch
on the remote, use
git push server2 HEAD:master
To push to the branch of the same name on the remote, use
git push server2 HEAD
To choose either option permanently, see push.default in 'git help config'.
To avoid automatically configuring an upstream branch when its name
won't match the local branch, see option 'simple' of branch.autoSetupMerge
in 'git help config'.
jhcarl0814@jhcarl0814 UCRT64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' checkout "$branch_default_name"22; git -C './client/repo' push
Switched to branch 'master22'
Your branch is up to date with 'server2/master'.
fatal: The upstream branch of your current branch does not match
the name of your current branch. To push to the upstream branch
on the remote, use
git push server2 HEAD:master
To push to the branch of the same name on the remote, use
git push server2 HEAD
To choose either option permanently, see push.default in 'git help config'.
To avoid automatically configuring an upstream branch when its name
won't match the local branch, see option 'simple' of branch.autoSetupMerge
in 'git help config'.
jhcarl0814@jhcarl0814 UCRT64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' checkout branch1; git -C './client/repo' push
Switched to branch 'branch1'
Your branch is up to date with 'server3/branch1'.
Everything up-to-date
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' checkout branch2; git -C './client/repo' push
Switched to branch 'branch2'
Your branch is up to date with 'server3/branch2'.
Everything up-to-date
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose show server1 server2 server3
* remote server1
Fetch URL: file:///test_git/server1/repo.git
Push URL: file:///test_git/server1/repo.git
HEAD branch: master
Remote branch:
master tracked
Local branch configured for 'git pull':
master1 merges with remote master
* remote server2
Fetch URL: file:///test_git/server2/repo.git
Push URL: file:///test_git/server2/repo.git
HEAD branch: master
Remote branch:
master tracked
Local branches configured for 'git pull':
master21 merges with remote master
master22 merges with remote master
* remote server3
Fetch URL: file:///test_git/server3/repo.git
Push URL: file:///test_git/server3/repo.git
HEAD branch: master
Remote branches:
branch1 tracked
branch2 tracked
Local branches configured for 'git pull':
branch1 merges with remote branch1
branch2 merges with remote branch2
Local refs configured for 'git push':
branch1 pushes to branch1 (up to date)
branch2 pushes to branch2 (up to date)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config set --local 'push.default' 'upstream'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' checkout "$branch_default_name"1; git -C './client/repo' push
Switched to branch 'master1'
Your branch is up to date with 'server1/master'.
Everything up-to-date
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' checkout "$branch_default_name"21; git -C './client/repo' push
Switched to branch 'master21'
Your branch is up to date with 'server2/master'.
Everything up-to-date
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' checkout "$branch_default_name"22; git -C './client/repo' push
Switched to branch 'master22'
Your branch is up to date with 'server2/master'.
Everything up-to-date
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' checkout branch1; git -C './client/repo' push
Switched to branch 'branch1'
Your branch is up to date with 'server3/branch1'.
Everything up-to-date
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' checkout branch2; git -C './client/repo' push
Switched to branch 'branch2'
Your branch is up to date with 'server3/branch2'.
Everything up-to-date
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose show server1 server2 server3
* remote server1
Fetch URL: file:///test_git/server1/repo.git
Push URL: file:///test_git/server1/repo.git
HEAD branch: master
Remote branch:
master tracked
Local branch configured for 'git pull':
master1 merges with remote master
* remote server2
Fetch URL: file:///test_git/server2/repo.git
Push URL: file:///test_git/server2/repo.git
HEAD branch: master
Remote branch:
master tracked
Local branches configured for 'git pull':
master21 merges with remote master
master22 merges with remote master
* remote server3
Fetch URL: file:///test_git/server3/repo.git
Push URL: file:///test_git/server3/repo.git
HEAD branch: master
Remote branches:
branch1 tracked
branch2 tracked
Local branches configured for 'git pull':
branch1 merges with remote branch1
branch2 merges with remote branch2
Local refs configured for 'git push':
branch1 pushes to branch1 (up to date)
branch2 pushes to branch2 (up to date)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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) f2a29c5] 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' branch branch1; git -C './server/repo.git' branch branch2; git -C './server/repo.git' tag tag1; git -C './server/repo.git' tag tag2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose
server file:///test_git/server/repo.git (fetch)
server file:///test_git/server/repo.git (push)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server/repo.git
local file:.git/config remote.server.fetch=+refs/heads/*:refs/remotes/server/*
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' tag --list
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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), 139 bytes | 19.00 KiB/s, done.
From file:///test_git/server/repo
* [new branch] branch1 -> server/branch1
* [new branch] branch2 -> server/branch2
* [new branch] master -> server/master
* [new tag] tag1 -> tag1
* [new tag] tag2 -> tag2
jhcarl0814@jhcarl0814 UCRT64 $?=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 f2a29c5 1
remotes/server/branch2 f2a29c5 1
remotes/server/master f2a29c5 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' tag --list
tag1
tag2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' branch --delete branch1; git -C './server/repo.git' branch branch3; git -C './server/repo.git' tag --delete tag1; git -C './server/repo.git' tag tag3
Deleted branch branch1 (was f2a29c5).
Deleted tag 'tag1' (was f2a29c5)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote prune --dry-run server
Pruning server
URL: file:///test_git/server/repo.git
* [would prune] server/branch1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch --prune --dry-run server
From file:///test_git/server/repo
- [deleted] (none) -> server/branch1
* [new branch] branch3 -> server/branch3
* [new tag] tag3 -> tag3
* [new tag] tag3 -> tag3
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config set --local 'fetch.pruneTags' 'true'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote prune --dry-run server
Pruning server
URL: file:///test_git/server/repo.git
* [would prune] server/branch1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch --prune --dry-run server
From file:///test_git/server/repo
- [deleted] (none) -> server/branch1
- [deleted] (none) -> tag1
* [new branch] branch3 -> server/branch3
* [new tag] tag3 -> tag3
* [new tag] tag3 -> tag3
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config unset --local 'fetch.pruneTags'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config set --local --append 'remote.server.fetch' '+refs/tags/*:refs/tags/*'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote prune --dry-run server
Pruning server
URL: file:///test_git/server/repo.git
* [would prune] server/branch1
* [would prune] refs/tags/tag1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch --prune --dry-run server
From file:///test_git/server/repo
- [deleted] (none) -> server/branch1
- [deleted] (none) -> tag1
* [new branch] branch3 -> server/branch3
* [new tag] tag3 -> tag3
* [new tag] tag3 -> tag3
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote prune server
Pruning server
URL: file:///test_git/server/repo.git
* [pruned] server/branch1
* [pruned] refs/tags/tag1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
remotes/server/HEAD -> server/master
remotes/server/branch2 f2a29c5 1
remotes/server/master f2a29c5 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' tag --list
tag2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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) 9d6f6be] 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' branch branch1; git -C './server/repo.git' branch branch2; git -C './server/repo.git' tag tag1; git -C './server/repo.git' tag tag2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose
server file:///test_git/server/repo.git (fetch)
server file:///test_git/server/repo.git (push)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server/repo.git
local file:.git/config remote.server.fetch=+refs/heads/*:refs/remotes/server/*
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' tag --list
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose update
remote: Enumerating objects: 2, done.
remote: Counting objects: 100% (2/2), done.
remote: Total 2 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (2/2), 139 bytes | 19.00 KiB/s, done.
From file:///test_git/server/repo
* [new branch] branch1 -> server/branch1
* [new branch] branch2 -> server/branch2
* [new branch] master -> server/master
* [new tag] tag1 -> tag1
* [new tag] tag2 -> tag2
jhcarl0814@jhcarl0814 UCRT64 $?=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 9d6f6be 1
remotes/server/branch2 9d6f6be 1
remotes/server/master 9d6f6be 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' tag --list
tag1
tag2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' branch --delete branch1; git -C './server/repo.git' branch branch3; git -C './server/repo.git' tag --delete tag1; git -C './server/repo.git' tag tag3
Deleted branch branch1 (was 9d6f6be).
Deleted tag 'tag1' (was 9d6f6be)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose update
From file:///test_git/server/repo
= [up to date] branch2 -> server/branch2
* [new branch] branch3 -> server/branch3
= [up to date] master -> server/master
* [new tag] tag3 -> tag3
jhcarl0814@jhcarl0814 UCRT64 $?=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 9d6f6be 1
remotes/server/branch2 9d6f6be 1
remotes/server/branch3 9d6f6be 1
remotes/server/master 9d6f6be 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' tag --list
tag1
tag2
tag3
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose update --prune
From file:///test_git/server/repo
- [deleted] (none) -> server/branch1
= [up to date] branch2 -> server/branch2
= [up to date] branch3 -> server/branch3
= [up to date] master -> server/master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
remotes/server/HEAD -> server/master
remotes/server/branch2 9d6f6be 1
remotes/server/branch3 9d6f6be 1
remotes/server/master 9d6f6be 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' tag --list
tag1
tag2
tag3
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config set --local 'fetch.pruneTags' 'true'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose update --prune
From file:///test_git/server/repo
- [deleted] (none) -> tag1
= [up to date] branch2 -> server/branch2
= [up to date] branch3 -> server/branch3
= [up to date] master -> server/master
= [up to date] tag2 -> tag2
= [up to date] tag3 -> tag3
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
remotes/server/HEAD -> server/master
remotes/server/branch2 9d6f6be 1
remotes/server/branch3 9d6f6be 1
remotes/server/master 9d6f6be 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' tag --list
tag2
tag3
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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) a5ea133] 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' branch branch; git -C './server/repo.git' tag tag
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg
* a5ea133 - 2026-10-28 21:49 (1 second ago) 1 - Han Jiang (HEAD -> refs/heads/master, tag: refs/tags/tag, refs/heads/branch)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ mkdir --parents -- './client/repo'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ touch './client/repo/file'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone '../server/repo.git'
fatal: destination path 'repo' already exists and is not an empty directory.
jhcarl0814@jhcarl0814 UCRT64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ rm --force --recursive -- './client/repo'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ mkdir --parents -- './client/repo/dir'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone '../server/repo.git'
fatal: destination path 'repo' already exists and is not an empty directory.
jhcarl0814@jhcarl0814 UCRT64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ rm --force --recursive -- './client/repo'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone '../server/repo.git'
Cloning into 'repo'...
done.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-origin --show-scope
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.origin.url=C:/Program Files/Git/test_git/client/../server/repo.git
local file:.git/config remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
local file:.git/config branch.master.remote=origin
local file:.git/config branch.master.merge=refs/heads/master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg
* a5ea133 - 2026-10-28 21:49 (6 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, tag: refs/tags/tag, refs/remotes/origin/master, refs/remotes/origin/branch, refs/remotes/origin/HEAD)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ tree '.'
./ d/0o040/directory rwxr-xr-x/0o755
├╴client/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴repo/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴.git/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴config -/0o100/regular file rw-r--r--/0o644
│ │ │ ├╴description -/0o100/regular file rw-r--r--/0o644
│ │ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ ├╴hooks/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴applypatch-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ │ ├╴commit-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ │ ├╴fsmonitor-watchman.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ │ ├╴post-update.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ │ ├╴pre-applypatch.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ │ ├╴pre-commit.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ │ ├╴pre-merge-commit.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ │ ├╴pre-push.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ │ ├╴pre-rebase.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ │ ├╴pre-receive.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ │ ├╴prepare-commit-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ │ ├╴push-to-checkout.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ │ ├╴sendemail-validate.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ │ ├╴update.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴index -/0o100/regular file rw-r--r--/0o644
│ │ │ ├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴exclude -/0o100/regular file rw-r--r--/0o644
│ │ │ ├╴logs/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ │ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ │ ├╴heads/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ │ │ ├╴master -/0o100/regular file rw-r--r--/0o644
│ │ │ │ │ ├╴remotes/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ │ │ ├╴origin/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ │ │ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ ├╴objects/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴4b/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ │ ├╴825dc642cb6eb9a060e54bf8d69288fbee4904 -/0o100/regular file r--r--r--/0o444
│ │ │ │ ├╴a5/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ │ ├╴ea133308ab2fd95dc4e9a7c0f3d319c9afa5cf -/0o100/regular file r--r--r--/0o444
│ │ │ │ ├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴pack/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴packed-refs -/0o100/regular file rw-r--r--/0o644
│ │ │ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴heads/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ │ ├╴master -/0o100/regular file rw-r--r--/0o644
│ │ │ │ ├╴remotes/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ │ ├╴origin/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ │ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ │ ├╴tags/ d/0o040/directory rwxr-xr-x/0o755
├╴server/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴repo.git/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴COMMIT_EDITMSG -/0o100/regular file rw-r--r--/0o644
│ │ ├╴config -/0o100/regular file rw-r--r--/0o644
│ │ ├╴description -/0o100/regular file rw-r--r--/0o644
│ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ ├╴hooks/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴applypatch-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴commit-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴fsmonitor-watchman.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴post-update.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴pre-applypatch.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴pre-commit.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴pre-merge-commit.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴pre-push.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴pre-rebase.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴pre-receive.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴prepare-commit-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴push-to-checkout.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴sendemail-validate.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴update.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴index -/0o100/regular file rw-r--r--/0o644
│ │ ├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴exclude -/0o100/regular file rw-r--r--/0o644
│ │ ├╴logs/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴heads/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ │ ├╴master -/0o100/regular file rw-r--r--/0o644
│ │ ├╴objects/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴4b/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴825dc642cb6eb9a060e54bf8d69288fbee4904 -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴a5/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴ea133308ab2fd95dc4e9a7c0f3d319c9afa5cf -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴pack/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴heads/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴branch -/0o100/regular file rw-r--r--/0o644
│ │ │ │ ├╴master -/0o100/regular file rw-r--r--/0o644
│ │ │ ├╴tags/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴tag -/0o100/regular file rw-r--r--/0o644
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone "$(realpath './server/repo.git')" './repo1'
Cloning into './repo1'...
done.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone 'file://../server/repo.git' './repo2'
Cloning into './repo2'...
fatal: '//../server/repo.git' does not appear to be a git repository
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
jhcarl0814@jhcarl0814 UCRT64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone 'file://'"$(realpath './server/repo.git')" './repo3'
Cloning into './repo3'...
remote: Enumerating objects: 2, done.
remote: Counting objects: 100% (2/2), done.
remote: Total 2 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Receiving objects: 100% (2/2), done.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init --bare './-repo.git'
Initialized empty Git repository in C:/Program Files/Git/test_git/-repo.git/
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./-repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
[master (root-commit) cb1f535] 2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './-repo.git' lg
* cb1f535 - 2026-10-28 21:50 (0 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git clone './-repo.git' './client/repo4.git'
Cloning into './client/repo4.git'...
done.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git clone '-repo.git' './client/repo5.git'
error: unknown switch `r'
usage: git clone [<options>] [--] <repo> [<dir>]
-v, --[no-]verbose be more verbose
-q, --[no-]quiet be more quiet
--[no-]progress force progress reporting
--[no-]reject-shallow don't clone shallow repository
-n, --no-checkout don't create a checkout
--checkout opposite of --no-checkout
--[no-]bare create a bare repository
--[no-]mirror create a mirror repository (implies --bare)
-l, --[no-]local to clone from a local repository
--no-hardlinks don't use local hardlinks, always copy
--hardlinks opposite of --no-hardlinks
-s, --[no-]shared setup as shared repository
--[no-]recurse-submodules[=<pathspec>]
initialize submodules in the clone
--[no-]recursive[=<pathspec>]
alias of --recurse-submodules
-j, --[no-]jobs <n> number of submodules cloned in parallel
--[no-]template <template-directory>
directory from which templates will be used
--[no-]reference <repo>
reference repository
--[no-]reference-if-able <repo>
reference repository
--[no-]dissociate use --reference only while cloning
-o, --[no-]origin <name>
use <name> instead of 'origin' to track upstream
-b, --[no-]branch <branch>
checkout <branch> instead of the remote's HEAD
--[no-]revision <rev> clone single revision <rev> and check out
-u, --[no-]upload-pack <path>
path to git-upload-pack on the remote
--[no-]depth <depth> create a shallow clone of that depth
--[no-]shallow-since <time>
create a shallow clone since a specific time
--[no-]shallow-exclude <ref>
deepen history of shallow clone, excluding ref
--[no-]single-branch clone only one branch, HEAD or --branch
--[no-]tags clone tags, and make later fetches not to follow them
--[no-]shallow-submodules
any cloned submodules will be shallow
--[no-]separate-git-dir <gitdir>
separate git dir from working tree
--[no-]ref-format <format>
specify the reference format to use
-c, --[no-]config <key=value>
set config inside the new repository
--[no-]server-option <server-specific>
option to transmit
-4, --ipv4 use IPv4 addresses only
-6, --ipv6 use IPv6 addresses only
--[no-]filter <args> object filtering
--[no-]also-filter-submodules
apply partial clone filters to submodules
--[no-]remote-submodules
any cloned submodules will use their remote-tracking branch
--[no-]sparse initialize sparse-checkout file to include only files at root
--[no-]bundle-uri <uri>
a URI for downloading bundles before fetching from origin remote
jhcarl0814@jhcarl0814 UCRT64 $?=129 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git clone -- '-repo.git' './client/repo6.git'
Cloning into './client/repo6.git'...
done.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git clone --end-of-options '-repo.git' './client/repo7.git'
Cloning into './client/repo7.git'...
done.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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) 6e88175] 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone --quiet '../server/repo.git' './repo1'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone '../server/repo.git' './repo2'
Cloning into './repo2'...
done.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone --progress '../server/repo.git' './repo3'
Cloning into './repo3'...
done.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ "$SHELL" 0<<-'EOF' 2> >(cat)
> git -C './client' clone --quiet '../server/repo.git' './repo4'
> git -C './client' clone '../server/repo.git' './repo5'
> git -C './client' clone --progress '../server/repo.git' './repo6'
> EOF
Cloning into './repo5'...
done.
Cloning into './repo6'...
done.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone --quiet 'file://'"$(realpath './server/repo.git')" './repo7'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone 'file://'"$(realpath './server/repo.git')" './repo8'
Cloning into './repo8'...
remote: Enumerating objects: 2, done.
remote: Counting objects: 100% (2/2), done.
remote: Total 2 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Receiving objects: 100% (2/2), done.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone --progress 'file://'"$(realpath './server/repo.git')" './repo9'
Cloning into './repo9'...
remote: Enumerating objects: 2, done.
remote: Counting objects: 100% (2/2), done.
remote: Total 2 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Receiving objects: 100% (2/2), done.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ "$SHELL" 0<<-'EOF' 2> >(cat)
> git -C './client' clone --quiet 'file://'"$(realpath './server/repo.git')" './repo10'
> git -C './client' clone 'file://'"$(realpath './server/repo.git')" './repo11'
> git -C './client' clone --progress 'file://'"$(realpath './server/repo.git')" './repo12'
> EOF
Cloning into './repo11'...
Cloning into './repo12'...
remote: Enumerating objects: 2, done.
remote: Counting objects: 100% (2/2), done.
remote: Total 2 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Receiving objects: 100% (2/2), done.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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) 5495616] 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone --quiet '../server/repo.git' './repo1'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone '../server/repo.git' './repo2'
Cloning into './repo2'...
done.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone --progress '../server/repo.git' './repo3'
Cloning into './repo3'...
done.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ "$SHELL" 0<<-'EOF' 2>&1 | cat
> git -C './client' clone --quiet '../server/repo.git' './repo4'
> git -C './client' clone '../server/repo.git' './repo5'
> git -C './client' clone --progress '../server/repo.git' './repo6'
> EOF
Cloning into './repo5'...
done.
Cloning into './repo6'...
done.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone --quiet 'file://'"$(realpath './server/repo.git')" './repo7'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone 'file://'"$(realpath './server/repo.git')" './repo8'
Cloning into './repo8'...
remote: Enumerating objects: 2, done.
remote: Counting objects: 100% (2/2), done.
remote: Total 2 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Receiving objects: 100% (2/2), done.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone --progress 'file://'"$(realpath './server/repo.git')" './repo9'
Cloning into './repo9'...
remote: Enumerating objects: 2, done.
remote: Counting objects: 100% (2/2), done.
remote: Total 2 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Receiving objects: 100% (2/2), done.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ "$SHELL" 0<<-'EOF' 2>&1 | cat
> git -C './client' clone --quiet 'file://'"$(realpath './server/repo.git')" './repo10'
> git -C './client' clone 'file://'"$(realpath './server/repo.git')" './repo11'
> git -C './client' clone --progress 'file://'"$(realpath './server/repo.git')" './repo12'
> EOF
Cloning into './repo11'...
Cloning into './repo12'...
remote: Enumerating objects: 2, done.
remote: Counting objects: 100% (2/2), done.
remote: Total 2 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Receiving objects: 100% (2/2), done.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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) 3122b97] 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone '../server/repo.git' './repo1'
Cloning into './repo1'...
done.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone --verbose '../server/repo.git' './repo2'
Cloning into './repo2'...
done.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone --verbose --verbose '../server/repo.git' './repo3'
Cloning into './repo3'...
done.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone 'file://'"$(realpath './server/repo.git')" './repo4'
Cloning into './repo4'...
remote: Enumerating objects: 2, done.
remote: Counting objects: 100% (2/2), done.
remote: Total 2 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Receiving objects: 100% (2/2), done.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone --verbose 'file://'"$(realpath './server/repo.git')" './repo5'
Cloning into './repo5'...
remote: Enumerating objects: 2, done.
remote: Counting objects: 100% (2/2), done.
remote: Total 2 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Receiving objects: 100% (2/2), done.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone --verbose --verbose 'file://'"$(realpath './server/repo.git')" './repo6'
Cloning into './repo6'...
want 3122b97d0534899a0de18a833bc175e4c4c91327 (HEAD)
want 3122b97d0534899a0de18a833bc175e4c4c91327 (refs/heads/master)
remote: Enumerating objects: 2, done.
remote: Counting objects: 100% (2/2), done.
remote: Total 2 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Receiving objects: 100% (2/2), done.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ touch './file'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' add './file'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))"
[master (root-commit) 3016444] 1
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone '../server/repo.git' './repo1'
Cloning into './repo1'...
done.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone --no-checkout '../server/repo.git' './repo2'
Cloning into './repo2'...
done.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone --bare '../server/repo.git' './repo31'
Cloning into bare repository './repo31'...
done.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone --bare '../server/repo.git' './repo32'
Cloning into bare repository './repo32'...
done.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone --mirror '../server/repo.git' './repo4'
Cloning into bare repository './repo4'...
done.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ ls './client/repo1'
file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ ls './client/repo2'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo1' status
On branch master
Your branch is up to date with 'origin/master'.
nothing to commit, working tree clean
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo2' status
On branch master
Your branch is up to date with 'origin/master'.
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
deleted: file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' config list --local --show-origin --show-scope
local file:config core.repositoryformatversion=0
local file:config core.filemode=false
local file:config core.bare=true
local file:config core.ignorecase=true
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo1' config list --local --show-origin --show-scope
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.origin.url=C:/Program Files/Git/test_git/client/../server/repo.git
local file:.git/config remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
local file:.git/config branch.master.remote=origin
local file:.git/config branch.master.merge=refs/heads/master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo2' config list --local --show-origin --show-scope
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.origin.url=C:/Program Files/Git/test_git/client/../server/repo.git
local file:.git/config remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
local file:.git/config branch.master.remote=origin
local file:.git/config branch.master.merge=refs/heads/master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo31' config list --local --show-origin --show-scope
local file:config core.repositoryformatversion=0
local file:config core.filemode=false
local file:config core.bare=true
local file:config core.ignorecase=true
local file:config remote.origin.url=C:/Program Files/Git/test_git/client/../server/repo.git
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo32' config list --local --show-origin --show-scope
local file:config core.repositoryformatversion=0
local file:config core.filemode=false
local file:config core.bare=true
local file:config core.ignorecase=true
local file:config remote.origin.url=C:/Program Files/Git/test_git/client/../server/repo.git
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo4' config list --local --show-origin --show-scope
local file:config core.repositoryformatversion=0
local file:config core.filemode=false
local file:config core.bare=true
local file:config core.ignorecase=true
local file:config remote.origin.url=C:/Program Files/Git/test_git/client/../server/repo.git
local file:config remote.origin.tagopt=--no-tags
local file:config remote.origin.fetch=+refs/*:refs/*
local file:config remote.origin.mirror=true
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git ls-remote --symref './server/repo.git'
ref: refs/heads/master HEAD
3016444f3f01c704456cf447314e1431c67cac28 HEAD
3016444f3f01c704456cf447314e1431c67cac28 refs/heads/master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git ls-remote --symref './client/repo1'
ref: refs/heads/master HEAD
3016444f3f01c704456cf447314e1431c67cac28 HEAD
3016444f3f01c704456cf447314e1431c67cac28 refs/heads/master
ref: refs/remotes/origin/master refs/remotes/origin/HEAD
3016444f3f01c704456cf447314e1431c67cac28 refs/remotes/origin/HEAD
3016444f3f01c704456cf447314e1431c67cac28 refs/remotes/origin/master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git ls-remote --symref './client/repo2'
ref: refs/heads/master HEAD
3016444f3f01c704456cf447314e1431c67cac28 HEAD
3016444f3f01c704456cf447314e1431c67cac28 refs/heads/master
ref: refs/remotes/origin/master refs/remotes/origin/HEAD
3016444f3f01c704456cf447314e1431c67cac28 refs/remotes/origin/HEAD
3016444f3f01c704456cf447314e1431c67cac28 refs/remotes/origin/master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git ls-remote --symref './client/repo31'
ref: refs/heads/master HEAD
3016444f3f01c704456cf447314e1431c67cac28 HEAD
3016444f3f01c704456cf447314e1431c67cac28 refs/heads/master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git ls-remote --symref './client/repo32'
ref: refs/heads/master HEAD
3016444f3f01c704456cf447314e1431c67cac28 HEAD
3016444f3f01c704456cf447314e1431c67cac28 refs/heads/master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git ls-remote --symref './client/repo4'
ref: refs/heads/master HEAD
3016444f3f01c704456cf447314e1431c67cac28 HEAD
3016444f3f01c704456cf447314e1431c67cac28 refs/heads/master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' branch --show-current
master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' branch --move "$(git -C './server/repo.git' branch --show-current)"2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo1' remote update --prune
From C:/Program Files/Git/test_git/client/../server/repo
- [deleted] (none) -> origin/master
refs/remotes/origin/HEAD has become dangling after refs/remotes/origin/master was deleted
* [new branch] master2 -> origin/master2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo2' remote update --prune
From C:/Program Files/Git/test_git/client/../server/repo
- [deleted] (none) -> origin/master
refs/remotes/origin/HEAD has become dangling after refs/remotes/origin/master was deleted
* [new branch] master2 -> origin/master2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo31' remote update --prune
From C:/Program Files/Git/test_git/client/../server/repo
* branch HEAD -> FETCH_HEAD
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo32' remote update --prune
From C:/Program Files/Git/test_git/client/../server/repo
* branch HEAD -> FETCH_HEAD
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo4' remote update --prune
From C:/Program Files/Git/test_git/client/../server/repo
- [deleted] (none) -> master
* [new branch] master2 -> master2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git ls-remote --symref './server/repo.git'
ref: refs/heads/master2 HEAD
3016444f3f01c704456cf447314e1431c67cac28 HEAD
3016444f3f01c704456cf447314e1431c67cac28 refs/heads/master2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git ls-remote --symref './client/repo1'
ref: refs/heads/master HEAD
3016444f3f01c704456cf447314e1431c67cac28 HEAD
3016444f3f01c704456cf447314e1431c67cac28 refs/heads/master
3016444f3f01c704456cf447314e1431c67cac28 refs/remotes/origin/master2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git ls-remote --symref './client/repo2'
ref: refs/heads/master HEAD
3016444f3f01c704456cf447314e1431c67cac28 HEAD
3016444f3f01c704456cf447314e1431c67cac28 refs/heads/master
3016444f3f01c704456cf447314e1431c67cac28 refs/remotes/origin/master2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git ls-remote --symref './client/repo31'
ref: refs/heads/master HEAD
3016444f3f01c704456cf447314e1431c67cac28 HEAD
3016444f3f01c704456cf447314e1431c67cac28 refs/heads/master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git ls-remote --symref './client/repo32'
ref: refs/heads/master HEAD
3016444f3f01c704456cf447314e1431c67cac28 HEAD
3016444f3f01c704456cf447314e1431c67cac28 refs/heads/master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git ls-remote --symref './client/repo4'
ref: refs/heads/master2 HEAD
3016444f3f01c704456cf447314e1431c67cac28 HEAD
3016444f3f01c704456cf447314e1431c67cac28 refs/heads/master2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ branch_remote_default_path="$(git -C './client/repo1' symbolic-ref 'refs/remotes/origin/HEAD')"; echo "$branch_remote_default_path"
refs/remotes/origin/master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ branch_remote_default_name="${branch_remote_default_path#'refs/remotes/origin/'}"; echo "$branch_remote_default_name"
master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo1' checkout "$branch_remote_default_name"
Already on 'master'
Your branch is based on 'origin/master', but the upstream is gone.
(use "git branch --unset-upstream" to fixup)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ branch_remote_default_path="$(git -C './client/repo2' symbolic-ref 'refs/remotes/origin/HEAD')"; echo "$branch_remote_default_path"
refs/remotes/origin/master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ branch_remote_default_name="${branch_remote_default_path#'refs/remotes/origin/'}"; echo "$branch_remote_default_name"
master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo2' checkout "$branch_remote_default_name"
Already on 'master'
Your branch is based on 'origin/master', but the upstream is gone.
(use "git branch --unset-upstream" to fixup)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git ls-remote --symref './client/repo1'
ref: refs/heads/master HEAD
3016444f3f01c704456cf447314e1431c67cac28 HEAD
3016444f3f01c704456cf447314e1431c67cac28 refs/heads/master
3016444f3f01c704456cf447314e1431c67cac28 refs/remotes/origin/master2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git ls-remote --symref './client/repo2'
ref: refs/heads/master HEAD
3016444f3f01c704456cf447314e1431c67cac28 HEAD
3016444f3f01c704456cf447314e1431c67cac28 refs/heads/master
3016444f3f01c704456cf447314e1431c67cac28 refs/remotes/origin/master2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo31' fetch --prune 'origin' '+refs/*:refs/*'
From C:/Program Files/Git/test_git/client/../server/repo
- [deleted] (none) -> master
* [new branch] master2 -> master2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git ls-remote --symref './client/repo31'
3016444f3f01c704456cf447314e1431c67cac28 refs/heads/master2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ branch_default_output="$(git ls-remote --symref './server/repo.git' | head --lines=1)"; echo "$branch_default_output"
ref: refs/heads/master2 HEAD
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ branch_default_output="${branch_default_output%$'\t'*}"; echo "$branch_default_output"
ref: refs/heads/master2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ branch_default_path="${branch_default_output#'ref: '*}"; echo "$branch_default_path"
refs/heads/master2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo31' symbolic-ref HEAD "$branch_default_path"
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo31' symbolic-ref HEAD
refs/heads/master2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git ls-remote --symref './client/repo31'
ref: refs/heads/master2 HEAD
3016444f3f01c704456cf447314e1431c67cac28 HEAD
3016444f3f01c704456cf447314e1431c67cac28 refs/heads/master2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' push --mirror '../../client/repo32'
Total 0 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
remote: error: By default, deleting the current branch is denied, because the next
remote: 'git clone' won't result in any file checked out, causing confusion.
remote:
remote: You can set 'receive.denyDeleteCurrent' configuration variable to
remote: 'warn' or 'ignore' in the remote repository to allow deleting the
remote: current branch, with or without a warning message.
remote:
remote: To squelch this message, you can set it to 'refuse'.
remote: error: refusing to delete the current branch: refs/heads/master
To ../../client/repo32
* [new branch] master2 -> master2
! [remote rejected] master (deletion of the current branch prohibited)
error: failed to push some refs to '../../client/repo32'
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo32' config set 'receive.denyDeleteCurrent' 'false'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' push --mirror '../../client/repo32'
To ../../client/repo32
- [deleted] master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git ls-remote --symref './client/repo32'
3016444f3f01c704456cf447314e1431c67cac28 refs/heads/master2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ branch_default_output="$(git ls-remote --symref './server/repo.git' | head --lines=1)"; echo "$branch_default_output"
ref: refs/heads/master2 HEAD
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ branch_default_output="${branch_default_output%$'\t'*}"; echo "$branch_default_output"
ref: refs/heads/master2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ branch_default_path="${branch_default_output#'ref: '*}"; echo "$branch_default_path"
refs/heads/master2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo32' symbolic-ref HEAD "$branch_default_path"
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo32' symbolic-ref HEAD
refs/heads/master2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git ls-remote --symref './client/repo32'
ref: refs/heads/master2 HEAD
3016444f3f01c704456cf447314e1431c67cac28 HEAD
3016444f3f01c704456cf447314e1431c67cac28 refs/heads/master2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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) 1105a2d] 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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
/ucrt64/bin/git
/ucrt64/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 UCRT64 $?=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/ucrt64/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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone '../server/repo.git' './repo1'
Cloning into './repo1'...
done.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone --template="$(git -c 'a.b=%(prefix)/' config get --type=path 'a.b')"'share/git-core/templates' '../server/repo.git' './repo2'
Cloning into './repo2'...
done.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ tree '.'
./ d/0o040/directory rwxr-xr-x/0o755
├╴client/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴repo1/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴.git/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴config -/0o100/regular file rw-r--r--/0o644
│ │ │ ├╴description -/0o100/regular file rw-r--r--/0o644
│ │ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ ├╴hooks/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴applypatch-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ │ ├╴commit-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ │ ├╴fsmonitor-watchman.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ │ ├╴post-update.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ │ ├╴pre-applypatch.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ │ ├╴pre-commit.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ │ ├╴pre-merge-commit.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ │ ├╴pre-push.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ │ ├╴pre-rebase.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ │ ├╴pre-receive.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ │ ├╴prepare-commit-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ │ ├╴push-to-checkout.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ │ ├╴sendemail-validate.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ │ ├╴update.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴index -/0o100/regular file rw-r--r--/0o644
│ │ │ ├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴exclude -/0o100/regular file rw-r--r--/0o644
│ │ │ ├╴logs/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ │ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ │ ├╴heads/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ │ │ ├╴master -/0o100/regular file rw-r--r--/0o644
│ │ │ │ │ ├╴remotes/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ │ │ ├╴origin/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ │ │ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ ├╴objects/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴11/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ │ ├╴05a2d361cab8bd2ad818dd83c5626c7b1b63dd -/0o100/regular file r--r--r--/0o444
│ │ │ │ ├╴4b/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ │ ├╴825dc642cb6eb9a060e54bf8d69288fbee4904 -/0o100/regular file r--r--r--/0o444
│ │ │ │ ├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴pack/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴packed-refs -/0o100/regular file rw-r--r--/0o644
│ │ │ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴heads/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ │ ├╴master -/0o100/regular file rw-r--r--/0o644
│ │ │ │ ├╴remotes/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ │ ├╴origin/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ │ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ │ ├╴tags/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴repo2/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴.git/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴config -/0o100/regular file rw-r--r--/0o644
│ │ │ ├╴description -/0o100/regular file rw-r--r--/0o644
│ │ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ ├╴hooks/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴applypatch-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ │ ├╴commit-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ │ ├╴fsmonitor-watchman.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ │ ├╴post-update.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ │ ├╴pre-applypatch.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ │ ├╴pre-commit.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ │ ├╴pre-merge-commit.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ │ ├╴pre-push.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ │ ├╴pre-rebase.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ │ ├╴pre-receive.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ │ ├╴prepare-commit-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ │ ├╴push-to-checkout.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ │ ├╴sendemail-validate.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ │ ├╴update.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴index -/0o100/regular file rw-r--r--/0o644
│ │ │ ├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴exclude -/0o100/regular file rw-r--r--/0o644
│ │ │ ├╴logs/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ │ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ │ ├╴heads/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ │ │ ├╴master -/0o100/regular file rw-r--r--/0o644
│ │ │ │ │ ├╴remotes/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ │ │ ├╴origin/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ │ │ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ ├╴objects/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴11/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ │ ├╴05a2d361cab8bd2ad818dd83c5626c7b1b63dd -/0o100/regular file r--r--r--/0o444
│ │ │ │ ├╴4b/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ │ ├╴825dc642cb6eb9a060e54bf8d69288fbee4904 -/0o100/regular file r--r--r--/0o444
│ │ │ │ ├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴pack/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴packed-refs -/0o100/regular file rw-r--r--/0o644
│ │ │ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴heads/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ │ ├╴master -/0o100/regular file rw-r--r--/0o644
│ │ │ │ ├╴remotes/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ │ ├╴origin/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ │ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ │ ├╴tags/ d/0o040/directory rwxr-xr-x/0o755
├╴server/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴repo.git/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴COMMIT_EDITMSG -/0o100/regular file rw-r--r--/0o644
│ │ ├╴config -/0o100/regular file rw-r--r--/0o644
│ │ ├╴description -/0o100/regular file rw-r--r--/0o644
│ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ ├╴hooks/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴applypatch-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴commit-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴fsmonitor-watchman.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴post-update.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴pre-applypatch.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴pre-commit.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴pre-merge-commit.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴pre-push.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴pre-rebase.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴pre-receive.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴prepare-commit-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴push-to-checkout.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴sendemail-validate.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴update.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴index -/0o100/regular file rw-r--r--/0o644
│ │ ├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴exclude -/0o100/regular file rw-r--r--/0o644
│ │ ├╴logs/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴heads/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ │ ├╴master -/0o100/regular file rw-r--r--/0o644
│ │ ├╴objects/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴11/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴05a2d361cab8bd2ad818dd83c5626c7b1b63dd -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴4b/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴825dc642cb6eb9a060e54bf8d69288fbee4904 -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴pack/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴heads/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴master -/0o100/regular file rw-r--r--/0o644
│ │ │ ├╴tags/ d/0o040/directory rwxr-xr-x/0o755
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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) 971e83f] 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone --separate-git-dir='./repo.git' '../server/repo.git' './worktree1'
Cloning into './worktree1'...
done.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ tree '.'
./ d/0o040/directory rwxr-xr-x/0o755
├╴client/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴repo.git/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴config -/0o100/regular file rw-r--r--/0o644
│ │ ├╴description -/0o100/regular file rw-r--r--/0o644
│ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ ├╴hooks/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴applypatch-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴commit-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴fsmonitor-watchman.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴post-update.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴pre-applypatch.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴pre-commit.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴pre-merge-commit.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴pre-push.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴pre-rebase.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴pre-receive.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴prepare-commit-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴push-to-checkout.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴sendemail-validate.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴update.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴index -/0o100/regular file rw-r--r--/0o644
│ │ ├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴exclude -/0o100/regular file rw-r--r--/0o644
│ │ ├╴logs/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴heads/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ │ ├╴master -/0o100/regular file rw-r--r--/0o644
│ │ │ │ ├╴remotes/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ │ ├╴origin/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ │ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ ├╴objects/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴4b/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴825dc642cb6eb9a060e54bf8d69288fbee4904 -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴97/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴1e83f72f06137f10a1129b8ad2288453609db9 -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴pack/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴packed-refs -/0o100/regular file rw-r--r--/0o644
│ │ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴heads/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴master -/0o100/regular file rw-r--r--/0o644
│ │ │ ├╴remotes/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴origin/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ ├╴tags/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴worktree1/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴.git -/0o100/regular file rw-r--r--/0o644
├╴server/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴repo.git/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴COMMIT_EDITMSG -/0o100/regular file rw-r--r--/0o644
│ │ ├╴config -/0o100/regular file rw-r--r--/0o644
│ │ ├╴description -/0o100/regular file rw-r--r--/0o644
│ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ ├╴hooks/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴applypatch-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴commit-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴fsmonitor-watchman.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴post-update.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴pre-applypatch.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴pre-commit.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴pre-merge-commit.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴pre-push.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴pre-rebase.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴pre-receive.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴prepare-commit-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴push-to-checkout.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴sendemail-validate.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ │ ├╴update.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴index -/0o100/regular file rw-r--r--/0o644
│ │ ├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴exclude -/0o100/regular file rw-r--r--/0o644
│ │ ├╴logs/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴heads/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ │ ├╴master -/0o100/regular file rw-r--r--/0o644
│ │ ├╴objects/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴4b/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴825dc642cb6eb9a060e54bf8d69288fbee4904 -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴97/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴1e83f72f06137f10a1129b8ad2288453609db9 -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴pack/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴heads/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴master -/0o100/regular file rw-r--r--/0o644
│ │ │ ├╴tags/ d/0o040/directory rwxr-xr-x/0o755
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/worktree1'
./client/worktree1/ d/0o040/directory rwxr-xr-x/0o755
├╴.git -/0o100/regular file rw-r--r--/0o644
│ 1 gitdir: C:/Program Files/Git/test_git/client/repo.git\n
│ 2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo.git' rev-parse --path-format=absolute --absolute-git-dir --git-common-dir
C:/Program Files/Git/test_git/client/repo.git
C:/Program Files/Git/test_git/client/repo.git
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo.git' rev-parse --path-format=absolute --show-toplevel
fatal: this operation must be run in a work tree
jhcarl0814@jhcarl0814 UCRT64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/worktree1' rev-parse --path-format=absolute --absolute-git-dir --git-common-dir --show-toplevel
C:/Program Files/Git/test_git/client/repo.git
C:/Program Files/Git/test_git/client/repo.git
C:/Program Files/Git/test_git/client/worktree1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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) 3967f50] 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone --config='section.key1' --config='section.key2=' --config='section.key3=""' '../server/repo.git' './repo'
Cloning into './repo'...
done.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-origin --show-scope
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config section.key1=true
local file:.git/config section.key2=
local file:.git/config section.key3=""
local file:.git/config remote.origin.url=C:/Program Files/Git/test_git/client/../server/repo.git
local file:.git/config remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
local file:.git/config branch.master.remote=origin
local file:.git/config branch.master.merge=refs/heads/master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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) 8c9bc1f] 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone '../server/repo.git' './repo1'
Cloning into './repo1'...
done.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo1' config list --local --show-origin --show-scope
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.origin.url=C:/Program Files/Git/test_git/client/../server/repo.git
local file:.git/config remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
local file:.git/config branch.master.remote=origin
local file:.git/config branch.master.merge=refs/heads/master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo1' remote --verbose show
origin C:/Program Files/Git/test_git/client/../server/repo.git (fetch)
origin C:/Program Files/Git/test_git/client/../server/repo.git (push)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone --origin='orig' '../server/repo.git' './repo2'
Cloning into './repo2'...
done.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo2' config list --local --show-origin --show-scope
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.orig.url=C:/Program Files/Git/test_git/client/../server/repo.git
local file:.git/config remote.orig.fetch=+refs/heads/*:refs/remotes/orig/*
local file:.git/config branch.master.remote=orig
local file:.git/config branch.master.merge=refs/heads/master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo2' remote --verbose show
orig C:/Program Files/Git/test_git/client/../server/repo.git (fetch)
orig C:/Program Files/Git/test_git/client/../server/repo.git (push)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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) 2adafeb] 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' branch branch; git -C './server/repo.git' tag tag
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone '../server/repo.git' './repo1'
Cloning into './repo1'...
done.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo1' config list --local --show-origin --show-scope
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.origin.url=C:/Program Files/Git/test_git/client/../server/repo.git
local file:.git/config remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
local file:.git/config branch.master.remote=origin
local file:.git/config branch.master.merge=refs/heads/master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo1' branch --list --all --verbose --verbose
* master 2adafeb [origin/master] 1
remotes/origin/HEAD -> origin/master
remotes/origin/branch 2adafeb 1
remotes/origin/master 2adafeb 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo1' status --verbose --verbose
On branch master
Your branch is up to date with 'origin/master'.
nothing to commit, working tree clean
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone --branch='branch' '../server/repo.git' './repo21'
Cloning into './repo21'...
done.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo21' config list --local --show-origin --show-scope
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.origin.url=C:/Program Files/Git/test_git/client/../server/repo.git
local file:.git/config remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
local file:.git/config branch.branch.remote=origin
local file:.git/config branch.branch.merge=refs/heads/branch
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo21' branch --list --all --verbose --verbose
* branch 2adafeb [origin/branch] 1
remotes/origin/HEAD -> origin/master
remotes/origin/branch 2adafeb 1
remotes/origin/master 2adafeb 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo21' status --verbose --verbose
On branch branch
Your branch is up to date with 'origin/branch'.
nothing to commit, working tree clean
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone --branch='tag' '../server/repo.git' './repo22'
Cloning into './repo22'...
done.
Note: switching to '2adafebac8705af621be82af6baffbbe73ca6f1e'.
You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by switching back to a branch.
If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -c with the switch command. Example:
git switch -c <new-branch-name>
Or undo this operation with:
git switch -
Turn off this advice by setting config variable advice.detachedHead to false
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo22' config list --local --show-origin --show-scope
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.origin.url=C:/Program Files/Git/test_git/client/../server/repo.git
local file:.git/config remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo22' branch --list --all --verbose --verbose
* (no branch) 2adafeb 1
remotes/origin/HEAD -> origin/master
remotes/origin/branch 2adafeb 1
remotes/origin/master 2adafeb 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo22' status --verbose --verbose
Not currently on any branch.
nothing to commit, working tree clean
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone --branch='HEAD' '../server/repo.git' './repo23'
Cloning into './repo23'...
fatal: Remote branch HEAD not found in upstream origin
jhcarl0814@jhcarl0814 UCRT64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone --revision='branch' '../server/repo.git' './repo31'
Cloning into './repo31'...
done.
Note: switching to '2adafebac8705af621be82af6baffbbe73ca6f1e'.
You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by switching back to a branch.
If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -c with the switch command. Example:
git switch -c <new-branch-name>
Or undo this operation with:
git switch -
Turn off this advice by setting config variable advice.detachedHead to false
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo31' config list --local --show-origin --show-scope
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.origin.url=C:/Program Files/Git/test_git/client/../server/repo.git
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo31' branch --list --all --verbose --verbose
* (no branch) 2adafeb 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo31' status --verbose --verbose
Not currently on any branch.
nothing to commit, working tree clean
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone --revision='tag' '../server/repo.git' './repo32'
Cloning into './repo32'...
done.
Note: switching to '2adafebac8705af621be82af6baffbbe73ca6f1e'.
You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by switching back to a branch.
If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -c with the switch command. Example:
git switch -c <new-branch-name>
Or undo this operation with:
git switch -
Turn off this advice by setting config variable advice.detachedHead to false
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo32' config list --local --show-origin --show-scope
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.origin.url=C:/Program Files/Git/test_git/client/../server/repo.git
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo32' branch --list --all --verbose --verbose
* (no branch) 2adafeb 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo32' status --verbose --verbose
Not currently on any branch.
nothing to commit, working tree clean
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone --revision='HEAD' '../server/repo.git' './repo33'
Cloning into './repo33'...
done.
Note: switching to '2adafebac8705af621be82af6baffbbe73ca6f1e'.
You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by switching back to a branch.
If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -c with the switch command. Example:
git switch -c <new-branch-name>
Or undo this operation with:
git switch -
Turn off this advice by setting config variable advice.detachedHead to false
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo33' config list --local --show-origin --show-scope
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.origin.url=C:/Program Files/Git/test_git/client/../server/repo.git
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo33' branch --list --all --verbose --verbose
* (no branch) 2adafeb 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo33' status --verbose --verbose
Not currently on any branch.
nothing to commit, working tree clean
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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) 6fd4fa6] 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ tree './server'
./server/ d/0o040/directory rwxr-xr-x/0o755
├╴repo.git/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴COMMIT_EDITMSG -/0o100/regular file rw-r--r--/0o644
│ ├╴config -/0o100/regular file rw-r--r--/0o644
│ ├╴description -/0o100/regular file rw-r--r--/0o644
│ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ ├╴hooks/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴applypatch-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴commit-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴fsmonitor-watchman.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴post-update.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴pre-applypatch.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴pre-commit.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴pre-merge-commit.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴pre-push.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴pre-rebase.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴pre-receive.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴prepare-commit-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴push-to-checkout.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴sendemail-validate.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴update.sample -/0o100/regular file rwxr-xr-x/0o755
│ ├╴index -/0o100/regular file rw-r--r--/0o644
│ ├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴exclude -/0o100/regular file rw-r--r--/0o644
│ ├╴logs/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴heads/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴master -/0o100/regular file rw-r--r--/0o644
│ ├╴objects/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴4b/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴825dc642cb6eb9a060e54bf8d69288fbee4904 -/0o100/regular file r--r--r--/0o444
│ │ ├╴6f/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴d4fa67edc87ba4c22d9857b66a41fdcc7f1144 -/0o100/regular file r--r--r--/0o444
│ │ ├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴pack/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴heads/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴master -/0o100/regular file rw-r--r--/0o644
│ │ ├╴tags/ d/0o040/directory rwxr-xr-x/0o755
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ find './server/repo.git/objects' -printf '%p %n\n'
./server/repo.git/objects 1
./server/repo.git/objects/4b 1
./server/repo.git/objects/4b/825dc642cb6eb9a060e54bf8d69288fbee4904 1
./server/repo.git/objects/6f 1
./server/repo.git/objects/6f/d4fa67edc87ba4c22d9857b66a41fdcc7f1144 1
./server/repo.git/objects/info 1
./server/repo.git/objects/pack 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ touch './server/repo.git/objects/file'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ touch './server/repo.git/refs/file'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone '../server/repo.git' './repo1'
Cloning into './repo1'...
done.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ tree './client/repo1'
./client/repo1/ d/0o040/directory rwxr-xr-x/0o755
├╴.git/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴config -/0o100/regular file rw-r--r--/0o644
│ ├╴description -/0o100/regular file rw-r--r--/0o644
│ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ ├╴hooks/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴applypatch-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴commit-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴fsmonitor-watchman.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴post-update.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴pre-applypatch.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴pre-commit.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴pre-merge-commit.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴pre-push.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴pre-rebase.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴pre-receive.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴prepare-commit-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴push-to-checkout.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴sendemail-validate.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴update.sample -/0o100/regular file rwxr-xr-x/0o755
│ ├╴index -/0o100/regular file rw-r--r--/0o644
│ ├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴exclude -/0o100/regular file rw-r--r--/0o644
│ ├╴logs/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴heads/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴master -/0o100/regular file rw-r--r--/0o644
│ │ │ ├╴remotes/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴origin/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ ├╴objects/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴4b/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴825dc642cb6eb9a060e54bf8d69288fbee4904 -/0o100/regular file r--r--r--/0o444
│ │ ├╴6f/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴d4fa67edc87ba4c22d9857b66a41fdcc7f1144 -/0o100/regular file r--r--r--/0o444
│ │ ├╴file -/0o100/regular empty file rw-r--r--/0o644
│ │ ├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴pack/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴packed-refs -/0o100/regular file rw-r--r--/0o644
│ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴heads/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴master -/0o100/regular file rw-r--r--/0o644
│ │ ├╴remotes/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴origin/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ ├╴tags/ d/0o040/directory rwxr-xr-x/0o755
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ find './server/repo.git/objects' -printf '%p %n\n'
./server/repo.git/objects 1
./server/repo.git/objects/4b 1
./server/repo.git/objects/4b/825dc642cb6eb9a060e54bf8d69288fbee4904 2
./server/repo.git/objects/6f 1
./server/repo.git/objects/6f/d4fa67edc87ba4c22d9857b66a41fdcc7f1144 2
./server/repo.git/objects/file 2
./server/repo.git/objects/info 1
./server/repo.git/objects/pack 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone --no-local '../server/repo.git' './repo2'
Cloning into './repo2'...
remote: Enumerating objects: 2, done.
remote: Counting objects: 100% (2/2), done.
remote: Total 2 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Receiving objects: 100% (2/2), done.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ tree './client/repo2'
./client/repo2/ d/0o040/directory rwxr-xr-x/0o755
├╴.git/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴config -/0o100/regular file rw-r--r--/0o644
│ ├╴description -/0o100/regular file rw-r--r--/0o644
│ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ ├╴hooks/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴applypatch-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴commit-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴fsmonitor-watchman.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴post-update.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴pre-applypatch.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴pre-commit.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴pre-merge-commit.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴pre-push.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴pre-rebase.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴pre-receive.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴prepare-commit-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴push-to-checkout.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴sendemail-validate.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴update.sample -/0o100/regular file rwxr-xr-x/0o755
│ ├╴index -/0o100/regular file rw-r--r--/0o644
│ ├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴exclude -/0o100/regular file rw-r--r--/0o644
│ ├╴logs/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴heads/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴master -/0o100/regular file rw-r--r--/0o644
│ │ │ ├╴remotes/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴origin/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ ├╴objects/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴pack/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴pack-f9ea212a36c639faaec628b54df44dd222a6bba0.idx -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴pack-f9ea212a36c639faaec628b54df44dd222a6bba0.pack -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴pack-f9ea212a36c639faaec628b54df44dd222a6bba0.rev -/0o100/regular file r--r--r--/0o444
│ ├╴packed-refs -/0o100/regular file rw-r--r--/0o644
│ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴heads/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴master -/0o100/regular file rw-r--r--/0o644
│ │ ├╴remotes/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴origin/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ ├╴tags/ d/0o040/directory rwxr-xr-x/0o755
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ find './server/repo.git/objects' -printf '%p %n\n'
./server/repo.git/objects 1
./server/repo.git/objects/4b 1
./server/repo.git/objects/4b/825dc642cb6eb9a060e54bf8d69288fbee4904 2
./server/repo.git/objects/6f 1
./server/repo.git/objects/6f/d4fa67edc87ba4c22d9857b66a41fdcc7f1144 2
./server/repo.git/objects/file 2
./server/repo.git/objects/info 1
./server/repo.git/objects/pack 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone 'file://'"$(realpath './server/repo.git')" './repo3'
Cloning into './repo3'...
remote: Enumerating objects: 2, done.
remote: Counting objects: 100% (2/2), done.
remote: Total 2 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Receiving objects: 100% (2/2), done.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ tree './client/repo3'
./client/repo3/ d/0o040/directory rwxr-xr-x/0o755
├╴.git/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴config -/0o100/regular file rw-r--r--/0o644
│ ├╴description -/0o100/regular file rw-r--r--/0o644
│ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ ├╴hooks/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴applypatch-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴commit-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴fsmonitor-watchman.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴post-update.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴pre-applypatch.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴pre-commit.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴pre-merge-commit.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴pre-push.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴pre-rebase.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴pre-receive.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴prepare-commit-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴push-to-checkout.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴sendemail-validate.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴update.sample -/0o100/regular file rwxr-xr-x/0o755
│ ├╴index -/0o100/regular file rw-r--r--/0o644
│ ├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴exclude -/0o100/regular file rw-r--r--/0o644
│ ├╴logs/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴heads/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴master -/0o100/regular file rw-r--r--/0o644
│ │ │ ├╴remotes/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴origin/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ ├╴objects/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴pack/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴pack-f9ea212a36c639faaec628b54df44dd222a6bba0.idx -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴pack-f9ea212a36c639faaec628b54df44dd222a6bba0.pack -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴pack-f9ea212a36c639faaec628b54df44dd222a6bba0.rev -/0o100/regular file r--r--r--/0o444
│ ├╴packed-refs -/0o100/regular file rw-r--r--/0o644
│ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴heads/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴master -/0o100/regular file rw-r--r--/0o644
│ │ ├╴remotes/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴origin/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ ├╴tags/ d/0o040/directory rwxr-xr-x/0o755
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ find './server/repo.git/objects' -printf '%p %n\n'
./server/repo.git/objects 1
./server/repo.git/objects/4b 1
./server/repo.git/objects/4b/825dc642cb6eb9a060e54bf8d69288fbee4904 2
./server/repo.git/objects/6f 1
./server/repo.git/objects/6f/d4fa67edc87ba4c22d9857b66a41fdcc7f1144 2
./server/repo.git/objects/file 2
./server/repo.git/objects/info 1
./server/repo.git/objects/pack 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone --local 'file://'"$(realpath './server/repo.git')" './repo4'
Cloning into './repo4'...
warning: --local is ignored
remote: Enumerating objects: 2, done.
remote: Counting objects: 100% (2/2), done.
remote: Total 2 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Receiving objects: 100% (2/2), done.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ tree './client/repo4'
./client/repo4/ d/0o040/directory rwxr-xr-x/0o755
├╴.git/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴config -/0o100/regular file rw-r--r--/0o644
│ ├╴description -/0o100/regular file rw-r--r--/0o644
│ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ ├╴hooks/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴applypatch-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴commit-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴fsmonitor-watchman.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴post-update.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴pre-applypatch.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴pre-commit.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴pre-merge-commit.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴pre-push.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴pre-rebase.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴pre-receive.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴prepare-commit-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴push-to-checkout.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴sendemail-validate.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴update.sample -/0o100/regular file rwxr-xr-x/0o755
│ ├╴index -/0o100/regular file rw-r--r--/0o644
│ ├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴exclude -/0o100/regular file rw-r--r--/0o644
│ ├╴logs/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴heads/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴master -/0o100/regular file rw-r--r--/0o644
│ │ │ ├╴remotes/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴origin/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ ├╴objects/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴pack/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴pack-f9ea212a36c639faaec628b54df44dd222a6bba0.idx -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴pack-f9ea212a36c639faaec628b54df44dd222a6bba0.pack -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴pack-f9ea212a36c639faaec628b54df44dd222a6bba0.rev -/0o100/regular file r--r--r--/0o444
│ ├╴packed-refs -/0o100/regular file rw-r--r--/0o644
│ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴heads/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴master -/0o100/regular file rw-r--r--/0o644
│ │ ├╴remotes/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴origin/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ ├╴tags/ d/0o040/directory rwxr-xr-x/0o755
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ find './server/repo.git/objects' -printf '%p %n\n'
./server/repo.git/objects 1
./server/repo.git/objects/4b 1
./server/repo.git/objects/4b/825dc642cb6eb9a060e54bf8d69288fbee4904 2
./server/repo.git/objects/6f 1
./server/repo.git/objects/6f/d4fa67edc87ba4c22d9857b66a41fdcc7f1144 2
./server/repo.git/objects/file 2
./server/repo.git/objects/info 1
./server/repo.git/objects/pack 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone --no-hardlinks '../server/repo.git' './repo5'
Cloning into './repo5'...
done.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ tree './client/repo5'
./client/repo5/ d/0o040/directory rwxr-xr-x/0o755
├╴.git/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴config -/0o100/regular file rw-r--r--/0o644
│ ├╴description -/0o100/regular file rw-r--r--/0o644
│ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ ├╴hooks/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴applypatch-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴commit-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴fsmonitor-watchman.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴post-update.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴pre-applypatch.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴pre-commit.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴pre-merge-commit.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴pre-push.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴pre-rebase.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴pre-receive.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴prepare-commit-msg.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴push-to-checkout.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴sendemail-validate.sample -/0o100/regular file rwxr-xr-x/0o755
│ │ ├╴update.sample -/0o100/regular file rwxr-xr-x/0o755
│ ├╴index -/0o100/regular file rw-r--r--/0o644
│ ├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴exclude -/0o100/regular file rw-r--r--/0o644
│ ├╴logs/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴heads/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴master -/0o100/regular file rw-r--r--/0o644
│ │ │ ├╴remotes/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴origin/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ ├╴objects/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴4b/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴825dc642cb6eb9a060e54bf8d69288fbee4904 -/0o100/regular file rw-r--r--/0o644
│ │ ├╴6f/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴d4fa67edc87ba4c22d9857b66a41fdcc7f1144 -/0o100/regular file rw-r--r--/0o644
│ │ ├╴file -/0o100/regular empty file rw-r--r--/0o644
│ │ ├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴pack/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴packed-refs -/0o100/regular file rw-r--r--/0o644
│ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴heads/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴master -/0o100/regular file rw-r--r--/0o644
│ │ ├╴remotes/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴origin/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ ├╴tags/ d/0o040/directory rwxr-xr-x/0o755
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ find './server/repo.git/objects' -printf '%p %n\n'
./server/repo.git/objects 1
./server/repo.git/objects/4b 1
./server/repo.git/objects/4b/825dc642cb6eb9a060e54bf8d69288fbee4904 2
./server/repo.git/objects/6f 1
./server/repo.git/objects/6f/d4fa67edc87ba4c22d9857b66a41fdcc7f1144 2
./server/repo.git/objects/file 2
./server/repo.git/objects/info 1
./server/repo.git/objects/pack 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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) 279786b] 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ find './server/repo.git/objects' -printf '%p %n\n'
./server/repo.git/objects 1
./server/repo.git/objects/27 1
./server/repo.git/objects/27/9786ba97e3e5b71c8fe5d46f04092d1039ea60 1
./server/repo.git/objects/4b 1
./server/repo.git/objects/4b/825dc642cb6eb9a060e54bf8d69288fbee4904 1
./server/repo.git/objects/info 1
./server/repo.git/objects/pack 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone --shared '../server/repo.git' './repo1'
Cloning into './repo1'...
done.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ find './server/repo.git/objects' -printf '%p %n\n'
./server/repo.git/objects 1
./server/repo.git/objects/27 1
./server/repo.git/objects/27/9786ba97e3e5b71c8fe5d46f04092d1039ea60 1
./server/repo.git/objects/4b 1
./server/repo.git/objects/4b/825dc642cb6eb9a060e54bf8d69288fbee4904 1
./server/repo.git/objects/info 1
./server/repo.git/objects/pack 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone --shared --local '../server/repo.git' './repo2'
Cloning into './repo2'...
done.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ find './server/repo.git/objects' -printf '%p %n\n'
./server/repo.git/objects 1
./server/repo.git/objects/27 1
./server/repo.git/objects/27/9786ba97e3e5b71c8fe5d46f04092d1039ea60 1
./server/repo.git/objects/4b 1
./server/repo.git/objects/4b/825dc642cb6eb9a060e54bf8d69288fbee4904 1
./server/repo.git/objects/info 1
./server/repo.git/objects/pack 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone --shared --no-local '../server/repo.git' './repo3'
Cloning into './repo3'...
remote: Enumerating objects: 2, done.
remote: Counting objects: 100% (2/2), done.
remote: Total 2 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Receiving objects: 100% (2/2), done.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ find './server/repo.git/objects' -printf '%p %n\n'
./server/repo.git/objects 1
./server/repo.git/objects/27 1
./server/repo.git/objects/27/9786ba97e3e5b71c8fe5d46f04092d1039ea60 1
./server/repo.git/objects/4b 1
./server/repo.git/objects/4b/825dc642cb6eb9a060e54bf8d69288fbee4904 1
./server/repo.git/objects/info 1
./server/repo.git/objects/pack 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone --shared 'file://'"$(realpath './server/repo.git')" './repo4'
Cloning into './repo4'...
remote: Enumerating objects: 2, done.
remote: Counting objects: 100% (2/2), done.
remote: Total 2 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Receiving objects: 100% (2/2), done.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ find './server/repo.git/objects' -printf '%p %n\n'
./server/repo.git/objects 1
./server/repo.git/objects/27 1
./server/repo.git/objects/27/9786ba97e3e5b71c8fe5d46f04092d1039ea60 1
./server/repo.git/objects/4b 1
./server/repo.git/objects/4b/825dc642cb6eb9a060e54bf8d69288fbee4904 1
./server/repo.git/objects/info 1
./server/repo.git/objects/pack 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo1/.git/objects'
./client/repo1/.git/objects/ d/0o040/directory rwxr-xr-x/0o755
├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴alternates -/0o100/regular file rw-r--r--/0o644
│ │ 1 C:/Program Files/Git/test_git/client/../server/repo.git/objects\n
│ │ 2
├╴pack/ d/0o040/directory rwxr-xr-x/0o755
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo2/.git/objects'
./client/repo2/.git/objects/ d/0o040/directory rwxr-xr-x/0o755
├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴alternates -/0o100/regular file rw-r--r--/0o644
│ │ 1 C:/Program Files/Git/test_git/client/../server/repo.git/objects\n
│ │ 2
├╴pack/ d/0o040/directory rwxr-xr-x/0o755
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo3/.git/objects'
./client/repo3/.git/objects/ d/0o040/directory rwxr-xr-x/0o755
├╴info/ d/0o040/directory rwxr-xr-x/0o755
├╴pack/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴pack-ab8751971f42a700604d50963c6d77def94d5d0a.idx -/0o100/regular file r--r--r--/0o444
│ ├╴pack-ab8751971f42a700604d50963c6d77def94d5d0a.pack -/0o100/regular file r--r--r--/0o444
│ ├╴pack-ab8751971f42a700604d50963c6d77def94d5d0a.rev -/0o100/regular file r--r--r--/0o444
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo4/.git/objects'
./client/repo4/.git/objects/ d/0o040/directory rwxr-xr-x/0o755
├╴info/ d/0o040/directory rwxr-xr-x/0o755
├╴pack/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴pack-ab8751971f42a700604d50963c6d77def94d5d0a.idx -/0o100/regular file r--r--r--/0o444
│ ├╴pack-ab8751971f42a700604d50963c6d77def94d5d0a.pack -/0o100/regular file r--r--r--/0o444
│ ├╴pack-ab8751971f42a700604d50963c6d77def94d5d0a.rev -/0o100/regular file r--r--r--/0o444
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo1' lg
* 279786b - 2026-10-28 21:54 (13 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo2' lg
* 279786b - 2026-10-28 21:54 (14 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo3' lg
* 279786b - 2026-10-28 21:54 (14 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo4' lg
* 279786b - 2026-10-28 21:54 (15 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' cat-file --batch-check --batch-all-objects
279786ba97e3e5b71c8fe5d46f04092d1039ea60 commit 166
4b825dc642cb6eb9a060e54bf8d69288fbee4904 tree 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' commit --amend --message="$((++number))" --allow-empty
[master 1e15e4b] 2
Date: Wed Oct 28 21:54:34 2026 +1300
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' cat-file --batch-check --batch-all-objects
1e15e4b0d83fe69ef06a1a250dacc99fad06e8b3 commit 166
279786ba97e3e5b71c8fe5d46f04092d1039ea60 commit 166
4b825dc642cb6eb9a060e54bf8d69288fbee4904 tree 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' -c 'gc.pruneExpire=now' -c 'gc.reflogExpireUnreachable=now' gc
Enumerating objects: 2, done.
Counting objects: 100% (2/2), done.
Writing objects: 100% (2/2), done.
Building bitmaps: 100% (1/1), done.
Total 2 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' cat-file --batch-check --batch-all-objects
1e15e4b0d83fe69ef06a1a250dacc99fad06e8b3 commit 166
4b825dc642cb6eb9a060e54bf8d69288fbee4904 tree 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo1' lg
fatal: bad object HEAD
jhcarl0814@jhcarl0814 UCRT64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo2' lg
fatal: bad object HEAD
jhcarl0814@jhcarl0814 UCRT64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo3' lg
* 279786b - 2026-10-28 21:54 (19 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo4' lg
* 279786b - 2026-10-28 21:54 (19 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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) 1a2466a] 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ find './server/repo.git/objects' -printf '%p %n\n'
./server/repo.git/objects 1
./server/repo.git/objects/1a 1
./server/repo.git/objects/1a/2466acce7067949d1d65409df98b2455cf54b0 1
./server/repo.git/objects/4b 1
./server/repo.git/objects/4b/825dc642cb6eb9a060e54bf8d69288fbee4904 1
./server/repo.git/objects/info 1
./server/repo.git/objects/pack 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ cp --recursive --no-target-directory -- './server/repo.git' './client/mirror.git/'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone --reference='./mirror.git' '../server/repo.git' './repo1'
Cloning into './repo1'...
done.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ find './server/repo.git/objects' -printf '%p %n\n'
./server/repo.git/objects 1
./server/repo.git/objects/1a 1
./server/repo.git/objects/1a/2466acce7067949d1d65409df98b2455cf54b0 2
./server/repo.git/objects/4b 1
./server/repo.git/objects/4b/825dc642cb6eb9a060e54bf8d69288fbee4904 2
./server/repo.git/objects/info 1
./server/repo.git/objects/pack 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone --reference='./mirror.git' --local '../server/repo.git' './repo2'
Cloning into './repo2'...
done.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ find './server/repo.git/objects' -printf '%p %n\n'
./server/repo.git/objects 1
./server/repo.git/objects/1a 1
./server/repo.git/objects/1a/2466acce7067949d1d65409df98b2455cf54b0 3
./server/repo.git/objects/4b 1
./server/repo.git/objects/4b/825dc642cb6eb9a060e54bf8d69288fbee4904 3
./server/repo.git/objects/info 1
./server/repo.git/objects/pack 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone --reference='./mirror.git' --no-local '../server/repo.git' './repo3'
Cloning into './repo3'...
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ find './server/repo.git/objects' -printf '%p %n\n'
./server/repo.git/objects 1
./server/repo.git/objects/1a 1
./server/repo.git/objects/1a/2466acce7067949d1d65409df98b2455cf54b0 3
./server/repo.git/objects/4b 1
./server/repo.git/objects/4b/825dc642cb6eb9a060e54bf8d69288fbee4904 3
./server/repo.git/objects/info 1
./server/repo.git/objects/pack 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone --reference='./mirror.git' 'file://'"$(realpath './server/repo.git')" './repo4'
Cloning into './repo4'...
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ find './server/repo.git/objects' -printf '%p %n\n'
./server/repo.git/objects 1
./server/repo.git/objects/1a 1
./server/repo.git/objects/1a/2466acce7067949d1d65409df98b2455cf54b0 3
./server/repo.git/objects/4b 1
./server/repo.git/objects/4b/825dc642cb6eb9a060e54bf8d69288fbee4904 3
./server/repo.git/objects/info 1
./server/repo.git/objects/pack 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo1/.git/objects'
./client/repo1/.git/objects/ d/0o040/directory rwxr-xr-x/0o755
├╴1a/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴2466acce7067949d1d65409df98b2455cf54b0 -/0o100/regular file r--r--r--/0o444
├╴4b/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴825dc642cb6eb9a060e54bf8d69288fbee4904 -/0o100/regular file r--r--r--/0o444
│ │ 1 x\x01+)JMU0`\0\0\n
│ │ 2 ,\x02\x01
├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴alternates -/0o100/regular file rw-r--r--/0o644
│ │ 1 C:/Program Files/Git/test_git/client/mirror.git/objects\n
│ │ 2
├╴pack/ d/0o040/directory rwxr-xr-x/0o755
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo2/.git/objects'
./client/repo2/.git/objects/ d/0o040/directory rwxr-xr-x/0o755
├╴1a/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴2466acce7067949d1d65409df98b2455cf54b0 -/0o100/regular file r--r--r--/0o444
├╴4b/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴825dc642cb6eb9a060e54bf8d69288fbee4904 -/0o100/regular file r--r--r--/0o444
│ │ 1 x\x01+)JMU0`\0\0\n
│ │ 2 ,\x02\x01
├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴alternates -/0o100/regular file rw-r--r--/0o644
│ │ 1 C:/Program Files/Git/test_git/client/mirror.git/objects\n
│ │ 2
├╴pack/ d/0o040/directory rwxr-xr-x/0o755
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo3/.git/objects'
./client/repo3/.git/objects/ d/0o040/directory rwxr-xr-x/0o755
├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴alternates -/0o100/regular file rw-r--r--/0o644
│ │ 1 C:/Program Files/Git/test_git/client/mirror.git/objects\n
│ │ 2
├╴pack/ d/0o040/directory rwxr-xr-x/0o755
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo4/.git/objects'
./client/repo4/.git/objects/ d/0o040/directory rwxr-xr-x/0o755
├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴alternates -/0o100/regular file rw-r--r--/0o644
│ │ 1 C:/Program Files/Git/test_git/client/mirror.git/objects\n
│ │ 2
├╴pack/ d/0o040/directory rwxr-xr-x/0o755
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo1' lg
* 1a2466a - 2026-10-28 21:54 (16 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo2' lg
* 1a2466a - 2026-10-28 21:54 (17 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo3' lg
* 1a2466a - 2026-10-28 21:54 (18 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo4' lg
* 1a2466a - 2026-10-28 21:54 (18 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' cat-file --batch-check --batch-all-objects
1a2466acce7067949d1d65409df98b2455cf54b0 commit 166
4b825dc642cb6eb9a060e54bf8d69288fbee4904 tree 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' commit --amend --message="$((++number))" --allow-empty
[master 9f4604f] 2
Date: Wed Oct 28 21:54:58 2026 +1300
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' cat-file --batch-check --batch-all-objects
1a2466acce7067949d1d65409df98b2455cf54b0 commit 166
4b825dc642cb6eb9a060e54bf8d69288fbee4904 tree 0
9f4604f863698292290f0fc447dd21189954b4dd commit 166
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' -c 'gc.pruneExpire=now' -c 'gc.reflogExpireUnreachable=now' gc
Enumerating objects: 2, done.
Counting objects: 100% (2/2), done.
Writing objects: 100% (2/2), done.
Building bitmaps: 100% (1/1), done.
Total 2 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' cat-file --batch-check --batch-all-objects
4b825dc642cb6eb9a060e54bf8d69288fbee4904 tree 0
9f4604f863698292290f0fc447dd21189954b4dd commit 166
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo1' lg
* 1a2466a - 2026-10-28 21:54 (21 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo2' lg
* 1a2466a - 2026-10-28 21:54 (22 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo3' lg
* 1a2466a - 2026-10-28 21:54 (22 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo4' lg
* 1a2466a - 2026-10-28 21:54 (23 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ rm --force --recursive -- './client/mirror.git/'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ cp --recursive --no-target-directory -- './server/repo.git' './client/mirror.git/'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo1' lg
* 1a2466a - 2026-10-28 21:54 (24 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo2' lg
* 1a2466a - 2026-10-28 21:54 (25 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo3' lg
fatal: bad object HEAD
jhcarl0814@jhcarl0814 UCRT64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo4' lg
fatal: bad object HEAD
jhcarl0814@jhcarl0814 UCRT64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo3' pull
fatal: bad object refs/heads/master
error: C:/Program Files/Git/test_git/client/../server/repo.git did not send all necessary objects
error: refs/heads/master does not point to a valid object!
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git ls-remote --symref './client/repo3'
ref: refs/heads/master HEAD
1a2466acce7067949d1d65409df98b2455cf54b0 HEAD
1a2466acce7067949d1d65409df98b2455cf54b0 refs/heads/master
ref: refs/remotes/origin/master refs/remotes/origin/HEAD
1a2466acce7067949d1d65409df98b2455cf54b0 refs/remotes/origin/HEAD
1a2466acce7067949d1d65409df98b2455cf54b0 refs/remotes/origin/master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo3' branch --show-current
master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo3' update-ref -d 'refs/remotes/origin/'"$(git -C './client/repo3' branch --show-current)"
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo3' update-ref -d 'refs/heads/'"$(git -C './client/repo3' branch --show-current)"
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo3' pull
From C:/Program Files/Git/test_git/client/../server/repo
* [new branch] master -> origin/master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git ls-remote --symref './client/repo3'
ref: refs/heads/master HEAD
9f4604f863698292290f0fc447dd21189954b4dd HEAD
9f4604f863698292290f0fc447dd21189954b4dd refs/heads/master
ref: refs/remotes/origin/master refs/remotes/origin/HEAD
9f4604f863698292290f0fc447dd21189954b4dd refs/remotes/origin/HEAD
9f4604f863698292290f0fc447dd21189954b4dd refs/remotes/origin/master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo3/.git/objects'
./client/repo3/.git/objects/ d/0o040/directory rwxr-xr-x/0o755
├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴alternates -/0o100/regular file rw-r--r--/0o644
│ │ 1 C:/Program Files/Git/test_git/client/mirror.git/objects\n
│ │ 2
├╴pack/ d/0o040/directory rwxr-xr-x/0o755
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo3' lg
* 9f4604f - 2026-10-28 21:54 (32 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo4' pull
fatal: bad object refs/heads/master
error: file:///test_git/server/repo.git did not send all necessary objects
error: refs/heads/master does not point to a valid object!
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git ls-remote --symref './client/repo4'
ref: refs/heads/master HEAD
1a2466acce7067949d1d65409df98b2455cf54b0 HEAD
1a2466acce7067949d1d65409df98b2455cf54b0 refs/heads/master
ref: refs/remotes/origin/master refs/remotes/origin/HEAD
1a2466acce7067949d1d65409df98b2455cf54b0 refs/remotes/origin/HEAD
1a2466acce7067949d1d65409df98b2455cf54b0 refs/remotes/origin/master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo4' branch --show-current
master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo4' update-ref -d 'refs/remotes/origin/'"$(git -C './client/repo4' branch --show-current)"
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo4' update-ref -d 'refs/heads/'"$(git -C './client/repo4' branch --show-current)"
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo4' pull
From file:///test_git/server/repo
* [new branch] master -> origin/master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git ls-remote --symref './client/repo4'
ref: refs/heads/master HEAD
9f4604f863698292290f0fc447dd21189954b4dd HEAD
9f4604f863698292290f0fc447dd21189954b4dd refs/heads/master
ref: refs/remotes/origin/master refs/remotes/origin/HEAD
9f4604f863698292290f0fc447dd21189954b4dd refs/remotes/origin/HEAD
9f4604f863698292290f0fc447dd21189954b4dd refs/remotes/origin/master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo4/.git/objects'
./client/repo4/.git/objects/ d/0o040/directory rwxr-xr-x/0o755
├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴alternates -/0o100/regular file rw-r--r--/0o644
│ │ 1 C:/Program Files/Git/test_git/client/mirror.git/objects\n
│ │ 2
├╴pack/ d/0o040/directory rwxr-xr-x/0o755
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo4' lg
* 9f4604f - 2026-10-28 21:54 (38 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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) 8c21ab5] 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ find './server/repo.git/objects' -printf '%p %n\n'
./server/repo.git/objects 1
./server/repo.git/objects/4b 1
./server/repo.git/objects/4b/825dc642cb6eb9a060e54bf8d69288fbee4904 1
./server/repo.git/objects/8c 1
./server/repo.git/objects/8c/21ab5661a3ff783250c49a1eeb8784fbc8428a 1
./server/repo.git/objects/info 1
./server/repo.git/objects/pack 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ cp --recursive --no-target-directory -- './server/repo.git' './client/mirror.git/'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone --reference='./mirror.git' '../server/repo.git' './repo1'
Cloning into './repo1'...
done.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ find './server/repo.git/objects' -printf '%p %n\n'
./server/repo.git/objects 1
./server/repo.git/objects/4b 1
./server/repo.git/objects/4b/825dc642cb6eb9a060e54bf8d69288fbee4904 2
./server/repo.git/objects/8c 1
./server/repo.git/objects/8c/21ab5661a3ff783250c49a1eeb8784fbc8428a 2
./server/repo.git/objects/info 1
./server/repo.git/objects/pack 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone --reference='./mirror.git' --local '../server/repo.git' './repo2'
Cloning into './repo2'...
done.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ find './server/repo.git/objects' -printf '%p %n\n'
./server/repo.git/objects 1
./server/repo.git/objects/4b 1
./server/repo.git/objects/4b/825dc642cb6eb9a060e54bf8d69288fbee4904 3
./server/repo.git/objects/8c 1
./server/repo.git/objects/8c/21ab5661a3ff783250c49a1eeb8784fbc8428a 3
./server/repo.git/objects/info 1
./server/repo.git/objects/pack 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone --reference='./mirror.git' --no-local '../server/repo.git' './repo3'
Cloning into './repo3'...
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ find './server/repo.git/objects' -printf '%p %n\n'
./server/repo.git/objects 1
./server/repo.git/objects/4b 1
./server/repo.git/objects/4b/825dc642cb6eb9a060e54bf8d69288fbee4904 3
./server/repo.git/objects/8c 1
./server/repo.git/objects/8c/21ab5661a3ff783250c49a1eeb8784fbc8428a 3
./server/repo.git/objects/info 1
./server/repo.git/objects/pack 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone --reference='./mirror.git' 'file://'"$(realpath './server/repo.git')" './repo4'
Cloning into './repo4'...
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ find './server/repo.git/objects' -printf '%p %n\n'
./server/repo.git/objects 1
./server/repo.git/objects/4b 1
./server/repo.git/objects/4b/825dc642cb6eb9a060e54bf8d69288fbee4904 3
./server/repo.git/objects/8c 1
./server/repo.git/objects/8c/21ab5661a3ff783250c49a1eeb8784fbc8428a 3
./server/repo.git/objects/info 1
./server/repo.git/objects/pack 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo1/.git/objects'
./client/repo1/.git/objects/ d/0o040/directory rwxr-xr-x/0o755
├╴4b/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴825dc642cb6eb9a060e54bf8d69288fbee4904 -/0o100/regular file r--r--r--/0o444
│ │ 1 x\x01+)JMU0`\0\0\n
│ │ 2 ,\x02\x01
├╴8c/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴21ab5661a3ff783250c49a1eeb8784fbc8428a -/0o100/regular file r--r--r--/0o444
├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴alternates -/0o100/regular file rw-r--r--/0o644
│ │ 1 C:/Program Files/Git/test_git/client/mirror.git/objects\n
│ │ 2
├╴pack/ d/0o040/directory rwxr-xr-x/0o755
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo2/.git/objects'
./client/repo2/.git/objects/ d/0o040/directory rwxr-xr-x/0o755
├╴4b/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴825dc642cb6eb9a060e54bf8d69288fbee4904 -/0o100/regular file r--r--r--/0o444
│ │ 1 x\x01+)JMU0`\0\0\n
│ │ 2 ,\x02\x01
├╴8c/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴21ab5661a3ff783250c49a1eeb8784fbc8428a -/0o100/regular file r--r--r--/0o444
├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴alternates -/0o100/regular file rw-r--r--/0o644
│ │ 1 C:/Program Files/Git/test_git/client/mirror.git/objects\n
│ │ 2
├╴pack/ d/0o040/directory rwxr-xr-x/0o755
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo3/.git/objects'
./client/repo3/.git/objects/ d/0o040/directory rwxr-xr-x/0o755
├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴alternates -/0o100/regular file rw-r--r--/0o644
│ │ 1 C:/Program Files/Git/test_git/client/mirror.git/objects\n
│ │ 2
├╴pack/ d/0o040/directory rwxr-xr-x/0o755
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo4/.git/objects'
./client/repo4/.git/objects/ d/0o040/directory rwxr-xr-x/0o755
├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴alternates -/0o100/regular file rw-r--r--/0o644
│ │ 1 C:/Program Files/Git/test_git/client/mirror.git/objects\n
│ │ 2
├╴pack/ d/0o040/directory rwxr-xr-x/0o755
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo1' lg
* 8c21ab5 - 2026-10-28 21:55 (16 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo2' lg
* 8c21ab5 - 2026-10-28 21:55 (16 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo3' lg
* 8c21ab5 - 2026-10-28 21:55 (17 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo4' lg
* 8c21ab5 - 2026-10-28 21:55 (17 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' cat-file --batch-check --batch-all-objects
4b825dc642cb6eb9a060e54bf8d69288fbee4904 tree 0
8c21ab5661a3ff783250c49a1eeb8784fbc8428a commit 166
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' commit --amend --message="$((++number))" --allow-empty
[master b5370eb] 2
Date: Wed Oct 28 21:55:41 2026 +1300
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' cat-file --batch-check --batch-all-objects
4b825dc642cb6eb9a060e54bf8d69288fbee4904 tree 0
8c21ab5661a3ff783250c49a1eeb8784fbc8428a commit 166
b5370ebba1399f51f336ea2c724ee96ac6f57801 commit 166
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' -c 'gc.pruneExpire=now' -c 'gc.reflogExpireUnreachable=now' gc
Enumerating objects: 2, done.
Counting objects: 100% (2/2), done.
Writing objects: 100% (2/2), done.
Building bitmaps: 100% (1/1), done.
Total 2 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' cat-file --batch-check --batch-all-objects
4b825dc642cb6eb9a060e54bf8d69288fbee4904 tree 0
b5370ebba1399f51f336ea2c724ee96ac6f57801 commit 166
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo1' lg
* 8c21ab5 - 2026-10-28 21:55 (21 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo2' lg
* 8c21ab5 - 2026-10-28 21:55 (21 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo3' lg
* 8c21ab5 - 2026-10-28 21:55 (22 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo4' lg
* 8c21ab5 - 2026-10-28 21:55 (22 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ rm --force --recursive -- './client/mirror.git/'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo1' lg
error: unable to normalize alternate object path: C:/Program Files/Git/test_git/client/mirror.git/objects
* 8c21ab5 - 2026-10-28 21:55 (24 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo2' lg
error: unable to normalize alternate object path: C:/Program Files/Git/test_git/client/mirror.git/objects
* 8c21ab5 - 2026-10-28 21:55 (24 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo3' lg
error: unable to normalize alternate object path: C:/Program Files/Git/test_git/client/mirror.git/objects
fatal: bad object HEAD
jhcarl0814@jhcarl0814 UCRT64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo4' lg
error: unable to normalize alternate object path: C:/Program Files/Git/test_git/client/mirror.git/objects
fatal: bad object HEAD
jhcarl0814@jhcarl0814 UCRT64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ rm './client/repo1/.git/objects/info/alternates'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo1' lg
* 8c21ab5 - 2026-10-28 21:55 (26 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ rm './client/repo2/.git/objects/info/alternates'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo2' lg
* 8c21ab5 - 2026-10-28 21:55 (27 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo3' pull
error: unable to normalize alternate object path: C:/Program Files/Git/test_git/client/mirror.git/objects
error: unable to normalize alternate object path: C:/Program Files/Git/test_git/client/mirror.git/objects
remote: Enumerating objects: 2, done.
remote: Total 2 (delta 0), reused 0 (delta 0), pack-reused 2 (from 1)
error: unable to normalize alternate object path: C:/Program Files/Git/test_git/client/mirror.git/objects
Unpacking objects: 100% (2/2), 143 bytes | 17.00 KiB/s, done.
error: unable to normalize alternate object path: C:/Program Files/Git/test_git/client/mirror.git/objects
error: unable to normalize alternate object path: C:/Program Files/Git/test_git/client/mirror.git/objects
fatal: bad object refs/heads/master
error: C:/Program Files/Git/test_git/client/../server/repo.git did not send all necessary objects
error: unable to normalize alternate object path: C:/Program Files/Git/test_git/client/mirror.git/objects
error: refs/heads/master does not point to a valid object!
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ rm './client/repo3/.git/objects/info/alternates'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo3' pull
remote: Enumerating objects: 2, done.
remote: Total 2 (delta 0), reused 0 (delta 0), pack-reused 2 (from 1)
Unpacking objects: 100% (2/2), 143 bytes | 143.00 KiB/s, done.
fatal: bad object refs/heads/master
error: C:/Program Files/Git/test_git/client/../server/repo.git did not send all necessary objects
error: refs/heads/master does not point to a valid object!
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git ls-remote --symref './client/repo3'
ref: refs/heads/master HEAD
8c21ab5661a3ff783250c49a1eeb8784fbc8428a HEAD
8c21ab5661a3ff783250c49a1eeb8784fbc8428a refs/heads/master
ref: refs/remotes/origin/master refs/remotes/origin/HEAD
8c21ab5661a3ff783250c49a1eeb8784fbc8428a refs/remotes/origin/HEAD
8c21ab5661a3ff783250c49a1eeb8784fbc8428a refs/remotes/origin/master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo3' branch --show-current
master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo3' update-ref -d 'refs/remotes/origin/'"$(git -C './client/repo3' branch --show-current)"
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo3' update-ref -d 'refs/heads/'"$(git -C './client/repo3' branch --show-current)"
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo3' pull
From C:/Program Files/Git/test_git/client/../server/repo
* [new branch] master -> origin/master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git ls-remote --symref './client/repo3'
ref: refs/heads/master HEAD
b5370ebba1399f51f336ea2c724ee96ac6f57801 HEAD
b5370ebba1399f51f336ea2c724ee96ac6f57801 refs/heads/master
ref: refs/remotes/origin/master refs/remotes/origin/HEAD
b5370ebba1399f51f336ea2c724ee96ac6f57801 refs/remotes/origin/HEAD
b5370ebba1399f51f336ea2c724ee96ac6f57801 refs/remotes/origin/master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo3/.git/objects'
./client/repo3/.git/objects/ d/0o040/directory rwxr-xr-x/0o755
├╴4b/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴825dc642cb6eb9a060e54bf8d69288fbee4904 -/0o100/regular file r--r--r--/0o444
│ │ 1 x\x01+)JMU0`\0\0\n
│ │ 2 ,\x02\x01
├╴b5/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴370ebba1399f51f336ea2c724ee96ac6f57801 -/0o100/regular file r--r--r--/0o444
├╴info/ d/0o040/directory rwxr-xr-x/0o755
├╴pack/ d/0o040/directory rwxr-xr-x/0o755
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo3' lg
* b5370eb - 2026-10-28 21:55 (35 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo4' pull
error: unable to normalize alternate object path: C:/Program Files/Git/test_git/client/mirror.git/objects
error: unable to normalize alternate object path: C:/Program Files/Git/test_git/client/mirror.git/objects
remote: Enumerating objects: 2, done.
remote: Total 2 (delta 0), reused 0 (delta 0), pack-reused 2 (from 1)
error: unable to normalize alternate object path: C:/Program Files/Git/test_git/client/mirror.git/objects
Unpacking objects: 100% (2/2), 143 bytes | 17.00 KiB/s, done.
error: unable to normalize alternate object path: C:/Program Files/Git/test_git/client/mirror.git/objects
error: unable to normalize alternate object path: C:/Program Files/Git/test_git/client/mirror.git/objects
fatal: bad object refs/heads/master
error: file:///test_git/server/repo.git did not send all necessary objects
error: unable to normalize alternate object path: C:/Program Files/Git/test_git/client/mirror.git/objects
error: refs/heads/master does not point to a valid object!
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ rm './client/repo4/.git/objects/info/alternates'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo4' pull
remote: Enumerating objects: 2, done.
remote: Total 2 (delta 0), reused 0 (delta 0), pack-reused 2 (from 1)
Unpacking objects: 100% (2/2), 143 bytes | 143.00 KiB/s, done.
fatal: bad object refs/heads/master
error: file:///test_git/server/repo.git did not send all necessary objects
error: refs/heads/master does not point to a valid object!
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git ls-remote --symref './client/repo4'
ref: refs/heads/master HEAD
8c21ab5661a3ff783250c49a1eeb8784fbc8428a HEAD
8c21ab5661a3ff783250c49a1eeb8784fbc8428a refs/heads/master
ref: refs/remotes/origin/master refs/remotes/origin/HEAD
8c21ab5661a3ff783250c49a1eeb8784fbc8428a refs/remotes/origin/HEAD
8c21ab5661a3ff783250c49a1eeb8784fbc8428a refs/remotes/origin/master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo4' branch --show-current
master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo4' update-ref -d 'refs/remotes/origin/'"$(git -C './client/repo4' branch --show-current)"
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo4' update-ref -d 'refs/heads/'"$(git -C './client/repo4' branch --show-current)"
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo4' pull
From file:///test_git/server/repo
* [new branch] master -> origin/master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git ls-remote --symref './client/repo4'
ref: refs/heads/master HEAD
b5370ebba1399f51f336ea2c724ee96ac6f57801 HEAD
b5370ebba1399f51f336ea2c724ee96ac6f57801 refs/heads/master
ref: refs/remotes/origin/master refs/remotes/origin/HEAD
b5370ebba1399f51f336ea2c724ee96ac6f57801 refs/remotes/origin/HEAD
b5370ebba1399f51f336ea2c724ee96ac6f57801 refs/remotes/origin/master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo4/.git/objects'
./client/repo4/.git/objects/ d/0o040/directory rwxr-xr-x/0o755
├╴4b/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴825dc642cb6eb9a060e54bf8d69288fbee4904 -/0o100/regular file r--r--r--/0o444
│ │ 1 x\x01+)JMU0`\0\0\n
│ │ 2 ,\x02\x01
├╴b5/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴370ebba1399f51f336ea2c724ee96ac6f57801 -/0o100/regular file r--r--r--/0o444
├╴info/ d/0o040/directory rwxr-xr-x/0o755
├╴pack/ d/0o040/directory rwxr-xr-x/0o755
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo4' lg
* b5370eb - 2026-10-28 21:55 (43 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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) 9871f04] 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ find './server/repo.git/objects' -printf '%p %n\n'
./server/repo.git/objects 1
./server/repo.git/objects/4b 1
./server/repo.git/objects/4b/825dc642cb6eb9a060e54bf8d69288fbee4904 1
./server/repo.git/objects/98 1
./server/repo.git/objects/98/71f0432ffb7139bf4ba834549a3bd3dea28fcc 1
./server/repo.git/objects/info 1
./server/repo.git/objects/pack 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ cp --recursive --no-target-directory -- './server/repo.git' './client/mirror.git/'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone --reference='./mirror.git' --dissociate '../server/repo.git' './repo1'
Cloning into './repo1'...
done.
Enumerating objects: 2, done.
Counting objects: 100% (2/2), done.
Writing objects: 100% (2/2), done.
Total 2 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ find './server/repo.git/objects' -printf '%p %n\n'
./server/repo.git/objects 1
./server/repo.git/objects/4b 1
./server/repo.git/objects/4b/825dc642cb6eb9a060e54bf8d69288fbee4904 1
./server/repo.git/objects/98 1
./server/repo.git/objects/98/71f0432ffb7139bf4ba834549a3bd3dea28fcc 1
./server/repo.git/objects/info 1
./server/repo.git/objects/pack 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone --reference='./mirror.git' --dissociate --local '../server/repo.git' './repo2'
Cloning into './repo2'...
done.
Enumerating objects: 2, done.
Counting objects: 100% (2/2), done.
Writing objects: 100% (2/2), done.
Total 2 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ find './server/repo.git/objects' -printf '%p %n\n'
./server/repo.git/objects 1
./server/repo.git/objects/4b 1
./server/repo.git/objects/4b/825dc642cb6eb9a060e54bf8d69288fbee4904 1
./server/repo.git/objects/98 1
./server/repo.git/objects/98/71f0432ffb7139bf4ba834549a3bd3dea28fcc 1
./server/repo.git/objects/info 1
./server/repo.git/objects/pack 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone --reference='./mirror.git' --dissociate --no-local '../server/repo.git' './repo3'
Cloning into './repo3'...
Enumerating objects: 2, done.
Counting objects: 100% (2/2), done.
Writing objects: 100% (2/2), done.
Total 2 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ find './server/repo.git/objects' -printf '%p %n\n'
./server/repo.git/objects 1
./server/repo.git/objects/4b 1
./server/repo.git/objects/4b/825dc642cb6eb9a060e54bf8d69288fbee4904 1
./server/repo.git/objects/98 1
./server/repo.git/objects/98/71f0432ffb7139bf4ba834549a3bd3dea28fcc 1
./server/repo.git/objects/info 1
./server/repo.git/objects/pack 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone --reference='./mirror.git' --dissociate 'file://'"$(realpath './server/repo.git')" './repo4'
Cloning into './repo4'...
Enumerating objects: 2, done.
Counting objects: 100% (2/2), done.
Writing objects: 100% (2/2), done.
Total 2 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ find './server/repo.git/objects' -printf '%p %n\n'
./server/repo.git/objects 1
./server/repo.git/objects/4b 1
./server/repo.git/objects/4b/825dc642cb6eb9a060e54bf8d69288fbee4904 1
./server/repo.git/objects/98 1
./server/repo.git/objects/98/71f0432ffb7139bf4ba834549a3bd3dea28fcc 1
./server/repo.git/objects/info 1
./server/repo.git/objects/pack 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo1/.git/objects'
./client/repo1/.git/objects/ d/0o040/directory rwxr-xr-x/0o755
├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴packs -/0o100/regular file rw-r--r--/0o644
│ │ 1 P pack-9a8f8a970c3441ca0387595ce91775ae0424a619.pack\n
│ │ 2 \n
│ │ 3
├╴pack/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴pack-9a8f8a970c3441ca0387595ce91775ae0424a619.idx -/0o100/regular file r--r--r--/0o444
│ ├╴pack-9a8f8a970c3441ca0387595ce91775ae0424a619.pack -/0o100/regular file r--r--r--/0o444
│ ├╴pack-9a8f8a970c3441ca0387595ce91775ae0424a619.rev -/0o100/regular file r--r--r--/0o444
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo2/.git/objects'
./client/repo2/.git/objects/ d/0o040/directory rwxr-xr-x/0o755
├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴packs -/0o100/regular file rw-r--r--/0o644
│ │ 1 P pack-9a8f8a970c3441ca0387595ce91775ae0424a619.pack\n
│ │ 2 \n
│ │ 3
├╴pack/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴pack-9a8f8a970c3441ca0387595ce91775ae0424a619.idx -/0o100/regular file r--r--r--/0o444
│ ├╴pack-9a8f8a970c3441ca0387595ce91775ae0424a619.pack -/0o100/regular file r--r--r--/0o444
│ ├╴pack-9a8f8a970c3441ca0387595ce91775ae0424a619.rev -/0o100/regular file r--r--r--/0o444
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo3/.git/objects'
./client/repo3/.git/objects/ d/0o040/directory rwxr-xr-x/0o755
├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴packs -/0o100/regular file rw-r--r--/0o644
│ │ 1 P pack-9a8f8a970c3441ca0387595ce91775ae0424a619.pack\n
│ │ 2 \n
│ │ 3
├╴pack/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴pack-9a8f8a970c3441ca0387595ce91775ae0424a619.idx -/0o100/regular file r--r--r--/0o444
│ ├╴pack-9a8f8a970c3441ca0387595ce91775ae0424a619.pack -/0o100/regular file r--r--r--/0o444
│ ├╴pack-9a8f8a970c3441ca0387595ce91775ae0424a619.rev -/0o100/regular file r--r--r--/0o444
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo4/.git/objects'
./client/repo4/.git/objects/ d/0o040/directory rwxr-xr-x/0o755
├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴packs -/0o100/regular file rw-r--r--/0o644
│ │ 1 P pack-9a8f8a970c3441ca0387595ce91775ae0424a619.pack\n
│ │ 2 \n
│ │ 3
├╴pack/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴pack-9a8f8a970c3441ca0387595ce91775ae0424a619.idx -/0o100/regular file r--r--r--/0o444
│ ├╴pack-9a8f8a970c3441ca0387595ce91775ae0424a619.pack -/0o100/regular file r--r--r--/0o444
│ ├╴pack-9a8f8a970c3441ca0387595ce91775ae0424a619.rev -/0o100/regular file r--r--r--/0o444
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo1' lg
* 9871f04 - 2026-10-28 21:56 (17 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo2' lg
* 9871f04 - 2026-10-28 21:56 (18 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo3' lg
* 9871f04 - 2026-10-28 21:56 (18 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo4' lg
* 9871f04 - 2026-10-28 21:56 (19 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' cat-file --batch-check --batch-all-objects
4b825dc642cb6eb9a060e54bf8d69288fbee4904 tree 0
9871f0432ffb7139bf4ba834549a3bd3dea28fcc commit 166
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' commit --amend --message="$((++number))" --allow-empty
[master a0c7b44] 2
Date: Wed Oct 28 21:56:29 2026 +1300
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' cat-file --batch-check --batch-all-objects
4b825dc642cb6eb9a060e54bf8d69288fbee4904 tree 0
9871f0432ffb7139bf4ba834549a3bd3dea28fcc commit 166
a0c7b44c6d49e6f75272a78181f028f8b2df98f1 commit 166
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' -c 'gc.pruneExpire=now' -c 'gc.reflogExpireUnreachable=now' gc
Enumerating objects: 2, done.
Counting objects: 100% (2/2), done.
Writing objects: 100% (2/2), done.
Building bitmaps: 100% (1/1), done.
Total 2 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' cat-file --batch-check --batch-all-objects
4b825dc642cb6eb9a060e54bf8d69288fbee4904 tree 0
a0c7b44c6d49e6f75272a78181f028f8b2df98f1 commit 166
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo1' lg
* 9871f04 - 2026-10-28 21:56 (22 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo2' lg
* 9871f04 - 2026-10-28 21:56 (23 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo3' lg
* 9871f04 - 2026-10-28 21:56 (23 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo4' lg
* 9871f04 - 2026-10-28 21:56 (23 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ rm --force --recursive -- './client/mirror.git/'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ cp --recursive --no-target-directory -- './server/repo.git' './client/mirror.git/'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo1' lg
* 9871f04 - 2026-10-28 21:56 (25 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo2' lg
* 9871f04 - 2026-10-28 21:56 (26 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo3' lg
* 9871f04 - 2026-10-28 21:56 (26 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo4' lg
* 9871f04 - 2026-10-28 21:56 (26 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ rm --force --recursive -- './client/mirror.git/'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo1' lg
* 9871f04 - 2026-10-28 21:56 (28 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo2' lg
* 9871f04 - 2026-10-28 21:56 (28 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo3' lg
* 9871f04 - 2026-10-28 21:56 (29 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo4' lg
* 9871f04 - 2026-10-28 21:56 (29 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo "$((++number))" >'./file'; git --git-dir='./server/repo.git' --work-tree='.' add './file'; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$(<'./file')"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 468212d] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo "$((++number))" >'./file'; git --git-dir='./server/repo.git' --work-tree='.' add './file'; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$(<'./file')"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master e092ae9] 2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' update-ref 'refs/heads2/branch' HEAD~1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' show-ref 'refs/heads2/branch'
468212d5d75ff7d458de27420b53207a1bc20d0c refs/heads2/branch
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo "$((++number))" >'./file'; git --git-dir='./server/repo.git' --work-tree='.' add './file'; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$(<'./file')"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[refs/heads2/branch 9d038fa] 3
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --all --clear-decorations
* 9d038fa - 2026-10-28 21:57 (1 second ago) 3 - Han Jiang (refs/heads2/branch)
| * e092ae9 - 2026-10-28 21:57 (4 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
|/
* 468212d - 2026-10-28 21:57 (5 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' cat-file --batch-check --batch-all-objects
00750edc07d6415dcc07ae0351e9397b0222b7ba blob 2
0cfbf08886fca9a91cb753ec8734c84fcbe52c9f blob 2
468212d5d75ff7d458de27420b53207a1bc20d0c commit 166
9d038fa166003854e3acf8423a53ef58ff83de91 commit 214
aff6316148f1524977997c486bcfe624c9094c4e tree 32
d00491fd7e5bb6fa28c517a0bb32b8b506539d4d blob 2
d9cc608eedd5d2cc63c262272b7a0f6ab6aed5dd tree 32
e092ae9d29b2f78d20b339365dd5c552173e1e4d commit 214
f27c6ae26adb8396d3861976ba268f87ad8afa0b tree 32
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone '../server/repo.git' './repo1'
Cloning into './repo1'...
done.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo1' config list --local --show-origin --show-scope
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.origin.url=C:/Program Files/Git/test_git/client/../server/repo.git
local file:.git/config remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
local file:.git/config branch.master.remote=origin
local file:.git/config branch.master.merge=refs/heads/master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo1' lg --all --clear-decorations
* e092ae9 - 2026-10-28 21:57 (6 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
* 468212d - 2026-10-28 21:57 (7 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo1' cat-file --batch-check --batch-all-objects
00750edc07d6415dcc07ae0351e9397b0222b7ba blob 2
0cfbf08886fca9a91cb753ec8734c84fcbe52c9f blob 2
468212d5d75ff7d458de27420b53207a1bc20d0c commit 166
9d038fa166003854e3acf8423a53ef58ff83de91 commit 214
aff6316148f1524977997c486bcfe624c9094c4e tree 32
d00491fd7e5bb6fa28c517a0bb32b8b506539d4d blob 2
d9cc608eedd5d2cc63c262272b7a0f6ab6aed5dd tree 32
e092ae9d29b2f78d20b339365dd5c552173e1e4d commit 214
f27c6ae26adb8396d3861976ba268f87ad8afa0b tree 32
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone --config='remote.origin.fetch=+refs/heads2/*:refs/remotes/origin/heads2/*' '../server/repo.git' './repo2'
Cloning into './repo2'...
done.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo2' config list --local --show-origin --show-scope
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.origin.fetch=+refs/heads2/*:refs/remotes/origin/heads2/*
local file:.git/config remote.origin.url=C:/Program Files/Git/test_git/client/../server/repo.git
local file:.git/config remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
local file:.git/config branch.master.remote=origin
local file:.git/config branch.master.merge=refs/heads/master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo2' lg --all --clear-decorations
* 9d038fa - 2026-10-28 21:57 (5 seconds ago) 3 - Han Jiang (refs/remotes/origin/heads2/branch)
| * e092ae9 - 2026-10-28 21:57 (8 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
|/
* 468212d - 2026-10-28 21:57 (9 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo2' cat-file --batch-check --batch-all-objects
00750edc07d6415dcc07ae0351e9397b0222b7ba blob 2
0cfbf08886fca9a91cb753ec8734c84fcbe52c9f blob 2
468212d5d75ff7d458de27420b53207a1bc20d0c commit 166
9d038fa166003854e3acf8423a53ef58ff83de91 commit 214
aff6316148f1524977997c486bcfe624c9094c4e tree 32
d00491fd7e5bb6fa28c517a0bb32b8b506539d4d blob 2
d9cc608eedd5d2cc63c262272b7a0f6ab6aed5dd tree 32
e092ae9d29b2f78d20b339365dd5c552173e1e4d commit 214
f27c6ae26adb8396d3861976ba268f87ad8afa0b tree 32
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone --no-local '../server/repo.git' './repo3'
Cloning into './repo3'...
remote: Enumerating objects: 6, done.
remote: Counting objects: 100% (6/6), done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 6 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Receiving objects: 100% (6/6), done.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo3' config list --local --show-origin --show-scope
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.origin.url=C:/Program Files/Git/test_git/client/../server/repo.git
local file:.git/config remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
local file:.git/config branch.master.remote=origin
local file:.git/config branch.master.merge=refs/heads/master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo3' lg --all --clear-decorations
* e092ae9 - 2026-10-28 21:57 (11 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
* 468212d - 2026-10-28 21:57 (12 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo3' cat-file --batch-check --batch-all-objects
0cfbf08886fca9a91cb753ec8734c84fcbe52c9f blob 2
468212d5d75ff7d458de27420b53207a1bc20d0c commit 166
d00491fd7e5bb6fa28c517a0bb32b8b506539d4d blob 2
d9cc608eedd5d2cc63c262272b7a0f6ab6aed5dd tree 32
e092ae9d29b2f78d20b339365dd5c552173e1e4d commit 214
f27c6ae26adb8396d3861976ba268f87ad8afa0b tree 32
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone --no-local --config='remote.origin.fetch=+refs/heads2/*:refs/remotes/origin/heads2/*' '../server/repo.git' './repo4'
Cloning into './repo4'...
remote: Enumerating objects: 9, done.
remote: Counting objects: 100% (9/9), done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 9 (delta 1), reused 0 (delta 0), pack-reused 0 (from 0)
Receiving objects: 100% (9/9), done.
Resolving deltas: 100% (1/1), done.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo4' config list --local --show-origin --show-scope
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.origin.fetch=+refs/heads2/*:refs/remotes/origin/heads2/*
local file:.git/config remote.origin.url=C:/Program Files/Git/test_git/client/../server/repo.git
local file:.git/config remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
local file:.git/config branch.master.remote=origin
local file:.git/config branch.master.merge=refs/heads/master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo4' lg --all --clear-decorations
* 9d038fa - 2026-10-28 21:57 (10 seconds ago) 3 - Han Jiang (refs/remotes/origin/heads2/branch)
| * e092ae9 - 2026-10-28 21:57 (13 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
|/
* 468212d - 2026-10-28 21:57 (14 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo4' cat-file --batch-check --batch-all-objects
00750edc07d6415dcc07ae0351e9397b0222b7ba blob 2
0cfbf08886fca9a91cb753ec8734c84fcbe52c9f blob 2
468212d5d75ff7d458de27420b53207a1bc20d0c commit 166
9d038fa166003854e3acf8423a53ef58ff83de91 commit 214
aff6316148f1524977997c486bcfe624c9094c4e tree 32
d00491fd7e5bb6fa28c517a0bb32b8b506539d4d blob 2
d9cc608eedd5d2cc63c262272b7a0f6ab6aed5dd tree 32
e092ae9d29b2f78d20b339365dd5c552173e1e4d commit 214
f27c6ae26adb8396d3861976ba268f87ad8afa0b tree 32
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone 'file://'"$(realpath './server/repo.git')" './repo5'
Cloning into './repo5'...
remote: Enumerating objects: 6, done.
remote: Counting objects: 100% (6/6), done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 6 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Receiving objects: 100% (6/6), done.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo5' config list --local --show-origin --show-scope
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.origin.url=file:///test_git/server/repo.git
local file:.git/config remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
local file:.git/config branch.master.remote=origin
local file:.git/config branch.master.merge=refs/heads/master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo5' lg --all --clear-decorations
* e092ae9 - 2026-10-28 21:57 (15 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
* 468212d - 2026-10-28 21:57 (16 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo5' cat-file --batch-check --batch-all-objects
0cfbf08886fca9a91cb753ec8734c84fcbe52c9f blob 2
468212d5d75ff7d458de27420b53207a1bc20d0c commit 166
d00491fd7e5bb6fa28c517a0bb32b8b506539d4d blob 2
d9cc608eedd5d2cc63c262272b7a0f6ab6aed5dd tree 32
e092ae9d29b2f78d20b339365dd5c552173e1e4d commit 214
f27c6ae26adb8396d3861976ba268f87ad8afa0b tree 32
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone --config='remote.origin.fetch=+refs/heads2/*:refs/remotes/origin/heads2/*' 'file://'"$(realpath './server/repo.git')" './repo6'
Cloning into './repo6'...
remote: Enumerating objects: 9, done.
remote: Counting objects: 100% (9/9), done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 9 (delta 1), reused 0 (delta 0), pack-reused 0 (from 0)
Receiving objects: 100% (9/9), done.
Resolving deltas: 100% (1/1), done.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo6' config list --local --show-origin --show-scope
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.origin.fetch=+refs/heads2/*:refs/remotes/origin/heads2/*
local file:.git/config remote.origin.url=file:///test_git/server/repo.git
local file:.git/config remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
local file:.git/config branch.master.remote=origin
local file:.git/config branch.master.merge=refs/heads/master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo6' lg --all --clear-decorations
* 9d038fa - 2026-10-28 21:57 (15 seconds ago) 3 - Han Jiang (refs/remotes/origin/heads2/branch)
| * e092ae9 - 2026-10-28 21:57 (18 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
|/
* 468212d - 2026-10-28 21:57 (19 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo6' cat-file --batch-check --batch-all-objects
00750edc07d6415dcc07ae0351e9397b0222b7ba blob 2
0cfbf08886fca9a91cb753ec8734c84fcbe52c9f blob 2
468212d5d75ff7d458de27420b53207a1bc20d0c commit 166
9d038fa166003854e3acf8423a53ef58ff83de91 commit 214
aff6316148f1524977997c486bcfe624c9094c4e tree 32
d00491fd7e5bb6fa28c517a0bb32b8b506539d4d blob 2
d9cc608eedd5d2cc63c262272b7a0f6ab6aed5dd tree 32
e092ae9d29b2f78d20b339365dd5c552173e1e4d commit 214
f27c6ae26adb8396d3861976ba268f87ad8afa0b tree 32
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo "$((++number))" >'./file'; git --git-dir='./server/repo.git' --work-tree='.' add './file'; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$(<'./file')"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 296ad66] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' branch branch; git -C './server/repo.git' tag tag
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo "$((++number))" >'./file'; git --git-dir='./server/repo.git' --work-tree='.' add './file'; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$(<'./file')"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master c133831] 2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' checkout branch
Switched to branch 'branch'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo "$((++number))" >'./file'; git --git-dir='./server/repo.git' --work-tree='.' add './file'; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$(<'./file')"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch 5101e18] 3
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --all
* 5101e18 - 2026-10-28 21:57 (1 second ago) 3 - Han Jiang (HEAD -> refs/heads/branch)
| * c133831 - 2026-10-28 21:57 (2 seconds ago) 2 - Han Jiang (refs/heads/master)
|/
* 296ad66 - 2026-10-28 21:57 (3 seconds ago) 1 - Han Jiang (tag: refs/tags/tag)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' cat-file --batch-check --batch-all-objects
00750edc07d6415dcc07ae0351e9397b0222b7ba blob 2
0cfbf08886fca9a91cb753ec8734c84fcbe52c9f blob 2
296ad66b2b64c2f58ee7534076c701df502875e5 commit 166
5101e18df11d1d9c6ac0d4b10e8a8086d8a893d6 commit 214
aff6316148f1524977997c486bcfe624c9094c4e tree 32
c1338312ee8751cbd6a164746de09cfd9b12c47a commit 214
d00491fd7e5bb6fa28c517a0bb32b8b506539d4d blob 2
d9cc608eedd5d2cc63c262272b7a0f6ab6aed5dd tree 32
f27c6ae26adb8396d3861976ba268f87ad8afa0b tree 32
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone '../server/repo.git' './repo1'
Cloning into './repo1'...
done.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo1' config list --local --show-origin --show-scope
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.origin.url=C:/Program Files/Git/test_git/client/../server/repo.git
local file:.git/config remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
local file:.git/config branch.branch.remote=origin
local file:.git/config branch.branch.merge=refs/heads/branch
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo1' lg --all
* 5101e18 - 2026-10-28 21:57 (3 seconds ago) 3 - Han Jiang (HEAD -> refs/heads/branch, refs/remotes/origin/branch, refs/remotes/origin/HEAD)
| * c133831 - 2026-10-28 21:57 (4 seconds ago) 2 - Han Jiang (refs/remotes/origin/master)
|/
* 296ad66 - 2026-10-28 21:57 (5 seconds ago) 1 - Han Jiang (tag: refs/tags/tag)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo1' cat-file --batch-check --batch-all-objects
00750edc07d6415dcc07ae0351e9397b0222b7ba blob 2
0cfbf08886fca9a91cb753ec8734c84fcbe52c9f blob 2
296ad66b2b64c2f58ee7534076c701df502875e5 commit 166
5101e18df11d1d9c6ac0d4b10e8a8086d8a893d6 commit 214
aff6316148f1524977997c486bcfe624c9094c4e tree 32
c1338312ee8751cbd6a164746de09cfd9b12c47a commit 214
d00491fd7e5bb6fa28c517a0bb32b8b506539d4d blob 2
d9cc608eedd5d2cc63c262272b7a0f6ab6aed5dd tree 32
f27c6ae26adb8396d3861976ba268f87ad8afa0b tree 32
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone --single-branch '../server/repo.git' './repo2'
Cloning into './repo2'...
done.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo2' config list --local --show-origin --show-scope
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.origin.url=C:/Program Files/Git/test_git/client/../server/repo.git
local file:.git/config remote.origin.fetch=+refs/heads/branch:refs/remotes/origin/branch
local file:.git/config branch.branch.remote=origin
local file:.git/config branch.branch.merge=refs/heads/branch
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo2' lg --all
* 5101e18 - 2026-10-28 21:57 (5 seconds ago) 3 - Han Jiang (HEAD -> refs/heads/branch, refs/remotes/origin/branch, refs/remotes/origin/HEAD)
* 296ad66 - 2026-10-28 21:57 (7 seconds ago) 1 - Han Jiang (tag: refs/tags/tag)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo2' cat-file --batch-check --batch-all-objects
00750edc07d6415dcc07ae0351e9397b0222b7ba blob 2
0cfbf08886fca9a91cb753ec8734c84fcbe52c9f blob 2
296ad66b2b64c2f58ee7534076c701df502875e5 commit 166
5101e18df11d1d9c6ac0d4b10e8a8086d8a893d6 commit 214
aff6316148f1524977997c486bcfe624c9094c4e tree 32
c1338312ee8751cbd6a164746de09cfd9b12c47a commit 214
d00491fd7e5bb6fa28c517a0bb32b8b506539d4d blob 2
d9cc608eedd5d2cc63c262272b7a0f6ab6aed5dd tree 32
f27c6ae26adb8396d3861976ba268f87ad8afa0b tree 32
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone --no-local '../server/repo.git' './repo3'
Cloning into './repo3'...
remote: Enumerating objects: 9, done.
remote: Counting objects: 100% (9/9), done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 9 (delta 1), reused 0 (delta 0), pack-reused 0 (from 0)
Receiving objects: 100% (9/9), done.
Resolving deltas: 100% (1/1), done.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo3' config list --local --show-origin --show-scope
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.origin.url=C:/Program Files/Git/test_git/client/../server/repo.git
local file:.git/config remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
local file:.git/config branch.branch.remote=origin
local file:.git/config branch.branch.merge=refs/heads/branch
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo3' lg --all
* 5101e18 - 2026-10-28 21:57 (7 seconds ago) 3 - Han Jiang (HEAD -> refs/heads/branch, refs/remotes/origin/branch, refs/remotes/origin/HEAD)
| * c133831 - 2026-10-28 21:57 (8 seconds ago) 2 - Han Jiang (refs/remotes/origin/master)
|/
* 296ad66 - 2026-10-28 21:57 (9 seconds ago) 1 - Han Jiang (tag: refs/tags/tag)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo3' cat-file --batch-check --batch-all-objects
00750edc07d6415dcc07ae0351e9397b0222b7ba blob 2
0cfbf08886fca9a91cb753ec8734c84fcbe52c9f blob 2
296ad66b2b64c2f58ee7534076c701df502875e5 commit 166
5101e18df11d1d9c6ac0d4b10e8a8086d8a893d6 commit 214
aff6316148f1524977997c486bcfe624c9094c4e tree 32
c1338312ee8751cbd6a164746de09cfd9b12c47a commit 214
d00491fd7e5bb6fa28c517a0bb32b8b506539d4d blob 2
d9cc608eedd5d2cc63c262272b7a0f6ab6aed5dd tree 32
f27c6ae26adb8396d3861976ba268f87ad8afa0b tree 32
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone --single-branch --no-local '../server/repo.git' './repo4'
Cloning into './repo4'...
remote: Enumerating objects: 6, done.
remote: Counting objects: 100% (6/6), done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 6 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Receiving objects: 100% (6/6), done.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo4' config list --local --show-origin --show-scope
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.origin.url=C:/Program Files/Git/test_git/client/../server/repo.git
local file:.git/config remote.origin.fetch=+refs/heads/branch:refs/remotes/origin/branch
local file:.git/config branch.branch.remote=origin
local file:.git/config branch.branch.merge=refs/heads/branch
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo4' lg --all
* 5101e18 - 2026-10-28 21:57 (10 seconds ago) 3 - Han Jiang (HEAD -> refs/heads/branch, refs/remotes/origin/branch, refs/remotes/origin/HEAD)
* 296ad66 - 2026-10-28 21:57 (12 seconds ago) 1 - Han Jiang (tag: refs/tags/tag)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo4' cat-file --batch-check --batch-all-objects
00750edc07d6415dcc07ae0351e9397b0222b7ba blob 2
296ad66b2b64c2f58ee7534076c701df502875e5 commit 166
5101e18df11d1d9c6ac0d4b10e8a8086d8a893d6 commit 214
aff6316148f1524977997c486bcfe624c9094c4e tree 32
d00491fd7e5bb6fa28c517a0bb32b8b506539d4d blob 2
f27c6ae26adb8396d3861976ba268f87ad8afa0b tree 32
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone 'file://'"$(realpath './server/repo.git')" './repo5'
Cloning into './repo5'...
remote: Enumerating objects: 9, done.
remote: Counting objects: 100% (9/9), done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 9 (delta 1), reused 0 (delta 0), pack-reused 0 (from 0)
Receiving objects: 100% (9/9), done.
Resolving deltas: 100% (1/1), done.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo5' config list --local --show-origin --show-scope
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.origin.url=file:///test_git/server/repo.git
local file:.git/config remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
local file:.git/config branch.branch.remote=origin
local file:.git/config branch.branch.merge=refs/heads/branch
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo5' lg --all
* 5101e18 - 2026-10-28 21:57 (12 seconds ago) 3 - Han Jiang (HEAD -> refs/heads/branch, refs/remotes/origin/branch, refs/remotes/origin/HEAD)
| * c133831 - 2026-10-28 21:57 (13 seconds ago) 2 - Han Jiang (refs/remotes/origin/master)
|/
* 296ad66 - 2026-10-28 21:57 (14 seconds ago) 1 - Han Jiang (tag: refs/tags/tag)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo5' cat-file --batch-check --batch-all-objects
00750edc07d6415dcc07ae0351e9397b0222b7ba blob 2
0cfbf08886fca9a91cb753ec8734c84fcbe52c9f blob 2
296ad66b2b64c2f58ee7534076c701df502875e5 commit 166
5101e18df11d1d9c6ac0d4b10e8a8086d8a893d6 commit 214
aff6316148f1524977997c486bcfe624c9094c4e tree 32
c1338312ee8751cbd6a164746de09cfd9b12c47a commit 214
d00491fd7e5bb6fa28c517a0bb32b8b506539d4d blob 2
d9cc608eedd5d2cc63c262272b7a0f6ab6aed5dd tree 32
f27c6ae26adb8396d3861976ba268f87ad8afa0b tree 32
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone --single-branch 'file://'"$(realpath './server/repo.git')" './repo6'
Cloning into './repo6'...
remote: Enumerating objects: 6, done.
remote: Counting objects: 100% (6/6), done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 6 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Receiving objects: 100% (6/6), done.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo6' config list --local --show-origin --show-scope
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.origin.url=file:///test_git/server/repo.git
local file:.git/config remote.origin.fetch=+refs/heads/branch:refs/remotes/origin/branch
local file:.git/config branch.branch.remote=origin
local file:.git/config branch.branch.merge=refs/heads/branch
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo6' lg --all
* 5101e18 - 2026-10-28 21:57 (14 seconds ago) 3 - Han Jiang (HEAD -> refs/heads/branch, refs/remotes/origin/branch, refs/remotes/origin/HEAD)
* 296ad66 - 2026-10-28 21:57 (16 seconds ago) 1 - Han Jiang (tag: refs/tags/tag)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo6' cat-file --batch-check --batch-all-objects
00750edc07d6415dcc07ae0351e9397b0222b7ba blob 2
296ad66b2b64c2f58ee7534076c701df502875e5 commit 166
5101e18df11d1d9c6ac0d4b10e8a8086d8a893d6 commit 214
aff6316148f1524977997c486bcfe624c9094c4e tree 32
d00491fd7e5bb6fa28c517a0bb32b8b506539d4d blob 2
f27c6ae26adb8396d3861976ba268f87ad8afa0b tree 32
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo "$((++number))" >'./file'; git --git-dir='./server/repo.git' --work-tree='.' add './file'; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$(<'./file')"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 2541b67] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' branch branch; git -C './server/repo.git' tag tag
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo "$((++number))" >'./file'; git --git-dir='./server/repo.git' --work-tree='.' add './file'; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$(<'./file')"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master 568a599] 2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' checkout branch
Switched to branch 'branch'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo "$((++number))" >'./file'; git --git-dir='./server/repo.git' --work-tree='.' add './file'; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$(<'./file')"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch 16c8174] 3
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --all
* 16c8174 - 2026-10-28 21:58 (1 second ago) 3 - Han Jiang (HEAD -> refs/heads/branch)
| * 568a599 - 2026-10-28 21:58 (2 seconds ago) 2 - Han Jiang (refs/heads/master)
|/
* 2541b67 - 2026-10-28 21:58 (3 seconds ago) 1 - Han Jiang (tag: refs/tags/tag)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' cat-file --batch-check --batch-all-objects
00750edc07d6415dcc07ae0351e9397b0222b7ba blob 2
0cfbf08886fca9a91cb753ec8734c84fcbe52c9f blob 2
16c8174a1583eed700e1e1bc5e2f382ce010eb8b commit 214
2541b67d56a2a063831c6e9887edf2c821f9c10b commit 166
568a599e403cf07c4071b9bfa2f4da8bc626175d commit 214
aff6316148f1524977997c486bcfe624c9094c4e tree 32
d00491fd7e5bb6fa28c517a0bb32b8b506539d4d blob 2
d9cc608eedd5d2cc63c262272b7a0f6ab6aed5dd tree 32
f27c6ae26adb8396d3861976ba268f87ad8afa0b tree 32
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone '../server/repo.git' './repo1'
Cloning into './repo1'...
done.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo1' config list --local --show-origin --show-scope
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.origin.url=C:/Program Files/Git/test_git/client/../server/repo.git
local file:.git/config remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
local file:.git/config branch.branch.remote=origin
local file:.git/config branch.branch.merge=refs/heads/branch
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo1' lg --all
* 16c8174 - 2026-10-28 21:58 (3 seconds ago) 3 - Han Jiang (HEAD -> refs/heads/branch, refs/remotes/origin/branch, refs/remotes/origin/HEAD)
| * 568a599 - 2026-10-28 21:58 (4 seconds ago) 2 - Han Jiang (refs/remotes/origin/master)
|/
* 2541b67 - 2026-10-28 21:58 (5 seconds ago) 1 - Han Jiang (tag: refs/tags/tag)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo1' cat-file --batch-check --batch-all-objects
00750edc07d6415dcc07ae0351e9397b0222b7ba blob 2
0cfbf08886fca9a91cb753ec8734c84fcbe52c9f blob 2
16c8174a1583eed700e1e1bc5e2f382ce010eb8b commit 214
2541b67d56a2a063831c6e9887edf2c821f9c10b commit 166
568a599e403cf07c4071b9bfa2f4da8bc626175d commit 214
aff6316148f1524977997c486bcfe624c9094c4e tree 32
d00491fd7e5bb6fa28c517a0bb32b8b506539d4d blob 2
d9cc608eedd5d2cc63c262272b7a0f6ab6aed5dd tree 32
f27c6ae26adb8396d3861976ba268f87ad8afa0b tree 32
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone --depth=1 '../server/repo.git' './repo2'
Cloning into './repo2'...
warning: --depth is ignored in local clones; use file:// instead.
done.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo2' config list --local --show-origin --show-scope
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.origin.url=C:/Program Files/Git/test_git/client/../server/repo.git
local file:.git/config remote.origin.fetch=+refs/heads/branch:refs/remotes/origin/branch
local file:.git/config branch.branch.remote=origin
local file:.git/config branch.branch.merge=refs/heads/branch
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo2' lg --all
* 16c8174 - 2026-10-28 21:58 (5 seconds ago) 3 - Han Jiang (HEAD -> refs/heads/branch, refs/remotes/origin/branch, refs/remotes/origin/HEAD)
* 2541b67 - 2026-10-28 21:58 (7 seconds ago) 1 - Han Jiang (tag: refs/tags/tag)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo2' cat-file --batch-check --batch-all-objects
00750edc07d6415dcc07ae0351e9397b0222b7ba blob 2
0cfbf08886fca9a91cb753ec8734c84fcbe52c9f blob 2
16c8174a1583eed700e1e1bc5e2f382ce010eb8b commit 214
2541b67d56a2a063831c6e9887edf2c821f9c10b commit 166
568a599e403cf07c4071b9bfa2f4da8bc626175d commit 214
aff6316148f1524977997c486bcfe624c9094c4e tree 32
d00491fd7e5bb6fa28c517a0bb32b8b506539d4d blob 2
d9cc608eedd5d2cc63c262272b7a0f6ab6aed5dd tree 32
f27c6ae26adb8396d3861976ba268f87ad8afa0b tree 32
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo2/.git/shallow'
find: ‘./client/repo2/.git/shallow’: No such file or directory
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone --no-local '../server/repo.git' './repo3'
Cloning into './repo3'...
remote: Enumerating objects: 9, done.
remote: Counting objects: 100% (9/9), done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 9 (delta 1), reused 0 (delta 0), pack-reused 0 (from 0)
Receiving objects: 100% (9/9), done.
Resolving deltas: 100% (1/1), done.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo3' config list --local --show-origin --show-scope
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.origin.url=C:/Program Files/Git/test_git/client/../server/repo.git
local file:.git/config remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
local file:.git/config branch.branch.remote=origin
local file:.git/config branch.branch.merge=refs/heads/branch
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo3' lg --all
* 16c8174 - 2026-10-28 21:58 (8 seconds ago) 3 - Han Jiang (HEAD -> refs/heads/branch, refs/remotes/origin/branch, refs/remotes/origin/HEAD)
| * 568a599 - 2026-10-28 21:58 (9 seconds ago) 2 - Han Jiang (refs/remotes/origin/master)
|/
* 2541b67 - 2026-10-28 21:58 (10 seconds ago) 1 - Han Jiang (tag: refs/tags/tag)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo3' cat-file --batch-check --batch-all-objects
00750edc07d6415dcc07ae0351e9397b0222b7ba blob 2
0cfbf08886fca9a91cb753ec8734c84fcbe52c9f blob 2
16c8174a1583eed700e1e1bc5e2f382ce010eb8b commit 214
2541b67d56a2a063831c6e9887edf2c821f9c10b commit 166
568a599e403cf07c4071b9bfa2f4da8bc626175d commit 214
aff6316148f1524977997c486bcfe624c9094c4e tree 32
d00491fd7e5bb6fa28c517a0bb32b8b506539d4d blob 2
d9cc608eedd5d2cc63c262272b7a0f6ab6aed5dd tree 32
f27c6ae26adb8396d3861976ba268f87ad8afa0b tree 32
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone --depth=1 --no-local '../server/repo.git' './repo41'
Cloning into './repo41'...
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Receiving objects: 100% (3/3), done.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo41' config list --local --show-origin --show-scope
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.origin.url=C:/Program Files/Git/test_git/client/../server/repo.git
local file:.git/config remote.origin.fetch=+refs/heads/branch:refs/remotes/origin/branch
local file:.git/config branch.branch.remote=origin
local file:.git/config branch.branch.merge=refs/heads/branch
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo41' lg --all
* 16c8174 - 2026-10-28 21:58 (10 seconds ago) 3 - Han Jiang (grafted, HEAD -> refs/heads/branch, refs/remotes/origin/branch, refs/remotes/origin/HEAD)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo41' cat-file --batch-check --batch-all-objects
00750edc07d6415dcc07ae0351e9397b0222b7ba blob 2
16c8174a1583eed700e1e1bc5e2f382ce010eb8b commit 214
aff6316148f1524977997c486bcfe624c9094c4e tree 32
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo41/.git/shallow'
./client/repo41/.git/shallow -/0o100/regular file rw-r--r--/0o644
1 16c8174a1583eed700e1e1bc5e2f382ce010eb8b\n
2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone --depth=1 --no-local --no-single-branch '../server/repo.git' './repo42'
Cloning into './repo42'...
remote: Enumerating objects: 9, done.
remote: Counting objects: 100% (9/9), done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 9 (delta 1), reused 0 (delta 0), pack-reused 0 (from 0)
Receiving objects: 100% (9/9), done.
Resolving deltas: 100% (1/1), done.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo42' config list --local --show-origin --show-scope
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.origin.url=C:/Program Files/Git/test_git/client/../server/repo.git
local file:.git/config remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
local file:.git/config branch.branch.remote=origin
local file:.git/config branch.branch.merge=refs/heads/branch
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo42' lg --all
* 16c8174 - 2026-10-28 21:58 (14 seconds ago) 3 - Han Jiang (grafted, HEAD -> refs/heads/branch, refs/remotes/origin/branch, refs/remotes/origin/HEAD)
* 568a599 - 2026-10-28 21:58 (15 seconds ago) 2 - Han Jiang (grafted, refs/remotes/origin/master)
* 2541b67 - 2026-10-28 21:58 (16 seconds ago) 1 - Han Jiang (grafted, tag: refs/tags/tag)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo42' cat-file --batch-check --batch-all-objects
00750edc07d6415dcc07ae0351e9397b0222b7ba blob 2
0cfbf08886fca9a91cb753ec8734c84fcbe52c9f blob 2
16c8174a1583eed700e1e1bc5e2f382ce010eb8b commit 214
2541b67d56a2a063831c6e9887edf2c821f9c10b commit 166
568a599e403cf07c4071b9bfa2f4da8bc626175d commit 214
aff6316148f1524977997c486bcfe624c9094c4e tree 32
d00491fd7e5bb6fa28c517a0bb32b8b506539d4d blob 2
d9cc608eedd5d2cc63c262272b7a0f6ab6aed5dd tree 32
f27c6ae26adb8396d3861976ba268f87ad8afa0b tree 32
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo42/.git/shallow'
./client/repo42/.git/shallow -/0o100/regular file rw-r--r--/0o644
1 16c8174a1583eed700e1e1bc5e2f382ce010eb8b\n
2 2541b67d56a2a063831c6e9887edf2c821f9c10b\n
3 568a599e403cf07c4071b9bfa2f4da8bc626175d\n
4
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone --depth=1 --no-local --no-single-branch --no-tags '../server/repo.git' './repo43'
Cloning into './repo43'...
remote: Enumerating objects: 6, done.
remote: Counting objects: 100% (6/6), done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 6 (delta 1), reused 0 (delta 0), pack-reused 0 (from 0)
Receiving objects: 100% (6/6), done.
Resolving deltas: 100% (1/1), done.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo43' config list --local --show-origin --show-scope
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.origin.url=C:/Program Files/Git/test_git/client/../server/repo.git
local file:.git/config remote.origin.tagopt=--no-tags
local file:.git/config remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
local file:.git/config branch.branch.remote=origin
local file:.git/config branch.branch.merge=refs/heads/branch
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo43' lg --all
* 16c8174 - 2026-10-28 21:58 (17 seconds ago) 3 - Han Jiang (grafted, HEAD -> refs/heads/branch, refs/remotes/origin/branch, refs/remotes/origin/HEAD)
* 568a599 - 2026-10-28 21:58 (18 seconds ago) 2 - Han Jiang (grafted, refs/remotes/origin/master)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo43' cat-file --batch-check --batch-all-objects
00750edc07d6415dcc07ae0351e9397b0222b7ba blob 2
0cfbf08886fca9a91cb753ec8734c84fcbe52c9f blob 2
16c8174a1583eed700e1e1bc5e2f382ce010eb8b commit 214
568a599e403cf07c4071b9bfa2f4da8bc626175d commit 214
aff6316148f1524977997c486bcfe624c9094c4e tree 32
d9cc608eedd5d2cc63c262272b7a0f6ab6aed5dd tree 32
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo43/.git/shallow'
./client/repo43/.git/shallow -/0o100/regular file rw-r--r--/0o644
1 16c8174a1583eed700e1e1bc5e2f382ce010eb8b\n
2 568a599e403cf07c4071b9bfa2f4da8bc626175d\n
3
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone 'file://'"$(realpath './server/repo.git')" './repo5'
Cloning into './repo5'...
remote: Enumerating objects: 9, done.
remote: Counting objects: 100% (9/9), done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 9 (delta 1), reused 0 (delta 0), pack-reused 0 (from 0)
Receiving objects: 100% (9/9), done.
Resolving deltas: 100% (1/1), done.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo5' config list --local --show-origin --show-scope
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.origin.url=file:///test_git/server/repo.git
local file:.git/config remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
local file:.git/config branch.branch.remote=origin
local file:.git/config branch.branch.merge=refs/heads/branch
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo5' lg --all
* 16c8174 - 2026-10-28 21:58 (21 seconds ago) 3 - Han Jiang (HEAD -> refs/heads/branch, refs/remotes/origin/branch, refs/remotes/origin/HEAD)
| * 568a599 - 2026-10-28 21:58 (22 seconds ago) 2 - Han Jiang (refs/remotes/origin/master)
|/
* 2541b67 - 2026-10-28 21:58 (23 seconds ago) 1 - Han Jiang (tag: refs/tags/tag)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo5' cat-file --batch-check --batch-all-objects
00750edc07d6415dcc07ae0351e9397b0222b7ba blob 2
0cfbf08886fca9a91cb753ec8734c84fcbe52c9f blob 2
16c8174a1583eed700e1e1bc5e2f382ce010eb8b commit 214
2541b67d56a2a063831c6e9887edf2c821f9c10b commit 166
568a599e403cf07c4071b9bfa2f4da8bc626175d commit 214
aff6316148f1524977997c486bcfe624c9094c4e tree 32
d00491fd7e5bb6fa28c517a0bb32b8b506539d4d blob 2
d9cc608eedd5d2cc63c262272b7a0f6ab6aed5dd tree 32
f27c6ae26adb8396d3861976ba268f87ad8afa0b tree 32
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone --depth=1 'file://'"$(realpath './server/repo.git')" './repo61'
Cloning into './repo61'...
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Receiving objects: 100% (3/3), done.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo61' config list --local --show-origin --show-scope
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.origin.url=file:///test_git/server/repo.git
local file:.git/config remote.origin.fetch=+refs/heads/branch:refs/remotes/origin/branch
local file:.git/config branch.branch.remote=origin
local file:.git/config branch.branch.merge=refs/heads/branch
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo61' lg --all
* 16c8174 - 2026-10-28 21:58 (23 seconds ago) 3 - Han Jiang (grafted, HEAD -> refs/heads/branch, refs/remotes/origin/branch, refs/remotes/origin/HEAD)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo61' cat-file --batch-check --batch-all-objects
00750edc07d6415dcc07ae0351e9397b0222b7ba blob 2
16c8174a1583eed700e1e1bc5e2f382ce010eb8b commit 214
aff6316148f1524977997c486bcfe624c9094c4e tree 32
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo61/.git/shallow'
./client/repo61/.git/shallow -/0o100/regular file rw-r--r--/0o644
1 16c8174a1583eed700e1e1bc5e2f382ce010eb8b\n
2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone --depth=1 --no-single-branch 'file://'"$(realpath './server/repo.git')" './repo62'
Cloning into './repo62'...
remote: Enumerating objects: 9, done.
remote: Counting objects: 100% (9/9), done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 9 (delta 1), reused 0 (delta 0), pack-reused 0 (from 0)
Receiving objects: 100% (9/9), done.
Resolving deltas: 100% (1/1), done.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo62' config list --local --show-origin --show-scope
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.origin.url=file:///test_git/server/repo.git
local file:.git/config remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
local file:.git/config branch.branch.remote=origin
local file:.git/config branch.branch.merge=refs/heads/branch
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo62' lg --all
* 16c8174 - 2026-10-28 21:58 (26 seconds ago) 3 - Han Jiang (grafted, HEAD -> refs/heads/branch, refs/remotes/origin/branch, refs/remotes/origin/HEAD)
* 568a599 - 2026-10-28 21:58 (27 seconds ago) 2 - Han Jiang (grafted, refs/remotes/origin/master)
* 2541b67 - 2026-10-28 21:58 (28 seconds ago) 1 - Han Jiang (grafted, tag: refs/tags/tag)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo62' cat-file --batch-check --batch-all-objects
00750edc07d6415dcc07ae0351e9397b0222b7ba blob 2
0cfbf08886fca9a91cb753ec8734c84fcbe52c9f blob 2
16c8174a1583eed700e1e1bc5e2f382ce010eb8b commit 214
2541b67d56a2a063831c6e9887edf2c821f9c10b commit 166
568a599e403cf07c4071b9bfa2f4da8bc626175d commit 214
aff6316148f1524977997c486bcfe624c9094c4e tree 32
d00491fd7e5bb6fa28c517a0bb32b8b506539d4d blob 2
d9cc608eedd5d2cc63c262272b7a0f6ab6aed5dd tree 32
f27c6ae26adb8396d3861976ba268f87ad8afa0b tree 32
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo62/.git/shallow'
./client/repo62/.git/shallow -/0o100/regular file rw-r--r--/0o644
1 16c8174a1583eed700e1e1bc5e2f382ce010eb8b\n
2 2541b67d56a2a063831c6e9887edf2c821f9c10b\n
3 568a599e403cf07c4071b9bfa2f4da8bc626175d\n
4
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone --depth=1 --no-single-branch --no-tags 'file://'"$(realpath './server/repo.git')" './repo63'
Cloning into './repo63'...
remote: Enumerating objects: 6, done.
remote: Counting objects: 100% (6/6), done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 6 (delta 1), reused 0 (delta 0), pack-reused 0 (from 0)
Receiving objects: 100% (6/6), done.
Resolving deltas: 100% (1/1), done.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo63' config list --local --show-origin --show-scope
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.origin.url=file:///test_git/server/repo.git
local file:.git/config remote.origin.tagopt=--no-tags
local file:.git/config remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
local file:.git/config branch.branch.remote=origin
local file:.git/config branch.branch.merge=refs/heads/branch
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo63' lg --all
* 16c8174 - 2026-10-28 21:58 (30 seconds ago) 3 - Han Jiang (grafted, HEAD -> refs/heads/branch, refs/remotes/origin/branch, refs/remotes/origin/HEAD)
* 568a599 - 2026-10-28 21:58 (31 seconds ago) 2 - Han Jiang (grafted, refs/remotes/origin/master)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo63' cat-file --batch-check --batch-all-objects
00750edc07d6415dcc07ae0351e9397b0222b7ba blob 2
0cfbf08886fca9a91cb753ec8734c84fcbe52c9f blob 2
16c8174a1583eed700e1e1bc5e2f382ce010eb8b commit 214
568a599e403cf07c4071b9bfa2f4da8bc626175d commit 214
aff6316148f1524977997c486bcfe624c9094c4e tree 32
d9cc608eedd5d2cc63c262272b7a0f6ab6aed5dd tree 32
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo63/.git/shallow'
./client/repo63/.git/shallow -/0o100/regular file rw-r--r--/0o644
1 16c8174a1583eed700e1e1bc5e2f382ce010eb8b\n
2 568a599e403cf07c4071b9bfa2f4da8bc626175d\n
3
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo "$((++number))" >'./file'; git --git-dir='./server/repo.git' --work-tree='.' add './file'; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$(<'./file')"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) d2bc800] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' branch branch; git -C './server/repo.git' tag tag
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo "$((++number))" >'./file'; git --git-dir='./server/repo.git' --work-tree='.' add './file'; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$(<'./file')"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master 8d73ef1] 2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' checkout branch
Switched to branch 'branch'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo "$((++number))" >'./file'; git --git-dir='./server/repo.git' --work-tree='.' add './file'; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$(<'./file')"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch a2f6ec1] 3
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --all
* a2f6ec1 - 2026-10-28 21:58 (0 seconds ago) 3 - Han Jiang (HEAD -> refs/heads/branch)
| * 8d73ef1 - 2026-10-28 21:58 (2 seconds ago) 2 - Han Jiang (refs/heads/master)
|/
* d2bc800 - 2026-10-28 21:58 (3 seconds ago) 1 - Han Jiang (tag: refs/tags/tag)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' cat-file --batch-check --batch-all-objects
00750edc07d6415dcc07ae0351e9397b0222b7ba blob 2
0cfbf08886fca9a91cb753ec8734c84fcbe52c9f blob 2
8d73ef11601dc151089b88d9ce7359f69b44944a commit 214
a2f6ec1a3b926e142002d34fcc382cb120796ecc commit 214
aff6316148f1524977997c486bcfe624c9094c4e tree 32
d00491fd7e5bb6fa28c517a0bb32b8b506539d4d blob 2
d2bc80059e360306d5b904c20143d8a6266a9e26 commit 166
d9cc608eedd5d2cc63c262272b7a0f6ab6aed5dd tree 32
f27c6ae26adb8396d3861976ba268f87ad8afa0b tree 32
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone '../server/repo.git' './repo1'
Cloning into './repo1'...
done.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo1' config list --local --show-origin --show-scope
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.origin.url=C:/Program Files/Git/test_git/client/../server/repo.git
local file:.git/config remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
local file:.git/config branch.branch.remote=origin
local file:.git/config branch.branch.merge=refs/heads/branch
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo1' lg --all
* a2f6ec1 - 2026-10-28 21:58 (2 seconds ago) 3 - Han Jiang (HEAD -> refs/heads/branch, refs/remotes/origin/branch, refs/remotes/origin/HEAD)
| * 8d73ef1 - 2026-10-28 21:58 (4 seconds ago) 2 - Han Jiang (refs/remotes/origin/master)
|/
* d2bc800 - 2026-10-28 21:58 (5 seconds ago) 1 - Han Jiang (tag: refs/tags/tag)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo1' cat-file --batch-check --batch-all-objects
00750edc07d6415dcc07ae0351e9397b0222b7ba blob 2
0cfbf08886fca9a91cb753ec8734c84fcbe52c9f blob 2
8d73ef11601dc151089b88d9ce7359f69b44944a commit 214
a2f6ec1a3b926e142002d34fcc382cb120796ecc commit 214
aff6316148f1524977997c486bcfe624c9094c4e tree 32
d00491fd7e5bb6fa28c517a0bb32b8b506539d4d blob 2
d2bc80059e360306d5b904c20143d8a6266a9e26 commit 166
d9cc608eedd5d2cc63c262272b7a0f6ab6aed5dd tree 32
f27c6ae26adb8396d3861976ba268f87ad8afa0b tree 32
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone --shallow-exclude="$branch_default_path" '../server/repo.git' './repo2'
Cloning into './repo2'...
warning: --shallow-exclude is ignored in local clones; use file:// instead.
done.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo2' config list --local --show-origin --show-scope
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.origin.url=C:/Program Files/Git/test_git/client/../server/repo.git
local file:.git/config remote.origin.fetch=+refs/heads/branch:refs/remotes/origin/branch
local file:.git/config branch.branch.remote=origin
local file:.git/config branch.branch.merge=refs/heads/branch
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo2' lg --all
* a2f6ec1 - 2026-10-28 21:58 (5 seconds ago) 3 - Han Jiang (HEAD -> refs/heads/branch, refs/remotes/origin/branch, refs/remotes/origin/HEAD)
* d2bc800 - 2026-10-28 21:58 (8 seconds ago) 1 - Han Jiang (tag: refs/tags/tag)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo2' cat-file --batch-check --batch-all-objects
00750edc07d6415dcc07ae0351e9397b0222b7ba blob 2
0cfbf08886fca9a91cb753ec8734c84fcbe52c9f blob 2
8d73ef11601dc151089b88d9ce7359f69b44944a commit 214
a2f6ec1a3b926e142002d34fcc382cb120796ecc commit 214
aff6316148f1524977997c486bcfe624c9094c4e tree 32
d00491fd7e5bb6fa28c517a0bb32b8b506539d4d blob 2
d2bc80059e360306d5b904c20143d8a6266a9e26 commit 166
d9cc608eedd5d2cc63c262272b7a0f6ab6aed5dd tree 32
f27c6ae26adb8396d3861976ba268f87ad8afa0b tree 32
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo2/.git/shallow'
find: ‘./client/repo2/.git/shallow’: No such file or directory
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone --no-local '../server/repo.git' './repo3'
Cloning into './repo3'...
remote: Enumerating objects: 9, done.
remote: Counting objects: 100% (9/9), done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 9 (delta 1), reused 0 (delta 0), pack-reused 0 (from 0)
Receiving objects: 100% (9/9), done.
Resolving deltas: 100% (1/1), done.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo3' config list --local --show-origin --show-scope
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.origin.url=C:/Program Files/Git/test_git/client/../server/repo.git
local file:.git/config remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
local file:.git/config branch.branch.remote=origin
local file:.git/config branch.branch.merge=refs/heads/branch
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo3' lg --all
* a2f6ec1 - 2026-10-28 21:58 (7 seconds ago) 3 - Han Jiang (HEAD -> refs/heads/branch, refs/remotes/origin/branch, refs/remotes/origin/HEAD)
| * 8d73ef1 - 2026-10-28 21:58 (9 seconds ago) 2 - Han Jiang (refs/remotes/origin/master)
|/
* d2bc800 - 2026-10-28 21:58 (10 seconds ago) 1 - Han Jiang (tag: refs/tags/tag)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo3' cat-file --batch-check --batch-all-objects
00750edc07d6415dcc07ae0351e9397b0222b7ba blob 2
0cfbf08886fca9a91cb753ec8734c84fcbe52c9f blob 2
8d73ef11601dc151089b88d9ce7359f69b44944a commit 214
a2f6ec1a3b926e142002d34fcc382cb120796ecc commit 214
aff6316148f1524977997c486bcfe624c9094c4e tree 32
d00491fd7e5bb6fa28c517a0bb32b8b506539d4d blob 2
d2bc80059e360306d5b904c20143d8a6266a9e26 commit 166
d9cc608eedd5d2cc63c262272b7a0f6ab6aed5dd tree 32
f27c6ae26adb8396d3861976ba268f87ad8afa0b tree 32
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone --shallow-exclude="$branch_default_path" --no-local '../server/repo.git' './repo4'
Cloning into './repo4'...
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Receiving objects: 100% (3/3), done.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo4' config list --local --show-origin --show-scope
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.origin.url=C:/Program Files/Git/test_git/client/../server/repo.git
local file:.git/config remote.origin.fetch=+refs/heads/branch:refs/remotes/origin/branch
local file:.git/config branch.branch.remote=origin
local file:.git/config branch.branch.merge=refs/heads/branch
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo4' lg --all
* a2f6ec1 - 2026-10-28 21:58 (10 seconds ago) 3 - Han Jiang (grafted, HEAD -> refs/heads/branch, refs/remotes/origin/branch, refs/remotes/origin/HEAD)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo4' cat-file --batch-check --batch-all-objects
00750edc07d6415dcc07ae0351e9397b0222b7ba blob 2
a2f6ec1a3b926e142002d34fcc382cb120796ecc commit 214
aff6316148f1524977997c486bcfe624c9094c4e tree 32
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo4/.git/shallow'
./client/repo4/.git/shallow -/0o100/regular file rw-r--r--/0o644
1 a2f6ec1a3b926e142002d34fcc382cb120796ecc\n
2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone 'file://'"$(realpath './server/repo.git')" './repo5'
Cloning into './repo5'...
remote: Enumerating objects: 9, done.
remote: Counting objects: 100% (9/9), done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 9 (delta 1), reused 0 (delta 0), pack-reused 0 (from 0)
Receiving objects: 100% (9/9), done.
Resolving deltas: 100% (1/1), done.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo5' config list --local --show-origin --show-scope
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.origin.url=file:///test_git/server/repo.git
local file:.git/config remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
local file:.git/config branch.branch.remote=origin
local file:.git/config branch.branch.merge=refs/heads/branch
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo5' lg --all
* a2f6ec1 - 2026-10-28 21:58 (13 seconds ago) 3 - Han Jiang (HEAD -> refs/heads/branch, refs/remotes/origin/branch, refs/remotes/origin/HEAD)
| * 8d73ef1 - 2026-10-28 21:58 (15 seconds ago) 2 - Han Jiang (refs/remotes/origin/master)
|/
* d2bc800 - 2026-10-28 21:58 (16 seconds ago) 1 - Han Jiang (tag: refs/tags/tag)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo5' cat-file --batch-check --batch-all-objects
00750edc07d6415dcc07ae0351e9397b0222b7ba blob 2
0cfbf08886fca9a91cb753ec8734c84fcbe52c9f blob 2
8d73ef11601dc151089b88d9ce7359f69b44944a commit 214
a2f6ec1a3b926e142002d34fcc382cb120796ecc commit 214
aff6316148f1524977997c486bcfe624c9094c4e tree 32
d00491fd7e5bb6fa28c517a0bb32b8b506539d4d blob 2
d2bc80059e360306d5b904c20143d8a6266a9e26 commit 166
d9cc608eedd5d2cc63c262272b7a0f6ab6aed5dd tree 32
f27c6ae26adb8396d3861976ba268f87ad8afa0b tree 32
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone --shallow-exclude="$branch_default_path" 'file://'"$(realpath './server/repo.git')" './repo6'
Cloning into './repo6'...
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Receiving objects: 100% (3/3), done.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo6' config list --local --show-origin --show-scope
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.origin.url=file:///test_git/server/repo.git
local file:.git/config remote.origin.fetch=+refs/heads/branch:refs/remotes/origin/branch
local file:.git/config branch.branch.remote=origin
local file:.git/config branch.branch.merge=refs/heads/branch
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo6' lg --all
* a2f6ec1 - 2026-10-28 21:58 (16 seconds ago) 3 - Han Jiang (grafted, HEAD -> refs/heads/branch, refs/remotes/origin/branch, refs/remotes/origin/HEAD)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo6' cat-file --batch-check --batch-all-objects
00750edc07d6415dcc07ae0351e9397b0222b7ba blob 2
a2f6ec1a3b926e142002d34fcc382cb120796ecc commit 214
aff6316148f1524977997c486bcfe624c9094c4e tree 32
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo6/.git/shallow'
./client/repo6/.git/shallow -/0o100/regular file rw-r--r--/0o644
1 a2f6ec1a3b926e142002d34fcc382cb120796ecc\n
2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ touch './file'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' add './file'
jhcarl0814@jhcarl0814 UCRT64 $?=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) 1c5d5d6] 1
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' rm './file'
rm 'file'
jhcarl0814@jhcarl0814 UCRT64 $?=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 dad941f] 2
1 file changed, 0 insertions(+), 0 deletions(-)
delete mode 100644 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --all
* dad941f - 2026-10-28 21:59 (0 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
* 1c5d5d6 - 2026-10-28 21:59 (1 second ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone --filter='object:type=tag' '../server/repo.git' './repo1'
Cloning into './repo1'...
warning: --filter is ignored in local clones; use file:// instead.
done.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone --filter='object:type=tag' --no-local '../server/repo.git' './repo2'
Cloning into './repo2'...
warning: filtering not recognized by server, ignoring
remote: Enumerating objects: 5, done.
remote: Counting objects: 100% (5/5), done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 5 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Receiving objects: 100% (5/5), done.
Enumerating objects: 1, done.
Counting objects: 100% (1/1), done.
Writing objects: 100% (1/1), done.
Total 1 (delta 0), reused 1 (delta 0), pack-reused 0 (from 0)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' config set 'uploadpack.allowFilter' 'true'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' clone --filter='object:type=tag' --no-local '../server/repo.git' './repo3'
Cloning into './repo3'...
remote: Enumerating objects: 1, done.
remote: Counting objects: 100% (1/1), done.
remote: Total 1 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Receiving objects: 100% (1/1), done.
Enumerating objects: 1, done.
Counting objects: 100% (1/1), done.
Writing objects: 100% (1/1), done.
Total 1 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo3' config list --local --show-origin --show-scope
local file:.git/config core.repositoryformatversion=1
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.origin.url=C:/Program Files/Git/test_git/client/../server/repo.git
local file:.git/config remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
local file:.git/config remote.origin.promisor=true
local file:.git/config remote.origin.partialclonefilter=object:type=tag
local file:.git/config branch.master.remote=origin
local file:.git/config branch.master.merge=refs/heads/master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' cat-file --batch-check --batch-all-objects
1c5d5d697c63153daeec9699f702c22d4983f124 commit 166
4b825dc642cb6eb9a060e54bf8d69288fbee4904 tree 0
dad941f3779210593fc1a4cccc1e5e7a9bead8a8 commit 214
df2b8fc99e1c1d4dbc0a854d9f72157f1d6ea078 tree 32
e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 blob 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo3' cat-file --batch-check --batch-all-objects
warning: This repository uses promisor remotes. Some objects may not be loaded.
4b825dc642cb6eb9a060e54bf8d69288fbee4904 tree 0
dad941f3779210593fc1a4cccc1e5e7a9bead8a8 commit 214
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo3' lg --all
error: Could not read 1c5d5d697c63153daeec9699f702c22d4983f124
fatal: revision walk setup failed
jhcarl0814@jhcarl0814 UCRT64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo3' checkout HEAD~1
remote: Enumerating objects: 2, done.
remote: Counting objects: 100% (2/2), done.
remote: Total 2 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Receiving objects: 100% (2/2), 193 bytes | 193.00 KiB/s, done.
fatal: Cannot switch branch to a non-commit 'HEAD~1'
jhcarl0814@jhcarl0814 UCRT64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo3' cat-file --batch-check --batch-all-objects
warning: This repository uses promisor remotes. Some objects may not be loaded.
1c5d5d697c63153daeec9699f702c22d4983f124 commit 166
4b825dc642cb6eb9a060e54bf8d69288fbee4904 tree 0
dad941f3779210593fc1a4cccc1e5e7a9bead8a8 commit 214
df2b8fc99e1c1d4dbc0a854d9f72157f1d6ea078 tree 32
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo3' lg --all
* dad941f - 2026-10-28 21:59 (6 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
* 1c5d5d6 - 2026-10-28 21:59 (7 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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) cdd84fa] 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' branch branch1; git -C './server/repo.git' branch branch2; git -C './server/repo.git' tag tag1; git -C './server/repo.git' tag tag2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose
server file:///test_git/server/repo.git (fetch)
server file:///test_git/server/repo.git (push)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server/repo.git
local file:.git/config remote.server.fetch=+refs/heads/*:refs/remotes/server/*
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch --dry-run
remote: Enumerating objects: 2, done.
remote: Counting objects: 100% (2/2), done.
remote: Total 2 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (2/2), 139 bytes | 19.00 KiB/s, done.
From file:///test_git/server/repo
* [new branch] branch1 -> server/branch1
* [new branch] branch2 -> server/branch2
* [new branch] master -> server/master
* [new tag] tag1 -> tag1
* [new tag] tag2 -> tag2
* [new tag] tag1 -> tag1
* [new tag] tag2 -> tag2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch --dry-run --refmap='+refs/heads/*:refs/remotes/server/*' server branch1 branch2
From file:///test_git/server/repo
* branch branch1 -> FETCH_HEAD
* branch branch2 -> FETCH_HEAD
* [new branch] branch1 -> server/branch1
* [new branch] branch2 -> server/branch2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch --dry-run --refmap='+refs/heads/branch*:refs/remotes/server/branch*' server branch1 branch2
From file:///test_git/server/repo
* branch branch1 -> FETCH_HEAD
* branch branch2 -> FETCH_HEAD
* [new branch] branch1 -> server/branch1
* [new branch] branch2 -> server/branch2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch --dry-run --refmap='+refs/heads/branch1:refs/remotes/server/branch1' server branch1 branch2
From file:///test_git/server/repo
* branch branch1 -> FETCH_HEAD
* branch branch2 -> FETCH_HEAD
* [new branch] branch1 -> server/branch1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch --dry-run --refmap='+refs/heads/branch2:refs/remotes/server/branch2' server branch1 branch2
From file:///test_git/server/repo
* branch branch1 -> FETCH_HEAD
* branch branch2 -> FETCH_HEAD
* [new branch] branch2 -> server/branch2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch --dry-run --refmap='+refs/heads/*1:refs/remotes/server/*' server branch1 branch2
From file:///test_git/server/repo
* branch branch1 -> FETCH_HEAD
* branch branch2 -> FETCH_HEAD
* [new branch] branch1 -> server/branch
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch --dry-run --refmap='+refs/heads/*2:refs/remotes/server/*' server branch1 branch2
From file:///test_git/server/repo
* branch branch1 -> FETCH_HEAD
* branch branch2 -> FETCH_HEAD
* [new branch] branch2 -> server/branch
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch --dry-run --refmap='+refs/heads/*1:refs/remotes/server/*' --refmap='+refs/heads/*2:refs/remotes/server/*' server branch1 branch2
fatal: refs/remotes/server/branch tracks both refs/heads/branch1 and refs/heads/branch2
jhcarl0814@jhcarl0814 UCRT64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config unset --local 'remote.server.fetch'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch --dry-run
From file:///test_git/server/repo
* branch HEAD -> FETCH_HEAD
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' -c 'remote.server.fetch=+refs/heads/*:refs/remotes/server/*' fetch --dry-run
From file:///test_git/server/repo
* [new branch] branch1 -> server/branch1
* [new branch] branch2 -> server/branch2
* [new branch] master -> server/master
* [new tag] tag1 -> tag1
* [new tag] tag2 -> tag2
* [new tag] tag1 -> tag1
* [new tag] tag2 -> tag2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' -c 'remote.server.fetch=+refs/heads/branch1:refs/remotes/server/branch1' fetch --dry-run
From file:///test_git/server/repo
* [new branch] branch1 -> server/branch1
* [new tag] tag1 -> tag1
* [new tag] tag2 -> tag2
* [new tag] tag1 -> tag1
* [new tag] tag2 -> tag2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' -c 'remote.server.fetch=+refs/heads/branch1:refs/remotes/server/branch1' -c 'remote.server.fetch=+refs/heads/branch2:refs/remotes/server/branch2' fetch --dry-run
From file:///test_git/server/repo
* [new branch] branch1 -> server/branch1
* [new branch] branch2 -> server/branch2
* [new tag] tag1 -> tag1
* [new tag] tag2 -> tag2
* [new tag] tag1 -> tag1
* [new tag] tag2 -> tag2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' -c 'remote.server.fetch=+refs/heads/branch*:refs/remotes/server/branch*' fetch --dry-run
From file:///test_git/server/repo
* [new branch] branch1 -> server/branch1
* [new branch] branch2 -> server/branch2
* [new tag] tag1 -> tag1
* [new tag] tag2 -> tag2
* [new tag] tag1 -> tag1
* [new tag] tag2 -> tag2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' -c 'remote.server.fetch=+refs/heads/branch*:refs/remotes/server/branch*' -c 'remote.server.fetch=+refs/heads/branch2:refs/remotes/server/branch2' fetch --dry-run
From file:///test_git/server/repo
* [new branch] branch1 -> server/branch1
* [new branch] branch2 -> server/branch2
* [new tag] tag1 -> tag1
* [new tag] tag2 -> tag2
* [new tag] tag1 -> tag1
* [new tag] tag2 -> tag2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' -c 'remote.server.fetch=+refs/heads/branch1:refs/remotes/server/branch1' fetch --dry-run --refmap='+refs/heads/branch1:refs/remotes/server/branch1' server branch1 branch2
From file:///test_git/server/repo
* branch branch1 -> FETCH_HEAD
* branch branch2 -> FETCH_HEAD
* [new branch] branch1 -> server/branch1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' -c 'remote.server.fetch=+refs/heads/branch1:refs/remotes/server/branch1' fetch --dry-run --refmap='+refs/heads/branch2:refs/remotes/server/branch2' server branch1 branch2
From file:///test_git/server/repo
* branch branch1 -> FETCH_HEAD
* branch branch2 -> FETCH_HEAD
* [new branch] branch2 -> server/branch2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' -c 'remote.server.fetch=+refs/heads/branch2:refs/remotes/server/branch2' fetch --dry-run --refmap='+refs/heads/branch1:refs/remotes/server/branch1' server branch1 branch2
From file:///test_git/server/repo
* branch branch1 -> FETCH_HEAD
* branch branch2 -> FETCH_HEAD
* [new branch] branch1 -> server/branch1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' -c 'remote.server.fetch=+refs/heads/branch2:refs/remotes/server/branch2' fetch --dry-run --refmap='+refs/heads/branch2:refs/remotes/server/branch2' server branch1 branch2
From file:///test_git/server/repo
* branch branch1 -> FETCH_HEAD
* branch branch2 -> FETCH_HEAD
* [new branch] branch2 -> server/branch2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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) a88ed6e] 1
jhcarl0814@jhcarl0814 UCRT64 $?=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 3308324] 2
jhcarl0814@jhcarl0814 UCRT64 $?=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 6ae29cd] 3
jhcarl0814@jhcarl0814 UCRT64 $?=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 5ac179a] 4
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --all
* 5ac179a - 2026-10-28 22:00 (0 seconds ago) 4 - Han Jiang (HEAD -> refs/heads/master)
* 6ae29cd - 2026-10-28 22:00 (1 second ago) 3 - Han Jiang
* 3308324 - 2026-10-28 22:00 (1 second ago) 2 - Han Jiang
* a88ed6e - 2026-10-28 22:00 (2 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' init './repo1'
Initialized empty Git repository in C:/Program Files/Git/test_git/client/repo1/.git/
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo1' remote add server 'file://'"$(realpath './server/repo.git')"
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo1' remote --verbose
server file:///test_git/server/repo.git (fetch)
server file:///test_git/server/repo.git (push)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo1' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server/repo.git
local file:.git/config remote.server.fetch=+refs/heads/*:refs/remotes/server/*
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo1' fetch --depth=1
remote: Enumerating objects: 2, done.
remote: Counting objects: 100% (2/2), done.
remote: Total 2 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (2/2), 167 bytes | 20.00 KiB/s, done.
From file:///test_git/server/repo
* [new branch] master -> server/master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo1' lg --all
* 5ac179a - 2026-10-28 22:00 (3 seconds ago) 4 - Han Jiang (grafted, refs/remotes/server/master, refs/remotes/server/HEAD)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo1/.git/shallow'
./client/repo1/.git/shallow -/0o100/regular file rw-r--r--/0o644
1 5ac179ad82bed2eafb97fe5764a8d457473f935b\n
2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo1' fetch --depth=2
remote: Enumerating objects: 1, done.
remote: Counting objects: 100% (1/1), done.
remote: Total 1 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (1/1), 159 bytes | 39.00 KiB/s, done.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo1' lg --all
* 5ac179a - 2026-10-28 22:00 (6 seconds ago) 4 - Han Jiang (refs/remotes/server/master, refs/remotes/server/HEAD)
* 6ae29cd - 2026-10-28 22:00 (7 seconds ago) 3 - Han Jiang (grafted)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo1/.git/shallow'
./client/repo1/.git/shallow -/0o100/regular file rw-r--r--/0o644
1 6ae29cd7b974e69339ac31f82afc89940e66b337\n
2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo1' fetch --depth=4
remote: Enumerating objects: 2, done.
remote: Counting objects: 100% (2/2), done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 2 (delta 1), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (2/2), 198 bytes | 28.00 KiB/s, done.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo1' lg --all
* 5ac179a - 2026-10-28 22:00 (8 seconds ago) 4 - Han Jiang (refs/remotes/server/master, refs/remotes/server/HEAD)
* 6ae29cd - 2026-10-28 22:00 (9 seconds ago) 3 - Han Jiang
* 3308324 - 2026-10-28 22:00 (9 seconds ago) 2 - Han Jiang
* a88ed6e - 2026-10-28 22:00 (10 seconds ago) 1 - Han Jiang (grafted)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo1/.git/shallow'
./client/repo1/.git/shallow -/0o100/regular file rw-r--r--/0o644
1 a88ed6e55b0761bd7da5ce1f54610365fcb457ae\n
2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo1' fetch --depth=8
remote: Total 0 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo1' lg --all
* 5ac179a - 2026-10-28 22:00 (10 seconds ago) 4 - Han Jiang (refs/remotes/server/master, refs/remotes/server/HEAD)
* 6ae29cd - 2026-10-28 22:00 (11 seconds ago) 3 - Han Jiang
* 3308324 - 2026-10-28 22:00 (11 seconds ago) 2 - Han Jiang
* a88ed6e - 2026-10-28 22:00 (12 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo1/.git/shallow'
find: ‘./client/repo1/.git/shallow’: No such file or directory
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' init './repo2'
Initialized empty Git repository in C:/Program Files/Git/test_git/client/repo2/.git/
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo2' remote add server 'file://'"$(realpath './server/repo.git')"
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo2' remote --verbose
server file:///test_git/server/repo.git (fetch)
server file:///test_git/server/repo.git (push)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo2' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server/repo.git
local file:.git/config remote.server.fetch=+refs/heads/*:refs/remotes/server/*
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo2' fetch --deepen=1
remote: Enumerating objects: 5, done.
remote: Counting objects: 100% (5/5), done.
remote: Compressing objects: 100% (4/4), done.
remote: Total 5 (delta 3), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (5/5), 363 bytes | 21.00 KiB/s, done.
From file:///test_git/server/repo
* [new branch] master -> server/master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo2' lg --all
* 5ac179a - 2026-10-28 22:00 (14 seconds ago) 4 - Han Jiang (refs/remotes/server/master, refs/remotes/server/HEAD)
* 6ae29cd - 2026-10-28 22:00 (15 seconds ago) 3 - Han Jiang
* 3308324 - 2026-10-28 22:00 (15 seconds ago) 2 - Han Jiang
* a88ed6e - 2026-10-28 22:00 (16 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo2/.git/shallow'
find: ‘./client/repo2/.git/shallow’: No such file or directory
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' init './repo3'
Initialized empty Git repository in C:/Program Files/Git/test_git/client/repo3/.git/
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo3' remote add server 'file://'"$(realpath './server/repo.git')"
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo3' remote --verbose
server file:///test_git/server/repo.git (fetch)
server file:///test_git/server/repo.git (push)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo3' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server/repo.git
local file:.git/config remote.server.fetch=+refs/heads/*:refs/remotes/server/*
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo3' fetch --depth=1
remote: Enumerating objects: 2, done.
remote: Counting objects: 100% (2/2), done.
remote: Total 2 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (2/2), 167 bytes | 23.00 KiB/s, done.
From file:///test_git/server/repo
* [new branch] master -> server/master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo3' lg --all
* 5ac179a - 2026-10-28 22:00 (18 seconds ago) 4 - Han Jiang (grafted, refs/remotes/server/master, refs/remotes/server/HEAD)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo3/.git/shallow'
./client/repo3/.git/shallow -/0o100/regular file rw-r--r--/0o644
1 5ac179ad82bed2eafb97fe5764a8d457473f935b\n
2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo3' fetch --deepen=1
remote: Enumerating objects: 1, done.
remote: Counting objects: 100% (1/1), done.
remote: Total 1 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (1/1), 159 bytes | 39.00 KiB/s, done.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo3' lg --all
* 5ac179a - 2026-10-28 22:00 (20 seconds ago) 4 - Han Jiang (refs/remotes/server/master, refs/remotes/server/HEAD)
* 6ae29cd - 2026-10-28 22:00 (21 seconds ago) 3 - Han Jiang (grafted)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo3/.git/shallow'
./client/repo3/.git/shallow -/0o100/regular file rw-r--r--/0o644
1 6ae29cd7b974e69339ac31f82afc89940e66b337\n
2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo3' fetch --deepen=2
remote: Enumerating objects: 2, done.
remote: Counting objects: 100% (2/2), done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 2 (delta 1), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (2/2), 198 bytes | 28.00 KiB/s, done.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo3' lg --all
* 5ac179a - 2026-10-28 22:00 (22 seconds ago) 4 - Han Jiang (refs/remotes/server/master, refs/remotes/server/HEAD)
* 6ae29cd - 2026-10-28 22:00 (23 seconds ago) 3 - Han Jiang
* 3308324 - 2026-10-28 22:00 (23 seconds ago) 2 - Han Jiang
* a88ed6e - 2026-10-28 22:00 (24 seconds ago) 1 - Han Jiang (grafted)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo3/.git/shallow'
./client/repo3/.git/shallow -/0o100/regular file rw-r--r--/0o644
1 a88ed6e55b0761bd7da5ce1f54610365fcb457ae\n
2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo3' fetch --deepen=4
remote: Total 0 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo3' lg --all
* 5ac179a - 2026-10-28 22:00 (24 seconds ago) 4 - Han Jiang (refs/remotes/server/master, refs/remotes/server/HEAD)
* 6ae29cd - 2026-10-28 22:00 (25 seconds ago) 3 - Han Jiang
* 3308324 - 2026-10-28 22:00 (25 seconds ago) 2 - Han Jiang
* a88ed6e - 2026-10-28 22:00 (26 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo3/.git/shallow'
find: ‘./client/repo3/.git/shallow’: No such file or directory
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo "$((++number))" >'./file'; git --git-dir='./server/repo.git' --work-tree='.' add './file'; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$(<'./file')"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 50190e9] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' branch branch; git -C './server/repo.git' tag tag
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo "$((++number))" >'./file'; git --git-dir='./server/repo.git' --work-tree='.' add './file'; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$(<'./file')"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master 5508fdc] 2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ # git --git-dir='./server/repo.git' --work-tree='.' checkout branch
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' symbolic-ref HEAD "$(git -C './server/repo.git' rev-parse --symbolic-full-name branch)"
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' symbolic-ref HEAD
refs/heads/branch
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo "$((++number))" >'./file'; git --git-dir='./server/repo.git' --work-tree='.' add './file'; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$(<'./file')"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch 5ab741d] 3
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --all
* 5ab741d - 2026-10-28 22:01 (1 second ago) 3 - Han Jiang (HEAD -> refs/heads/branch)
| * 5508fdc - 2026-10-28 22:01 (3 seconds ago) 2 - Han Jiang (refs/heads/master)
|/
* 50190e9 - 2026-10-28 22:01 (4 seconds ago) 1 - Han Jiang (tag: refs/tags/tag)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' cat-file --batch-check --batch-all-objects
00750edc07d6415dcc07ae0351e9397b0222b7ba blob 2
0cfbf08886fca9a91cb753ec8734c84fcbe52c9f blob 2
50190e999f9777e861375af60fb054fd8811c5e8 commit 166
5508fdcd5eaa3b48ab4b2407f0e082026aff6dcc commit 214
5ab741d236609fec0963ec46d781a04cce014335 commit 214
aff6316148f1524977997c486bcfe624c9094c4e tree 32
d00491fd7e5bb6fa28c517a0bb32b8b506539d4d blob 2
d9cc608eedd5d2cc63c262272b7a0f6ab6aed5dd tree 32
f27c6ae26adb8396d3861976ba268f87ad8afa0b tree 32
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' init './repo1'
Initialized empty Git repository in C:/Program Files/Git/test_git/client/repo1/.git/
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo1' remote add server 'file://'"$(realpath './server/repo.git')"
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo1' remote --verbose
server file:///test_git/server/repo.git (fetch)
server file:///test_git/server/repo.git (push)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo1' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server/repo.git
local file:.git/config remote.server.fetch=+refs/heads/*:refs/remotes/server/*
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo1' fetch server branch
remote: Enumerating objects: 6, done.
remote: Counting objects: 100% (6/6), done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 6 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (6/6), 382 bytes | 21.00 KiB/s, done.
From file:///test_git/server/repo
* branch branch -> FETCH_HEAD
* [new branch] branch -> server/branch
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo1' lg --all
* 5ab741d - 2026-10-28 22:01 (4 seconds ago) 3 - Han Jiang (refs/remotes/server/branch)
* 50190e9 - 2026-10-28 22:01 (7 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo1' cat-file --batch-check --batch-all-objects
00750edc07d6415dcc07ae0351e9397b0222b7ba blob 2
50190e999f9777e861375af60fb054fd8811c5e8 commit 166
5ab741d236609fec0963ec46d781a04cce014335 commit 214
aff6316148f1524977997c486bcfe624c9094c4e tree 32
d00491fd7e5bb6fa28c517a0bb32b8b506539d4d blob 2
f27c6ae26adb8396d3861976ba268f87ad8afa0b tree 32
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client' init './repo2'
Initialized empty Git repository in C:/Program Files/Git/test_git/client/repo2/.git/
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo2' remote add server 'file://'"$(realpath './server/repo.git')"
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo2' remote --verbose
server file:///test_git/server/repo.git (fetch)
server file:///test_git/server/repo.git (push)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo2' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server/repo.git
local file:.git/config remote.server.fetch=+refs/heads/*:refs/remotes/server/*
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo2' fetch --shallow-exclude="$branch_default_path" server branch
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (3/3), 212 bytes | 23.00 KiB/s, done.
From file:///test_git/server/repo
* branch branch -> FETCH_HEAD
* [new branch] branch -> server/branch
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo2' lg --all
* 5ab741d - 2026-10-28 22:01 (8 seconds ago) 3 - Han Jiang (grafted, refs/remotes/server/branch)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo2' cat-file --batch-check --batch-all-objects
00750edc07d6415dcc07ae0351e9397b0222b7ba blob 2
5ab741d236609fec0963ec46d781a04cce014335 commit 214
aff6316148f1524977997c486bcfe624c9094c4e tree 32
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo2/.git/shallow'
./client/repo2/.git/shallow -/0o100/regular file rw-r--r--/0o644
1 5ab741d236609fec0963ec46d781a04cce014335\n
2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server1/repo.git' config list --local --show-scope --show-origin
local file:config core.repositoryformatversion=0
local file:config core.filemode=false
local file:config core.bare=true
local file:config core.ignorecase=true
jhcarl0814@jhcarl0814 UCRT64 $?=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) 9ae1e31] 1
jhcarl0814@jhcarl0814 UCRT64 $?=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 d0226ac] 2
jhcarl0814@jhcarl0814 UCRT64 $?=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 ebcb5fa] 3
jhcarl0814@jhcarl0814 UCRT64 $?=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 7fc334f] 4
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server1/repo.git' lg --all
* 7fc334f - 2026-10-28 22:01 (0 seconds ago) 4 - Han Jiang (HEAD -> refs/heads/master)
* ebcb5fa - 2026-10-28 22:01 (1 second ago) 3 - Han Jiang
* d0226ac - 2026-10-28 22:01 (1 second ago) 2 - Han Jiang
* 9ae1e31 - 2026-10-28 22:01 (2 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server2' clone --mirror --depth=2 'file://'"$(realpath './server1/repo.git')" './repo.git'
Cloning into bare repository './repo.git'...
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 3 (delta 1), reused 0 (delta 0), pack-reused 0 (from 0)
Receiving objects: 100% (3/3), done.
Resolving deltas: 100% (1/1), done.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server2/repo.git' remote --verbose
origin file:///test_git/server1/repo.git (fetch)
origin file:///test_git/server1/repo.git (push)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server2/repo.git' config list --local --show-scope --show-origin
local file:config core.repositoryformatversion=0
local file:config core.filemode=false
local file:config core.bare=true
local file:config core.ignorecase=true
local file:config remote.origin.url=file:///test_git/server1/repo.git
local file:config remote.origin.tagopt=--no-tags
local file:config remote.origin.fetch=+refs/*:refs/*
local file:config remote.origin.mirror=true
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server2/repo.git' lg --all
* 7fc334f - 2026-10-28 22:01 (3 seconds ago) 4 - Han Jiang (HEAD -> refs/heads/master)
* ebcb5fa - 2026-10-28 22:01 (4 seconds ago) 3 - Han Jiang (grafted)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './server2/repo.git/shallow'
./server2/repo.git/shallow -/0o100/regular file rw-r--r--/0o644
1 ebcb5fa9b011b25d4be7fb1fed982d8b8046c671\n
2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose
server2 file:///test_git/server2/repo.git (fetch)
server2 file:///test_git/server2/repo.git (push)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server2.url=file:///test_git/server2/repo.git
local file:.git/config remote.server2.fetch=+refs/heads/*:refs/remotes/server2/*
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Total 3 (delta 1), reused 3 (delta 1), pack-reused 0 (from 0)
Unpacking objects: 100% (3/3), 246 bytes | 22.00 KiB/s, done.
warning: rejected refs/remotes/server2/master because shallow roots are not allowed to be updated
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo/.git/shallow'
find: ‘./client/repo/.git/shallow’: No such file or directory
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch --update-shallow
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Total 3 (delta 1), reused 3 (delta 1), pack-reused 0 (from 0)
Unpacking objects: 100% (3/3), 246 bytes | 246.00 KiB/s, done.
From file:///test_git/server2/repo
* [new branch] master -> server2/master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
remotes/server2/HEAD -> server2/master
remotes/server2/master 7fc334f 4
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all
* 7fc334f - 2026-10-28 22:01 (10 seconds ago) 4 - Han Jiang (refs/remotes/server2/master, refs/remotes/server2/HEAD)
* ebcb5fa - 2026-10-28 22:01 (11 seconds ago) 3 - Han Jiang (grafted)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo/.git/shallow'
./client/repo/.git/shallow -/0o100/regular file rw-r--r--/0o644
1 ebcb5fa9b011b25d4be7fb1fed982d8b8046c671\n
2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server1/repo.git' --work-tree='.' checkout --orphan branch1
Switched to a new branch 'branch1'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server1/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
[branch1 (root-commit) 72240e7] 5
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server1/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
[branch1 ba20ff0] 6
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server1/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
[branch1 f5cca46] 7
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server1/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
[branch1 7cbf878] 8
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server1/repo.git' lg --all
* 7cbf878 - 2026-10-28 22:01 (0 seconds ago) 8 - Han Jiang (HEAD -> refs/heads/branch1)
* f5cca46 - 2026-10-28 22:01 (1 second ago) 7 - Han Jiang
* ba20ff0 - 2026-10-28 22:01 (1 second ago) 6 - Han Jiang
\
* 72240e7 - 2026-10-28 22:01 (2 seconds ago) 5 - Han Jiang
* 7fc334f - 2026-10-28 22:01 (14 seconds ago) 4 - Han Jiang (refs/heads/master)
* ebcb5fa - 2026-10-28 22:01 (15 seconds ago) 3 - Han Jiang
* d0226ac - 2026-10-28 22:01 (15 seconds ago) 2 - Han Jiang
* 9ae1e31 - 2026-10-28 22:01 (16 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server2/repo.git' fetch --depth=2
remote: Enumerating objects: 2, done.
remote: Counting objects: 100% (2/2), done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 2 (delta 1), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (2/2), 237 bytes | 33.00 KiB/s, done.
From file:///test_git/server1/repo
* [new branch] branch1 -> branch1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server2/repo.git' lg --all
* 7cbf878 - 2026-10-28 22:01 (2 seconds ago) 8 - Han Jiang (HEAD -> refs/heads/branch1)
\
* f5cca46 - 2026-10-28 22:01 (3 seconds ago) 7 - Han Jiang (grafted)
* 7fc334f - 2026-10-28 22:01 (16 seconds ago) 4 - Han Jiang (refs/heads/master)
* ebcb5fa - 2026-10-28 22:01 (17 seconds ago) 3 - Han Jiang (grafted)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './server2/repo.git/shallow'
./server2/repo.git/shallow -/0o100/regular file rw-r--r--/0o644
1 ebcb5fa9b011b25d4be7fb1fed982d8b8046c671\n
2 f5cca46bbc1be6a67282e77b282af1823fe71d26\n
3
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch
remote: Enumerating objects: 2, done.
remote: Counting objects: 100% (2/2), done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 2 (delta 1), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (2/2), 237 bytes | 26.00 KiB/s, done.
warning: rejected refs/remotes/server2/branch1 because shallow roots are not allowed to be updated
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
remotes/server2/HEAD -> server2/master
remotes/server2/master 7fc334f 4
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all
* 7fc334f - 2026-10-28 22:01 (19 seconds ago) 4 - Han Jiang (refs/remotes/server2/master, refs/remotes/server2/HEAD)
* ebcb5fa - 2026-10-28 22:01 (20 seconds ago) 3 - Han Jiang (grafted)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo/.git/shallow'
./client/repo/.git/shallow -/0o100/regular file rw-r--r--/0o644
1 ebcb5fa9b011b25d4be7fb1fed982d8b8046c671\n
2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch --update-shallow
remote: Enumerating objects: 2, done.
remote: Counting objects: 100% (2/2), done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 2 (delta 1), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (2/2), 237 bytes | 237.00 KiB/s, done.
error: Could not read ba20ff025f4747ca52a6cc59c6194f075428cfd9
From file:///test_git/server2/repo
* [new branch] branch1 -> server2/branch1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
remotes/server2/HEAD -> server2/master
remotes/server2/branch1 7cbf878 8
remotes/server2/master 7fc334f 4
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all
* 7cbf878 - 2026-10-28 22:01 (8 seconds ago) 8 - Han Jiang (refs/remotes/server2/branch1)
\
* f5cca46 - 2026-10-28 22:01 (9 seconds ago) 7 - Han Jiang (grafted)
* 7fc334f - 2026-10-28 22:01 (22 seconds ago) 4 - Han Jiang (refs/remotes/server2/master, refs/remotes/server2/HEAD)
* ebcb5fa - 2026-10-28 22:01 (23 seconds ago) 3 - Han Jiang (grafted)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo/.git/shallow'
./client/repo/.git/shallow -/0o100/regular file rw-r--r--/0o644
1 ebcb5fa9b011b25d4be7fb1fed982d8b8046c671\n
2 f5cca46bbc1be6a67282e77b282af1823fe71d26\n
3
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty; git -C './server/repo.git' branch branch1; git -C './server/repo.git' branch branch2
[master (root-commit) 3c36ebf] 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose
server file:///test_git/server/repo.git (fetch)
server file:///test_git/server/repo.git (push)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server/repo.git
local file:.git/config remote.server.fetch=+refs/heads/*:refs/remotes/server/*
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch --set-upstream server
remote: Enumerating objects: 2, done.
remote: Counting objects: 100% (2/2), done.
remote: Total 2 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (2/2), 138 bytes | 27.00 KiB/s, done.
warning: no source branch found;
you need to specify exactly one branch with the --set-upstream option
From file:///test_git/server/repo
* [new branch] branch1 -> server/branch1
* [new branch] branch2 -> server/branch2
* [new branch] master -> server/master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo/.git/FETCH_HEAD'
./client/repo/.git/FETCH_HEAD -/0o100/regular file rw-r--r--/0o644
1 3c36ebf9b4d32e481458a93fa32ab6441565e0aa\tnot-for-merge\tbranch 'branch1' of file:///test_git/server/repo\n
2 3c36ebf9b4d32e481458a93fa32ab6441565e0aa\tnot-for-merge\tbranch 'branch2' of file:///test_git/server/repo\n
3 3c36ebf9b4d32e481458a93fa32ab6441565e0aa\tnot-for-merge\tbranch 'master' of file:///test_git/server/repo\n
4
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server/repo.git
local file:.git/config remote.server.fetch=+refs/heads/*:refs/remotes/server/*
jhcarl0814@jhcarl0814 UCRT64 $?=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 3c36ebf 1
remotes/server/branch2 3c36ebf 1
remotes/server/master 3c36ebf 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty; git -C './server/repo.git' branch branch1; git -C './server/repo.git' branch branch2
[master (root-commit) 65005ac] 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose
server file:///test_git/server/repo.git (fetch)
server file:///test_git/server/repo.git (push)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server/repo.git
local file:.git/config remote.server.fetch=+refs/heads/*:refs/remotes/server/*
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch --set-upstream server branch1 branch2
remote: Enumerating objects: 2, done.
remote: Counting objects: 100% (2/2), done.
remote: Total 2 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (2/2), 140 bytes | 23.00 KiB/s, done.
warning: multiple branches detected, incompatible with --set-upstream
From file:///test_git/server/repo
* branch branch1 -> FETCH_HEAD
* branch branch2 -> FETCH_HEAD
* [new branch] branch1 -> server/branch1
* [new branch] branch2 -> server/branch2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo/.git/FETCH_HEAD'
./client/repo/.git/FETCH_HEAD -/0o100/regular file rw-r--r--/0o644
1 65005ac044caca72345a7ebd1128d495d432b7c4\t\tbranch 'branch1' of file:///test_git/server/repo\n
2 65005ac044caca72345a7ebd1128d495d432b7c4\t\tbranch 'branch2' of file:///test_git/server/repo\n
3
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server/repo.git
local file:.git/config remote.server.fetch=+refs/heads/*:refs/remotes/server/*
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
remotes/server/branch1 65005ac 1
remotes/server/branch2 65005ac 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty; git -C './server/repo.git' branch branch1; git -C './server/repo.git' branch branch2
[master (root-commit) 604c254] 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose
server file:///test_git/server/repo.git (fetch)
server file:///test_git/server/repo.git (push)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server/repo.git
local file:.git/config remote.server.fetch=+refs/heads/*:refs/remotes/server/*
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch --set-upstream server branch1
remote: Enumerating objects: 2, done.
remote: Counting objects: 100% (2/2), done.
remote: Total 2 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (2/2), 138 bytes | 27.00 KiB/s, done.
From file:///test_git/server/repo
* branch branch1 -> FETCH_HEAD
* [new branch] branch1 -> server/branch1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo/.git/FETCH_HEAD'
./client/repo/.git/FETCH_HEAD -/0o100/regular file rw-r--r--/0o644
1 604c254a46b5bf230e6eb7b5f47176473780cd99\t\tbranch 'branch1' of file:///test_git/server/repo\n
2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server/repo.git
local file:.git/config remote.server.fetch=+refs/heads/*:refs/remotes/server/*
local file:.git/config branch.master.remote=server
local file:.git/config branch.master.merge=refs/heads/branch1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
remotes/server/branch1 604c254 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch --set-upstream server refs/heads/branch2
From file:///test_git/server/repo
* branch branch2 -> FETCH_HEAD
* [new branch] branch2 -> server/branch2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo/.git/FETCH_HEAD'
./client/repo/.git/FETCH_HEAD -/0o100/regular file rw-r--r--/0o644
1 604c254a46b5bf230e6eb7b5f47176473780cd99\t\tbranch 'branch2' of file:///test_git/server/repo\n
2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server/repo.git
local file:.git/config remote.server.fetch=+refs/heads/*:refs/remotes/server/*
local file:.git/config branch.master.remote=server
local file:.git/config branch.master.merge=refs/heads/branch2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
remotes/server/branch1 604c254 1
remotes/server/branch2 604c254 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty; git -C './server/repo.git' branch branch1; git -C './server/repo.git' branch branch2
[master (root-commit) f2a05a8] 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch --set-upstream 'file://'"$(realpath './server/repo.git')"
remote: Enumerating objects: 2, done.
remote: Counting objects: 100% (2/2), done.
remote: Total 2 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (2/2), 139 bytes | 19.00 KiB/s, done.
From file:///test_git/server/repo
* branch HEAD -> FETCH_HEAD
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo/.git/FETCH_HEAD'
./client/repo/.git/FETCH_HEAD -/0o100/regular file rw-r--r--/0o644
1 f2a05a868a0bc8cb9cda07c41bc2adc350545254\t\tfile:///test_git/server/repo\n
2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config branch.master.remote=file:///test_git/server/repo.git
local file:.git/config branch.master.merge=HEAD
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch
From file:///test_git/server/repo
* branch HEAD -> FETCH_HEAD
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo/.git/FETCH_HEAD'
./client/repo/.git/FETCH_HEAD -/0o100/regular file rw-r--r--/0o644
1 f2a05a868a0bc8cb9cda07c41bc2adc350545254\t\tfile:///test_git/server/repo\n
2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config branch.master.remote=file:///test_git/server/repo.git
local file:.git/config branch.master.merge=HEAD
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config set --local 'remote.''file://'"$(realpath './server/repo.git')"'.fetch' '+HEAD:refs/remotes/server/HEAD'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch
From file:///test_git/server/repo
* [new ref] HEAD -> server/HEAD
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo/.git/FETCH_HEAD'
./client/repo/.git/FETCH_HEAD -/0o100/regular file rw-r--r--/0o644
1 f2a05a868a0bc8cb9cda07c41bc2adc350545254\t\tfile:///test_git/server/repo\n
2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config branch.master.remote=file:///test_git/server/repo.git
local file:.git/config branch.master.merge=HEAD
local file:.git/config remote.file:///test_git/server/repo.git.fetch=+HEAD:refs/remotes/server/HEAD
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
remotes/server/HEAD f2a05a8 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config set --local --append 'remote.''file://'"$(realpath './server/repo.git')"'.fetch' '+refs/heads/*:refs/remotes/server/*'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch
From file:///test_git/server/repo
* [new branch] branch1 -> server/branch1
* [new branch] branch2 -> server/branch2
* [new branch] master -> server/master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo/.git/FETCH_HEAD'
./client/repo/.git/FETCH_HEAD -/0o100/regular file rw-r--r--/0o644
1 f2a05a868a0bc8cb9cda07c41bc2adc350545254\t\tfile:///test_git/server/repo\n
2 f2a05a868a0bc8cb9cda07c41bc2adc350545254\tnot-for-merge\tbranch 'branch1' of file:///test_git/server/repo\n
3 f2a05a868a0bc8cb9cda07c41bc2adc350545254\tnot-for-merge\tbranch 'branch2' of file:///test_git/server/repo\n
4 f2a05a868a0bc8cb9cda07c41bc2adc350545254\tnot-for-merge\tbranch 'master' of file:///test_git/server/repo\n
5
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config branch.master.remote=file:///test_git/server/repo.git
local file:.git/config branch.master.merge=HEAD
local file:.git/config remote.file:///test_git/server/repo.git.fetch=+HEAD:refs/remotes/server/HEAD
local file:.git/config remote.file:///test_git/server/repo.git.fetch=+refs/heads/*:refs/remotes/server/*
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
remotes/server/HEAD f2a05a8 1
remotes/server/branch1 f2a05a8 1
remotes/server/branch2 f2a05a8 1
remotes/server/master f2a05a8 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ branch_default_name="$(git -C './server1/repo.git' branch --show-current)"; echo "$branch_default_name"
master
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server1/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty; git --git-dir='./server1/repo.git' --work-tree='.' checkout -b branch1
[master (root-commit) 498020c] 1
Switched to a new branch 'branch1'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server2/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty; git --git-dir='./server2/repo.git' --work-tree='.' checkout -b branch2
[master (root-commit) 06db8b8] 2
Switched to a new branch 'branch2'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo/.git/FETCH_HEAD'
./client/repo/.git/FETCH_HEAD -/0o100/regular empty file rw-r--r--/0o644
1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server1/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
[branch1 9bd48d5] 3
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server2/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
[branch2 09ae578] 4
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote remove server1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server2.url=file:///test_git/server2/repo.git
local file:.git/config remote.server2.fetch=+refs/heads/*:refs/remotes/server2/*
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 3 (delta 1), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (3/3), 208 bytes | 17.00 KiB/s, done.
From file:///test_git/server2/repo
* [new branch] branch2 -> server2/branch2
* [new branch] master -> server2/master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo/.git/FETCH_HEAD'
./client/repo/.git/FETCH_HEAD -/0o100/regular file rw-r--r--/0o644
1 09ae578276c85da41ed6f317f8099f1cfb517831\tnot-for-merge\tbranch 'branch2' of file:///test_git/server2/repo\n
2 06db8b852b11acfbcb855004e3bf5d0d0c6eccf1\tnot-for-merge\tbranch 'master' of file:///test_git/server2/repo\n
3
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all
* 09ae578 - 2026-10-28 22:03 (3 seconds ago) 4 - Han Jiang (refs/remotes/server2/branch2, refs/remotes/server2/HEAD)
* 06db8b8 - 2026-10-28 22:02 (6 seconds ago) 2 - Han Jiang (refs/remotes/server2/master)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server1/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
[branch1 3a58098] 5
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server2/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
[branch2 4af2417] 6
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --set-upstream-to='file://'"$(realpath './server1/repo.git')" "$branch_default_name"
fatal: no commit on branch 'master' yet
jhcarl0814@jhcarl0814 UCRT64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server2.url=file:///test_git/server2/repo.git
local file:.git/config remote.server2.fetch=+refs/heads/*:refs/remotes/server2/*
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config set --local 'branch.'"$branch_default_name"'.remote' 'file://'"$(realpath './server1/repo.git')"
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server2.url=file:///test_git/server2/repo.git
local file:.git/config remote.server2.fetch=+refs/heads/*:refs/remotes/server2/*
local file:.git/config branch.master.remote=file:///test_git/server1/repo.git
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch
remote: Enumerating objects: 4, done.
remote: Counting objects: 100% (4/4), done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 4 (delta 2), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (4/4), 285 bytes | 23.00 KiB/s, done.
From file:///test_git/server1/repo
* branch HEAD -> FETCH_HEAD
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo/.git/FETCH_HEAD'
./client/repo/.git/FETCH_HEAD -/0o100/regular file rw-r--r--/0o644
1 3a580982aca73346f5131311f607fefcf1d9c9ed\t\tfile:///test_git/server1/repo\n
2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all
* 09ae578 - 2026-10-28 22:03 (9 seconds ago) 4 - Han Jiang (refs/remotes/server2/branch2, refs/remotes/server2/HEAD)
* 06db8b8 - 2026-10-28 22:02 (12 seconds ago) 2 - Han Jiang (refs/remotes/server2/master)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ awk 'BEGIN { ORS = "\0"; } { print $1; }' <'./client/repo/.git/FETCH_HEAD' | xargs --null git -C './client/repo' lg --all
* 3a58098 - 2026-10-28 22:03 (5 seconds ago) 5 - Han Jiang
* 9bd48d5 - 2026-10-28 22:03 (9 seconds ago) 3 - Han Jiang
\
* 498020c - 2026-10-28 22:02 (13 seconds ago) 1 - Han Jiang
* 09ae578 - 2026-10-28 22:03 (9 seconds ago) 4 - Han Jiang (refs/remotes/server2/branch2, refs/remotes/server2/HEAD)
* 06db8b8 - 2026-10-28 22:02 (12 seconds ago) 2 - Han Jiang (refs/remotes/server2/master)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server1/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
[branch1 53905b8] 7
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server2/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
[branch2 11d4200] 8
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config unset --local 'branch.'"$branch_default_name"'.remote'
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server2.url=file:///test_git/server2/repo.git
local file:.git/config remote.server2.fetch=+refs/heads/*:refs/remotes/server2/*
local file:.git/config remote.server1.url=file:///test_git/server1/repo.git
local file:.git/config remote.server1.fetch=+refs/heads/*:refs/remotes/server1/*
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch server2
remote: Enumerating objects: 2, done.
remote: Counting objects: 100% (2/2), done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 2 (delta 1), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (2/2), 239 bytes | 34.00 KiB/s, done.
From file:///test_git/server2/repo
09ae578..11d4200 branch2 -> server2/branch2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo/.git/FETCH_HEAD'
./client/repo/.git/FETCH_HEAD -/0o100/regular file rw-r--r--/0o644
1 11d42009cd7e24c06bd61be97952339cec19ab74\tnot-for-merge\tbranch 'branch2' of file:///test_git/server2/repo\n
2 06db8b852b11acfbcb855004e3bf5d0d0c6eccf1\tnot-for-merge\tbranch 'master' of file:///test_git/server2/repo\n
3
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all
* 11d4200 - 2026-10-28 22:03 (4 seconds ago) 8 - Han Jiang (refs/remotes/server2/branch2, refs/remotes/server2/HEAD)
* 4af2417 - 2026-10-28 22:03 (9 seconds ago) 6 - Han Jiang
* 09ae578 - 2026-10-28 22:03 (14 seconds ago) 4 - Han Jiang
* 06db8b8 - 2026-10-28 22:02 (17 seconds ago) 2 - Han Jiang (refs/remotes/server2/master)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server1/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
[branch1 6bb4f32] 9
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server2/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
[branch2 277d33d] 10
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch 'file://'"$(realpath './server1/repo.git')"
remote: Enumerating objects: 6, done.
remote: Counting objects: 100% (6/6), done.
remote: Compressing objects: 100% (5/5), done.
remote: Total 6 (delta 4), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (6/6), 444 bytes | 55.00 KiB/s, done.
From file:///test_git/server1/repo
* branch HEAD -> FETCH_HEAD
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo/.git/FETCH_HEAD'
./client/repo/.git/FETCH_HEAD -/0o100/regular file rw-r--r--/0o644
1 6bb4f3220d0b51fdbe848b15f77d134384f89f7f\t\tfile:///test_git/server1/repo\n
2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all
* 11d4200 - 2026-10-28 22:03 (8 seconds ago) 8 - Han Jiang (refs/remotes/server2/branch2, refs/remotes/server2/HEAD)
* 4af2417 - 2026-10-28 22:03 (13 seconds ago) 6 - Han Jiang
* 09ae578 - 2026-10-28 22:03 (18 seconds ago) 4 - Han Jiang
* 06db8b8 - 2026-10-28 22:02 (21 seconds ago) 2 - Han Jiang (refs/remotes/server2/master)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all FETCH_HEAD
* 6bb4f32 - 2026-10-28 22:03 (3 seconds ago) 9 - Han Jiang
* 53905b8 - 2026-10-28 22:03 (8 seconds ago) 7 - Han Jiang
* 3a58098 - 2026-10-28 22:03 (14 seconds ago) 5 - Han Jiang
* 9bd48d5 - 2026-10-28 22:03 (18 seconds ago) 3 - Han Jiang
\
* 498020c - 2026-10-28 22:02 (22 seconds ago) 1 - Han Jiang
* 11d4200 - 2026-10-28 22:03 (8 seconds ago) 8 - Han Jiang (refs/remotes/server2/branch2, refs/remotes/server2/HEAD)
* 4af2417 - 2026-10-28 22:03 (13 seconds ago) 6 - Han Jiang
* 09ae578 - 2026-10-28 22:03 (18 seconds ago) 4 - Han Jiang
* 06db8b8 - 2026-10-28 22:02 (21 seconds ago) 2 - Han Jiang (refs/remotes/server2/master)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ awk 'BEGIN { ORS = "\0"; } { print $1; }' <'./client/repo/.git/FETCH_HEAD' | xargs --null git -C './client/repo' lg --all
* 6bb4f32 - 2026-10-28 22:03 (4 seconds ago) 9 - Han Jiang
* 53905b8 - 2026-10-28 22:03 (9 seconds ago) 7 - Han Jiang
* 3a58098 - 2026-10-28 22:03 (15 seconds ago) 5 - Han Jiang
* 9bd48d5 - 2026-10-28 22:03 (19 seconds ago) 3 - Han Jiang
\
* 498020c - 2026-10-28 22:02 (23 seconds ago) 1 - Han Jiang
* 11d4200 - 2026-10-28 22:03 (9 seconds ago) 8 - Han Jiang (refs/remotes/server2/branch2, refs/remotes/server2/HEAD)
* 4af2417 - 2026-10-28 22:03 (14 seconds ago) 6 - Han Jiang
* 09ae578 - 2026-10-28 22:03 (19 seconds ago) 4 - Han Jiang
* 06db8b8 - 2026-10-28 22:02 (22 seconds ago) 2 - Han Jiang (refs/remotes/server2/master)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server1/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
[branch1 80ee02d] 11
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server2/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
[branch2 8526b5b] 12
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch 'file://'"$(realpath './server1/repo.git')" "$branch_default_name" branch1
remote: Enumerating objects: 7, done.
remote: Counting objects: 100% (7/7), done.
remote: Compressing objects: 100% (6/6), done.
remote: Total 7 (delta 5), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (7/7), 525 bytes | 65.00 KiB/s, done.
From file:///test_git/server1/repo
* branch master -> FETCH_HEAD
* branch branch1 -> FETCH_HEAD
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo/.git/FETCH_HEAD'
./client/repo/.git/FETCH_HEAD -/0o100/regular file rw-r--r--/0o644
1 498020c196805a01701cf98bf210fecdb88d1b42\t\tbranch 'master' of file:///test_git/server1/repo\n
2 80ee02d66e770742ca6491a96cf4a0ff36cc4f56\t\tbranch 'branch1' of file:///test_git/server1/repo\n
3
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all
* 11d4200 - 2026-10-28 22:03 (12 seconds ago) 8 - Han Jiang (refs/remotes/server2/branch2, refs/remotes/server2/HEAD)
* 4af2417 - 2026-10-28 22:03 (17 seconds ago) 6 - Han Jiang
* 09ae578 - 2026-10-28 22:03 (22 seconds ago) 4 - Han Jiang
* 06db8b8 - 2026-10-28 22:02 (25 seconds ago) 2 - Han Jiang (refs/remotes/server2/master)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all FETCH_HEAD
* 11d4200 - 2026-10-28 22:03 (13 seconds ago) 8 - Han Jiang (refs/remotes/server2/branch2, refs/remotes/server2/HEAD)
* 4af2417 - 2026-10-28 22:03 (18 seconds ago) 6 - Han Jiang
* 09ae578 - 2026-10-28 22:03 (23 seconds ago) 4 - Han Jiang
\
* 06db8b8 - 2026-10-28 22:02 (26 seconds ago) 2 - Han Jiang (refs/remotes/server2/master)
* 498020c - 2026-10-28 22:02 (27 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ awk 'BEGIN { ORS = "\0"; } { print $1; }' <'./client/repo/.git/FETCH_HEAD' | xargs --null git -C './client/repo' lg --all
* 80ee02d - 2026-10-28 22:03 (4 seconds ago) 11 - Han Jiang
* 6bb4f32 - 2026-10-28 22:03 (9 seconds ago) 9 - Han Jiang
* 53905b8 - 2026-10-28 22:03 (14 seconds ago) 7 - Han Jiang
* 3a58098 - 2026-10-28 22:03 (20 seconds ago) 5 - Han Jiang
* 9bd48d5 - 2026-10-28 22:03 (24 seconds ago) 3 - Han Jiang
\
* 498020c - 2026-10-28 22:02 (28 seconds ago) 1 - Han Jiang
* 11d4200 - 2026-10-28 22:03 (14 seconds ago) 8 - Han Jiang (refs/remotes/server2/branch2, refs/remotes/server2/HEAD)
* 4af2417 - 2026-10-28 22:03 (19 seconds ago) 6 - Han Jiang
* 09ae578 - 2026-10-28 22:03 (24 seconds ago) 4 - Han Jiang
* 06db8b8 - 2026-10-28 22:02 (27 seconds ago) 2 - Han Jiang (refs/remotes/server2/master)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server1/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
[branch1 b6cd643] 13
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server2/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
[branch2 efbf9ff] 14
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch 'file://'"$(realpath './server1/repo.git')" branch1 "$branch_default_name"
remote: Enumerating objects: 8, done.
remote: Counting objects: 100% (8/8), done.
remote: Compressing objects: 100% (7/7), done.
remote: Total 8 (delta 6), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (8/8), 603 bytes | 75.00 KiB/s, done.
From file:///test_git/server1/repo
* branch branch1 -> FETCH_HEAD
* branch master -> FETCH_HEAD
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo/.git/FETCH_HEAD'
./client/repo/.git/FETCH_HEAD -/0o100/regular file rw-r--r--/0o644
1 b6cd6430271742332a03b6b0b83195a49993fcb8\t\tbranch 'branch1' of file:///test_git/server1/repo\n
2 498020c196805a01701cf98bf210fecdb88d1b42\t\tbranch 'master' of file:///test_git/server1/repo\n
3
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all
* 11d4200 - 2026-10-28 22:03 (17 seconds ago) 8 - Han Jiang (refs/remotes/server2/branch2, refs/remotes/server2/HEAD)
* 4af2417 - 2026-10-28 22:03 (22 seconds ago) 6 - Han Jiang
* 09ae578 - 2026-10-28 22:03 (27 seconds ago) 4 - Han Jiang
* 06db8b8 - 2026-10-28 22:02 (30 seconds ago) 2 - Han Jiang (refs/remotes/server2/master)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all FETCH_HEAD
* b6cd643 - 2026-10-28 22:03 (4 seconds ago) 13 - Han Jiang
* 80ee02d - 2026-10-28 22:03 (8 seconds ago) 11 - Han Jiang
* 6bb4f32 - 2026-10-28 22:03 (13 seconds ago) 9 - Han Jiang
* 53905b8 - 2026-10-28 22:03 (18 seconds ago) 7 - Han Jiang
* 3a58098 - 2026-10-28 22:03 (24 seconds ago) 5 - Han Jiang
* 9bd48d5 - 2026-10-28 22:03 (28 seconds ago) 3 - Han Jiang
\
* 498020c - 2026-10-28 22:02 (32 seconds ago) 1 - Han Jiang
* 11d4200 - 2026-10-28 22:03 (18 seconds ago) 8 - Han Jiang (refs/remotes/server2/branch2, refs/remotes/server2/HEAD)
* 4af2417 - 2026-10-28 22:03 (23 seconds ago) 6 - Han Jiang
* 09ae578 - 2026-10-28 22:03 (28 seconds ago) 4 - Han Jiang
* 06db8b8 - 2026-10-28 22:02 (31 seconds ago) 2 - Han Jiang (refs/remotes/server2/master)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ awk 'BEGIN { ORS = "\0"; } { print $1; }' <'./client/repo/.git/FETCH_HEAD' | xargs --null git -C './client/repo' lg --all
* b6cd643 - 2026-10-28 22:03 (4 seconds ago) 13 - Han Jiang
* 80ee02d - 2026-10-28 22:03 (8 seconds ago) 11 - Han Jiang
* 6bb4f32 - 2026-10-28 22:03 (13 seconds ago) 9 - Han Jiang
* 53905b8 - 2026-10-28 22:03 (18 seconds ago) 7 - Han Jiang
* 3a58098 - 2026-10-28 22:03 (24 seconds ago) 5 - Han Jiang
* 9bd48d5 - 2026-10-28 22:03 (28 seconds ago) 3 - Han Jiang
\
* 498020c - 2026-10-28 22:02 (32 seconds ago) 1 - Han Jiang
* 11d4200 - 2026-10-28 22:03 (18 seconds ago) 8 - Han Jiang (refs/remotes/server2/branch2, refs/remotes/server2/HEAD)
* 4af2417 - 2026-10-28 22:03 (23 seconds ago) 6 - Han Jiang
* 09ae578 - 2026-10-28 22:03 (28 seconds ago) 4 - Han Jiang
* 06db8b8 - 2026-10-28 22:02 (31 seconds ago) 2 - Han Jiang (refs/remotes/server2/master)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' checkout --orphan branch1; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
Switched to a new branch 'branch1'
[branch1 (root-commit) 37523b3] 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' checkout --orphan branch2; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
Switched to a new branch 'branch2'
[branch2 (root-commit) b1ebfbf] 2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' checkout --orphan branch3; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
Switched to a new branch 'branch3'
[branch3 (root-commit) 7c629bb] 3
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' checkout --orphan branch4; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
Switched to a new branch 'branch4'
[branch4 (root-commit) b3d104e] 4
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' checkout --orphan branch5; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
Switched to a new branch 'branch5'
[branch5 (root-commit) 8186b43] 5
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' checkout --orphan branch6; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
Switched to a new branch 'branch6'
[branch6 (root-commit) f000e57] 6
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' checkout --orphan branch7; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
Switched to a new branch 'branch7'
[branch7 (root-commit) a9894ec] 7
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' checkout --orphan branch8; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
Switched to a new branch 'branch8'
[branch8 (root-commit) aa94397] 8
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose
server file:///test_git/server/repo.git (fetch)
server file:///test_git/server/repo.git (push)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server/repo.git
local file:.git/config remote.server.fetch=+refs/heads/*:refs/remotes/server/*
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config unset --local 'remote.server.fetch'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server/repo.git
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch server
remote: Enumerating objects: 2, done.
remote: Counting objects: 100% (2/2), done.
remote: Total 2 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (2/2), 139 bytes | 27.00 KiB/s, done.
From file:///test_git/server/repo
* branch HEAD -> FETCH_HEAD
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo/.git/FETCH_HEAD'
./client/repo/.git/FETCH_HEAD -/0o100/regular file rw-r--r--/0o644
1 aa943974d61f8d3a8266648efb14d35c372e5187\t\tfile:///test_git/server/repo\n
2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all FETCH_HEAD
* aa94397 - 2026-10-28 22:03 (6 seconds ago) 8 - Han Jiang
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' -c 'remote.server.fetch=+refs/heads/*' fetch server
fatal: invalid refspec '+refs/heads/*'
jhcarl0814@jhcarl0814 UCRT64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' -c 'remote.server.fetch=+refs/heads/*:' fetch server
fatal: invalid refspec '+refs/heads/*:'
jhcarl0814@jhcarl0814 UCRT64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' -c 'remote.server.fetch=+refs/heads/*:refs/remotes/server/*' fetch server
remote: Enumerating objects: 9, done.
remote: Counting objects: 100% (9/9), done.
remote: Compressing objects: 100% (8/8), done.
remote: Total 9 (delta 7), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (9/9), 347 bytes | 16.00 KiB/s, done.
From file:///test_git/server/repo
* [new branch] branch1 -> server/branch1
* [new branch] branch2 -> server/branch2
* [new branch] branch3 -> server/branch3
* [new branch] branch4 -> server/branch4
* [new branch] branch5 -> server/branch5
* [new branch] branch6 -> server/branch6
* [new branch] branch7 -> server/branch7
* [new branch] branch8 -> server/branch8
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo/.git/FETCH_HEAD'
./client/repo/.git/FETCH_HEAD -/0o100/regular file rw-r--r--/0o644
1 37523b332d1328899ef0288d7468cb5e59321f94\tnot-for-merge\tbranch 'branch1' of file:///test_git/server/repo\n
2 b1ebfbfb7851d7e30880db708aaca8f39ba807bf\tnot-for-merge\tbranch 'branch2' of file:///test_git/server/repo\n
3 7c629bbc17b9d19a00bf8fd1db7a4e8070ab2f50\tnot-for-merge\tbranch 'branch3' of file:///test_git/server/repo\n
4 b3d104ec6c8831b93c5d140e1285cd582a416270\tnot-for-merge\tbranch 'branch4' of file:///test_git/server/repo\n
5 8186b433e41bb1f4d1f5250f02a1a75cf83c5ce3\tnot-for-merge\tbranch 'branch5' of file:///test_git/server/repo\n
6 f000e57bd44b3e25dad43d415ca41d7b5219836e\tnot-for-merge\tbranch 'branch6' of file:///test_git/server/repo\n
7 a9894ecea2770c8a35520f43579a6903b4f53e2f\tnot-for-merge\tbranch 'branch7' of file:///test_git/server/repo\n
8 aa943974d61f8d3a8266648efb14d35c372e5187\tnot-for-merge\tbranch 'branch8' of file:///test_git/server/repo\n
9
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all
* aa94397 - 2026-10-28 22:03 (10 seconds ago) 8 - Han Jiang (refs/remotes/server/branch8, refs/remotes/server/HEAD)
* f000e57 - 2026-10-28 22:03 (11 seconds ago) 6 - Han Jiang (refs/remotes/server/branch6)
* a9894ec - 2026-10-28 22:03 (11 seconds ago) 7 - Han Jiang (refs/remotes/server/branch7)
* 8186b43 - 2026-10-28 22:03 (12 seconds ago) 5 - Han Jiang (refs/remotes/server/branch5)
* 7c629bb - 2026-10-28 22:03 (13 seconds ago) 3 - Han Jiang (refs/remotes/server/branch3)
* b3d104e - 2026-10-28 22:03 (13 seconds ago) 4 - Han Jiang (refs/remotes/server/branch4)
* b1ebfbf - 2026-10-28 22:03 (14 seconds ago) 2 - Han Jiang (refs/remotes/server/branch2)
* 37523b3 - 2026-10-28 22:03 (15 seconds ago) 1 - Han Jiang (refs/remotes/server/branch1)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' checkout branch1; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty; git --git-dir='./server/repo.git' --work-tree='.' checkout branch2; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty; git --git-dir='./server/repo.git' --work-tree='.' checkout branch3; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty; git --git-dir='./server/repo.git' --work-tree='.' checkout branch4; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty; git --git-dir='./server/repo.git' --work-tree='.' checkout branch5; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty; git --git-dir='./server/repo.git' --work-tree='.' checkout branch6; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty; git --git-dir='./server/repo.git' --work-tree='.' checkout branch7; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty; git --git-dir='./server/repo.git' --work-tree='.' checkout branch8; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
Switched to branch 'branch1'
[branch1 56bf5b8] 9
Switched to branch 'branch2'
[branch2 33230ef] 10
Switched to branch 'branch3'
[branch3 483c9ca] 11
Switched to branch 'branch4'
[branch4 1b0fd54] 12
Switched to branch 'branch5'
[branch5 7d468f9] 13
Switched to branch 'branch6'
[branch6 f70ff21] 14
Switched to branch 'branch7'
[branch7 c45fd01] 15
Switched to branch 'branch8'
[branch8 c482d43] 16
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' -c 'remote.server.fetch=+branch1' -c 'remote.server.fetch=+branch2:' -c 'remote.server.fetch=+heads/branch3:' -c 'remote.server.fetch=+heads/branch4' -c 'remote.server.fetch=+refs/heads/branch5' -c 'remote.server.fetch=+refs/heads/branch6:' fetch server
remote: Enumerating objects: 6, done.
remote: Counting objects: 100% (6/6), done.
remote: Compressing objects: 100% (6/6), done.
remote: Total 6 (delta 5), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (6/6), 524 bytes | 26.00 KiB/s, done.
From file:///test_git/server/repo
* branch branch1 -> FETCH_HEAD
* branch branch2 -> FETCH_HEAD
* branch branch3 -> FETCH_HEAD
* branch branch4 -> FETCH_HEAD
* branch branch5 -> FETCH_HEAD
* branch branch6 -> FETCH_HEAD
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo/.git/FETCH_HEAD'
./client/repo/.git/FETCH_HEAD -/0o100/regular file rw-r--r--/0o644
1 56bf5b83882f610f9854b8f4c0676a0e299fb3e6\t\tbranch 'branch1' of file:///test_git/server/repo\n
2 33230ef043b4264d425f6fcb3ec8eae1fa6dc1f4\tnot-for-merge\tbranch 'branch2' of file:///test_git/server/repo\n
3 483c9caba07cdb9745c3ab769e7cb0c449103e46\tnot-for-merge\tbranch 'branch3' of file:///test_git/server/repo\n
4 1b0fd5461618d776dd7327fca2b5963be30bca3c\tnot-for-merge\tbranch 'branch4' of file:///test_git/server/repo\n
5 7d468f9b03644a0318f59b3b6014a15ecdf7d24f\tnot-for-merge\tbranch 'branch5' of file:///test_git/server/repo\n
6 f70ff21095235ce4d5bfd9e65db7334b2a612046\tnot-for-merge\tbranch 'branch6' of file:///test_git/server/repo\n
7
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all
* aa94397 - 2026-10-28 22:03 (15 seconds ago) 8 - Han Jiang (refs/remotes/server/branch8, refs/remotes/server/HEAD)
* f000e57 - 2026-10-28 22:03 (16 seconds ago) 6 - Han Jiang (refs/remotes/server/branch6)
* a9894ec - 2026-10-28 22:03 (16 seconds ago) 7 - Han Jiang (refs/remotes/server/branch7)
* 8186b43 - 2026-10-28 22:03 (17 seconds ago) 5 - Han Jiang (refs/remotes/server/branch5)
* 7c629bb - 2026-10-28 22:03 (18 seconds ago) 3 - Han Jiang (refs/remotes/server/branch3)
* b3d104e - 2026-10-28 22:03 (18 seconds ago) 4 - Han Jiang (refs/remotes/server/branch4)
* b1ebfbf - 2026-10-28 22:03 (19 seconds ago) 2 - Han Jiang (refs/remotes/server/branch2)
* 37523b3 - 2026-10-28 22:03 (20 seconds ago) 1 - Han Jiang (refs/remotes/server/branch1)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all FETCH_HEAD
* 56bf5b8 - 2026-10-28 22:03 (5 seconds ago) 9 - Han Jiang
* 37523b3 - 2026-10-28 22:03 (21 seconds ago) 1 - Han Jiang (refs/remotes/server/branch1)
* aa94397 - 2026-10-28 22:03 (16 seconds ago) 8 - Han Jiang (refs/remotes/server/branch8, refs/remotes/server/HEAD)
* f000e57 - 2026-10-28 22:03 (17 seconds ago) 6 - Han Jiang (refs/remotes/server/branch6)
* a9894ec - 2026-10-28 22:03 (17 seconds ago) 7 - Han Jiang (refs/remotes/server/branch7)
* 8186b43 - 2026-10-28 22:03 (18 seconds ago) 5 - Han Jiang (refs/remotes/server/branch5)
* 7c629bb - 2026-10-28 22:03 (19 seconds ago) 3 - Han Jiang (refs/remotes/server/branch3)
* b3d104e - 2026-10-28 22:03 (19 seconds ago) 4 - Han Jiang (refs/remotes/server/branch4)
* b1ebfbf - 2026-10-28 22:03 (20 seconds ago) 2 - Han Jiang (refs/remotes/server/branch2)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ awk 'BEGIN { ORS = "\0"; } { print $1; }' <'./client/repo/.git/FETCH_HEAD' | xargs --null git -C './client/repo' lg --all
* 1b0fd54 - 2026-10-28 22:03 (4 seconds ago) 12 - Han Jiang
\
* b3d104e - 2026-10-28 22:03 (19 seconds ago) 4 - Han Jiang (refs/remotes/server/branch4)
* 7d468f9 - 2026-10-28 22:03 (4 seconds ago) 13 - Han Jiang
\
* 8186b43 - 2026-10-28 22:03 (18 seconds ago) 5 - Han Jiang (refs/remotes/server/branch5)
* f70ff21 - 2026-10-28 22:03 (4 seconds ago) 14 - Han Jiang
\
* f000e57 - 2026-10-28 22:03 (17 seconds ago) 6 - Han Jiang (refs/remotes/server/branch6)
* 56bf5b8 - 2026-10-28 22:03 (5 seconds ago) 9 - Han Jiang
\
* 37523b3 - 2026-10-28 22:03 (21 seconds ago) 1 - Han Jiang (refs/remotes/server/branch1)
* 33230ef - 2026-10-28 22:03 (5 seconds ago) 10 - Han Jiang
\
* b1ebfbf - 2026-10-28 22:03 (20 seconds ago) 2 - Han Jiang (refs/remotes/server/branch2)
* 483c9ca - 2026-10-28 22:03 (5 seconds ago) 11 - Han Jiang
* 7c629bb - 2026-10-28 22:03 (19 seconds ago) 3 - Han Jiang (refs/remotes/server/branch3)
* aa94397 - 2026-10-28 22:03 (16 seconds ago) 8 - Han Jiang (refs/remotes/server/branch8, refs/remotes/server/HEAD)
* a9894ec - 2026-10-28 22:03 (17 seconds ago) 7 - Han Jiang (refs/remotes/server/branch7)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch server 'branch*'
fatal: invalid refspec 'branch*'
jhcarl0814@jhcarl0814 UCRT64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch server 'branch*:'
fatal: invalid refspec 'branch*:'
jhcarl0814@jhcarl0814 UCRT64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch server 'heads/branch*'
fatal: invalid refspec 'heads/branch*'
jhcarl0814@jhcarl0814 UCRT64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch server 'heads/branch*:'
fatal: invalid refspec 'heads/branch*:'
jhcarl0814@jhcarl0814 UCRT64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch server 'refs/heads/branch*'
fatal: invalid refspec 'refs/heads/branch*'
jhcarl0814@jhcarl0814 UCRT64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch server 'refs/heads/branch*:'
fatal: invalid refspec 'refs/heads/branch*:'
jhcarl0814@jhcarl0814 UCRT64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' checkout branch1; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty; git --git-dir='./server/repo.git' --work-tree='.' checkout branch2; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty; git --git-dir='./server/repo.git' --work-tree='.' checkout branch3; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty; git --git-dir='./server/repo.git' --work-tree='.' checkout branch4; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty; git --git-dir='./server/repo.git' --work-tree='.' checkout branch5; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty; git --git-dir='./server/repo.git' --work-tree='.' checkout branch6; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty; git --git-dir='./server/repo.git' --work-tree='.' checkout branch7; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty; git --git-dir='./server/repo.git' --work-tree='.' checkout branch8; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
Switched to branch 'branch1'
[branch1 9db93c4] 17
Switched to branch 'branch2'
[branch2 e902bfc] 18
Switched to branch 'branch3'
[branch3 655a4da] 19
Switched to branch 'branch4'
[branch4 b3de078] 20
Switched to branch 'branch5'
[branch5 c8a5116] 21
Switched to branch 'branch6'
[branch6 40fe9b6] 22
Switched to branch 'branch7'
[branch7 aaf34e3] 23
Switched to branch 'branch8'
[branch8 0874abf] 24
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' -c 'remote.server.fetch=+refs/heads/branch1:refs/remotes/server/branch1' fetch server 'branch2' 'branch3:' 'heads/branch4:' 'heads/branch5' 'refs/heads/branch6' 'refs/heads/branch7:'
remote: Enumerating objects: 12, done.
remote: Counting objects: 100% (12/12), done.
remote: Compressing objects: 100% (12/12), done.
remote: Total 12 (delta 11), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (12/12), 941 bytes | 33.00 KiB/s, done.
From file:///test_git/server/repo
* branch branch2 -> FETCH_HEAD
* branch branch3 -> FETCH_HEAD
* branch branch4 -> FETCH_HEAD
* branch branch5 -> FETCH_HEAD
* branch branch6 -> FETCH_HEAD
* branch branch7 -> FETCH_HEAD
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo/.git/FETCH_HEAD'
./client/repo/.git/FETCH_HEAD -/0o100/regular file rw-r--r--/0o644
1 e902bfc6f43ca9a328dccf9ecaa5f660054e42f0\t\tbranch 'branch2' of file:///test_git/server/repo\n
2 655a4da8f4e4d620e29d2b20eb609cac532eaef8\t\tbranch 'branch3' of file:///test_git/server/repo\n
3 b3de07884ee6c4c2b75dcd12541408ac85eb5745\t\tbranch 'branch4' of file:///test_git/server/repo\n
4 c8a51168a24ae6ae47aef0417bdab3b1569e9ea0\t\tbranch 'branch5' of file:///test_git/server/repo\n
5 40fe9b6de6388c94d23fd44cba64c36265ad2fac\t\tbranch 'branch6' of file:///test_git/server/repo\n
6 aaf34e3b24505d4e01cc927f7cec461dbadedeef\t\tbranch 'branch7' of file:///test_git/server/repo\n
7
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all
* aa94397 - 2026-10-28 22:03 (25 seconds ago) 8 - Han Jiang (refs/remotes/server/branch8, refs/remotes/server/HEAD)
* f000e57 - 2026-10-28 22:03 (26 seconds ago) 6 - Han Jiang (refs/remotes/server/branch6)
* a9894ec - 2026-10-28 22:03 (26 seconds ago) 7 - Han Jiang (refs/remotes/server/branch7)
* 8186b43 - 2026-10-28 22:03 (27 seconds ago) 5 - Han Jiang (refs/remotes/server/branch5)
* 7c629bb - 2026-10-28 22:03 (28 seconds ago) 3 - Han Jiang (refs/remotes/server/branch3)
* b3d104e - 2026-10-28 22:03 (28 seconds ago) 4 - Han Jiang (refs/remotes/server/branch4)
* b1ebfbf - 2026-10-28 22:03 (29 seconds ago) 2 - Han Jiang (refs/remotes/server/branch2)
* 37523b3 - 2026-10-28 22:03 (30 seconds ago) 1 - Han Jiang (refs/remotes/server/branch1)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all FETCH_HEAD
* e902bfc - 2026-10-28 22:04 (5 seconds ago) 18 - Han Jiang
* 33230ef - 2026-10-28 22:03 (15 seconds ago) 10 - Han Jiang
* b1ebfbf - 2026-10-28 22:03 (30 seconds ago) 2 - Han Jiang (refs/remotes/server/branch2)
* aa94397 - 2026-10-28 22:03 (26 seconds ago) 8 - Han Jiang (refs/remotes/server/branch8, refs/remotes/server/HEAD)
* f000e57 - 2026-10-28 22:03 (27 seconds ago) 6 - Han Jiang (refs/remotes/server/branch6)
* a9894ec - 2026-10-28 22:03 (27 seconds ago) 7 - Han Jiang (refs/remotes/server/branch7)
* 8186b43 - 2026-10-28 22:03 (28 seconds ago) 5 - Han Jiang (refs/remotes/server/branch5)
* 7c629bb - 2026-10-28 22:03 (29 seconds ago) 3 - Han Jiang (refs/remotes/server/branch3)
* b3d104e - 2026-10-28 22:03 (29 seconds ago) 4 - Han Jiang (refs/remotes/server/branch4)
* 37523b3 - 2026-10-28 22:03 (31 seconds ago) 1 - Han Jiang (refs/remotes/server/branch1)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ awk 'BEGIN { ORS = "\0"; } { print $1; }' <'./client/repo/.git/FETCH_HEAD' | xargs --null git -C './client/repo' lg --all
* aaf34e3 - 2026-10-28 22:04 (3 seconds ago) 23 - Han Jiang
* c45fd01 - 2026-10-28 22:03 (13 seconds ago) 15 - Han Jiang
\
* a9894ec - 2026-10-28 22:03 (27 seconds ago) 7 - Han Jiang (refs/remotes/server/branch7)
* b3de078 - 2026-10-28 22:04 (4 seconds ago) 20 - Han Jiang
* 1b0fd54 - 2026-10-28 22:03 (14 seconds ago) 12 - Han Jiang
\
* b3d104e - 2026-10-28 22:03 (29 seconds ago) 4 - Han Jiang (refs/remotes/server/branch4)
* c8a5116 - 2026-10-28 22:04 (4 seconds ago) 21 - Han Jiang
* 7d468f9 - 2026-10-28 22:03 (14 seconds ago) 13 - Han Jiang
\
* 8186b43 - 2026-10-28 22:03 (28 seconds ago) 5 - Han Jiang (refs/remotes/server/branch5)
* 40fe9b6 - 2026-10-28 22:04 (4 seconds ago) 22 - Han Jiang
* f70ff21 - 2026-10-28 22:03 (14 seconds ago) 14 - Han Jiang
\
* f000e57 - 2026-10-28 22:03 (27 seconds ago) 6 - Han Jiang (refs/remotes/server/branch6)
* e902bfc - 2026-10-28 22:04 (5 seconds ago) 18 - Han Jiang
* 33230ef - 2026-10-28 22:03 (15 seconds ago) 10 - Han Jiang
\
* b1ebfbf - 2026-10-28 22:03 (30 seconds ago) 2 - Han Jiang (refs/remotes/server/branch2)
* 655a4da - 2026-10-28 22:04 (5 seconds ago) 19 - Han Jiang
* 483c9ca - 2026-10-28 22:03 (15 seconds ago) 11 - Han Jiang
* 7c629bb - 2026-10-28 22:03 (29 seconds ago) 3 - Han Jiang (refs/remotes/server/branch3)
* aa94397 - 2026-10-28 22:03 (26 seconds ago) 8 - Han Jiang (refs/remotes/server/branch8, refs/remotes/server/HEAD)
* 37523b3 - 2026-10-28 22:03 (31 seconds ago) 1 - Han Jiang (refs/remotes/server/branch1)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' checkout --orphan branch1; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
Switched to a new branch 'branch1'
[branch1 (root-commit) bf77847] 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' checkout --orphan branch2; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
Switched to a new branch 'branch2'
[branch2 (root-commit) 1a07c6b] 2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose
server file:///test_git/server/repo.git (fetch)
server file:///test_git/server/repo.git (push)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server/repo.git
local file:.git/config remote.server.fetch=+refs/heads/*:refs/remotes/server/*
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config set --local --all 'remote.server.fetch' '+refs/heads/*:refs/remotes/server/*1'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config set --local --append 'remote.server.fetch' '+refs/heads/*:refs/remotes/server/*2'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server/repo.git
local file:.git/config remote.server.fetch=+refs/heads/*:refs/remotes/server/*1
local file:.git/config remote.server.fetch=+refs/heads/*:refs/remotes/server/*2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch server
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 3 (delta 1), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (3/3), 173 bytes | 17.00 KiB/s, done.
From file:///test_git/server/repo
* [new branch] branch1 -> server/branch11
* [new branch] branch2 -> server/branch21
* [new branch] branch1 -> server/branch12
* [new branch] branch2 -> server/branch22
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo/.git/FETCH_HEAD'
./client/repo/.git/FETCH_HEAD -/0o100/regular file rw-r--r--/0o644
1 bf778470113dff0edb4215617417a5e180849a6e\tnot-for-merge\tbranch 'branch1' of file:///test_git/server/repo\n
2 1a07c6b785d65434620c8531ed43fcaf31079171\tnot-for-merge\tbranch 'branch2' of file:///test_git/server/repo\n
3 bf778470113dff0edb4215617417a5e180849a6e\tnot-for-merge\tbranch 'branch1' of file:///test_git/server/repo\n
4 1a07c6b785d65434620c8531ed43fcaf31079171\tnot-for-merge\tbranch 'branch2' of file:///test_git/server/repo\n
5
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all
* 1a07c6b - 2026-10-28 22:04 (6 seconds ago) 2 - Han Jiang (refs/remotes/server/branch22, refs/remotes/server/branch21)
* bf77847 - 2026-10-28 22:04 (7 seconds ago) 1 - Han Jiang (refs/remotes/server/branch12, refs/remotes/server/branch11)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' checkout branch1; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty; git --git-dir='./server/repo.git' --work-tree='.' checkout branch2; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
Switched to branch 'branch1'
[branch1 39430b9] 3
Switched to branch 'branch2'
[branch2 cef2969] 4
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch server branch1
remote: Enumerating objects: 1, done.
remote: Counting objects: 100% (1/1), done.
remote: Total 1 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (1/1), 160 bytes | 53.00 KiB/s, done.
From file:///test_git/server/repo
* branch branch1 -> FETCH_HEAD
bf77847..39430b9 branch1 -> server/branch11
bf77847..39430b9 branch1 -> server/branch12
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo/.git/FETCH_HEAD'
./client/repo/.git/FETCH_HEAD -/0o100/regular file rw-r--r--/0o644
1 39430b98fd84aafde94806f9ca7b6b89c026ea51\t\tbranch 'branch1' of file:///test_git/server/repo\n
2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all
* 39430b9 - 2026-10-28 22:04 (3 seconds ago) 3 - Han Jiang (refs/remotes/server/branch12, refs/remotes/server/branch11)
\
* bf77847 - 2026-10-28 22:04 (11 seconds ago) 1 - Han Jiang
* 1a07c6b - 2026-10-28 22:04 (10 seconds ago) 2 - Han Jiang (refs/remotes/server/branch22, refs/remotes/server/branch21)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' checkout branch1; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty; git --git-dir='./server/repo.git' --work-tree='.' checkout branch2; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
Switched to branch 'branch1'
[branch1 7b43424] 5
Switched to branch 'branch2'
[branch2 3e3453e] 6
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch server --refmap='+refs/heads/*:refs/remotes/server/*5' --refmap='+refs/heads/*:refs/remotes/server/*6' branch1
remote: Enumerating objects: 1, done.
remote: Counting objects: 100% (1/1), done.
remote: Total 1 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (1/1), 158 bytes | 39.00 KiB/s, done.
From file:///test_git/server/repo
* branch branch1 -> FETCH_HEAD
* [new branch] branch1 -> server/branch15
* [new branch] branch1 -> server/branch16
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo/.git/FETCH_HEAD'
./client/repo/.git/FETCH_HEAD -/0o100/regular file rw-r--r--/0o644
1 7b4342466327e993d883688370bef270f83742ec\t\tbranch 'branch1' of file:///test_git/server/repo\n
2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all
* 7b43424 - 2026-10-28 22:04 (2 seconds ago) 5 - Han Jiang (refs/remotes/server/branch16, refs/remotes/server/branch15)
* 39430b9 - 2026-10-28 22:04 (6 seconds ago) 3 - Han Jiang (refs/remotes/server/branch12, refs/remotes/server/branch11)
\
* bf77847 - 2026-10-28 22:04 (14 seconds ago) 1 - Han Jiang
* 1a07c6b - 2026-10-28 22:04 (13 seconds ago) 2 - Han Jiang (refs/remotes/server/branch22, refs/remotes/server/branch21)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' checkout branch1; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty; git --git-dir='./server/repo.git' --work-tree='.' checkout branch2; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
Switched to branch 'branch1'
[branch1 1855659] 7
Switched to branch 'branch2'
[branch2 9ed8842] 8
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch server '+refs/heads/branch*:refs/remotes/server/branch*3' '+refs/heads/branch*:refs/remotes/server/branch*4'
remote: Enumerating objects: 4, done.
remote: Counting objects: 100% (4/4), done.
remote: Compressing objects: 100% (4/4), done.
remote: Total 4 (delta 3), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (4/4), 393 bytes | 23.00 KiB/s, done.
From file:///test_git/server/repo
* [new branch] branch1 -> server/branch13
* [new branch] branch2 -> server/branch23
* [new branch] branch1 -> server/branch14
* [new branch] branch2 -> server/branch24
39430b9..1855659 branch1 -> server/branch11
1a07c6b..9ed8842 branch2 -> server/branch21
39430b9..1855659 branch1 -> server/branch12
1a07c6b..9ed8842 branch2 -> server/branch22
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo/.git/FETCH_HEAD'
./client/repo/.git/FETCH_HEAD -/0o100/regular file rw-r--r--/0o644
1 1855659ce8951c6c2ed02c9da7cae8278a2a5d9f\t\tbranch 'branch1' of file:///test_git/server/repo\n
2 9ed8842e0a4ad84cb84ebd66e883a06dbb6a5923\t\tbranch 'branch2' of file:///test_git/server/repo\n
3 1855659ce8951c6c2ed02c9da7cae8278a2a5d9f\t\tbranch 'branch1' of file:///test_git/server/repo\n
4 9ed8842e0a4ad84cb84ebd66e883a06dbb6a5923\t\tbranch 'branch2' of file:///test_git/server/repo\n
5
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all
* 9ed8842 - 2026-10-28 22:04 (2 seconds ago) 8 - Han Jiang (refs/remotes/server/branch24, refs/remotes/server/branch23, refs/remotes/server/branch22, refs/remotes/server/branch21)
* 3e3453e - 2026-10-28 22:04 (6 seconds ago) 6 - Han Jiang
* cef2969 - 2026-10-28 22:04 (10 seconds ago) 4 - Han Jiang
\
* 1a07c6b - 2026-10-28 22:04 (17 seconds ago) 2 - Han Jiang
* 1855659 - 2026-10-28 22:04 (3 seconds ago) 7 - Han Jiang (refs/remotes/server/branch14, refs/remotes/server/branch13, refs/remotes/server/branch12, refs/remotes/server/branch11)
* 7b43424 - 2026-10-28 22:04 (6 seconds ago) 5 - Han Jiang (refs/remotes/server/branch16, refs/remotes/server/branch15)
* 39430b9 - 2026-10-28 22:04 (10 seconds ago) 3 - Han Jiang
* bf77847 - 2026-10-28 22:04 (18 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' checkout branch1; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty; git --git-dir='./server/repo.git' --work-tree='.' checkout branch2; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
Switched to branch 'branch1'
[branch1 5f60061] 9
Switched to branch 'branch2'
[branch2 fd6ea3b] 10
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch server --refmap='+refs/heads/*:refs/remotes/server/*5' --refmap='+refs/heads/*:refs/remotes/server/*6' '+refs/heads/branch*:refs/remotes/server/branch*3' '+refs/heads/branch*:refs/remotes/server/branch*4'
remote: Enumerating objects: 2, done.
remote: Counting objects: 100% (2/2), done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 2 (delta 1), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (2/2), 222 bytes | 27.00 KiB/s, done.
From file:///test_git/server/repo
1855659..5f60061 branch1 -> server/branch13
9ed8842..fd6ea3b branch2 -> server/branch23
1855659..5f60061 branch1 -> server/branch14
9ed8842..fd6ea3b branch2 -> server/branch24
7b43424..5f60061 branch1 -> server/branch15
* [new branch] branch2 -> server/branch25
7b43424..5f60061 branch1 -> server/branch16
* [new branch] branch2 -> server/branch26
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo/.git/FETCH_HEAD'
./client/repo/.git/FETCH_HEAD -/0o100/regular file rw-r--r--/0o644
1 5f60061620f7807240b2c0c0eaecbb6d7c64f505\t\tbranch 'branch1' of file:///test_git/server/repo\n
2 fd6ea3b6e6eaee32747c23999160a51b6b90c20e\t\tbranch 'branch2' of file:///test_git/server/repo\n
3 5f60061620f7807240b2c0c0eaecbb6d7c64f505\t\tbranch 'branch1' of file:///test_git/server/repo\n
4 fd6ea3b6e6eaee32747c23999160a51b6b90c20e\t\tbranch 'branch2' of file:///test_git/server/repo\n
5
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all
* 5f60061 - 2026-10-28 22:04 (3 seconds ago) 9 - Han Jiang (refs/remotes/server/branch16, refs/remotes/server/branch15, refs/remotes/server/branch14, refs/remotes/server/branch13)
* 1855659 - 2026-10-28 22:04 (7 seconds ago) 7 - Han Jiang (refs/remotes/server/branch12, refs/remotes/server/branch11)
* 7b43424 - 2026-10-28 22:04 (10 seconds ago) 5 - Han Jiang
* 39430b9 - 2026-10-28 22:04 (14 seconds ago) 3 - Han Jiang
\
* bf77847 - 2026-10-28 22:04 (22 seconds ago) 1 - Han Jiang
* fd6ea3b - 2026-10-28 22:04 (3 seconds ago) 10 - Han Jiang (refs/remotes/server/branch26, refs/remotes/server/branch25, refs/remotes/server/branch24, refs/remotes/server/branch23)
* 9ed8842 - 2026-10-28 22:04 (6 seconds ago) 8 - Han Jiang (refs/remotes/server/branch22, refs/remotes/server/branch21)
* 3e3453e - 2026-10-28 22:04 (10 seconds ago) 6 - Han Jiang
* cef2969 - 2026-10-28 22:04 (14 seconds ago) 4 - Han Jiang
* 1a07c6b - 2026-10-28 22:04 (21 seconds ago) 2 - Han Jiang
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' checkout branch1; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty; git --git-dir='./server/repo.git' --work-tree='.' checkout branch2; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
Switched to branch 'branch1'
[branch1 84eaf4e] 11
Switched to branch 'branch2'
[branch2 6e4b6d7] 12
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch server '+refs/heads/branch*:refs/remotes/server/branch*3' '+refs/heads/branch*:refs/remotes/server/branch*4' branch1
remote: Enumerating objects: 2, done.
remote: Counting objects: 100% (2/2), done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 2 (delta 1), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (2/2), 224 bytes | 28.00 KiB/s, done.
From file:///test_git/server/repo
5f60061..84eaf4e branch1 -> server/branch13
fd6ea3b..6e4b6d7 branch2 -> server/branch23
5f60061..84eaf4e branch1 -> server/branch14
fd6ea3b..6e4b6d7 branch2 -> server/branch24
* branch branch1 -> FETCH_HEAD
1855659..84eaf4e branch1 -> server/branch11
9ed8842..6e4b6d7 branch2 -> server/branch21
1855659..84eaf4e branch1 -> server/branch12
9ed8842..6e4b6d7 branch2 -> server/branch22
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo/.git/FETCH_HEAD'
./client/repo/.git/FETCH_HEAD -/0o100/regular file rw-r--r--/0o644
1 84eaf4e7a25e451c41c55c4bcbd027d0b6cae35c\t\tbranch 'branch1' of file:///test_git/server/repo\n
2 6e4b6d7d25f38d2d4565f96445453707a31b4609\t\tbranch 'branch2' of file:///test_git/server/repo\n
3 84eaf4e7a25e451c41c55c4bcbd027d0b6cae35c\t\tbranch 'branch1' of file:///test_git/server/repo\n
4 6e4b6d7d25f38d2d4565f96445453707a31b4609\t\tbranch 'branch2' of file:///test_git/server/repo\n
5 84eaf4e7a25e451c41c55c4bcbd027d0b6cae35c\t\tbranch 'branch1' of file:///test_git/server/repo\n
6
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all
* 84eaf4e - 2026-10-28 22:04 (2 seconds ago) 11 - Han Jiang (refs/remotes/server/branch14, refs/remotes/server/branch13, refs/remotes/server/branch12, refs/remotes/server/branch11)
* 5f60061 - 2026-10-28 22:04 (6 seconds ago) 9 - Han Jiang (refs/remotes/server/branch16, refs/remotes/server/branch15)
* 1855659 - 2026-10-28 22:04 (10 seconds ago) 7 - Han Jiang
* 7b43424 - 2026-10-28 22:04 (13 seconds ago) 5 - Han Jiang
* 39430b9 - 2026-10-28 22:04 (17 seconds ago) 3 - Han Jiang
\
* bf77847 - 2026-10-28 22:04 (25 seconds ago) 1 - Han Jiang
* 6e4b6d7 - 2026-10-28 22:04 (2 seconds ago) 12 - Han Jiang (refs/remotes/server/branch24, refs/remotes/server/branch23, refs/remotes/server/branch22, refs/remotes/server/branch21)
* fd6ea3b - 2026-10-28 22:04 (6 seconds ago) 10 - Han Jiang (refs/remotes/server/branch26, refs/remotes/server/branch25)
* 9ed8842 - 2026-10-28 22:04 (9 seconds ago) 8 - Han Jiang
* 3e3453e - 2026-10-28 22:04 (13 seconds ago) 6 - Han Jiang
* cef2969 - 2026-10-28 22:04 (17 seconds ago) 4 - Han Jiang
* 1a07c6b - 2026-10-28 22:04 (24 seconds ago) 2 - Han Jiang
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' checkout branch1; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty; git --git-dir='./server/repo.git' --work-tree='.' checkout branch2; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
Switched to branch 'branch1'
[branch1 521a2d3] 13
Switched to branch 'branch2'
[branch2 bcf87ef] 14
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch server --refmap='+refs/heads/*:refs/remotes/server/*5' --refmap='+refs/heads/*:refs/remotes/server/*6' '+refs/heads/branch*:refs/remotes/server/branch*3' '+refs/heads/branch*:refs/remotes/server/branch*4' branch1
remote: Enumerating objects: 2, done.
remote: Counting objects: 100% (2/2), done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 2 (delta 1), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (2/2), 238 bytes | 39.00 KiB/s, done.
From file:///test_git/server/repo
84eaf4e..521a2d3 branch1 -> server/branch13
6e4b6d7..bcf87ef branch2 -> server/branch23
84eaf4e..521a2d3 branch1 -> server/branch14
6e4b6d7..bcf87ef branch2 -> server/branch24
* branch branch1 -> FETCH_HEAD
5f60061..521a2d3 branch1 -> server/branch15
fd6ea3b..bcf87ef branch2 -> server/branch25
5f60061..521a2d3 branch1 -> server/branch16
fd6ea3b..bcf87ef branch2 -> server/branch26
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo/.git/FETCH_HEAD'
./client/repo/.git/FETCH_HEAD -/0o100/regular file rw-r--r--/0o644
1 521a2d34a4902818c78138c956115607bd5f28fa\t\tbranch 'branch1' of file:///test_git/server/repo\n
2 bcf87ef0a0034d41d9451ecde9c3ae6c319d1aef\t\tbranch 'branch2' of file:///test_git/server/repo\n
3 521a2d34a4902818c78138c956115607bd5f28fa\t\tbranch 'branch1' of file:///test_git/server/repo\n
4 bcf87ef0a0034d41d9451ecde9c3ae6c319d1aef\t\tbranch 'branch2' of file:///test_git/server/repo\n
5 521a2d34a4902818c78138c956115607bd5f28fa\t\tbranch 'branch1' of file:///test_git/server/repo\n
6
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all
* bcf87ef - 2026-10-28 22:04 (2 seconds ago) 14 - Han Jiang (refs/remotes/server/branch26, refs/remotes/server/branch25, refs/remotes/server/branch24, refs/remotes/server/branch23)
* 6e4b6d7 - 2026-10-28 22:04 (6 seconds ago) 12 - Han Jiang (refs/remotes/server/branch22, refs/remotes/server/branch21)
* fd6ea3b - 2026-10-28 22:04 (10 seconds ago) 10 - Han Jiang
* 9ed8842 - 2026-10-28 22:04 (13 seconds ago) 8 - Han Jiang
* 3e3453e - 2026-10-28 22:04 (17 seconds ago) 6 - Han Jiang
* cef2969 - 2026-10-28 22:04 (21 seconds ago) 4 - Han Jiang
\
* 1a07c6b - 2026-10-28 22:04 (28 seconds ago) 2 - Han Jiang
* 521a2d3 - 2026-10-28 22:04 (3 seconds ago) 13 - Han Jiang (refs/remotes/server/branch16, refs/remotes/server/branch15, refs/remotes/server/branch14, refs/remotes/server/branch13)
* 84eaf4e - 2026-10-28 22:04 (6 seconds ago) 11 - Han Jiang (refs/remotes/server/branch12, refs/remotes/server/branch11)
* 5f60061 - 2026-10-28 22:04 (10 seconds ago) 9 - Han Jiang
* 1855659 - 2026-10-28 22:04 (14 seconds ago) 7 - Han Jiang
* 7b43424 - 2026-10-28 22:04 (17 seconds ago) 5 - Han Jiang
* 39430b9 - 2026-10-28 22:04 (21 seconds ago) 3 - Han Jiang
* bf77847 - 2026-10-28 22:04 (29 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' checkout branch1; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty; git --git-dir='./server/repo.git' --work-tree='.' checkout branch2; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
Switched to branch 'branch1'
[branch1 fe9fc98] 15
Switched to branch 'branch2'
[branch2 13e6608] 16
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch server '+refs/heads/branch1:refs/remotes/server/branch13' branch1
remote: Enumerating objects: 1, done.
remote: Counting objects: 100% (1/1), done.
remote: Total 1 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (1/1), 157 bytes | 52.00 KiB/s, done.
From file:///test_git/server/repo
521a2d3..fe9fc98 branch1 -> server/branch13
* branch branch1 -> FETCH_HEAD
84eaf4e..fe9fc98 branch1 -> server/branch11
84eaf4e..fe9fc98 branch1 -> server/branch12
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo/.git/FETCH_HEAD'
./client/repo/.git/FETCH_HEAD -/0o100/regular file rw-r--r--/0o644
1 fe9fc98773d33a89d6239f78ea05b2fe0718cbf1\t\tbranch 'branch1' of file:///test_git/server/repo\n
2 fe9fc98773d33a89d6239f78ea05b2fe0718cbf1\t\tbranch 'branch1' of file:///test_git/server/repo\n
3
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all
* fe9fc98 - 2026-10-28 22:04 (3 seconds ago) 15 - Han Jiang (refs/remotes/server/branch13, refs/remotes/server/branch12, refs/remotes/server/branch11)
* 521a2d3 - 2026-10-28 22:04 (7 seconds ago) 13 - Han Jiang (refs/remotes/server/branch16, refs/remotes/server/branch15, refs/remotes/server/branch14)
* 84eaf4e - 2026-10-28 22:04 (10 seconds ago) 11 - Han Jiang
* 5f60061 - 2026-10-28 22:04 (14 seconds ago) 9 - Han Jiang
* 1855659 - 2026-10-28 22:04 (18 seconds ago) 7 - Han Jiang
* 7b43424 - 2026-10-28 22:04 (21 seconds ago) 5 - Han Jiang
* 39430b9 - 2026-10-28 22:04 (25 seconds ago) 3 - Han Jiang
\
* bf77847 - 2026-10-28 22:04 (33 seconds ago) 1 - Han Jiang
* bcf87ef - 2026-10-28 22:04 (6 seconds ago) 14 - Han Jiang (refs/remotes/server/branch26, refs/remotes/server/branch25, refs/remotes/server/branch24, refs/remotes/server/branch23)
* 6e4b6d7 - 2026-10-28 22:04 (10 seconds ago) 12 - Han Jiang (refs/remotes/server/branch22, refs/remotes/server/branch21)
* fd6ea3b - 2026-10-28 22:04 (14 seconds ago) 10 - Han Jiang
* 9ed8842 - 2026-10-28 22:04 (17 seconds ago) 8 - Han Jiang
* 3e3453e - 2026-10-28 22:04 (21 seconds ago) 6 - Han Jiang
* cef2969 - 2026-10-28 22:04 (25 seconds ago) 4 - Han Jiang
* 1a07c6b - 2026-10-28 22:04 (32 seconds ago) 2 - Han Jiang
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' checkout branch1; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty; git --git-dir='./server/repo.git' --work-tree='.' checkout branch2; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
Switched to branch 'branch1'
[branch1 29d308e] 17
Switched to branch 'branch2'
[branch2 4b57296] 18
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch server --refmap='+refs/heads/*:refs/remotes/server/*5' --refmap='+refs/heads/*:refs/remotes/server/*6' '+refs/heads/branch1:refs/remotes/server/branch13' branch1
remote: Enumerating objects: 1, done.
remote: Counting objects: 100% (1/1), done.
remote: Total 1 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (1/1), 159 bytes | 39.00 KiB/s, done.
From file:///test_git/server/repo
fe9fc98..29d308e branch1 -> server/branch13
* branch branch1 -> FETCH_HEAD
521a2d3..29d308e branch1 -> server/branch15
521a2d3..29d308e branch1 -> server/branch16
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo/.git/FETCH_HEAD'
./client/repo/.git/FETCH_HEAD -/0o100/regular file rw-r--r--/0o644
1 29d308e180c9797798f77e98d0dbb3a72b040bbf\t\tbranch 'branch1' of file:///test_git/server/repo\n
2 29d308e180c9797798f77e98d0dbb3a72b040bbf\t\tbranch 'branch1' of file:///test_git/server/repo\n
3
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all
* 29d308e - 2026-10-28 22:04 (2 seconds ago) 17 - Han Jiang (refs/remotes/server/branch16, refs/remotes/server/branch15, refs/remotes/server/branch13)
* fe9fc98 - 2026-10-28 22:04 (6 seconds ago) 15 - Han Jiang (refs/remotes/server/branch12, refs/remotes/server/branch11)
* 521a2d3 - 2026-10-28 22:04 (10 seconds ago) 13 - Han Jiang (refs/remotes/server/branch14)
* 84eaf4e - 2026-10-28 22:04 (13 seconds ago) 11 - Han Jiang
* 5f60061 - 2026-10-28 22:04 (17 seconds ago) 9 - Han Jiang
* 1855659 - 2026-10-28 22:04 (21 seconds ago) 7 - Han Jiang
* 7b43424 - 2026-10-28 22:04 (24 seconds ago) 5 - Han Jiang
* 39430b9 - 2026-10-28 22:04 (28 seconds ago) 3 - Han Jiang
\
* bf77847 - 2026-10-28 22:04 (36 seconds ago) 1 - Han Jiang
* bcf87ef - 2026-10-28 22:04 (9 seconds ago) 14 - Han Jiang (refs/remotes/server/branch26, refs/remotes/server/branch25, refs/remotes/server/branch24, refs/remotes/server/branch23)
* 6e4b6d7 - 2026-10-28 22:04 (13 seconds ago) 12 - Han Jiang (refs/remotes/server/branch22, refs/remotes/server/branch21)
* fd6ea3b - 2026-10-28 22:04 (17 seconds ago) 10 - Han Jiang
* 9ed8842 - 2026-10-28 22:04 (20 seconds ago) 8 - Han Jiang
* 3e3453e - 2026-10-28 22:04 (24 seconds ago) 6 - Han Jiang
* cef2969 - 2026-10-28 22:04 (28 seconds ago) 4 - Han Jiang
* 1a07c6b - 2026-10-28 22:04 (35 seconds ago) 2 - Han Jiang
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ branch_default_name="$(git -C './server/repo.git' branch --show-current)"; echo "$branch_default_name"
master
jhcarl0814@jhcarl0814 UCRT64 $?=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) f7b7bb7] 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' checkout -b branch1 "$branch_default_name"; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
Switched to a new branch 'branch1'
[branch1 222ac7e] 2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' checkout -b branch2 "$branch_default_name"; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
Switched to a new branch 'branch2'
[branch2 ce4f583] 3
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --all
* ce4f583 - 2026-10-28 22:04 (0 seconds ago) 3 - Han Jiang (HEAD -> refs/heads/branch2)
| * 222ac7e - 2026-10-28 22:04 (1 second ago) 2 - Han Jiang (refs/heads/branch1)
|/
* f7b7bb7 - 2026-10-28 22:04 (2 seconds ago) 1 - Han Jiang (refs/heads/master)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ branch_default_name="$(git -C './client/repo' branch --show-current)"; echo "$branch_default_name"
master
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose show server
* remote server
Fetch URL: file:///test_git/server/repo.git
Push URL: file:///test_git/server/repo.git
HEAD branch: branch2
Remote branches:
branch1 new (next fetch will store in remotes/server)
branch2 new (next fetch will store in remotes/server)
master new (next fetch will store in remotes/server)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server/repo.git
local file:.git/config remote.server.fetch=+refs/heads/*:refs/remotes/server/*
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch server "$branch_default_name"
remote: Enumerating objects: 2, done.
remote: Counting objects: 100% (2/2), done.
remote: Total 2 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (2/2), 139 bytes | 17.00 KiB/s, done.
From file:///test_git/server/repo
* branch master -> FETCH_HEAD
* [new branch] master -> server/master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo/.git/FETCH_HEAD'
./client/repo/.git/FETCH_HEAD -/0o100/regular file rw-r--r--/0o644
1 f7b7bb7a80e0e90a78f891e1996f06ba90b1be31\t\tbranch 'master' of file:///test_git/server/repo\n
2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' reset 'server/'"$branch_default_name"
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' commit --message="$((++number))" --allow-empty
[master d39dd73] 4
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all
* d39dd73 - 2026-10-28 22:05 (1 second ago) 4 - Han Jiang (HEAD -> refs/heads/master)
* f7b7bb7 - 2026-10-28 22:04 (9 seconds ago) 1 - Han Jiang (refs/remotes/server/master)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' merge --message="$((++number))"
fatal: No remote for the current branch.
jhcarl0814@jhcarl0814 UCRT64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config set --local --append 'remote.server.fetch' '+refs/heads/branch2:refs/remotes/server/branch2'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose show server
* remote server
Fetch URL: file:///test_git/server/repo.git
Push URL: file:///test_git/server/repo.git
HEAD branch: branch2
Remote branches:
branch1 new (next fetch will store in remotes/server)
branch2 new (next fetch will store in remotes/server)
master tracked
Local ref configured for 'git push':
master pushes to master (fast-forwardable)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server/repo.git
local file:.git/config remote.server.fetch=+refs/heads/*:refs/remotes/server/*
local file:.git/config remote.server.fetch=+refs/heads/branch2:refs/remotes/server/branch2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' -c 'core.editor=:' pull
remote: Enumerating objects: 2, done.
remote: Counting objects: 100% (2/2), done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 2 (delta 1), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (2/2), 192 bytes | 21.00 KiB/s, done.
From file:///test_git/server/repo
* [new branch] branch1 -> server/branch1
* [new branch] branch2 -> server/branch2
There is no tracking information for the current branch.
Please specify which branch you want to merge with.
See git-pull(1) for details.
git pull <remote> <branch>
If you wish to set tracking information for this branch you can do so with:
git branch --set-upstream-to=server/<branch> master
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' -c 'core.editor=:' pull --ff
There is no tracking information for the current branch.
Please specify which branch you want to merge with.
See git-pull(1) for details.
git pull <remote> <branch>
If you wish to set tracking information for this branch you can do so with:
git branch --set-upstream-to=server/<branch> master
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo/.git/FETCH_HEAD'
./client/repo/.git/FETCH_HEAD -/0o100/regular file rw-r--r--/0o644
1 222ac7e7fa48a670632c5144632e4ade3ee2e974\tnot-for-merge\tbranch 'branch1' of file:///test_git/server/repo\n
2 ce4f583dd0316bd3b1ba3768d8e9270eb7fe4838\tnot-for-merge\tbranch 'branch2' of file:///test_git/server/repo\n
3 f7b7bb7a80e0e90a78f891e1996f06ba90b1be31\tnot-for-merge\tbranch 'master' of file:///test_git/server/repo\n
4
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all
* d39dd73 - 2026-10-28 22:05 (6 seconds ago) 4 - Han Jiang (HEAD -> refs/heads/master)
| * ce4f583 - 2026-10-28 22:04 (12 seconds ago) 3 - Han Jiang (refs/remotes/server/branch2, refs/remotes/server/HEAD)
|/
| * 222ac7e - 2026-10-28 22:04 (13 seconds ago) 2 - Han Jiang (refs/remotes/server/branch1)
|/
* f7b7bb7 - 2026-10-28 22:04 (14 seconds ago) 1 - Han Jiang (refs/remotes/server/master)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config set --local --all 'remote.server.fetch' '+refs/heads/branch1:refs/remotes/server/branch1'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config set --local --append 'remote.server.fetch' '+refs/heads/*:refs/remotes/server/*'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose show server
* remote server
Fetch URL: file:///test_git/server/repo.git
Push URL: file:///test_git/server/repo.git
HEAD branch: branch2
Remote branches:
branch1 tracked
branch2 tracked
master tracked
Local ref configured for 'git push':
master pushes to master (fast-forwardable)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server/repo.git
local file:.git/config remote.server.fetch=+refs/heads/branch1:refs/remotes/server/branch1
local file:.git/config remote.server.fetch=+refs/heads/*:refs/remotes/server/*
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' -c 'core.editor=:' pull
hint: Diverging branches can't be fast-forwarded, you need to either:
hint:
hint: git merge --no-ff
hint:
hint: or:
hint:
hint: git rebase
hint:
hint: Disable this message with "git config set advice.diverging false"
fatal: Not possible to fast-forward, aborting.
jhcarl0814@jhcarl0814 UCRT64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' -c 'core.editor=:' pull --ff
Merge made by the 'ort' strategy.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo/.git/FETCH_HEAD'
./client/repo/.git/FETCH_HEAD -/0o100/regular file rw-r--r--/0o644
1 222ac7e7fa48a670632c5144632e4ade3ee2e974\t\tbranch 'branch1' of file:///test_git/server/repo\n
2 ce4f583dd0316bd3b1ba3768d8e9270eb7fe4838\tnot-for-merge\tbranch 'branch2' of file:///test_git/server/repo\n
3 f7b7bb7a80e0e90a78f891e1996f06ba90b1be31\tnot-for-merge\tbranch 'master' of file:///test_git/server/repo\n
4
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all
* da937d0 - 2026-10-28 22:05 (2 seconds ago) Merge branch 'branch1' of file:///test_git/server/repo - Han Jiang (HEAD -> refs/heads/master)
|\
| * 222ac7e - 2026-10-28 22:04 (18 seconds ago) 2 - Han Jiang (refs/remotes/server/branch1)
* | d39dd73 - 2026-10-28 22:05 (11 seconds ago) 4 - Han Jiang
|/
| * ce4f583 - 2026-10-28 22:04 (17 seconds ago) 3 - Han Jiang (refs/remotes/server/branch2, refs/remotes/server/HEAD)
|/
* f7b7bb7 - 2026-10-28 22:04 (19 seconds ago) 1 - Han Jiang (refs/remotes/server/master)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' checkout branch1; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
Switched to branch 'branch1'
[branch1 e166014] 6
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' checkout branch2; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
Switched to branch 'branch2'
[branch2 54d511f] 7
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config set --local --all 'remote.server.fetch' '+refs/heads/branch1:refs/remotes/server/branch1'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config set --local --append 'remote.server.fetch' '+refs/heads/branch2:refs/remotes/server/branch2'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose show server
* remote server
Fetch URL: file:///test_git/server/repo.git
Push URL: file:///test_git/server/repo.git
HEAD branch: branch2
Remote branches:
branch1 tracked
branch2 tracked
Local ref configured for 'git push':
master pushes to master (fast-forwardable)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server/repo.git
local file:.git/config remote.server.fetch=+refs/heads/branch1:refs/remotes/server/branch1
local file:.git/config remote.server.fetch=+refs/heads/branch2:refs/remotes/server/branch2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' -c 'core.editor=:' pull --ff
remote: Enumerating objects: 2, done.
remote: Counting objects: 100% (2/2), done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 2 (delta 1), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (2/2), 236 bytes | 29.00 KiB/s, done.
From file:///test_git/server/repo
222ac7e..e166014 branch1 -> server/branch1
ce4f583..54d511f branch2 -> server/branch2
Merge made by the 'ort' strategy.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo/.git/FETCH_HEAD'
./client/repo/.git/FETCH_HEAD -/0o100/regular file rw-r--r--/0o644
1 e1660149f119a864d83f08794ae76bd48a6453a0\t\tbranch 'branch1' of file:///test_git/server/repo\n
2 54d511f7943baebd399fb8a70c98331c77715d9e\tnot-for-merge\tbranch 'branch2' of file:///test_git/server/repo\n
3
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all
* 6989ecb - 2026-10-28 22:05 (1 second ago) Merge branch 'branch1' of file:///test_git/server/repo
- Han Jiang (HEAD -> refs/heads/master)
|\
| * e166014 - 2026-10-28 22:05 (5 seconds ago) 6 - Han Jiang (refs/remotes/server/branch1)
* | da937d0 - 2026-10-28 22:05 (7 seconds ago) Merge branch 'branch1' of file:///test_git/server/repo - Han Jiang
|\|
| * 222ac7e - 2026-10-28 22:04 (23 seconds ago) 2 - Han Jiang
* | d39dd73 - 2026-10-28 22:05 (16 seconds ago) 4 - Han Jiang
|/
| * 54d511f - 2026-10-28 22:05 (4 seconds ago) 7 - Han Jiang (refs/remotes/server/branch2, refs/remotes/server/HEAD)
| * ce4f583 - 2026-10-28 22:04 (22 seconds ago) 3 - Han Jiang
|/
* f7b7bb7 - 2026-10-28 22:04 (24 seconds ago) 1 - Han Jiang (refs/remotes/server/master)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' checkout branch1; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
Switched to branch 'branch1'
[branch1 63f2885] 8
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' checkout branch2; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
Switched to branch 'branch2'
[branch2 c21411d] 9
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config set --local --all 'remote.server.fetch' '+refs/heads/branch1:refs/remotes/server/branch1'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config set --local 'branch.'"$branch_default_name"'.remote' 'server'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config set --local 'branch.'"$branch_default_name"'.merge' 'refs/heads/branch2'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose show server
* remote server
Fetch URL: file:///test_git/server/repo.git
Push URL: file:///test_git/server/repo.git
HEAD branch: branch2
Remote branch:
branch1 tracked
Local branch configured for 'git pull':
master merges with remote branch2
Local ref configured for 'git push':
master pushes to master (fast-forwardable)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server/repo.git
local file:.git/config remote.server.fetch=+refs/heads/branch1:refs/remotes/server/branch1
local file:.git/config branch.master.remote=server
local file:.git/config branch.master.merge=refs/heads/branch2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' -c 'core.editor=:' pull --ff
remote: Enumerating objects: 2, done.
remote: Counting objects: 100% (2/2), done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 2 (delta 1), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (2/2), 236 bytes | 33.00 KiB/s, done.
From file:///test_git/server/repo
* branch branch2 -> FETCH_HEAD
e166014..63f2885 branch1 -> server/branch1
Merge made by the 'ort' strategy.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo/.git/FETCH_HEAD'
./client/repo/.git/FETCH_HEAD -/0o100/regular file rw-r--r--/0o644
1 c21411d5eb42c1c6e18d0b4e40226e42cd3815a2\t\tbranch 'branch2' of file:///test_git/server/repo\n
2 63f2885e372968743a8cb35318b3438cb483dca7\tnot-for-merge\tbranch 'branch1' of file:///test_git/server/repo\n
3
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all
* adc618c - 2026-10-28 22:05 (2 seconds ago) Merge branch 'branch2' of file:///test_git/server/repo - Han Jiang (HEAD -> refs/heads/master)
|\
| * c21411d - 2026-10-28 22:05 (5 seconds ago) 9 - Han Jiang
| * 54d511f - 2026-10-28 22:05 (11 seconds ago) 7 - Han Jiang (refs/remotes/server/branch2, refs/remotes/server/HEAD)
| * ce4f583 - 2026-10-28 22:04 (29 seconds ago) 3 - Han Jiang
* | 6989ecb - 2026-10-28 22:05 (8 seconds ago) Merge branch 'branch1' of file:///test_git/server/repo - Han Jiang
|\ \
* \ \ da937d0 - 2026-10-28 22:05 (14 seconds ago) Merge branch 'branch1' of file:///test_git/server/repo - Han Jiang
|\ \ \
* | | | d39dd73 - 2026-10-28 22:05 (23 seconds ago) 4 - Han Jiang
| |_|/
|/| |
| | | * 63f2885 - 2026-10-28 22:05 (6 seconds ago) 8 - Han Jiang (refs/remotes/server/branch1)
| | |/
| | * e166014 - 2026-10-28 22:05 (12 seconds ago) 6 - Han Jiang
| |/
| * 222ac7e - 2026-10-28 22:04 (30 seconds ago) 2 - Han Jiang
|/
* f7b7bb7 - 2026-10-28 22:04 (31 seconds ago) 1 - Han Jiang (refs/remotes/server/master)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' checkout branch1; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
Switched to branch 'branch1'
[branch1 5e63456] 10
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' checkout branch2; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
Switched to branch 'branch2'
[branch2 46921cb] 11
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config set --local --append 'branch.'"$branch_default_name"'.merge' 'refs/heads/branch1'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose show server
* remote server
Fetch URL: file:///test_git/server/repo.git
Push URL: file:///test_git/server/repo.git
HEAD branch: branch2
Remote branch:
branch1 tracked
Local branch configured for 'git pull':
master merges with remote branch2
and with remote branch1
Local ref configured for 'git push':
master pushes to master (fast-forwardable)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server/repo.git
local file:.git/config remote.server.fetch=+refs/heads/branch1:refs/remotes/server/branch1
local file:.git/config branch.master.remote=server
local file:.git/config branch.master.merge=refs/heads/branch2
local file:.git/config branch.master.merge=refs/heads/branch1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' -c 'core.editor=:' pull --ff
remote: Enumerating objects: 2, done.
remote: Counting objects: 100% (2/2), done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 2 (delta 1), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (2/2), 236 bytes | 33.00 KiB/s, done.
From file:///test_git/server/repo
63f2885..5e63456 branch1 -> server/branch1
* branch branch2 -> FETCH_HEAD
Trying simple merge with 5e634563e72cf0c6be0fc45d9bb63635616acd1d
Trying simple merge with 46921cb2db2ea4934f0795e3e4e938dc1c4327d2
Merge made by the 'octopus' strategy.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo/.git/FETCH_HEAD'
./client/repo/.git/FETCH_HEAD -/0o100/regular file rw-r--r--/0o644
1 5e634563e72cf0c6be0fc45d9bb63635616acd1d\t\tbranch 'branch1' of file:///test_git/server/repo\n
2 46921cb2db2ea4934f0795e3e4e938dc1c4327d2\t\tbranch 'branch2' of file:///test_git/server/repo\n
3
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all
*-. 67bc563 - 2026-10-28 22:05 (4 seconds ago) Merge branches 'branch1' and 'branch2' of file:///test_git/server/repo - Han Jiang (HEAD -> refs/heads/master)
|\ \
| | * 46921cb - 2026-10-28 22:05 (6 seconds ago) 11 - Han Jiang
| * | 5e63456 - 2026-10-28 22:05 (7 seconds ago) 10 - Han Jiang (refs/remotes/server/branch1)
| * | 63f2885 - 2026-10-28 22:05 (13 seconds ago) 8 - Han Jiang
* | | adc618c - 2026-10-28 22:05 (9 seconds ago) Merge branch 'branch2' of file:///test_git/server/repo - Han Jiang
|\ \ \
| | |/
| |/|
| * | c21411d - 2026-10-28 22:05 (12 seconds ago) 9 - Han Jiang
| * | 54d511f - 2026-10-28 22:05 (18 seconds ago) 7 - Han Jiang (refs/remotes/server/branch2, refs/remotes/server/HEAD)
| * | ce4f583 - 2026-10-28 22:04 (36 seconds ago) 3 - Han Jiang
* | | 6989ecb - 2026-10-28 22:05 (15 seconds ago) Merge branch 'branch1' of file:///test_git/server/repo - Han Jiang
|\ \ \
| | |/
| |/|
| * | e166014 - 2026-10-28 22:05 (19 seconds ago) 6 - Han Jiang
* | | da937d0 - 2026-10-28 22:05 (21 seconds ago) Merge branch 'branch1' of file:///test_git/server/repo - Han Jiang
|\| |
| * | 222ac7e - 2026-10-28 22:04 (37 seconds ago) 2 - Han Jiang
| |/
* / d39dd73 - 2026-10-28 22:05 (30 seconds ago) 4 - Han Jiang
|/
* f7b7bb7 - 2026-10-28 22:04 (38 seconds ago) 1 - Han Jiang (refs/remotes/server/master)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' checkout branch1; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
Switched to branch 'branch1'
[branch1 3eac5f4] 12
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' checkout branch2; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
Switched to branch 'branch2'
[branch2 9893094] 13
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' checkout -b branch3 branch1; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
Switched to a new branch 'branch3'
[branch3 d992fed] 14
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' checkout -b branch4 branch1; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
Switched to a new branch 'branch4'
[branch4 3e1e663] 15
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config set --local --all 'branch.'"$branch_default_name"'.merge' 'refs/heads/branch2'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose show server
* remote server
Fetch URL: file:///test_git/server/repo.git
Push URL: file:///test_git/server/repo.git
HEAD branch: branch4
Remote branch:
branch1 tracked
Local branch configured for 'git pull':
master merges with remote branch2
Local ref configured for 'git push':
master pushes to master (fast-forwardable)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server/repo.git
local file:.git/config remote.server.fetch=+refs/heads/branch1:refs/remotes/server/branch1
local file:.git/config branch.master.remote=server
local file:.git/config branch.master.merge=refs/heads/branch2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' -c 'core.editor=:' pull --ff server branch3 branch4
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 3 (delta 2), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (3/3), 258 bytes | 25.00 KiB/s, done.
From file:///test_git/server/repo
* branch branch3 -> FETCH_HEAD
* branch branch4 -> FETCH_HEAD
Trying simple merge with d992fed4b21d64c5bd59e32f23483e751a91ea6a
Trying simple merge with 3e1e663655f58993e8e01b0ea7f3d5b2344ba204
Merge made by the 'octopus' strategy.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo/.git/FETCH_HEAD'
./client/repo/.git/FETCH_HEAD -/0o100/regular file rw-r--r--/0o644
1 d992fed4b21d64c5bd59e32f23483e751a91ea6a\t\tbranch 'branch3' of file:///test_git/server/repo\n
2 3e1e663655f58993e8e01b0ea7f3d5b2344ba204\t\tbranch 'branch4' of file:///test_git/server/repo\n
3
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all
*-. ab3cdea - 2026-10-28 22:05 (4 seconds ago) Merge branches 'branch3' and 'branch4' of file:///test_git/server/repo - Han Jiang (HEAD -> refs/heads/master)
|\ \
| | * 3e1e663 - 2026-10-28 22:05 (6 seconds ago) 15 - Han Jiang
| * | d992fed - 2026-10-28 22:05 (6 seconds ago) 14 - Han Jiang
| |/
| * 3eac5f4 - 2026-10-28 22:05 (8 seconds ago) 12 - Han Jiang
| |
| \
*-. \ 67bc563 - 2026-10-28 22:05 (13 seconds ago) Merge branches 'branch1' and 'branch2' of file:///test_git/server/repo - Han Jiang
|\ \ \
| | |/
| |/|
| | * 46921cb - 2026-10-28 22:05 (15 seconds ago) 11 - Han Jiang
| * | 5e63456 - 2026-10-28 22:05 (16 seconds ago) 10 - Han Jiang (refs/remotes/server/branch1)
| * | 63f2885 - 2026-10-28 22:05 (22 seconds ago) 8 - Han Jiang
* | | adc618c - 2026-10-28 22:05 (18 seconds ago) Merge branch 'branch2' of file:///test_git/server/repo - Han Jiang
|\ \ \
| | |/
| |/|
| * | c21411d - 2026-10-28 22:05 (21 seconds ago) 9 - Han Jiang
| * | 54d511f - 2026-10-28 22:05 (27 seconds ago) 7 - Han Jiang (refs/remotes/server/branch2, refs/remotes/server/HEAD)
| * | ce4f583 - 2026-10-28 22:04 (45 seconds ago) 3 - Han Jiang
* | | 6989ecb - 2026-10-28 22:05 (24 seconds ago) Merge branch 'branch1' of file:///test_git/server/repo - Han Jiang
|\ \ \
| | |/
| |/|
| * | e166014 - 2026-10-28 22:05 (28 seconds ago) 6 - Han Jiang
* | | da937d0 - 2026-10-28 22:05 (30 seconds ago) Merge branch 'branch1' of file:///test_git/server/repo - Han Jiang
|\| |
| * | 222ac7e - 2026-10-28 22:04 (46 seconds ago) 2 - Han Jiang
| |/
* / d39dd73 - 2026-10-28 22:05 (39 seconds ago) 4 - Han Jiang
|/
* f7b7bb7 - 2026-10-28 22:04 (47 seconds ago) 1 - Han Jiang (refs/remotes/server/master)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' checkout branch3; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
Switched to branch 'branch3'
[branch3 4241717] 16
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' checkout branch4; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
Switched to branch 'branch4'
[branch4 6bd7325] 17
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' -c 'core.editor=:' pull --ff server branch3 'refs/heads/branch4:refs/remotes/server/branch4'
remote: Enumerating objects: 2, done.
remote: Counting objects: 100% (2/2), done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 2 (delta 1), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (2/2), 240 bytes | 34.00 KiB/s, done.
From file:///test_git/server/repo
* branch branch3 -> FETCH_HEAD
* [new branch] branch4 -> server/branch4
Trying simple merge with 4241717287128913b1fb300ac62ec3c8f646e5cf
Trying simple merge with 6bd732551ee6574b77d27241cb910d0a381d602f
Merge made by the 'octopus' strategy.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo/.git/FETCH_HEAD'
./client/repo/.git/FETCH_HEAD -/0o100/regular file rw-r--r--/0o644
1 4241717287128913b1fb300ac62ec3c8f646e5cf\t\tbranch 'branch3' of file:///test_git/server/repo\n
2 6bd732551ee6574b77d27241cb910d0a381d602f\t\tbranch 'branch4' of file:///test_git/server/repo\n
3
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all
*-. b55b2cc - 2026-10-28 22:05 (3 seconds ago) Merge branches 'branch3' and 'branch4' of file:///test_git/server/repo - Han Jiang (HEAD -> refs/heads/master)
|\ \
| | * 6bd7325 - 2026-10-28 22:05 (4 seconds ago) 17 - Han Jiang (refs/remotes/server/branch4)
| * | 4241717 - 2026-10-28 22:05 (5 seconds ago) 16 - Han Jiang
| | |
| \ \
*-. \ \ ab3cdea - 2026-10-28 22:05 (10 seconds ago) Merge branches 'branch3' and 'branch4' of file:///test_git/server/repo - Han Jiang
|\ \ \ \
| | |/ /
| |/| /
| | |/
| | * 3e1e663 - 2026-10-28 22:05 (12 seconds ago) 15 - Han Jiang
| * | d992fed - 2026-10-28 22:05 (12 seconds ago) 14 - Han Jiang
| |/
| * 3eac5f4 - 2026-10-28 22:05 (14 seconds ago) 12 - Han Jiang
| |
| \
*-. \ 67bc563 - 2026-10-28 22:05 (19 seconds ago) Merge branches 'branch1' and 'branch2' of file:///test_git/server/repo - Han Jiang
|\ \ \
| | |/
| |/|
| | * 46921cb - 2026-10-28 22:05 (21 seconds ago) 11 - Han Jiang
| * | 5e63456 - 2026-10-28 22:05 (22 seconds ago) 10 - Han Jiang (refs/remotes/server/branch1)
| * | 63f2885 - 2026-10-28 22:05 (28 seconds ago) 8 - Han Jiang
* | | adc618c - 2026-10-28 22:05 (24 seconds ago) Merge branch 'branch2' of file:///test_git/server/repo - Han Jiang
|\ \ \
| | |/
| |/|
| * | c21411d - 2026-10-28 22:05 (27 seconds ago) 9 - Han Jiang
| * | 54d511f - 2026-10-28 22:05 (33 seconds ago) 7 - Han Jiang (refs/remotes/server/branch2, refs/remotes/server/HEAD)
| * | ce4f583 - 2026-10-28 22:04 (51 seconds ago) 3 - Han Jiang
* | | 6989ecb - 2026-10-28 22:05 (30 seconds ago) Merge branch 'branch1' of file:///test_git/server/repo - Han Jiang
|\ \ \
| | |/
| |/|
| * | e166014 - 2026-10-28 22:05 (34 seconds ago) 6 - Han Jiang
* | | da937d0 - 2026-10-28 22:05 (36 seconds ago) Merge branch 'branch1' of file:///test_git/server/repo - Han Jiang
|\| |
| * | 222ac7e - 2026-10-28 22:04 (52 seconds ago) 2 - Han Jiang
| |/
* / d39dd73 - 2026-10-28 22:05 (45 seconds ago) 4 - Han Jiang
|/
* f7b7bb7 - 2026-10-28 22:04 (53 seconds ago) 1 - Han Jiang (refs/remotes/server/master)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' checkout branch1; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
Switched to branch 'branch1'
[branch1 f3785da] 18
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' checkout branch2; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
Switched to branch 'branch2'
[branch2 4016234] 19
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' checkout branch3; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
Switched to branch 'branch3'
[branch3 e6550ab] 20
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' checkout branch4; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
Switched to branch 'branch4'
[branch4 cf9f580] 21
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config set --local --all 'remote.server.fetch' '+refs/heads/*:refs/remotes/server/*'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose show server
* remote server
Fetch URL: file:///test_git/server/repo.git
Push URL: file:///test_git/server/repo.git
HEAD branch: branch4
Remote branches:
branch1 tracked
branch2 tracked
branch3 new (next fetch will store in remotes/server)
branch4 tracked
master tracked
Local branch configured for 'git pull':
master merges with remote branch2
Local ref configured for 'git push':
master pushes to master (fast-forwardable)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server/repo.git
local file:.git/config remote.server.fetch=+refs/heads/*:refs/remotes/server/*
local file:.git/config branch.master.remote=server
local file:.git/config branch.master.merge=refs/heads/branch2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' -c 'core.editor=:' pull --ff server branch3 branch4
remote: Enumerating objects: 2, done.
remote: Counting objects: 100% (2/2), done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 2 (delta 1), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (2/2), 224 bytes | 22.00 KiB/s, done.
From file:///test_git/server/repo
* branch branch3 -> FETCH_HEAD
* branch branch4 -> FETCH_HEAD
* [new branch] branch3 -> server/branch3
6bd7325..cf9f580 branch4 -> server/branch4
Trying simple merge with e6550ab5fc549aa7891aecf6cb2f8d0ed7c12f3c
Trying simple merge with cf9f5801bdabebead417a7f1b226dc910541c966
Merge made by the 'octopus' strategy.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo/.git/FETCH_HEAD'
./client/repo/.git/FETCH_HEAD -/0o100/regular file rw-r--r--/0o644
1 e6550ab5fc549aa7891aecf6cb2f8d0ed7c12f3c\t\tbranch 'branch3' of file:///test_git/server/repo\n
2 cf9f5801bdabebead417a7f1b226dc910541c966\t\tbranch 'branch4' of file:///test_git/server/repo\n
3
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all
*-. 0c74913 - 2026-10-28 22:05 (3 seconds ago) Merge branches 'branch3' and 'branch4' of file:///test_git/server/repo - Han Jiang (HEAD -> refs/heads/master)
|\ \
| | * cf9f580 - 2026-10-28 22:05 (6 seconds ago) 21 - Han Jiang (refs/remotes/server/branch4)
| * | e6550ab - 2026-10-28 22:05 (6 seconds ago) 20 - Han Jiang (refs/remotes/server/branch3)
| | |
| \ \
*-. \ \ b55b2cc - 2026-10-28 22:05 (12 seconds ago) Merge branches 'branch3' and 'branch4' of file:///test_git/server/repo - Han Jiang
|\ \ \ \
| | |/ /
| |/| /
| | |/
| | * 6bd7325 - 2026-10-28 22:05 (13 seconds ago) 17 - Han Jiang
| * | 4241717 - 2026-10-28 22:05 (14 seconds ago) 16 - Han Jiang
| | |
| \ \
*-. \ \ ab3cdea - 2026-10-28 22:05 (19 seconds ago) Merge branches 'branch3' and 'branch4' of file:///test_git/server/repo - Han Jiang
|\ \ \ \
| | |/ /
| |/| /
| | |/
| | * 3e1e663 - 2026-10-28 22:05 (21 seconds ago) 15 - Han Jiang
| * | d992fed - 2026-10-28 22:05 (21 seconds ago) 14 - Han Jiang
| |/
| * 3eac5f4 - 2026-10-28 22:05 (23 seconds ago) 12 - Han Jiang
| |
| \
*-. \ 67bc563 - 2026-10-28 22:05 (28 seconds ago) Merge branches 'branch1' and 'branch2' of file:///test_git/server/repo - Han Jiang
|\ \ \
| | |/
| |/|
| | * 46921cb - 2026-10-28 22:05 (30 seconds ago) 11 - Han Jiang
| * | 5e63456 - 2026-10-28 22:05 (31 seconds ago) 10 - Han Jiang (refs/remotes/server/branch1)
| * | 63f2885 - 2026-10-28 22:05 (37 seconds ago) 8 - Han Jiang
* | | adc618c - 2026-10-28 22:05 (33 seconds ago) Merge branch 'branch2' of file:///test_git/server/repo - Han Jiang
|\ \ \
| | |/
| |/|
| * | c21411d - 2026-10-28 22:05 (36 seconds ago) 9 - Han Jiang
| * | 54d511f - 2026-10-28 22:05 (42 seconds ago) 7 - Han Jiang (refs/remotes/server/branch2, refs/remotes/server/HEAD)
| * | ce4f583 - 2026-10-28 22:04 (60 seconds ago) 3 - Han Jiang
* | | 6989ecb - 2026-10-28 22:05 (39 seconds ago) Merge branch 'branch1' of file:///test_git/server/repo - Han Jiang
|\ \ \
| | |/
| |/|
| * | e166014 - 2026-10-28 22:05 (43 seconds ago) 6 - Han Jiang
* | | da937d0 - 2026-10-28 22:05 (45 seconds ago) Merge branch 'branch1' of file:///test_git/server/repo - Han Jiang
|\| |
| * | 222ac7e - 2026-10-28 22:04 (61 seconds ago) 2 - Han Jiang
| |/
* / d39dd73 - 2026-10-28 22:05 (54 seconds ago) 4 - Han Jiang
|/
* f7b7bb7 - 2026-10-28 22:04 (62 seconds ago) 1 - Han Jiang (refs/remotes/server/master)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' checkout branch1; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
Switched to branch 'branch1'
[branch1 ac971b8] 22
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' checkout branch2; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
Switched to branch 'branch2'
[branch2 54d5f29] 23
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' checkout branch3; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
Switched to branch 'branch3'
[branch3 6bb8188] 24
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' checkout branch4; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
Switched to branch 'branch4'
[branch4 90cb6da] 25
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' -c 'core.editor=:' pull --ff server '+refs/heads/branch*:refs/remotes/server/branch*'
remote: Enumerating objects: 7, done.
remote: Counting objects: 100% (7/7), done.
remote: Compressing objects: 100% (7/7), done.
remote: Total 7 (delta 6), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (7/7), 621 bytes | 21.00 KiB/s, done.
From file:///test_git/server/repo
5e63456..ac971b8 branch1 -> server/branch1
54d511f..54d5f29 branch2 -> server/branch2
e6550ab..6bb8188 branch3 -> server/branch3
cf9f580..90cb6da branch4 -> server/branch4
Trying simple merge with ac971b8e872431e13bf219257e635d83c0382cdc
Trying simple merge with 54d5f290626dd0effe597b29be358a09e1a461b0
Trying simple merge with 6bb8188369b29aaf3a79d3b1ee3bd4daec6410eb
Trying simple merge with 90cb6dae39991146b04e55fdf15286091b369245
Merge made by the 'octopus' strategy.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './client/repo/.git/FETCH_HEAD'
./client/repo/.git/FETCH_HEAD -/0o100/regular file rw-r--r--/0o644
1 ac971b8e872431e13bf219257e635d83c0382cdc\t\tbranch 'branch1' of file:///test_git/server/repo\n
2 54d5f290626dd0effe597b29be358a09e1a461b0\t\tbranch 'branch2' of file:///test_git/server/repo\n
3 6bb8188369b29aaf3a79d3b1ee3bd4daec6410eb\t\tbranch 'branch3' of file:///test_git/server/repo\n
4 90cb6dae39991146b04e55fdf15286091b369245\t\tbranch 'branch4' of file:///test_git/server/repo\n
5
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all
*-----. 83ce735 - 2026-10-28 22:05 (5 seconds ago) Merge branches 'branch1', 'branch2', 'branch3' and 'branch4' of file:///test_git/server/repo - Han Jiang (HEAD -> refs/heads/master)
|\ \ \ \
| | | | * 90cb6da - 2026-10-28 22:05 (6 seconds ago) 25 - Han Jiang (refs/remotes/server/branch4)
| | | * | 6bb8188 - 2026-10-28 22:05 (6 seconds ago) 24 - Han Jiang (refs/remotes/server/branch3)
| | * | | 54d5f29 - 2026-10-28 22:05 (7 seconds ago) 23 - Han Jiang (refs/remotes/server/branch2, refs/remotes/server/HEAD)
| | * | | 4016234 - 2026-10-28 22:05 (16 seconds ago) 19 - Han Jiang
| | * | | 9893094 - 2026-10-28 22:05 (31 seconds ago) 13 - Han Jiang
| * | | | ac971b8 - 2026-10-28 22:05 (8 seconds ago) 22 - Han Jiang (refs/remotes/server/branch1)
| * | | | f3785da - 2026-10-28 22:05 (17 seconds ago) 18 - Han Jiang
| | | | |
| \ \ \ \
*-. \ \ \ \ 0c74913 - 2026-10-28 22:05 (12 seconds ago) Merge branches 'branch3' and 'branch4' of file:///test_git/server/repo - Han Jiang
|\ \ \ \ \ \
| | |_|_|/ /
| |/| | | /
| | | |_|/
| | |/| |
| | * | | cf9f580 - 2026-10-28 22:05 (15 seconds ago) 21 - Han Jiang
| * | | | e6550ab - 2026-10-28 22:05 (15 seconds ago) 20 - Han Jiang
| | | | |
| \ \ \ \
*-. \ \ \ \ b55b2cc - 2026-10-28 22:05 (21 seconds ago) Merge branches 'branch3' and 'branch4' of file:///test_git/server/repo - Han Jiang
|\ \ \ \ \ \
| | |/ / / /
| |/| / / /
| | |/ / /
| | * | | 6bd7325 - 2026-10-28 22:05 (22 seconds ago) 17 - Han Jiang
| * | | | 4241717 - 2026-10-28 22:05 (23 seconds ago) 16 - Han Jiang
| | | | |
| \ \ \ \
*-. \ \ \ \ ab3cdea - 2026-10-28 22:05 (28 seconds ago) Merge branches 'branch3' and 'branch4' of file:///test_git/server/repo - Han Jiang
|\ \ \ \ \ \
| | |/ / / /
| |/| / / /
| | |/ / /
| | * / / 3e1e663 - 2026-10-28 22:05 (30 seconds ago) 15 - Han Jiang
| | |/ /
| * / / d992fed - 2026-10-28 22:05 (30 seconds ago) 14 - Han Jiang
| |/ /
| * | 3eac5f4 - 2026-10-28 22:05 (32 seconds ago) 12 - Han Jiang
| | |
| \ \
*-. \ \ 67bc563 - 2026-10-28 22:05 (37 seconds ago) Merge branches 'branch1' and 'branch2' of file:///test_git/server/repo - Han Jiang
|\ \ \ \
| | |/ /
| |/| /
| | |/
| | * 46921cb - 2026-10-28 22:05 (39 seconds ago) 11 - Han Jiang
| * | 5e63456 - 2026-10-28 22:05 (40 seconds ago) 10 - Han Jiang
| * | 63f2885 - 2026-10-28 22:05 (46 seconds ago) 8 - Han Jiang
* | | adc618c - 2026-10-28 22:05 (42 seconds ago) Merge branch 'branch2' of file:///test_git/server/repo - Han Jiang
|\ \ \
| | |/
| |/|
| * | c21411d - 2026-10-28 22:05 (45 seconds ago) 9 - Han Jiang
| * | 54d511f - 2026-10-28 22:05 (51 seconds ago) 7 - Han Jiang
| * | ce4f583 - 2026-10-28 22:04 (69 seconds ago) 3 - Han Jiang
* | | 6989ecb - 2026-10-28 22:05 (48 seconds ago) Merge branch 'branch1' of file:///test_git/server/repo - Han Jiang
|\ \ \
| | |/
| |/|
| * | e166014 - 2026-10-28 22:05 (52 seconds ago) 6 - Han Jiang
* | | da937d0 - 2026-10-28 22:05 (54 seconds ago) Merge branch 'branch1' of file:///test_git/server/repo - Han Jiang
|\| |
| * | 222ac7e - 2026-10-28 22:04 (70 seconds ago) 2 - Han Jiang
| |/
* / d39dd73 - 2026-10-28 22:05 (63 seconds ago) 4 - Han Jiang
|/
* f7b7bb7 - 2026-10-28 22:04 (71 seconds ago) 1 - Han Jiang (refs/remotes/server/master)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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) e3d82f3] 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --all
* e3d82f3 - 2026-10-28 22:06 (0 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client1' clone 'file://'"$(realpath './server/repo.git')" './repo'
Cloning into './repo'...
remote: Enumerating objects: 2, done.
remote: Counting objects: 100% (2/2), done.
remote: Total 2 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Receiving objects: 100% (2/2), done.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client1/repo' lg --all
* e3d82f3 - 2026-10-28 22:06 (2 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client1/repo' commit --message="$((++number))" --allow-empty
[master 09ef0f1] 2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client1/repo' lg --all
* 09ef0f1 - 2026-10-28 22:06 (1 second ago) 2 - Han Jiang (HEAD -> refs/heads/master)
* e3d82f3 - 2026-10-28 22:06 (3 seconds ago) 1 - Han Jiang (refs/remotes/origin/master, refs/remotes/origin/HEAD)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client1/repo' push --force-with-lease
Enumerating objects: 1, done.
Counting objects: 100% (1/1), done.
Writing objects: 100% (1/1), 179 bytes | 179.00 KiB/s, done.
Total 1 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
To file:///test_git/server/repo.git
e3d82f3..09ef0f1 master -> master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client1/repo' lg --all
* 09ef0f1 - 2026-10-28 22:06 (2 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
* e3d82f3 - 2026-10-28 22:06 (4 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --all
* 09ef0f1 - 2026-10-28 22:06 (2 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
* e3d82f3 - 2026-10-28 22:06 (4 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client2' clone 'file://'"$(realpath './server/repo.git')" './repo'
Cloning into './repo'...
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 3 (delta 1), reused 0 (delta 0), pack-reused 0 (from 0)
Receiving objects: 100% (3/3), done.
Resolving deltas: 100% (1/1), done.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client2/repo' lg --all
* 09ef0f1 - 2026-10-28 22:06 (4 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
* e3d82f3 - 2026-10-28 22:06 (6 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client2/repo' commit --message="$((++number))" --allow-empty
[master b7f09f5] 3
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client2/repo' lg --all
* b7f09f5 - 2026-10-28 22:06 (1 second ago) 3 - Han Jiang (HEAD -> refs/heads/master)
* 09ef0f1 - 2026-10-28 22:06 (5 seconds ago) 2 - Han Jiang (refs/remotes/origin/master, refs/remotes/origin/HEAD)
* e3d82f3 - 2026-10-28 22:06 (7 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client2/repo' push --force-with-lease
Enumerating objects: 1, done.
Counting objects: 100% (1/1), done.
Writing objects: 100% (1/1), 179 bytes | 179.00 KiB/s, done.
Total 1 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
To file:///test_git/server/repo.git
09ef0f1..b7f09f5 master -> master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client2/repo' lg --all
* b7f09f5 - 2026-10-28 22:06 (2 seconds ago) 3 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
* 09ef0f1 - 2026-10-28 22:06 (6 seconds ago) 2 - Han Jiang
* e3d82f3 - 2026-10-28 22:06 (8 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --all
* b7f09f5 - 2026-10-28 22:06 (2 seconds ago) 3 - Han Jiang (HEAD -> refs/heads/master)
* 09ef0f1 - 2026-10-28 22:06 (6 seconds ago) 2 - Han Jiang
* e3d82f3 - 2026-10-28 22:06 (8 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client1/repo' commit --message="$((++number))" --allow-empty --amend
[master e26e6b2] 4
Date: Wed Oct 28 22:06:33 2026 +1300
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client1/repo' lg --all
* e26e6b2 - 2026-10-28 22:06 (8 seconds ago) 4 - Han Jiang (HEAD -> refs/heads/master)
| * 09ef0f1 - 2026-10-28 22:06 (8 seconds ago) 2 - Han Jiang (refs/remotes/origin/master, refs/remotes/origin/HEAD)
|/
* e3d82f3 - 2026-10-28 22:06 (10 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client1/repo' push --force-with-lease
To file:///test_git/server/repo.git
! [rejected] master -> master (stale info)
error: failed to push some refs to 'file:///test_git/server/repo.git'
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client1/repo' fetch
remote: Enumerating objects: 1, done.
remote: Counting objects: 100% (1/1), done.
remote: Total 1 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (1/1), 159 bytes | 39.00 KiB/s, done.
From file:///test_git/server/repo
09ef0f1..b7f09f5 master -> origin/master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client1/repo' lg --all
* e26e6b2 - 2026-10-28 22:06 (9 seconds ago) 4 - Han Jiang (HEAD -> refs/heads/master)
| * b7f09f5 - 2026-10-28 22:06 (5 seconds ago) 3 - Han Jiang (refs/remotes/origin/master, refs/remotes/origin/HEAD)
| * 09ef0f1 - 2026-10-28 22:06 (9 seconds ago) 2 - Han Jiang
|/
* e3d82f3 - 2026-10-28 22:06 (11 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client1/repo' push --force-with-lease
Enumerating objects: 1, done.
Counting objects: 100% (1/1), done.
Writing objects: 100% (1/1), 182 bytes | 182.00 KiB/s, done.
Total 1 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
To file:///test_git/server/repo.git
+ b7f09f5...e26e6b2 master -> master (forced update)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client1/repo' lg --all
* e26e6b2 - 2026-10-28 22:06 (10 seconds ago) 4 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
* e3d82f3 - 2026-10-28 22:06 (12 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --all
* e26e6b2 - 2026-10-28 22:06 (11 seconds ago) 4 - Han Jiang (HEAD -> refs/heads/master)
* e3d82f3 - 2026-10-28 22:06 (13 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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) cc9b3fe] 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --all
* cc9b3fe - 2026-10-28 22:06 (0 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client1' clone 'file://'"$(realpath './server/repo.git')" './repo'
Cloning into './repo'...
remote: Enumerating objects: 2, done.
remote: Counting objects: 100% (2/2), done.
remote: Total 2 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Receiving objects: 100% (2/2), done.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ branch_default_name="$(git -C './client1/repo' branch --show-current)"; echo "$branch_default_name"
master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client1/repo' lg --all
* cc9b3fe - 2026-10-28 22:06 (2 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client1/repo' commit --message="$((++number))" --allow-empty
[master de45ff1] 2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client1/repo' lg --all
* de45ff1 - 2026-10-28 22:06 (1 second ago) 2 - Han Jiang (HEAD -> refs/heads/master)
* cc9b3fe - 2026-10-28 22:06 (3 seconds ago) 1 - Han Jiang (refs/remotes/origin/master, refs/remotes/origin/HEAD)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client1/repo' push --force-with-lease --force-if-includes
Enumerating objects: 1, done.
Counting objects: 100% (1/1), done.
Writing objects: 100% (1/1), 178 bytes | 178.00 KiB/s, done.
Total 1 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
To file:///test_git/server/repo.git
cc9b3fe..de45ff1 master -> master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client1/repo' lg --all
* de45ff1 - 2026-10-28 22:06 (2 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
* cc9b3fe - 2026-10-28 22:06 (4 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --all
* de45ff1 - 2026-10-28 22:06 (3 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
* cc9b3fe - 2026-10-28 22:06 (5 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client2' clone 'file://'"$(realpath './server/repo.git')" './repo'
Cloning into './repo'...
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 3 (delta 1), reused 0 (delta 0), pack-reused 0 (from 0)
Receiving objects: 100% (3/3), done.
Resolving deltas: 100% (1/1), done.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client2/repo' lg --all
* de45ff1 - 2026-10-28 22:06 (4 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
* cc9b3fe - 2026-10-28 22:06 (6 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client2/repo' commit --message="$((++number))" --allow-empty
[master d0dc280] 3
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client2/repo' lg --all
* d0dc280 - 2026-10-28 22:06 (0 seconds ago) 3 - Han Jiang (HEAD -> refs/heads/master)
* de45ff1 - 2026-10-28 22:06 (5 seconds ago) 2 - Han Jiang (refs/remotes/origin/master, refs/remotes/origin/HEAD)
* cc9b3fe - 2026-10-28 22:06 (7 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client2/repo' push --force-with-lease --force-if-includes
Enumerating objects: 1, done.
Counting objects: 100% (1/1), done.
Writing objects: 100% (1/1), 178 bytes | 178.00 KiB/s, done.
Total 1 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
To file:///test_git/server/repo.git
de45ff1..d0dc280 master -> master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client2/repo' lg --all
* d0dc280 - 2026-10-28 22:06 (1 second ago) 3 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
* de45ff1 - 2026-10-28 22:06 (6 seconds ago) 2 - Han Jiang
* cc9b3fe - 2026-10-28 22:06 (8 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --all
* d0dc280 - 2026-10-28 22:06 (2 seconds ago) 3 - Han Jiang (HEAD -> refs/heads/master)
* de45ff1 - 2026-10-28 22:06 (7 seconds ago) 2 - Han Jiang
* cc9b3fe - 2026-10-28 22:06 (9 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client1/repo' commit --message="$((++number))" --allow-empty --amend
[master bfff209] 4
Date: Wed Oct 28 22:06:51 2026 +1300
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client1/repo' lg --all
* bfff209 - 2026-10-28 22:06 (8 seconds ago) 4 - Han Jiang (HEAD -> refs/heads/master)
| * de45ff1 - 2026-10-28 22:06 (8 seconds ago) 2 - Han Jiang (refs/remotes/origin/master, refs/remotes/origin/HEAD)
|/
* cc9b3fe - 2026-10-28 22:06 (10 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client1/repo' fetch
remote: Enumerating objects: 1, done.
remote: Counting objects: 100% (1/1), done.
remote: Total 1 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (1/1), 158 bytes | 31.00 KiB/s, done.
From file:///test_git/server/repo
de45ff1..d0dc280 master -> origin/master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client1/repo' lg --all
* bfff209 - 2026-10-28 22:06 (9 seconds ago) 4 - Han Jiang (HEAD -> refs/heads/master)
| * d0dc280 - 2026-10-28 22:06 (4 seconds ago) 3 - Han Jiang (refs/remotes/origin/master, refs/remotes/origin/HEAD)
| * de45ff1 - 2026-10-28 22:06 (9 seconds ago) 2 - Han Jiang
|/
* cc9b3fe - 2026-10-28 22:06 (11 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client1/repo' push --force-with-lease --force-if-includes
To file:///test_git/server/repo.git
! [rejected] master -> master (remote ref updated since checkout)
error: failed to push some refs to 'file:///test_git/server/repo.git'
hint: Updates were rejected because the tip of the remote-tracking branch has
hint: been updated since the last checkout. If you want to integrate the
hint: remote changes, use 'git pull' before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client1/repo' reflog show --format=tformat:'%gD' HEAD
HEAD@{0}
HEAD@{1}
HEAD@{2}
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client1/repo' lg --not $(git -C './client1/repo' reflog show --format=tformat:'%gD' HEAD) --not 'HEAD@{upstream}'
* d0dc280 - 2026-10-28 22:06 (6 seconds ago) 3 - Han Jiang (refs/remotes/origin/master, refs/remotes/origin/HEAD)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --all
* d0dc280 - 2026-10-28 22:06 (6 seconds ago) 3 - Han Jiang (HEAD -> refs/heads/master)
* de45ff1 - 2026-10-28 22:06 (11 seconds ago) 2 - Han Jiang
* cc9b3fe - 2026-10-28 22:06 (13 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client1/repo' rebase --onto=HEAD 'HEAD@{upstream}@{1}' 'HEAD@{upstream}'
Successfully rebased and updated detached HEAD.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client1/repo' lg --all
* f30aa4d - 2026-10-28 22:06 (8 seconds ago) 3 - Han Jiang (HEAD)
* bfff209 - 2026-10-28 22:06 (13 seconds ago) 4 - Han Jiang (refs/heads/master)
| * d0dc280 - 2026-10-28 22:06 (8 seconds ago) 3 - Han Jiang (refs/remotes/origin/master, refs/remotes/origin/HEAD)
| * de45ff1 - 2026-10-28 22:06 (13 seconds ago) 2 - Han Jiang
|/
* cc9b3fe - 2026-10-28 22:06 (15 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client1/repo' checkout -B "$branch_default_name"
Switched to and reset branch 'master'
Your branch and 'origin/master' have diverged,
and have 2 and 2 different commits each, respectively.
(use "git pull" if you want to integrate the remote branch with yours)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client1/repo' lg --all
* f30aa4d - 2026-10-28 22:06 (9 seconds ago) 3 - Han Jiang (HEAD -> refs/heads/master)
* bfff209 - 2026-10-28 22:06 (14 seconds ago) 4 - Han Jiang
| * d0dc280 - 2026-10-28 22:06 (9 seconds ago) 3 - Han Jiang (refs/remotes/origin/master, refs/remotes/origin/HEAD)
| * de45ff1 - 2026-10-28 22:06 (14 seconds ago) 2 - Han Jiang
|/
* cc9b3fe - 2026-10-28 22:06 (16 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client1/repo' push --force-with-lease --force-if-includes
To file:///test_git/server/repo.git
! [rejected] master -> master (remote ref updated since checkout)
error: failed to push some refs to 'file:///test_git/server/repo.git'
hint: Updates were rejected because the tip of the remote-tracking branch has
hint: been updated since the last checkout. If you want to integrate the
hint: remote changes, use 'git pull' before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client1/repo' push --force-with-lease
Enumerating objects: 2, done.
Counting objects: 100% (2/2), done.
Delta compression using up to 8 threads
Compressing objects: 100% (2/2), done.
Writing objects: 100% (2/2), 262 bytes | 262.00 KiB/s, done.
Total 2 (delta 1), reused 0 (delta 0), pack-reused 0 (from 0)
To file:///test_git/server/repo.git
+ d0dc280...f30aa4d master -> master (forced update)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client1/repo' lg --all
* f30aa4d - 2026-10-28 22:06 (10 seconds ago) 3 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
* bfff209 - 2026-10-28 22:06 (15 seconds ago) 4 - Han Jiang
* cc9b3fe - 2026-10-28 22:06 (17 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --all
* f30aa4d - 2026-10-28 22:06 (11 seconds ago) 3 - Han Jiang (HEAD -> refs/heads/master)
* bfff209 - 2026-10-28 22:06 (16 seconds ago) 4 - Han Jiang
* cc9b3fe - 2026-10-28 22:06 (18 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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) 5b2bae9] 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --all
* 5b2bae9 - 2026-10-28 22:07 (0 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client1' clone 'file://'"$(realpath './server/repo.git')" './repo'
Cloning into './repo'...
remote: Enumerating objects: 2, done.
remote: Counting objects: 100% (2/2), done.
remote: Total 2 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Receiving objects: 100% (2/2), done.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ branch_default_name="$(git -C './client1/repo' branch --show-current)"; echo "$branch_default_name"
master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client1/repo' lg --all
* 5b2bae9 - 2026-10-28 22:07 (2 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client1/repo' commit --message="$((++number))" --allow-empty
[master 910aa63] 2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client1/repo' lg --all
* 910aa63 - 2026-10-28 22:07 (1 second ago) 2 - Han Jiang (HEAD -> refs/heads/master)
* 5b2bae9 - 2026-10-28 22:07 (3 seconds ago) 1 - Han Jiang (refs/remotes/origin/master, refs/remotes/origin/HEAD)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client1/repo' push
Enumerating objects: 1, done.
Counting objects: 100% (1/1), done.
Writing objects: 100% (1/1), 178 bytes | 178.00 KiB/s, done.
Total 1 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
To file:///test_git/server/repo.git
5b2bae9..910aa63 master -> master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client1/repo' lg --all
* 910aa63 - 2026-10-28 22:07 (2 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
* 5b2bae9 - 2026-10-28 22:07 (4 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --all
* 910aa63 - 2026-10-28 22:07 (3 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
* 5b2bae9 - 2026-10-28 22:07 (5 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client2' clone 'file://'"$(realpath './server/repo.git')" './repo'
Cloning into './repo'...
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 3 (delta 1), reused 0 (delta 0), pack-reused 0 (from 0)
Receiving objects: 100% (3/3), done.
Resolving deltas: 100% (1/1), done.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client2/repo' lg --all
* 910aa63 - 2026-10-28 22:07 (4 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
* 5b2bae9 - 2026-10-28 22:07 (6 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client2/repo' commit --message="$((++number))" --allow-empty
[master 223ac2c] 3
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client2/repo' lg --all
* 223ac2c - 2026-10-28 22:07 (0 seconds ago) 3 - Han Jiang (HEAD -> refs/heads/master)
* 910aa63 - 2026-10-28 22:07 (5 seconds ago) 2 - Han Jiang (refs/remotes/origin/master, refs/remotes/origin/HEAD)
* 5b2bae9 - 2026-10-28 22:07 (7 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client2/repo' push
Enumerating objects: 1, done.
Counting objects: 100% (1/1), done.
Writing objects: 100% (1/1), 178 bytes | 178.00 KiB/s, done.
Total 1 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
To file:///test_git/server/repo.git
910aa63..223ac2c master -> master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client2/repo' lg --all
* 223ac2c - 2026-10-28 22:07 (1 second ago) 3 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
* 910aa63 - 2026-10-28 22:07 (6 seconds ago) 2 - Han Jiang
* 5b2bae9 - 2026-10-28 22:07 (8 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --all
* 223ac2c - 2026-10-28 22:07 (2 seconds ago) 3 - Han Jiang (HEAD -> refs/heads/master)
* 910aa63 - 2026-10-28 22:07 (7 seconds ago) 2 - Han Jiang
* 5b2bae9 - 2026-10-28 22:07 (9 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client1/repo' commit --message="$((++number))" --allow-empty --amend
[master dd7b468] 4
Date: Wed Oct 28 22:07:14 2026 +1300
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client1/repo' lg --all
* dd7b468 - 2026-10-28 22:07 (8 seconds ago) 4 - Han Jiang (HEAD -> refs/heads/master)
| * 910aa63 - 2026-10-28 22:07 (8 seconds ago) 2 - Han Jiang (refs/remotes/origin/master, refs/remotes/origin/HEAD)
|/
* 5b2bae9 - 2026-10-28 22:07 (10 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client1/repo' push
To file:///test_git/server/repo.git
! [rejected] master -> master (fetch first)
error: failed to push some refs to 'file:///test_git/server/repo.git'
hint: Updates were rejected because the remote contains work that you do not
hint: have locally. This is usually caused by another repository pushing to
hint: the same ref. If you want to integrate the remote changes, use
hint: 'git pull' before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client1/repo' fetch
remote: Enumerating objects: 1, done.
remote: Counting objects: 100% (1/1), done.
remote: Total 1 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (1/1), 158 bytes | 31.00 KiB/s, done.
From file:///test_git/server/repo
910aa63..223ac2c master -> origin/master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client1/repo' lg --all
* dd7b468 - 2026-10-28 22:07 (10 seconds ago) 4 - Han Jiang (HEAD -> refs/heads/master)
| * 223ac2c - 2026-10-28 22:07 (5 seconds ago) 3 - Han Jiang (refs/remotes/origin/master, refs/remotes/origin/HEAD)
| * 910aa63 - 2026-10-28 22:07 (10 seconds ago) 2 - Han Jiang
|/
* 5b2bae9 - 2026-10-28 22:07 (12 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --all
* 223ac2c - 2026-10-28 22:07 (5 seconds ago) 3 - Han Jiang (HEAD -> refs/heads/master)
* 910aa63 - 2026-10-28 22:07 (10 seconds ago) 2 - Han Jiang
* 5b2bae9 - 2026-10-28 22:07 (12 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client1/repo' rebase --onto=HEAD 'HEAD@{upstream}@{1}' 'HEAD@{upstream}'
Successfully rebased and updated detached HEAD.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client1/repo' lg --all
* 01671a5 - 2026-10-28 22:07 (6 seconds ago) 3 - Han Jiang (HEAD)
* dd7b468 - 2026-10-28 22:07 (11 seconds ago) 4 - Han Jiang (refs/heads/master)
| * 223ac2c - 2026-10-28 22:07 (6 seconds ago) 3 - Han Jiang (refs/remotes/origin/master, refs/remotes/origin/HEAD)
| * 910aa63 - 2026-10-28 22:07 (11 seconds ago) 2 - Han Jiang
|/
* 5b2bae9 - 2026-10-28 22:07 (13 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client1/repo' checkout -B "$branch_default_name"
Switched to and reset branch 'master'
Your branch and 'origin/master' have diverged,
and have 2 and 2 different commits each, respectively.
(use "git pull" if you want to integrate the remote branch with yours)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client1/repo' lg --all
* 01671a5 - 2026-10-28 22:07 (7 seconds ago) 3 - Han Jiang (HEAD -> refs/heads/master)
* dd7b468 - 2026-10-28 22:07 (12 seconds ago) 4 - Han Jiang
| * 223ac2c - 2026-10-28 22:07 (7 seconds ago) 3 - Han Jiang (refs/remotes/origin/master, refs/remotes/origin/HEAD)
| * 910aa63 - 2026-10-28 22:07 (12 seconds ago) 2 - Han Jiang
|/
* 5b2bae9 - 2026-10-28 22:07 (14 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client1/repo' push --force-with-lease="$branch_default_name"':HEAD@{upstream}'
Enumerating objects: 2, done.
Counting objects: 100% (2/2), done.
Delta compression using up to 8 threads
Compressing objects: 100% (2/2), done.
Writing objects: 100% (2/2), 259 bytes | 259.00 KiB/s, done.
Total 2 (delta 1), reused 0 (delta 0), pack-reused 0 (from 0)
To file:///test_git/server/repo.git
+ 223ac2c...01671a5 master -> master (forced update)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client1/repo' lg --all
* 01671a5 - 2026-10-28 22:07 (9 seconds ago) 3 - Han Jiang (HEAD -> refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/HEAD)
* dd7b468 - 2026-10-28 22:07 (14 seconds ago) 4 - Han Jiang
* 5b2bae9 - 2026-10-28 22:07 (16 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --all
* 01671a5 - 2026-10-28 22:07 (9 seconds ago) 3 - Han Jiang (HEAD -> refs/heads/master)
* dd7b468 - 2026-10-28 22:07 (14 seconds ago) 4 - Han Jiang
* 5b2bae9 - 2026-10-28 22:07 (16 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' commit --message="$((++number))" --allow-empty; git -C './client/repo' branch branch1; git -C './client/repo' tag tag11; git -C './client/repo' tag --annotate --message="$((++number))" tag12
[master (root-commit) 95fd579] 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' push server 'refs/heads/*:refs/heads/*' 'refs/tags/*:refs/tags/*'
Enumerating objects: 3, done.
Counting objects: 100% (3/3), done.
Delta compression using up to 8 threads
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 283 bytes | 283.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
To file:///test_git/server/repo.git
* [new branch] branch1 -> branch1
* [new branch] master -> master
* [new tag] tag11 -> tag11
* [new tag] tag12 -> tag12
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
branch1 95fd579 1
* master 95fd579 1
remotes/server/branch1 95fd579 1
remotes/server/master 95fd579 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' tag --list
tag11
tag12
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --all
* 95fd579 - 2026-10-28 22:07 (3 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, tag: refs/tags/tag12, tag: refs/tags/tag11, refs/heads/branch1)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --delete branch1; git -C './client/repo' tag --delete tag11; git -C './client/repo' tag --delete tag12
Deleted branch branch1 (was 95fd579).
Deleted tag 'tag11' (was 95fd579)
Deleted tag 'tag12' (was 56ede11)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch branch2; git -C './client/repo' tag tag21; git -C './client/repo' tag --annotate --message="$((++number))" tag22
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' push server 'refs/heads/*:refs/heads/*' 'refs/tags/*:refs/tags/*'
Enumerating objects: 1, done.
Counting objects: 100% (1/1), done.
Writing objects: 100% (1/1), 157 bytes | 157.00 KiB/s, done.
Total 1 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
To file:///test_git/server/repo.git
* [new branch] branch2 -> branch2
* [new tag] tag21 -> tag21
* [new tag] tag22 -> tag22
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
branch2 95fd579 1
* master 95fd579 1
remotes/server/branch1 95fd579 1
remotes/server/branch2 95fd579 1
remotes/server/master 95fd579 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' tag --list
tag21
tag22
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --all
* 95fd579 - 2026-10-28 22:07 (7 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, tag: refs/tags/tag22, tag: refs/tags/tag21, tag: refs/tags/tag12, tag: refs/tags/tag11, refs/heads/branch2, refs/heads/branch1)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' push --prune server 'refs/heads/*:refs/heads/*' 'refs/tags/*:refs/tags/*'
To file:///test_git/server/repo.git
- [deleted] branch1
- [deleted] tag11
- [deleted] tag12
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
branch2 95fd579 1
* master 95fd579 1
remotes/server/branch2 95fd579 1
remotes/server/master 95fd579 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' tag --list
tag21
tag22
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --all
* 95fd579 - 2026-10-28 22:07 (9 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, tag: refs/tags/tag22, tag: refs/tags/tag21, refs/heads/branch2)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server/repo.git
local file:.git/config remote.server.fetch=+refs/heads/*:refs/remotes/server/*
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' commit --message="$((++number))" --allow-empty; git -C './client/repo' branch branch1; git -C './client/repo' branch branch2; git -C './client/repo' branch branch3
[master (root-commit) cf88658] 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
branch1 cf88658 1
branch2 cf88658 1
branch3 cf88658 1
* master cf88658 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' push 'file://'"$(realpath './server/repo.git')" 'refs/heads/branch*:refs/heads/branch*' branch1 branch2
Enumerating objects: 2, done.
Counting objects: 100% (2/2), done.
Writing objects: 100% (2/2), 158 bytes | 158.00 KiB/s, done.
Total 2 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
To file:///test_git/server/repo.git
* [new branch] branch1 -> branch1
* [new branch] branch2 -> branch2
* [new branch] branch3 -> branch3
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server/repo.git
local file:.git/config remote.server.fetch=+refs/heads/*:refs/remotes/server/*
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
branch1 cf88658 1
branch2 cf88658 1
branch3 cf88658 1
* master cf88658 1
remotes/server/branch1 cf88658 1
remotes/server/branch2 cf88658 1
remotes/server/branch3 cf88658 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server/repo.git
local file:.git/config remote.server.fetch=+refs/heads/*:refs/remotes/server/*
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' commit --message="$((++number))" --allow-empty; git -C './client/repo' branch branch1; git -C './client/repo' branch branch2; git -C './client/repo' branch branch3
[master (root-commit) 6d8e32f] 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
branch1 6d8e32f 1
branch2 6d8e32f 1
branch3 6d8e32f 1
* master 6d8e32f 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' push --set-upstream 'file://'"$(realpath './server/repo.git')" 'refs/heads/branch*:refs/heads/branch*' branch1 branch2
Enumerating objects: 2, done.
Counting objects: 100% (2/2), done.
Writing objects: 100% (2/2), 158 bytes | 158.00 KiB/s, done.
Total 2 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
To file:///test_git/server/repo.git
* [new branch] branch1 -> branch1
* [new branch] branch2 -> branch2
* [new branch] branch3 -> branch3
branch 'branch1' set up to track 'file:///test_git/server/repo.git/branch1'.
branch 'branch2' set up to track 'file:///test_git/server/repo.git/branch2'.
branch 'branch3' set up to track 'file:///test_git/server/repo.git/branch3'.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server/repo.git
local file:.git/config remote.server.fetch=+refs/heads/*:refs/remotes/server/*
local file:.git/config branch.branch1.remote=file:///test_git/server/repo.git
local file:.git/config branch.branch1.merge=refs/heads/branch1
local file:.git/config branch.branch2.remote=file:///test_git/server/repo.git
local file:.git/config branch.branch2.merge=refs/heads/branch2
local file:.git/config branch.branch3.remote=file:///test_git/server/repo.git
local file:.git/config branch.branch3.merge=refs/heads/branch3
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
branch1 6d8e32f 1
branch2 6d8e32f 1
branch3 6d8e32f 1
* master 6d8e32f 1
remotes/server/branch1 6d8e32f 1
remotes/server/branch2 6d8e32f 1
remotes/server/branch3 6d8e32f 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server/repo.git
local file:.git/config remote.server.fetch=+refs/heads/*:refs/remotes/server/*
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' commit --message="$((++number))" --allow-empty; git -C './client/repo' branch branch1; git -C './client/repo' branch branch2; git -C './client/repo' branch branch3
[master (root-commit) 38eb74f] 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
branch1 38eb74f 1
branch2 38eb74f 1
branch3 38eb74f 1
* master 38eb74f 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' push server 'refs/heads/branch*:refs/heads/branch*' branch1 branch2
Enumerating objects: 2, done.
Counting objects: 100% (2/2), done.
Writing objects: 100% (2/2), 159 bytes | 159.00 KiB/s, done.
Total 2 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
To file:///test_git/server/repo.git
* [new branch] branch1 -> branch1
* [new branch] branch2 -> branch2
* [new branch] branch3 -> branch3
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server/repo.git
local file:.git/config remote.server.fetch=+refs/heads/*:refs/remotes/server/*
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
branch1 38eb74f 1
branch2 38eb74f 1
branch3 38eb74f 1
* master 38eb74f 1
remotes/server/branch1 38eb74f 1
remotes/server/branch2 38eb74f 1
remotes/server/branch3 38eb74f 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server/repo.git
local file:.git/config remote.server.fetch=+refs/heads/*:refs/remotes/server/*
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' commit --message="$((++number))" --allow-empty; git -C './client/repo' branch branch1; git -C './client/repo' branch branch2; git -C './client/repo' branch branch3
[master (root-commit) 02470e5] 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
branch1 02470e5 1
branch2 02470e5 1
branch3 02470e5 1
* master 02470e5 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' push --set-upstream server 'refs/heads/branch*:refs/heads/branch*' branch1 branch2
Enumerating objects: 2, done.
Counting objects: 100% (2/2), done.
Writing objects: 100% (2/2), 159 bytes | 159.00 KiB/s, done.
Total 2 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
To file:///test_git/server/repo.git
* [new branch] branch1 -> branch1
* [new branch] branch2 -> branch2
* [new branch] branch3 -> branch3
branch 'branch1' set up to track 'server/branch1'.
branch 'branch2' set up to track 'server/branch2'.
branch 'branch3' set up to track 'server/branch3'.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server/repo.git
local file:.git/config remote.server.fetch=+refs/heads/*:refs/remotes/server/*
local file:.git/config branch.branch1.remote=server
local file:.git/config branch.branch1.merge=refs/heads/branch1
local file:.git/config branch.branch2.remote=server
local file:.git/config branch.branch2.merge=refs/heads/branch2
local file:.git/config branch.branch3.remote=server
local file:.git/config branch.branch3.merge=refs/heads/branch3
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
branch1 02470e5 [server/branch1] 1
branch2 02470e5 [server/branch2] 1
branch3 02470e5 [server/branch3] 1
* master 02470e5 1
remotes/server/branch1 02470e5 1
remotes/server/branch2 02470e5 1
remotes/server/branch3 02470e5 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ branch_default_name="$(git -C './client/repo' branch --show-current)"; echo "$branch_default_name"
master
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config unset --local 'remote.server1.fetch'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config unset --local 'remote.server2.fetch'
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server1.url=file:///test_git/server1/repo.git
local file:.git/config remote.server2.url=file:///test_git/server2/repo.git
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' commit --message="$((++number))" --allow-empty
[master (root-commit) 67bf3b8] 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' push
fatal: No configured push destination.
Either specify the URL from the command-line or configure a remote repository using
git remote add <name> <url>
and then push using the remote name
git push <name>
To push to multiple remotes at once, configure a remote group using
git config remotes.<groupname> "<remote1> <remote2>"
and then push using the group name
git push <groupname>
jhcarl0814@jhcarl0814 UCRT64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote remove server1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server2.url=file:///test_git/server2/repo.git
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' push
fatal: The current branch master has no upstream branch.
To push the current branch and set the remote as upstream, use
git push --set-upstream server2 master
To have this happen automatically for branches without a tracking
upstream, see 'push.autoSetupRemote' in 'git help config'.
jhcarl0814@jhcarl0814 UCRT64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config set --local 'push.default' 'current'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server2.url=file:///test_git/server2/repo.git
local file:.git/config push.default=current
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' push
Enumerating objects: 2, done.
Counting objects: 100% (2/2), done.
Writing objects: 100% (2/2), 159 bytes | 159.00 KiB/s, done.
Total 2 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
To file:///test_git/server2/repo.git
* [new branch] master -> master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config unset --local 'push.default'
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config unset --local 'remote.server1.fetch'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config set --local 'branch.'"$branch_default_name"'.remote' 'server2'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config set --local 'branch.'"$branch_default_name"'.merge' 'refs/heads/'"$branch_default_name"
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server2.url=file:///test_git/server2/repo.git
local file:.git/config remote.server1.url=file:///test_git/server1/repo.git
local file:.git/config branch.master.remote=server2
local file:.git/config branch.master.merge=refs/heads/master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' push
Everything up-to-date
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server2/repo.git' lg --all
* 67bf3b8 - 2026-10-28 22:08 (7 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' commit --message="$((++number))" --allow-empty
[master cd73702] 2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config set --local 'remote.pushDefault' 'server1'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server2.url=file:///test_git/server2/repo.git
local file:.git/config remote.server1.url=file:///test_git/server1/repo.git
local file:.git/config branch.master.remote=server2
local file:.git/config branch.master.merge=refs/heads/master
local file:.git/config remote.pushdefault=server1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' push
Enumerating objects: 3, done.
Counting objects: 100% (3/3), done.
Delta compression using up to 8 threads
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 226 bytes | 226.00 KiB/s, done.
Total 3 (delta 1), reused 0 (delta 0), pack-reused 0 (from 0)
To file:///test_git/server1/repo.git
* [new branch] master -> master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server1/repo.git' lg --all
* cd73702 - 2026-10-28 22:08 (2 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
* 67bf3b8 - 2026-10-28 22:08 (9 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' commit --message="$((++number))" --allow-empty
[master dda7e1f] 3
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config set --local 'branch.'"$branch_default_name"'.pushRemote' 'server2'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server2.url=file:///test_git/server2/repo.git
local file:.git/config remote.server1.url=file:///test_git/server1/repo.git
local file:.git/config branch.master.remote=server2
local file:.git/config branch.master.merge=refs/heads/master
local file:.git/config branch.master.pushremote=server2
local file:.git/config remote.pushdefault=server1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' push
Enumerating objects: 2, done.
Counting objects: 100% (2/2), done.
Delta compression using up to 8 threads
Compressing objects: 100% (2/2), done.
Writing objects: 100% (2/2), 257 bytes | 257.00 KiB/s, done.
Total 2 (delta 1), reused 0 (delta 0), pack-reused 0 (from 0)
To file:///test_git/server2/repo.git
67bf3b8..dda7e1f master -> master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server2/repo.git' lg --all
* dda7e1f - 2026-10-28 22:08 (2 seconds ago) 3 - Han Jiang (HEAD -> refs/heads/master)
* cd73702 - 2026-10-28 22:08 (5 seconds ago) 2 - Han Jiang
* 67bf3b8 - 2026-10-28 22:08 (12 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' commit --message="$((++number))" --allow-empty
[master eec2135] 4
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' push server1
Enumerating objects: 2, done.
Counting objects: 100% (2/2), done.
Delta compression using up to 8 threads
Compressing objects: 100% (2/2), done.
Writing objects: 100% (2/2), 258 bytes | 258.00 KiB/s, done.
Total 2 (delta 1), reused 0 (delta 0), pack-reused 0 (from 0)
To file:///test_git/server1/repo.git
cd73702..eec2135 master -> master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server1/repo.git' lg --all
* eec2135 - 2026-10-28 22:09 (1 second ago) 4 - Han Jiang (HEAD -> refs/heads/master)
* dda7e1f - 2026-10-28 22:08 (4 seconds ago) 3 - Han Jiang
* cd73702 - 2026-10-28 22:08 (7 seconds ago) 2 - Han Jiang
* 67bf3b8 - 2026-10-28 22:08 (14 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ branch_default_name="$(git -C './client/repo' branch --show-current)"; echo "$branch_default_name"
master
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config unset --local 'remote.server.fetch'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose
server file:///test_git/server/repo.git (fetch)
server file:///test_git/server/repo.git (push)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server/repo.git
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' commit --message="$((++number))" --allow-empty
[master (root-commit) 877d7ee] 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose show server
* remote server
Fetch URL: file:///test_git/server/repo.git
Push URL: file:///test_git/server/repo.git
HEAD branch: (unknown)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' push
fatal: The current branch master has no upstream branch.
To push the current branch and set the remote as upstream, use
git push --set-upstream server master
To have this happen automatically for branches without a tracking
upstream, see 'push.autoSetupRemote' in 'git help config'.
jhcarl0814@jhcarl0814 UCRT64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config set --local 'branch.'"$branch_default_name"'.remote' 'server'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config set --local 'branch.'"$branch_default_name"'.merge' 'refs/heads/'"$branch_default_name"
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server/repo.git
local file:.git/config branch.master.remote=server
local file:.git/config branch.master.merge=refs/heads/master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose show server
* remote server
Fetch URL: file:///test_git/server/repo.git
Push URL: file:///test_git/server/repo.git
HEAD branch: (unknown)
Local branch configured for 'git pull':
master merges with remote master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' push
Enumerating objects: 2, done.
Counting objects: 100% (2/2), done.
Writing objects: 100% (2/2), 159 bytes | 159.00 KiB/s, done.
Total 2 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
To file:///test_git/server/repo.git
* [new branch] master -> master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose show server
* remote server
Fetch URL: file:///test_git/server/repo.git
Push URL: file:///test_git/server/repo.git
HEAD branch: master
Local branch configured for 'git pull':
master merges with remote master
Local ref configured for 'git push':
master pushes to master (up to date)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --all
* 877d7ee - 2026-10-28 22:09 (5 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' commit --message="$((++number))" --allow-empty
[master 4b1507e] 2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config set --local 'branch.'"$branch_default_name"'.merge' 'refs/heads/'"$branch_default_name"'1'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server/repo.git
local file:.git/config branch.master.remote=server
local file:.git/config branch.master.merge=refs/heads/master1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose show server
* remote server
Fetch URL: file:///test_git/server/repo.git
Push URL: file:///test_git/server/repo.git
HEAD branch: master
Local branch configured for 'git pull':
master merges with remote master1
Local ref configured for 'git push':
master pushes to master (fast-forwardable)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' push
fatal: The upstream branch of your current branch does not match
the name of your current branch. To push to the upstream branch
on the remote, use
git push server HEAD:master1
To push to the branch of the same name on the remote, use
git push server HEAD
To choose either option permanently, see push.default in 'git help config'.
To avoid automatically configuring an upstream branch when its name
won't match the local branch, see option 'simple' of branch.autoSetupMerge
in 'git help config'.
jhcarl0814@jhcarl0814 UCRT64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --move "$branch_default_name" "$branch_default_name"'1'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server/repo.git
local file:.git/config branch.master1.remote=server
local file:.git/config branch.master1.merge=refs/heads/master1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose show server
* remote server
Fetch URL: file:///test_git/server/repo.git
Push URL: file:///test_git/server/repo.git
HEAD branch: master
Local branch configured for 'git pull':
master1 merges with remote master1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' push
Enumerating objects: 1, done.
Counting objects: 100% (1/1), done.
Writing objects: 100% (1/1), 179 bytes | 179.00 KiB/s, done.
Total 1 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
To file:///test_git/server/repo.git
* [new branch] master1 -> master1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose show server
* remote server
Fetch URL: file:///test_git/server/repo.git
Push URL: file:///test_git/server/repo.git
HEAD branch: master
Local branch configured for 'git pull':
master1 merges with remote master1
Local ref configured for 'git push':
master1 pushes to master1 (up to date)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --all
* 4b1507e - 2026-10-28 22:09 (5 seconds ago) 2 - Han Jiang (refs/heads/master1)
* 877d7ee - 2026-10-28 22:09 (10 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config set --local 'push.default' 'nothing'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server/repo.git
local file:.git/config branch.master1.remote=server
local file:.git/config branch.master1.merge=refs/heads/master1
local file:.git/config push.default=nothing
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose show server
* remote server
Fetch URL: file:///test_git/server/repo.git
Push URL: file:///test_git/server/repo.git
HEAD branch: master
Local branch configured for 'git pull':
master1 merges with remote master1
Local ref configured for 'git push':
master1 pushes to master1 (up to date)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' push
fatal: You didn't specify any refspecs to push, and push.default is "nothing".
jhcarl0814@jhcarl0814 UCRT64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' commit --message="$((++number))" --allow-empty
[master1 a996016] 3
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config set --local 'push.default' 'current'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config unset --local 'branch.'"$branch_default_name"'1.remote'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config unset --local 'branch.'"$branch_default_name"'1.merge'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server/repo.git
local file:.git/config push.default=current
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose show server
* remote server
Fetch URL: file:///test_git/server/repo.git
Push URL: file:///test_git/server/repo.git
HEAD branch: master
Local ref configured for 'git push':
master1 pushes to master1 (fast-forwardable)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' push
Enumerating objects: 1, done.
Counting objects: 100% (1/1), done.
Writing objects: 100% (1/1), 176 bytes | 176.00 KiB/s, done.
Total 1 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
To file:///test_git/server/repo.git
4b1507e..a996016 master1 -> master1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --all
* a996016 - 2026-10-28 22:09 (4 seconds ago) 3 - Han Jiang (refs/heads/master1)
* 4b1507e - 2026-10-28 22:09 (12 seconds ago) 2 - Han Jiang
* 877d7ee - 2026-10-28 22:09 (17 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' commit --message="$((++number))" --allow-empty
[master1 7b3d708] 4
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config set --local 'push.default' 'upstream'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server/repo.git
local file:.git/config push.default=upstream
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose show server
* remote server
Fetch URL: file:///test_git/server/repo.git
Push URL: file:///test_git/server/repo.git
HEAD branch: master
Local ref configured for 'git push':
master1 pushes to master1 (fast-forwardable)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' push
fatal: The current branch master1 has no upstream branch.
To push the current branch and set the remote as upstream, use
git push --set-upstream server master1
To have this happen automatically for branches without a tracking
upstream, see 'push.autoSetupRemote' in 'git help config'.
jhcarl0814@jhcarl0814 UCRT64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config set --local 'branch.'"$branch_default_name"'1.remote' 'server'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config set --local 'branch.'"$branch_default_name"'1.merge' 'refs/heads/'"$branch_default_name"'2'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server/repo.git
local file:.git/config push.default=upstream
local file:.git/config branch.master1.remote=server
local file:.git/config branch.master1.merge=refs/heads/master2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose show server
* remote server
Fetch URL: file:///test_git/server/repo.git
Push URL: file:///test_git/server/repo.git
HEAD branch: master
Local branch configured for 'git pull':
master1 merges with remote master2
Local ref configured for 'git push':
master1 pushes to master1 (fast-forwardable)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' push
Enumerating objects: 1, done.
Counting objects: 100% (1/1), done.
Writing objects: 100% (1/1), 179 bytes | 179.00 KiB/s, done.
Total 1 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
To file:///test_git/server/repo.git
* [new branch] master1 -> master2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --all
* 7b3d708 - 2026-10-28 22:09 (5 seconds ago) 4 - Han Jiang (refs/heads/master2)
* a996016 - 2026-10-28 22:09 (9 seconds ago) 3 - Han Jiang (refs/heads/master1)
* 4b1507e - 2026-10-28 22:09 (17 seconds ago) 2 - Han Jiang
* 877d7ee - 2026-10-28 22:09 (22 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' commit --message="$((++number))" --allow-empty
[master1 5b30a7d] 5
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config set --local 'remote.server.push' 'refs/heads/'"$branch_default_name"'1:refs/heads/'"$branch_default_name"'1'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config set --local --append 'remote.server.push' 'refs/heads/'"$branch_default_name"'1:refs/heads/'"$branch_default_name"''
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server/repo.git
local file:.git/config remote.server.push=refs/heads/master1:refs/heads/master1
local file:.git/config remote.server.push=refs/heads/master1:refs/heads/master
local file:.git/config push.default=upstream
local file:.git/config branch.master1.remote=server
local file:.git/config branch.master1.merge=refs/heads/master2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose show server
* remote server
Fetch URL: file:///test_git/server/repo.git
Push URL: file:///test_git/server/repo.git
HEAD branch: master
Local branch configured for 'git pull':
master1 merges with remote master2
Local refs configured for 'git push':
master1 pushes to master (fast-forwardable)
master1 pushes to master1 (fast-forwardable)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' push
Enumerating objects: 1, done.
Counting objects: 100% (1/1), done.
Writing objects: 100% (1/1), 179 bytes | 179.00 KiB/s, done.
Total 1 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
To file:///test_git/server/repo.git
877d7ee..5b30a7d master1 -> master
a996016..5b30a7d master1 -> master1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --all
* 5b30a7d - 2026-10-28 22:09 (3 seconds ago) 5 - Han Jiang (HEAD -> refs/heads/master, refs/heads/master1)
* 7b3d708 - 2026-10-28 22:09 (9 seconds ago) 4 - Han Jiang (refs/heads/master2)
* a996016 - 2026-10-28 22:09 (13 seconds ago) 3 - Han Jiang
* 4b1507e - 2026-10-28 22:09 (21 seconds ago) 2 - Han Jiang
* 877d7ee - 2026-10-28 22:09 (26 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' commit --message="$((++number))" --allow-empty
[master1 1518287] 6
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' push server "$branch_default_name"'1' 'refs/heads/'"$branch_default_name"'1:refs/heads/'"$branch_default_name"'3'
Enumerating objects: 1, done.
Counting objects: 100% (1/1), done.
Writing objects: 100% (1/1), 178 bytes | 178.00 KiB/s, done.
Total 1 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
To file:///test_git/server/repo.git
5b30a7d..1518287 master1 -> master1
* [new branch] master1 -> master3
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --all
* 1518287 - 2026-10-28 22:09 (1 second ago) 6 - Han Jiang (refs/heads/master3, refs/heads/master1)
* 5b30a7d - 2026-10-28 22:09 (5 seconds ago) 5 - Han Jiang (HEAD -> refs/heads/master)
* 7b3d708 - 2026-10-28 22:09 (11 seconds ago) 4 - Han Jiang (refs/heads/master2)
* a996016 - 2026-10-28 22:09 (15 seconds ago) 3 - Han Jiang
* 4b1507e - 2026-10-28 22:09 (23 seconds ago) 2 - Han Jiang
* 877d7ee - 2026-10-28 22:09 (28 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ branch_default_name="$(git -C './client/repo' branch --show-current)"; echo "$branch_default_name"
master
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config unset --local 'remote.server.fetch'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' remote --verbose
server file:///test_git/server/repo.git (fetch)
server file:///test_git/server/repo.git (push)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server/repo.git
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' commit --message="$((++number))" --allow-empty; git -C './client/repo' branch --force branch1; git -C './client/repo' branch --force branch2
[master (root-commit) 2e86237] 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' push server branch1
Enumerating objects: 2, done.
Counting objects: 100% (2/2), done.
Writing objects: 100% (2/2), 159 bytes | 159.00 KiB/s, done.
Total 2 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
To file:///test_git/server/repo.git
* [new branch] branch1 -> branch1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --all
* 2e86237 - 2026-10-28 22:09 (2 seconds ago) 1 - Han Jiang (refs/heads/branch1)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' commit --message="$((++number))" --allow-empty; git -C './client/repo' branch --force branch1; git -C './client/repo' branch --force branch2
[master 59b239d] 2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' push server 'refs/heads/branch*:refs/heads/branch*3' 'refs/heads/branch*:refs/heads/branch*4'
Enumerating objects: 1, done.
Counting objects: 100% (1/1), done.
Writing objects: 100% (1/1), 178 bytes | 178.00 KiB/s, done.
Total 1 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
To file:///test_git/server/repo.git
* [new branch] branch1 -> branch13
* [new branch] branch2 -> branch23
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --all
* 59b239d - 2026-10-28 22:09 (2 seconds ago) 2 - Han Jiang (refs/heads/branch23, refs/heads/branch13)
* 2e86237 - 2026-10-28 22:09 (4 seconds ago) 1 - Han Jiang (refs/heads/branch1)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' commit --message="$((++number))" --allow-empty; git -C './client/repo' branch --force branch1; git -C './client/repo' branch --force branch2
[master 60959fe] 3
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' push server 'refs/heads/branch*:refs/heads/branch*4' 'refs/heads/branch*:refs/heads/branch*3'
Enumerating objects: 1, done.
Counting objects: 100% (1/1), done.
Writing objects: 100% (1/1), 178 bytes | 178.00 KiB/s, done.
Total 1 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
To file:///test_git/server/repo.git
* [new branch] branch1 -> branch14
* [new branch] branch2 -> branch24
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --all
* 60959fe - 2026-10-28 22:09 (1 second ago) 3 - Han Jiang (refs/heads/branch24, refs/heads/branch14)
* 59b239d - 2026-10-28 22:09 (4 seconds ago) 2 - Han Jiang (refs/heads/branch23, refs/heads/branch13)
* 2e86237 - 2026-10-28 22:09 (6 seconds ago) 1 - Han Jiang (refs/heads/branch1)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' commit --message="$((++number))" --allow-empty; git -C './client/repo' branch --force branch1; git -C './client/repo' branch --force branch2
[master f0d021c] 4
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' push server 'refs/heads/branch*:refs/heads/branch*3' 'refs/heads/branch*:refs/heads/branch*4' branch1
Enumerating objects: 1, done.
Counting objects: 100% (1/1), done.
Writing objects: 100% (1/1), 179 bytes | 179.00 KiB/s, done.
Total 1 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
To file:///test_git/server/repo.git
2e86237..f0d021c branch1 -> branch1
59b239d..f0d021c branch1 -> branch13
59b239d..f0d021c branch2 -> branch23
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --all
* f0d021c - 2026-10-28 22:09 (1 second ago) 4 - Han Jiang (refs/heads/branch23, refs/heads/branch13,
refs/heads/branch1)
* 60959fe - 2026-10-28 22:09 (3 seconds ago) 3 - Han Jiang (refs/heads/branch24, refs/heads/branch14)
* 59b239d - 2026-10-28 22:09 (6 seconds ago) 2 - Han Jiang
* 2e86237 - 2026-10-28 22:09 (8 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config set --local --append 'remote.server.push' '+refs/heads/branch*:refs/remotes/server/branch*2'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' config list --local --show-scope --show-origin
local file:.git/config core.repositoryformatversion=0
local file:.git/config core.filemode=false
local file:.git/config core.bare=false
local file:.git/config core.logallrefupdates=true
local file:.git/config core.ignorecase=true
local file:.git/config remote.server.url=file:///test_git/server/repo.git
local file:.git/config remote.server.push=+refs/heads/branch*:refs/remotes/server/branch*2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' commit --message="$((++number))" --allow-empty; git -C './client/repo' branch --force branch1; git -C './client/repo' branch --force branch2
[master 91083b0] 5
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' push server branch1
Enumerating objects: 1, done.
Counting objects: 100% (1/1), done.
Writing objects: 100% (1/1), 178 bytes | 178.00 KiB/s, done.
Total 1 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
To file:///test_git/server/repo.git
* [new reference] branch1 -> server/branch12
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --all
* 91083b0 - 2026-10-28 22:09 (2 seconds ago) 5 - Han Jiang (refs/remotes/server/branch12)
* f0d021c - 2026-10-28 22:09 (5 seconds ago) 4 - Han Jiang (refs/heads/branch23, refs/heads/branch13, refs/heads/branch1)
* 60959fe - 2026-10-28 22:09 (7 seconds ago) 3 - Han Jiang (refs/heads/branch24, refs/heads/branch14)
* 59b239d - 2026-10-28 22:09 (10 seconds ago) 2 - Han Jiang
* 2e86237 - 2026-10-28 22:09 (12 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' commit --message="$((++number))" --allow-empty; git -C './client/repo' branch --force branch1; git -C './client/repo' branch --force branch2
[master d09601f] 6
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' push server 'refs/heads/branch*:refs/heads/branch*3' 'refs/heads/branch*:refs/heads/branch*4'
Enumerating objects: 1, done.
Counting objects: 100% (1/1), done.
Writing objects: 100% (1/1), 178 bytes | 178.00 KiB/s, done.
Total 1 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
To file:///test_git/server/repo.git
f0d021c..d09601f branch1 -> branch13
f0d021c..d09601f branch2 -> branch23
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --all
* d09601f - 2026-10-28 22:09 (2 seconds ago) 6 - Han Jiang (refs/heads/branch23, refs/heads/branch13)
* 91083b0 - 2026-10-28 22:09 (4 seconds ago) 5 - Han Jiang (refs/remotes/server/branch12)
* f0d021c - 2026-10-28 22:09 (7 seconds ago) 4 - Han Jiang (refs/heads/branch1)
* 60959fe - 2026-10-28 22:09 (9 seconds ago) 3 - Han Jiang (refs/heads/branch24, refs/heads/branch14)
* 59b239d - 2026-10-28 22:09 (12 seconds ago) 2 - Han Jiang
* 2e86237 - 2026-10-28 22:09 (14 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' commit --message="$((++number))" --allow-empty; git -C './client/repo' branch --force branch1; git -C './client/repo' branch --force branch2
[master 7164600] 7
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' push server 'refs/heads/branch*:refs/heads/branch*4' 'refs/heads/branch*:refs/heads/branch*3'
Enumerating objects: 1, done.
Counting objects: 100% (1/1), done.
Writing objects: 100% (1/1), 179 bytes | 179.00 KiB/s, done.
Total 1 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
To file:///test_git/server/repo.git
60959fe..7164600 branch1 -> branch14
60959fe..7164600 branch2 -> branch24
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --all
* 7164600 - 2026-10-28 22:10 (1 second ago) 7 - Han Jiang (refs/heads/branch24, refs/heads/branch14)
* d09601f - 2026-10-28 22:09 (4 seconds ago) 6 - Han Jiang (refs/heads/branch23, refs/heads/branch13)
* 91083b0 - 2026-10-28 22:09 (6 seconds ago) 5 - Han Jiang (refs/remotes/server/branch12)
* f0d021c - 2026-10-28 22:09 (9 seconds ago) 4 - Han Jiang (refs/heads/branch1)
* 60959fe - 2026-10-28 22:09 (11 seconds ago) 3 - Han Jiang
* 59b239d - 2026-10-28 22:09 (14 seconds ago) 2 - Han Jiang
* 2e86237 - 2026-10-28 22:09 (16 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' commit --message="$((++number))" --allow-empty; git -C './client/repo' branch --force branch1; git -C './client/repo' branch --force branch2
[master 14c0555] 8
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' push server 'refs/heads/branch*:refs/heads/branch*3' 'refs/heads/branch*:refs/heads/branch*4' branch1
Enumerating objects: 1, done.
Counting objects: 100% (1/1), done.
Writing objects: 100% (1/1), 178 bytes | 178.00 KiB/s, done.
Total 1 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
To file:///test_git/server/repo.git
d09601f..14c0555 branch1 -> branch13
d09601f..14c0555 branch2 -> branch23
91083b0..14c0555 branch1 -> server/branch12
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --all
* 14c0555 - 2026-10-28 22:10 (1 second ago) 8 - Han Jiang (refs/remotes/server/branch12, refs/heads/branch23, refs/heads/branch13)
* 7164600 - 2026-10-28 22:10 (3 seconds ago) 7 - Han Jiang (refs/heads/branch24, refs/heads/branch14)
* d09601f - 2026-10-28 22:09 (6 seconds ago) 6 - Han Jiang
* 91083b0 - 2026-10-28 22:09 (8 seconds ago) 5 - Han Jiang
* f0d021c - 2026-10-28 22:09 (11 seconds ago) 4 - Han Jiang (refs/heads/branch1)
* 60959fe - 2026-10-28 22:09 (13 seconds ago) 3 - Han Jiang
* 59b239d - 2026-10-28 22:09 (16 seconds ago) 2 - Han Jiang
* 2e86237 - 2026-10-28 22:09 (18 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'; mkdir -- './repo/dir'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file_add'; echo '2' >'./repo/file_modify'; echo '4' >'./repo/file_remove'; git -C './repo' add './file_modify' './file_remove'; echo '3' >'./repo/file_modify'; rm -- './repo/file_remove'
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file_remove', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '5' >'./repo/dir/file_add'; echo '6' >'./repo/dir/file_modify'; echo '8' >'./repo/dir/file_remove'; git -C './repo/dir' add './file_modify' './file_remove'; echo '7' >'./repo/dir/file_modify'; rm -- './repo/dir/file_remove'
warning: in the working copy of 'dir/file_modify', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'dir/file_remove', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ mkdir -- './repo/dir_add' './repo/dir/dir_add'; echo '9' >'./repo/dir_add/file'; echo '10' >'./repo/dir/dir_add/file'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
dir/dir_add/file
dir/file_add
dir_add/file
file_add
100644 1e8b314962144c26d5e0e50fd29d2ca327864913 0 dir/file_modify
100644 45a4fb75db864000d01701c0f7a51864bd4daabf 0 dir/file_remove
100644 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f 0 file_modify
100644 b8626c4cff2849624fb67f87cd0ad72b163671ad 0 file_remove
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: dir/file_modify
new file: dir/file_remove
new file: file_modify
new file: file_remove
Changes not staged for commit:
(use "git add/rm <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: dir/file_modify
deleted: dir/file_remove
modified: file_modify
deleted: file_remove
Untracked files:
(use "git add <file>..." to include in what will be committed)
dir/dir_add/
dir/file_add
dir_add/
file_add
Changes to be committed:
diff --git c/dir/file_modify i/dir/file_modify
new file mode 100644
index 0000000..1e8b314
--- /dev/null
+++ i/dir/file_modify
@@ -0,0 +1 @@
+6
diff --git c/dir/file_remove i/dir/file_remove
new file mode 100644
index 0000000..45a4fb7
--- /dev/null
+++ i/dir/file_remove
@@ -0,0 +1 @@
+8
diff --git c/file_modify i/file_modify
new file mode 100644
index 0000000..0cfbf08
--- /dev/null
+++ i/file_modify
@@ -0,0 +1 @@
+2
diff --git c/file_remove i/file_remove
new file mode 100644
index 0000000..b8626c4
--- /dev/null
+++ i/file_remove
@@ -0,0 +1 @@
+4
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'dir/file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/dir/file_modify w/dir/file_modify
index 1e8b314..7f8f011 100644
--- i/dir/file_modify
+++ w/dir/file_modify
@@ -1 +1 @@
-6
+7
diff --git i/dir/file_remove w/dir/file_remove
deleted file mode 100644
index 45a4fb7..0000000
--- i/dir/file_remove
+++ /dev/null
@@ -1 +0,0 @@
-8
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/file_modify w/file_modify
index 0cfbf08..00750ed 100644
--- i/file_modify
+++ w/file_modify
@@ -1 +1 @@
-2
+3
diff --git i/file_remove w/file_remove
deleted file mode 100644
index b8626c4..0000000
--- i/file_remove
+++ /dev/null
@@ -1 +0,0 @@
-4
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo/dir' ls-files --stage --others
dir_add/file
file_add
100644 1e8b314962144c26d5e0e50fd29d2ca327864913 0 file_modify
100644 45a4fb75db864000d01701c0f7a51864bd4daabf 0 file_remove
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo/dir' status --verbose --verbose '.'
On branch master
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: file_modify
new file: file_remove
Changes not staged for commit:
(use "git add/rm <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: file_modify
deleted: file_remove
Untracked files:
(use "git add <file>..." to include in what will be committed)
dir_add/
file_add
Changes to be committed:
diff --git c/dir/file_modify i/dir/file_modify
new file mode 100644
index 0000000..1e8b314
--- /dev/null
+++ i/dir/file_modify
@@ -0,0 +1 @@
+6
diff --git c/dir/file_remove i/dir/file_remove
new file mode 100644
index 0000000..45a4fb7
--- /dev/null
+++ i/dir/file_remove
@@ -0,0 +1 @@
+8
diff --git c/file_modify i/file_modify
new file mode 100644
index 0000000..0cfbf08
--- /dev/null
+++ i/file_modify
@@ -0,0 +1 @@
+2
diff --git c/file_remove i/file_remove
new file mode 100644
index 0000000..b8626c4
--- /dev/null
+++ i/file_remove
@@ -0,0 +1 @@
+4
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'dir/file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/dir/file_modify w/dir/file_modify
index 1e8b314..7f8f011 100644
--- i/dir/file_modify
+++ w/dir/file_modify
@@ -1 +1 @@
-6
+7
diff --git i/dir/file_remove w/dir/file_remove
deleted file mode 100644
index 45a4fb7..0000000
--- i/dir/file_remove
+++ /dev/null
@@ -1 +0,0 @@
-8
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/file_modify w/file_modify
index 0cfbf08..00750ed 100644
--- i/file_modify
+++ w/file_modify
@@ -1 +1 @@
-2
+3
diff --git i/file_remove w/file_remove
deleted file mode 100644
index b8626c4..0000000
--- i/file_remove
+++ /dev/null
@@ -1 +0,0 @@
-4
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
no <pathspec>: no-op
<pathspec>: add/modify/remove
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo/dir' add --dry-run
Nothing specified, nothing added.
hint: Maybe you wanted to say 'git add .'?
hint: Disable this message with "git config set advice.addEmptyPathspec false"
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo/dir' add --dry-run '.'
add 'dir/file_modify'
remove 'dir/file_remove'
add 'dir/dir_add/file'
add 'dir/file_add'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
no <pathspec>: add/modify/remove entire working tree
<pathspec>: add/modify/remove
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo/dir' add --dry-run --all
add 'dir/file_modify'
remove 'dir/file_remove'
add 'file_modify'
remove 'file_remove'
add 'dir/dir_add/file'
add 'dir/file_add'
add 'dir_add/file'
add 'file_add'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo/dir' add --dry-run --all '.'
add 'dir/file_modify'
remove 'dir/file_remove'
add 'dir/dir_add/file'
add 'dir/file_add'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
no <pathspec>: modify/remove entire working tree
<pathspec>: modify/remove
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo/dir' add --dry-run --update
add 'dir/file_modify'
remove 'dir/file_remove'
add 'file_modify'
remove 'file_remove'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo/dir' add --dry-run --update '.'
add 'dir/file_modify'
remove 'dir/file_remove'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
no <pathspec>: no-op
<pathspec>: add/modify
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo/dir' add --dry-run --ignore-removal
Nothing specified, nothing added.
hint: Maybe you wanted to say 'git add .'?
hint: Disable this message with "git config set advice.addEmptyPathspec false"
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo/dir' add --dry-run --ignore-removal '.'
add 'dir/file_modify'
add 'dir/dir_add/file'
add 'dir/file_add'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; echo '1' >'./repo/file_conflict_marker'; git -C './repo' add './file' './file_conflict_marker'; git -C './repo' commit --message="$((++number))"; git -C './repo' branch branch2
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file_conflict_marker', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 10877a7] 1
2 files changed, 2 insertions(+)
create mode 100644 file
create mode 100644 file_conflict_marker
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout -b branch1; echo '2' >'./repo/file'; echo '2' >'./repo/file_conflict_marker'; git -C './repo' add './file' './file_conflict_marker'; git -C './repo' commit --message="$((++number))"
Switched to a new branch 'branch1'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file_conflict_marker', LF will be replaced by CRLF the next time Git touches it
[branch1 01ae50a] 2
2 files changed, 2 insertions(+), 2 deletions(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch2; echo '3' >'./repo/file'; echo '3' >'./repo/file_conflict_marker'; git -C './repo' add './file' './file_conflict_marker'; git -C './repo' commit --message="$((++number))"
Switched to branch 'branch2'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file_conflict_marker', LF will be replaced by CRLF the next time Git touches it
[branch2 03aea60] 3
2 files changed, 2 insertions(+), 2 deletions(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1
Switched to branch 'branch1'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* 03aea60 - 2026-10-28 22:10 (1 second ago) 3 - Han Jiang (refs/heads/branch2)
|
| diff --git a/file b/file
| index d00491f..00750ed 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +3
| diff --git a/file_conflict_marker b/file_conflict_marker
| index d00491f..00750ed 100644
| --- a/file_conflict_marker
| +++ b/file_conflict_marker
| @@ -1 +1 @@
| -1
| +3
| * 01ae50a - 2026-10-28 22:10 (2 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/branch1)
|/
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
| diff --git a/file_conflict_marker b/file_conflict_marker
| index d00491f..0cfbf08 100644
| --- a/file_conflict_marker
| +++ b/file_conflict_marker
| @@ -1 +1 @@
| -1
| +2
* 10877a7 - 2026-10-28 22:10 (3 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
diff --git a/file_conflict_marker b/file_conflict_marker
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file_conflict_marker
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --message="$((++number))" branch2
Auto-merging file
CONFLICT (content): Merge conflict in file
Auto-merging file_conflict_marker
CONFLICT (content): Merge conflict in file_conflict_marker
Automatic merge failed; fix conflicts and then commit the result.
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* 03aea60 - 2026-10-28 22:10 (2 seconds ago) 3 - Han Jiang (refs/heads/branch2)
|
| diff --git a/file b/file
| index d00491f..00750ed 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +3
| diff --git a/file_conflict_marker b/file_conflict_marker
| index d00491f..00750ed 100644
| --- a/file_conflict_marker
| +++ b/file_conflict_marker
| @@ -1 +1 @@
| -1
| +3
| * 01ae50a - 2026-10-28 22:10 (3 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/branch1)
|/
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
| diff --git a/file_conflict_marker b/file_conflict_marker
| index d00491f..0cfbf08 100644
| --- a/file_conflict_marker
| +++ b/file_conflict_marker
| @@ -1 +1 @@
| -1
| +2
* 10877a7 - 2026-10-28 22:10 (4 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
diff --git a/file_conflict_marker b/file_conflict_marker
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file_conflict_marker
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 d00491fd7e5bb6fa28c517a0bb32b8b506539d4d 1 file
100644 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f 2 file
100644 00750edc07d6415dcc07ae0351e9397b0222b7ba 3 file
100644 d00491fd7e5bb6fa28c517a0bb32b8b506539d4d 1 file_conflict_marker
100644 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f 2 file_conflict_marker
100644 00750edc07d6415dcc07ae0351e9397b0222b7ba 3 file_conflict_marker
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch branch1
You have unmerged paths.
(fix conflicts and run "git commit")
(use "git merge --abort" to abort the merge)
Unmerged paths:
(use "git add <file>..." to mark resolution)
both modified: file
both modified: file_conflict_marker
* Unmerged path file
* Unmerged path file_conflict_marker
no changes added to commit (use "git add" and/or "git commit -a")
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show :1:file
1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show :1:file_conflict_marker
1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show :2:file
2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show :2:file_conflict_marker
2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show :3:file
3
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show :3:file_conflict_marker
3
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show "$(git -C './repo' merge-base MERGE_HEAD HEAD)":file
1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show "$(git -C './repo' merge-base MERGE_HEAD HEAD)":file_conflict_marker
1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show HEAD:file
2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show HEAD:file_conflict_marker
2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show MERGE_HEAD:file
3
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show MERGE_HEAD:file_conflict_marker
3
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show AUTO_MERGE:file
<<<<<<< HEAD
2
=======
3
>>>>>>> branch2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show AUTO_MERGE:file_conflict_marker
<<<<<<< HEAD
2
=======
3
>>>>>>> branch2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '4' >'./repo/file'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --cc file
index 0cfbf08,00750ed..0000000
--- a/file
+++ b/file
@@@ -1,1 -1,1 +1,1 @@@
- 2
-3
++4
diff --cc file_conflict_marker
index 0cfbf08,00750ed..0000000
--- a/file_conflict_marker
+++ b/file_conflict_marker
@@@ -1,1 -1,1 +1,5 @@@
++<<<<<<< HEAD
+2
++=======
+ 3
++>>>>>>> branch2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --base
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
* Unmerged path file
diff --git a/file b/file
index d00491f..b8626c4 100644
--- a/file
+++ b/file
@@ -1 +1 @@
-1
+4
* Unmerged path file_conflict_marker
diff --git a/file_conflict_marker b/file_conflict_marker
index d00491f..79f797c 100644
--- a/file_conflict_marker
+++ b/file_conflict_marker
@@ -1 +1,5 @@
-1
+<<<<<<< HEAD
+2
+=======
+3
+>>>>>>> branch2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff "$(git -C './repo' merge-base MERGE_HEAD HEAD)"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git a/file b/file
index d00491f..b8626c4 100644
--- a/file
+++ b/file
@@ -1 +1 @@
-1
+4
diff --git a/file_conflict_marker b/file_conflict_marker
index d00491f..79f797c 100644
--- a/file_conflict_marker
+++ b/file_conflict_marker
@@ -1 +1,5 @@
-1
+<<<<<<< HEAD
+2
+=======
+3
+>>>>>>> branch2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --ours
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
* Unmerged path file
diff --git a/file b/file
index 0cfbf08..b8626c4 100644
--- a/file
+++ b/file
@@ -1 +1 @@
-2
+4
* Unmerged path file_conflict_marker
diff --git a/file_conflict_marker b/file_conflict_marker
index 0cfbf08..79f797c 100644
--- a/file_conflict_marker
+++ b/file_conflict_marker
@@ -1 +1,5 @@
+<<<<<<< HEAD
2
+=======
+3
+>>>>>>> branch2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff HEAD
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git a/file b/file
index 0cfbf08..b8626c4 100644
--- a/file
+++ b/file
@@ -1 +1 @@
-2
+4
diff --git a/file_conflict_marker b/file_conflict_marker
index 0cfbf08..79f797c 100644
--- a/file_conflict_marker
+++ b/file_conflict_marker
@@ -1 +1,5 @@
+<<<<<<< HEAD
2
+=======
+3
+>>>>>>> branch2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --theirs
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
* Unmerged path file
diff --git a/file b/file
index 00750ed..b8626c4 100644
--- a/file
+++ b/file
@@ -1 +1 @@
-3
+4
* Unmerged path file_conflict_marker
diff --git a/file_conflict_marker b/file_conflict_marker
index 00750ed..79f797c 100644
--- a/file_conflict_marker
+++ b/file_conflict_marker
@@ -1 +1,5 @@
+<<<<<<< HEAD
+2
+=======
3
+>>>>>>> branch2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff MERGE_HEAD
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git a/file b/file
index 00750ed..b8626c4 100644
--- a/file
+++ b/file
@@ -1 +1 @@
-3
+4
diff --git a/file_conflict_marker b/file_conflict_marker
index 00750ed..79f797c 100644
--- a/file_conflict_marker
+++ b/file_conflict_marker
@@ -1 +1,5 @@
+<<<<<<< HEAD
+2
+=======
3
+>>>>>>> branch2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff AUTO_MERGE
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git a/file b/file
index 79f797c..b8626c4 100644
--- a/file
+++ b/file
@@ -1,5 +1 @@
-<<<<<<< HEAD
-2
-=======
-3
->>>>>>> branch2
+4
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' add --dry-run --resolved
fatal: the following paths still have conflict markers:
file_conflict_marker
jhcarl0814@jhcarl0814 UCRT64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '4' >'./repo/file_conflict_marker'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' add --dry-run --resolved
add 'file'
add 'file_conflict_marker'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'; mkdir -- './repo/dir' './repo/dir/dir'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ touch -- './repo/file_add' './repo/file_new' './repo/dir/file_add' './repo/dir/file_new' './repo/dir/dir/file_add' './repo/dir/dir/file_new'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '*_add' > './repo/.gitignore'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' add --dry-run '.'
add '.gitignore'
add 'dir/dir/file_new'
add 'dir/file_new'
add 'file_new'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' add --dry-run --force '.'
add '.gitignore'
add 'dir/dir/file_add'
add 'dir/dir/file_new'
add 'dir/file_add'
add 'dir/file_new'
add 'file_add'
add 'file_new'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' add --dry-run '*'
add '.gitignore'
add 'dir/dir/file_new'
add 'dir/file_new'
add 'file_new'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' add --dry-run --force '*'
add '.gitignore'
add 'dir/dir/file_add'
add 'dir/dir/file_new'
add 'dir/file_add'
add 'dir/file_new'
add 'file_add'
add 'file_new'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' add --dry-run '*/*'
add 'dir/dir/file_new'
add 'dir/file_new'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' add --dry-run --force '*/*'
add 'dir/dir/file_add'
add 'dir/dir/file_new'
add 'dir/file_add'
add 'dir/file_new'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' add --dry-run './file_add'
The following paths are ignored by one of your .gitignore files:
file_add
hint: Use -f if you really want to add them.
hint: Disable this message with "git config set advice.addIgnoredFile false"
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' add --dry-run --force './file_add'
add 'file_add'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' add --dry-run './file_new'
add 'file_new'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' add --dry-run --force './file_new'
add 'file_new'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' add --dry-run 'file_add'
The following paths are ignored by one of your .gitignore files:
file_add
hint: Use -f if you really want to add them.
hint: Disable this message with "git config set advice.addIgnoredFile false"
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' add --dry-run --force 'file_add'
add 'file_add'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' add --dry-run 'file_new'
add 'file_new'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' add --dry-run --force 'file_new'
add 'file_new'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' add --dry-run '*file_add'
fatal: pathspec '*file_add' did not match any files
jhcarl0814@jhcarl0814 UCRT64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' add --dry-run --force '*file_add'
add 'dir/dir/file_add'
add 'dir/file_add'
add 'file_add'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' add --dry-run '*file_new'
add 'dir/dir/file_new'
add 'dir/file_new'
add 'file_new'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' add --dry-run --force '*file_new'
add 'dir/dir/file_new'
add 'dir/file_new'
add 'file_new'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' add --dry-run '*file*'
add 'dir/dir/file_new'
add 'dir/file_new'
add 'file_new'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' add --dry-run --force '*file*'
add 'dir/dir/file_add'
add 'dir/dir/file_new'
add 'dir/file_add'
add 'dir/file_new'
add 'file_add'
add 'file_new'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'; mkdir -- './repo/dir'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file_add'; echo '2' >'./repo/file_modify'; echo '4' >'./repo/file_remove'; git -C './repo' add './file_modify' './file_remove'; echo '3' >'./repo/file_modify'; rm -- './repo/file_remove'
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file_remove', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '5' >'./repo/dir/file_add'; echo '6' >'./repo/dir/file_modify'; echo '8' >'./repo/dir/file_remove'; git -C './repo/dir' add './file_modify' './file_remove'; echo '7' >'./repo/dir/file_modify'; rm -- './repo/dir/file_remove'
warning: in the working copy of 'dir/file_modify', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'dir/file_remove', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ mkdir -- './repo/dir_add' './repo/dir/dir_add'; echo '9' >'./repo/dir_add/file'; echo '10' >'./repo/dir/dir_add/file'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
dir/dir_add/file
dir/file_add
dir_add/file
file_add
100644 1e8b314962144c26d5e0e50fd29d2ca327864913 0 dir/file_modify
100644 45a4fb75db864000d01701c0f7a51864bd4daabf 0 dir/file_remove
100644 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f 0 file_modify
100644 b8626c4cff2849624fb67f87cd0ad72b163671ad 0 file_remove
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: dir/file_modify
new file: dir/file_remove
new file: file_modify
new file: file_remove
Changes not staged for commit:
(use "git add/rm <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: dir/file_modify
deleted: dir/file_remove
modified: file_modify
deleted: file_remove
Untracked files:
(use "git add <file>..." to include in what will be committed)
dir/dir_add/
dir/file_add
dir_add/
file_add
Changes to be committed:
diff --git c/dir/file_modify i/dir/file_modify
new file mode 100644
index 0000000..1e8b314
--- /dev/null
+++ i/dir/file_modify
@@ -0,0 +1 @@
+6
diff --git c/dir/file_remove i/dir/file_remove
new file mode 100644
index 0000000..45a4fb7
--- /dev/null
+++ i/dir/file_remove
@@ -0,0 +1 @@
+8
diff --git c/file_modify i/file_modify
new file mode 100644
index 0000000..0cfbf08
--- /dev/null
+++ i/file_modify
@@ -0,0 +1 @@
+2
diff --git c/file_remove i/file_remove
new file mode 100644
index 0000000..b8626c4
--- /dev/null
+++ i/file_remove
@@ -0,0 +1 @@
+4
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'dir/file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/dir/file_modify w/dir/file_modify
index 1e8b314..7f8f011 100644
--- i/dir/file_modify
+++ w/dir/file_modify
@@ -1 +1 @@
-6
+7
diff --git i/dir/file_remove w/dir/file_remove
deleted file mode 100644
index 45a4fb7..0000000
--- i/dir/file_remove
+++ /dev/null
@@ -1 +0,0 @@
-8
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/file_modify w/file_modify
index 0cfbf08..00750ed 100644
--- i/file_modify
+++ w/file_modify
@@ -1 +1 @@
-2
+3
diff --git i/file_remove w/file_remove
deleted file mode 100644
index b8626c4..0000000
--- i/file_remove
+++ /dev/null
@@ -1 +0,0 @@
-4
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo/dir' ls-files --stage --others
dir_add/file
file_add
100644 1e8b314962144c26d5e0e50fd29d2ca327864913 0 file_modify
100644 45a4fb75db864000d01701c0f7a51864bd4daabf 0 file_remove
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo/dir' status --verbose --verbose '.'
On branch master
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: file_modify
new file: file_remove
Changes not staged for commit:
(use "git add/rm <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: file_modify
deleted: file_remove
Untracked files:
(use "git add <file>..." to include in what will be committed)
dir_add/
file_add
Changes to be committed:
diff --git c/dir/file_modify i/dir/file_modify
new file mode 100644
index 0000000..1e8b314
--- /dev/null
+++ i/dir/file_modify
@@ -0,0 +1 @@
+6
diff --git c/dir/file_remove i/dir/file_remove
new file mode 100644
index 0000000..45a4fb7
--- /dev/null
+++ i/dir/file_remove
@@ -0,0 +1 @@
+8
diff --git c/file_modify i/file_modify
new file mode 100644
index 0000000..0cfbf08
--- /dev/null
+++ i/file_modify
@@ -0,0 +1 @@
+2
diff --git c/file_remove i/file_remove
new file mode 100644
index 0000000..b8626c4
--- /dev/null
+++ i/file_remove
@@ -0,0 +1 @@
+4
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'dir/file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/dir/file_modify w/dir/file_modify
index 1e8b314..7f8f011 100644
--- i/dir/file_modify
+++ w/dir/file_modify
@@ -1 +1 @@
-6
+7
diff --git i/dir/file_remove w/dir/file_remove
deleted file mode 100644
index 45a4fb7..0000000
--- i/dir/file_remove
+++ /dev/null
@@ -1 +0,0 @@
-8
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/file_modify w/file_modify
index 0cfbf08..00750ed 100644
--- i/file_modify
+++ w/file_modify
@@ -1 +1 @@
-2
+3
diff --git i/file_remove w/file_remove
deleted file mode 100644
index b8626c4..0000000
--- i/file_remove
+++ /dev/null
@@ -1 +0,0 @@
-4
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo/dir' add --intent-to-add
Nothing specified, nothing added.
hint: Maybe you wanted to say 'git add .'?
hint: Disable this message with "git config set advice.addEmptyPathspec false"
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
dir/dir_add/file
dir/file_add
dir_add/file
file_add
100644 1e8b314962144c26d5e0e50fd29d2ca327864913 0 dir/file_modify
100644 45a4fb75db864000d01701c0f7a51864bd4daabf 0 dir/file_remove
100644 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f 0 file_modify
100644 b8626c4cff2849624fb67f87cd0ad72b163671ad 0 file_remove
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: dir/file_modify
new file: dir/file_remove
new file: file_modify
new file: file_remove
Changes not staged for commit:
(use "git add/rm <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: dir/file_modify
deleted: dir/file_remove
modified: file_modify
deleted: file_remove
Untracked files:
(use "git add <file>..." to include in what will be committed)
dir/dir_add/
dir/file_add
dir_add/
file_add
Changes to be committed:
diff --git c/dir/file_modify i/dir/file_modify
new file mode 100644
index 0000000..1e8b314
--- /dev/null
+++ i/dir/file_modify
@@ -0,0 +1 @@
+6
diff --git c/dir/file_remove i/dir/file_remove
new file mode 100644
index 0000000..45a4fb7
--- /dev/null
+++ i/dir/file_remove
@@ -0,0 +1 @@
+8
diff --git c/file_modify i/file_modify
new file mode 100644
index 0000000..0cfbf08
--- /dev/null
+++ i/file_modify
@@ -0,0 +1 @@
+2
diff --git c/file_remove i/file_remove
new file mode 100644
index 0000000..b8626c4
--- /dev/null
+++ i/file_remove
@@ -0,0 +1 @@
+4
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'dir/file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/dir/file_modify w/dir/file_modify
index 1e8b314..7f8f011 100644
--- i/dir/file_modify
+++ w/dir/file_modify
@@ -1 +1 @@
-6
+7
diff --git i/dir/file_remove w/dir/file_remove
deleted file mode 100644
index 45a4fb7..0000000
--- i/dir/file_remove
+++ /dev/null
@@ -1 +0,0 @@
-8
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/file_modify w/file_modify
index 0cfbf08..00750ed 100644
--- i/file_modify
+++ w/file_modify
@@ -1 +1 @@
-2
+3
diff --git i/file_remove w/file_remove
deleted file mode 100644
index b8626c4..0000000
--- i/file_remove
+++ /dev/null
@@ -1 +0,0 @@
-4
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo/dir' ls-files --stage --others
dir_add/file
file_add
100644 1e8b314962144c26d5e0e50fd29d2ca327864913 0 file_modify
100644 45a4fb75db864000d01701c0f7a51864bd4daabf 0 file_remove
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo/dir' status --verbose --verbose '.'
On branch master
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: file_modify
new file: file_remove
Changes not staged for commit:
(use "git add/rm <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: file_modify
deleted: file_remove
Untracked files:
(use "git add <file>..." to include in what will be committed)
dir_add/
file_add
Changes to be committed:
diff --git c/dir/file_modify i/dir/file_modify
new file mode 100644
index 0000000..1e8b314
--- /dev/null
+++ i/dir/file_modify
@@ -0,0 +1 @@
+6
diff --git c/dir/file_remove i/dir/file_remove
new file mode 100644
index 0000000..45a4fb7
--- /dev/null
+++ i/dir/file_remove
@@ -0,0 +1 @@
+8
diff --git c/file_modify i/file_modify
new file mode 100644
index 0000000..0cfbf08
--- /dev/null
+++ i/file_modify
@@ -0,0 +1 @@
+2
diff --git c/file_remove i/file_remove
new file mode 100644
index 0000000..b8626c4
--- /dev/null
+++ i/file_remove
@@ -0,0 +1 @@
+4
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'dir/file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/dir/file_modify w/dir/file_modify
index 1e8b314..7f8f011 100644
--- i/dir/file_modify
+++ w/dir/file_modify
@@ -1 +1 @@
-6
+7
diff --git i/dir/file_remove w/dir/file_remove
deleted file mode 100644
index 45a4fb7..0000000
--- i/dir/file_remove
+++ /dev/null
@@ -1 +0,0 @@
-8
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/file_modify w/file_modify
index 0cfbf08..00750ed 100644
--- i/file_modify
+++ w/file_modify
@@ -1 +1 @@
-2
+3
diff --git i/file_remove w/file_remove
deleted file mode 100644
index b8626c4..0000000
--- i/file_remove
+++ /dev/null
@@ -1 +0,0 @@
-4
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo/dir' add --intent-to-add '.'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
dir_add/file
file_add
100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 dir/dir_add/file
100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 dir/file_add
100644 1e8b314962144c26d5e0e50fd29d2ca327864913 0 dir/file_modify
100644 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f 0 file_modify
100644 b8626c4cff2849624fb67f87cd0ad72b163671ad 0 file_remove
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
warning: in the working copy of 'dir/dir_add/file', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'dir/file_add', LF will be replaced by CRLF the next time Git touches it
On branch master
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: dir/file_modify
new file: file_modify
new file: file_remove
Changes not staged for commit:
(use "git add/rm <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
new file: dir/dir_add/file
new file: dir/file_add
modified: dir/file_modify
modified: file_modify
deleted: file_remove
Untracked files:
(use "git add <file>..." to include in what will be committed)
dir_add/
file_add
Changes to be committed:
diff --git c/dir/file_modify i/dir/file_modify
new file mode 100644
index 0000000..1e8b314
--- /dev/null
+++ i/dir/file_modify
@@ -0,0 +1 @@
+6
diff --git c/file_modify i/file_modify
new file mode 100644
index 0000000..0cfbf08
--- /dev/null
+++ i/file_modify
@@ -0,0 +1 @@
+2
diff --git c/file_remove i/file_remove
new file mode 100644
index 0000000..b8626c4
--- /dev/null
+++ i/file_remove
@@ -0,0 +1 @@
+4
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'dir/dir_add/file', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'dir/file_add', LF will be replaced by CRLF the next time Git touches it
diff --git i/dir/dir_add/file w/dir/dir_add/file
new file mode 100644
index 0000000..f599e28
warning: in the working copy of 'dir/dir_add/file', LF will be replaced by CRLF the next time Git touches it
--- /dev/null
+++ w/dir/dir_add/file
@@ -0,0 +1 @@
+10
diff --git i/dir/file_add w/dir/file_add
new file mode 100644
index 0000000..7ed6ff8
warning: in the working copy of 'dir/file_add', LF will be replaced by CRLF the next time Git touches it
--- /dev/null
+++ w/dir/file_add
@@ -0,0 +1 @@
+5
warning: in the working copy of 'dir/file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/dir/file_modify w/dir/file_modify
index 1e8b314..7f8f011 100644
--- i/dir/file_modify
+++ w/dir/file_modify
@@ -1 +1 @@
-6
+7
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/file_modify w/file_modify
index 0cfbf08..00750ed 100644
--- i/file_modify
+++ w/file_modify
@@ -1 +1 @@
-2
+3
diff --git i/file_remove w/file_remove
deleted file mode 100644
index b8626c4..0000000
--- i/file_remove
+++ /dev/null
@@ -1 +0,0 @@
-4
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo/dir' ls-files --stage --others
100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 dir_add/file
100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 file_add
100644 1e8b314962144c26d5e0e50fd29d2ca327864913 0 file_modify
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo/dir' status --verbose --verbose '.'
On branch master
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: file_modify
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
new file: dir_add/file
new file: file_add
modified: file_modify
Changes to be committed:
diff --git c/dir/file_modify i/dir/file_modify
new file mode 100644
index 0000000..1e8b314
--- /dev/null
+++ i/dir/file_modify
@@ -0,0 +1 @@
+6
diff --git c/file_modify i/file_modify
new file mode 100644
index 0000000..0cfbf08
--- /dev/null
+++ i/file_modify
@@ -0,0 +1 @@
+2
diff --git c/file_remove i/file_remove
new file mode 100644
index 0000000..b8626c4
--- /dev/null
+++ i/file_remove
@@ -0,0 +1 @@
+4
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'dir/dir_add/file', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'dir/file_add', LF will be replaced by CRLF the next time Git touches it
diff --git i/dir/dir_add/file w/dir/dir_add/file
new file mode 100644
index 0000000..f599e28
warning: in the working copy of 'dir/dir_add/file', LF will be replaced by CRLF the next time Git touches it
--- /dev/null
+++ w/dir/dir_add/file
@@ -0,0 +1 @@
+10
diff --git i/dir/file_add w/dir/file_add
new file mode 100644
index 0000000..7ed6ff8
warning: in the working copy of 'dir/file_add', LF will be replaced by CRLF the next time Git touches it
--- /dev/null
+++ w/dir/file_add
@@ -0,0 +1 @@
+5
warning: in the working copy of 'dir/file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/dir/file_modify w/dir/file_modify
index 1e8b314..7f8f011 100644
--- i/dir/file_modify
+++ w/dir/file_modify
@@ -1 +1 @@
-6
+7
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/file_modify w/file_modify
index 0cfbf08..00750ed 100644
--- i/file_modify
+++ w/file_modify
@@ -1 +1 @@
-2
+3
diff --git i/file_remove w/file_remove
deleted file mode 100644
index b8626c4..0000000
--- i/file_remove
+++ /dev/null
@@ -1 +0,0 @@
-4
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo/dir' add --intent-to-add --all
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 dir/dir_add/file
100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 dir/file_add
100644 1e8b314962144c26d5e0e50fd29d2ca327864913 0 dir/file_modify
100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 dir_add/file
100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 file_add
100644 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f 0 file_modify
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: dir/file_modify
new file: file_modify
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
new file: dir/dir_add/file
new file: dir/file_add
modified: dir/file_modify
new file: dir_add/file
new file: file_add
modified: file_modify
Changes to be committed:
diff --git c/dir/file_modify i/dir/file_modify
new file mode 100644
index 0000000..1e8b314
--- /dev/null
+++ i/dir/file_modify
@@ -0,0 +1 @@
+6
diff --git c/file_modify i/file_modify
new file mode 100644
index 0000000..0cfbf08
--- /dev/null
+++ i/file_modify
@@ -0,0 +1 @@
+2
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'dir/dir_add/file', LF will be replaced by CRLF the next time Git touches it
diff --git i/dir/dir_add/file w/dir/dir_add/file
new file mode 100644
index 0000000..f599e28
--- /dev/null
+++ w/dir/dir_add/file
@@ -0,0 +1 @@
+10
warning: in the working copy of 'dir/file_add', LF will be replaced by CRLF the next time Git touches it
diff --git i/dir/file_add w/dir/file_add
new file mode 100644
index 0000000..7ed6ff8
--- /dev/null
+++ w/dir/file_add
@@ -0,0 +1 @@
+5
warning: in the working copy of 'dir/file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/dir/file_modify w/dir/file_modify
index 1e8b314..7f8f011 100644
--- i/dir/file_modify
+++ w/dir/file_modify
@@ -1 +1 @@
-6
+7
warning: in the working copy of 'dir_add/file', LF will be replaced by CRLF the next time Git touches it
diff --git i/dir_add/file w/dir_add/file
new file mode 100644
index 0000000..ec63514
--- /dev/null
+++ w/dir_add/file
@@ -0,0 +1 @@
+9
warning: in the working copy of 'file_add', LF will be replaced by CRLF the next time Git touches it
diff --git i/file_add w/file_add
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ w/file_add
@@ -0,0 +1 @@
+1
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/file_modify w/file_modify
index 0cfbf08..00750ed 100644
--- i/file_modify
+++ w/file_modify
@@ -1 +1 @@
-2
+3
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo/dir' ls-files --stage --others
100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 dir_add/file
100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 file_add
100644 1e8b314962144c26d5e0e50fd29d2ca327864913 0 file_modify
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo/dir' status --verbose --verbose '.'
On branch master
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: file_modify
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
new file: dir_add/file
new file: file_add
modified: file_modify
Changes to be committed:
diff --git c/dir/file_modify i/dir/file_modify
new file mode 100644
index 0000000..1e8b314
--- /dev/null
+++ i/dir/file_modify
@@ -0,0 +1 @@
+6
diff --git c/file_modify i/file_modify
new file mode 100644
index 0000000..0cfbf08
--- /dev/null
+++ i/file_modify
@@ -0,0 +1 @@
+2
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'dir/dir_add/file', LF will be replaced by CRLF the next time Git touches it
diff --git i/dir/dir_add/file w/dir/dir_add/file
new file mode 100644
index 0000000..f599e28
--- /dev/null
+++ w/dir/dir_add/file
@@ -0,0 +1 @@
+10
warning: in the working copy of 'dir/file_add', LF will be replaced by CRLF the next time Git touches it
diff --git i/dir/file_add w/dir/file_add
new file mode 100644
index 0000000..7ed6ff8
--- /dev/null
+++ w/dir/file_add
@@ -0,0 +1 @@
+5
warning: in the working copy of 'dir/file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/dir/file_modify w/dir/file_modify
index 1e8b314..7f8f011 100644
--- i/dir/file_modify
+++ w/dir/file_modify
@@ -1 +1 @@
-6
+7
warning: in the working copy of 'dir_add/file', LF will be replaced by CRLF the next time Git touches it
diff --git i/dir_add/file w/dir_add/file
new file mode 100644
index 0000000..ec63514
--- /dev/null
+++ w/dir_add/file
@@ -0,0 +1 @@
+9
warning: in the working copy of 'file_add', LF will be replaced by CRLF the next time Git touches it
diff --git i/file_add w/file_add
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ w/file_add
@@ -0,0 +1 @@
+1
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/file_modify w/file_modify
index 0cfbf08..00750ed 100644
--- i/file_modify
+++ w/file_modify
@@ -1 +1 @@
-2
+3
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo/dir' add --intent-to-add --all '.'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
dir_add/file
file_add
100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 dir/dir_add/file
100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 dir/file_add
100644 1e8b314962144c26d5e0e50fd29d2ca327864913 0 dir/file_modify
100644 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f 0 file_modify
100644 b8626c4cff2849624fb67f87cd0ad72b163671ad 0 file_remove
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
warning: in the working copy of 'dir/dir_add/file', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'dir/file_add', LF will be replaced by CRLF the next time Git touches it
On branch master
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: dir/file_modify
new file: file_modify
new file: file_remove
Changes not staged for commit:
(use "git add/rm <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
new file: dir/dir_add/file
new file: dir/file_add
modified: dir/file_modify
modified: file_modify
deleted: file_remove
Untracked files:
(use "git add <file>..." to include in what will be committed)
dir_add/
file_add
Changes to be committed:
diff --git c/dir/file_modify i/dir/file_modify
new file mode 100644
index 0000000..1e8b314
--- /dev/null
+++ i/dir/file_modify
@@ -0,0 +1 @@
+6
diff --git c/file_modify i/file_modify
new file mode 100644
index 0000000..0cfbf08
--- /dev/null
+++ i/file_modify
@@ -0,0 +1 @@
+2
diff --git c/file_remove i/file_remove
new file mode 100644
index 0000000..b8626c4
--- /dev/null
+++ i/file_remove
@@ -0,0 +1 @@
+4
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'dir/dir_add/file', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'dir/file_add', LF will be replaced by CRLF the next time Git touches it
diff --git i/dir/dir_add/file w/dir/dir_add/file
new file mode 100644
index 0000000..f599e28
warning: in the working copy of 'dir/dir_add/file', LF will be replaced by CRLF the next time Git touches it
--- /dev/null
+++ w/dir/dir_add/file
@@ -0,0 +1 @@
+10
diff --git i/dir/file_add w/dir/file_add
new file mode 100644
index 0000000..7ed6ff8
warning: in the working copy of 'dir/file_add', LF will be replaced by CRLF the next time Git touches it
--- /dev/null
+++ w/dir/file_add
@@ -0,0 +1 @@
+5
warning: in the working copy of 'dir/file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/dir/file_modify w/dir/file_modify
index 1e8b314..7f8f011 100644
--- i/dir/file_modify
+++ w/dir/file_modify
@@ -1 +1 @@
-6
+7
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/file_modify w/file_modify
index 0cfbf08..00750ed 100644
--- i/file_modify
+++ w/file_modify
@@ -1 +1 @@
-2
+3
diff --git i/file_remove w/file_remove
deleted file mode 100644
index b8626c4..0000000
--- i/file_remove
+++ /dev/null
@@ -1 +0,0 @@
-4
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo/dir' ls-files --stage --others
100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 dir_add/file
100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 file_add
100644 1e8b314962144c26d5e0e50fd29d2ca327864913 0 file_modify
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo/dir' status --verbose --verbose '.'
On branch master
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: file_modify
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
new file: dir_add/file
new file: file_add
modified: file_modify
Changes to be committed:
diff --git c/dir/file_modify i/dir/file_modify
new file mode 100644
index 0000000..1e8b314
--- /dev/null
+++ i/dir/file_modify
@@ -0,0 +1 @@
+6
diff --git c/file_modify i/file_modify
new file mode 100644
index 0000000..0cfbf08
--- /dev/null
+++ i/file_modify
@@ -0,0 +1 @@
+2
diff --git c/file_remove i/file_remove
new file mode 100644
index 0000000..b8626c4
--- /dev/null
+++ i/file_remove
@@ -0,0 +1 @@
+4
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'dir/dir_add/file', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'dir/file_add', LF will be replaced by CRLF the next time Git touches it
diff --git i/dir/dir_add/file w/dir/dir_add/file
new file mode 100644
index 0000000..f599e28
warning: in the working copy of 'dir/dir_add/file', LF will be replaced by CRLF the next time Git touches it
--- /dev/null
+++ w/dir/dir_add/file
@@ -0,0 +1 @@
+10
diff --git i/dir/file_add w/dir/file_add
new file mode 100644
index 0000000..7ed6ff8
warning: in the working copy of 'dir/file_add', LF will be replaced by CRLF the next time Git touches it
--- /dev/null
+++ w/dir/file_add
@@ -0,0 +1 @@
+5
warning: in the working copy of 'dir/file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/dir/file_modify w/dir/file_modify
index 1e8b314..7f8f011 100644
--- i/dir/file_modify
+++ w/dir/file_modify
@@ -1 +1 @@
-6
+7
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/file_modify w/file_modify
index 0cfbf08..00750ed 100644
--- i/file_modify
+++ w/file_modify
@@ -1 +1 @@
-2
+3
diff --git i/file_remove w/file_remove
deleted file mode 100644
index b8626c4..0000000
--- i/file_remove
+++ /dev/null
@@ -1 +0,0 @@
-4
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo/dir' add --intent-to-add --update
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
dir/dir_add/file
dir/file_add
dir_add/file
file_add
100644 1e8b314962144c26d5e0e50fd29d2ca327864913 0 dir/file_modify
100644 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f 0 file_modify
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: dir/file_modify
new file: file_modify
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: dir/file_modify
modified: file_modify
Untracked files:
(use "git add <file>..." to include in what will be committed)
dir/dir_add/
dir/file_add
dir_add/
file_add
Changes to be committed:
diff --git c/dir/file_modify i/dir/file_modify
new file mode 100644
index 0000000..1e8b314
--- /dev/null
+++ i/dir/file_modify
@@ -0,0 +1 @@
+6
diff --git c/file_modify i/file_modify
new file mode 100644
index 0000000..0cfbf08
--- /dev/null
+++ i/file_modify
@@ -0,0 +1 @@
+2
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'dir/file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/dir/file_modify w/dir/file_modify
index 1e8b314..7f8f011 100644
--- i/dir/file_modify
+++ w/dir/file_modify
@@ -1 +1 @@
-6
+7
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/file_modify w/file_modify
index 0cfbf08..00750ed 100644
--- i/file_modify
+++ w/file_modify
@@ -1 +1 @@
-2
+3
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo/dir' ls-files --stage --others
dir_add/file
file_add
100644 1e8b314962144c26d5e0e50fd29d2ca327864913 0 file_modify
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo/dir' status --verbose --verbose '.'
On branch master
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: file_modify
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: file_modify
Untracked files:
(use "git add <file>..." to include in what will be committed)
dir_add/
file_add
Changes to be committed:
diff --git c/dir/file_modify i/dir/file_modify
new file mode 100644
index 0000000..1e8b314
--- /dev/null
+++ i/dir/file_modify
@@ -0,0 +1 @@
+6
diff --git c/file_modify i/file_modify
new file mode 100644
index 0000000..0cfbf08
--- /dev/null
+++ i/file_modify
@@ -0,0 +1 @@
+2
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'dir/file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/dir/file_modify w/dir/file_modify
index 1e8b314..7f8f011 100644
--- i/dir/file_modify
+++ w/dir/file_modify
@@ -1 +1 @@
-6
+7
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/file_modify w/file_modify
index 0cfbf08..00750ed 100644
--- i/file_modify
+++ w/file_modify
@@ -1 +1 @@
-2
+3
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo/dir' add --intent-to-add --update '.'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
dir/dir_add/file
dir/file_add
dir_add/file
file_add
100644 1e8b314962144c26d5e0e50fd29d2ca327864913 0 dir/file_modify
100644 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f 0 file_modify
100644 b8626c4cff2849624fb67f87cd0ad72b163671ad 0 file_remove
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: dir/file_modify
new file: file_modify
new file: file_remove
Changes not staged for commit:
(use "git add/rm <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: dir/file_modify
modified: file_modify
deleted: file_remove
Untracked files:
(use "git add <file>..." to include in what will be committed)
dir/dir_add/
dir/file_add
dir_add/
file_add
Changes to be committed:
diff --git c/dir/file_modify i/dir/file_modify
new file mode 100644
index 0000000..1e8b314
--- /dev/null
+++ i/dir/file_modify
@@ -0,0 +1 @@
+6
diff --git c/file_modify i/file_modify
new file mode 100644
index 0000000..0cfbf08
--- /dev/null
+++ i/file_modify
@@ -0,0 +1 @@
+2
diff --git c/file_remove i/file_remove
new file mode 100644
index 0000000..b8626c4
--- /dev/null
+++ i/file_remove
@@ -0,0 +1 @@
+4
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'dir/file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/dir/file_modify w/dir/file_modify
index 1e8b314..7f8f011 100644
--- i/dir/file_modify
+++ w/dir/file_modify
@@ -1 +1 @@
-6
+7
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/file_modify w/file_modify
index 0cfbf08..00750ed 100644
--- i/file_modify
+++ w/file_modify
@@ -1 +1 @@
-2
+3
diff --git i/file_remove w/file_remove
deleted file mode 100644
index b8626c4..0000000
--- i/file_remove
+++ /dev/null
@@ -1 +0,0 @@
-4
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo/dir' ls-files --stage --others
dir_add/file
file_add
100644 1e8b314962144c26d5e0e50fd29d2ca327864913 0 file_modify
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo/dir' status --verbose --verbose '.'
On branch master
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: file_modify
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: file_modify
Untracked files:
(use "git add <file>..." to include in what will be committed)
dir_add/
file_add
Changes to be committed:
diff --git c/dir/file_modify i/dir/file_modify
new file mode 100644
index 0000000..1e8b314
--- /dev/null
+++ i/dir/file_modify
@@ -0,0 +1 @@
+6
diff --git c/file_modify i/file_modify
new file mode 100644
index 0000000..0cfbf08
--- /dev/null
+++ i/file_modify
@@ -0,0 +1 @@
+2
diff --git c/file_remove i/file_remove
new file mode 100644
index 0000000..b8626c4
--- /dev/null
+++ i/file_remove
@@ -0,0 +1 @@
+4
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'dir/file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/dir/file_modify w/dir/file_modify
index 1e8b314..7f8f011 100644
--- i/dir/file_modify
+++ w/dir/file_modify
@@ -1 +1 @@
-6
+7
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/file_modify w/file_modify
index 0cfbf08..00750ed 100644
--- i/file_modify
+++ w/file_modify
@@ -1 +1 @@
-2
+3
diff --git i/file_remove w/file_remove
deleted file mode 100644
index b8626c4..0000000
--- i/file_remove
+++ /dev/null
@@ -1 +0,0 @@
-4
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo/dir' add --intent-to-add --ignore-removal
Nothing specified, nothing added.
hint: Maybe you wanted to say 'git add .'?
hint: Disable this message with "git config set advice.addEmptyPathspec false"
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
dir/dir_add/file
dir/file_add
dir_add/file
file_add
100644 1e8b314962144c26d5e0e50fd29d2ca327864913 0 dir/file_modify
100644 45a4fb75db864000d01701c0f7a51864bd4daabf 0 dir/file_remove
100644 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f 0 file_modify
100644 b8626c4cff2849624fb67f87cd0ad72b163671ad 0 file_remove
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: dir/file_modify
new file: dir/file_remove
new file: file_modify
new file: file_remove
Changes not staged for commit:
(use "git add/rm <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: dir/file_modify
deleted: dir/file_remove
modified: file_modify
deleted: file_remove
Untracked files:
(use "git add <file>..." to include in what will be committed)
dir/dir_add/
dir/file_add
dir_add/
file_add
Changes to be committed:
diff --git c/dir/file_modify i/dir/file_modify
new file mode 100644
index 0000000..1e8b314
--- /dev/null
+++ i/dir/file_modify
@@ -0,0 +1 @@
+6
diff --git c/dir/file_remove i/dir/file_remove
new file mode 100644
index 0000000..45a4fb7
--- /dev/null
+++ i/dir/file_remove
@@ -0,0 +1 @@
+8
diff --git c/file_modify i/file_modify
new file mode 100644
index 0000000..0cfbf08
--- /dev/null
+++ i/file_modify
@@ -0,0 +1 @@
+2
diff --git c/file_remove i/file_remove
new file mode 100644
index 0000000..b8626c4
--- /dev/null
+++ i/file_remove
@@ -0,0 +1 @@
+4
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'dir/file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/dir/file_modify w/dir/file_modify
index 1e8b314..7f8f011 100644
--- i/dir/file_modify
+++ w/dir/file_modify
@@ -1 +1 @@
-6
+7
diff --git i/dir/file_remove w/dir/file_remove
deleted file mode 100644
index 45a4fb7..0000000
--- i/dir/file_remove
+++ /dev/null
@@ -1 +0,0 @@
-8
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/file_modify w/file_modify
index 0cfbf08..00750ed 100644
--- i/file_modify
+++ w/file_modify
@@ -1 +1 @@
-2
+3
diff --git i/file_remove w/file_remove
deleted file mode 100644
index b8626c4..0000000
--- i/file_remove
+++ /dev/null
@@ -1 +0,0 @@
-4
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo/dir' ls-files --stage --others
dir_add/file
file_add
100644 1e8b314962144c26d5e0e50fd29d2ca327864913 0 file_modify
100644 45a4fb75db864000d01701c0f7a51864bd4daabf 0 file_remove
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo/dir' status --verbose --verbose '.'
On branch master
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: file_modify
new file: file_remove
Changes not staged for commit:
(use "git add/rm <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: file_modify
deleted: file_remove
Untracked files:
(use "git add <file>..." to include in what will be committed)
dir_add/
file_add
Changes to be committed:
diff --git c/dir/file_modify i/dir/file_modify
new file mode 100644
index 0000000..1e8b314
--- /dev/null
+++ i/dir/file_modify
@@ -0,0 +1 @@
+6
diff --git c/dir/file_remove i/dir/file_remove
new file mode 100644
index 0000000..45a4fb7
--- /dev/null
+++ i/dir/file_remove
@@ -0,0 +1 @@
+8
diff --git c/file_modify i/file_modify
new file mode 100644
index 0000000..0cfbf08
--- /dev/null
+++ i/file_modify
@@ -0,0 +1 @@
+2
diff --git c/file_remove i/file_remove
new file mode 100644
index 0000000..b8626c4
--- /dev/null
+++ i/file_remove
@@ -0,0 +1 @@
+4
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'dir/file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/dir/file_modify w/dir/file_modify
index 1e8b314..7f8f011 100644
--- i/dir/file_modify
+++ w/dir/file_modify
@@ -1 +1 @@
-6
+7
diff --git i/dir/file_remove w/dir/file_remove
deleted file mode 100644
index 45a4fb7..0000000
--- i/dir/file_remove
+++ /dev/null
@@ -1 +0,0 @@
-8
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/file_modify w/file_modify
index 0cfbf08..00750ed 100644
--- i/file_modify
+++ w/file_modify
@@ -1 +1 @@
-2
+3
diff --git i/file_remove w/file_remove
deleted file mode 100644
index b8626c4..0000000
--- i/file_remove
+++ /dev/null
@@ -1 +0,0 @@
-4
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo/dir' add --intent-to-add --ignore-removal '.'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
dir_add/file
file_add
100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 dir/dir_add/file
100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 dir/file_add
100644 1e8b314962144c26d5e0e50fd29d2ca327864913 0 dir/file_modify
100644 45a4fb75db864000d01701c0f7a51864bd4daabf 0 dir/file_remove
100644 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f 0 file_modify
100644 b8626c4cff2849624fb67f87cd0ad72b163671ad 0 file_remove
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
warning: in the working copy of 'dir/dir_add/file', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'dir/file_add', LF will be replaced by CRLF the next time Git touches it
On branch master
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: dir/file_modify
new file: dir/file_remove
new file: file_modify
new file: file_remove
Changes not staged for commit:
(use "git add/rm <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
new file: dir/dir_add/file
new file: dir/file_add
modified: dir/file_modify
deleted: dir/file_remove
modified: file_modify
deleted: file_remove
Untracked files:
(use "git add <file>..." to include in what will be committed)
dir_add/
file_add
Changes to be committed:
diff --git c/dir/file_modify i/dir/file_modify
new file mode 100644
index 0000000..1e8b314
--- /dev/null
+++ i/dir/file_modify
@@ -0,0 +1 @@
+6
diff --git c/dir/file_remove i/dir/file_remove
new file mode 100644
index 0000000..45a4fb7
--- /dev/null
+++ i/dir/file_remove
@@ -0,0 +1 @@
+8
diff --git c/file_modify i/file_modify
new file mode 100644
index 0000000..0cfbf08
--- /dev/null
+++ i/file_modify
@@ -0,0 +1 @@
+2
diff --git c/file_remove i/file_remove
new file mode 100644
index 0000000..b8626c4
--- /dev/null
+++ i/file_remove
@@ -0,0 +1 @@
+4
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'dir/dir_add/file', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'dir/file_add', LF will be replaced by CRLF the next time Git touches it
diff --git i/dir/dir_add/file w/dir/dir_add/file
new file mode 100644
index 0000000..f599e28
warning: in the working copy of 'dir/dir_add/file', LF will be replaced by CRLF the next time Git touches it
--- /dev/null
+++ w/dir/dir_add/file
@@ -0,0 +1 @@
+10
diff --git i/dir/file_add w/dir/file_add
new file mode 100644
index 0000000..7ed6ff8
warning: in the working copy of 'dir/file_add', LF will be replaced by CRLF the next time Git touches it
--- /dev/null
+++ w/dir/file_add
@@ -0,0 +1 @@
+5
warning: in the working copy of 'dir/file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/dir/file_modify w/dir/file_modify
index 1e8b314..7f8f011 100644
--- i/dir/file_modify
+++ w/dir/file_modify
@@ -1 +1 @@
-6
+7
diff --git i/dir/file_remove w/dir/file_remove
deleted file mode 100644
index 45a4fb7..0000000
--- i/dir/file_remove
+++ /dev/null
@@ -1 +0,0 @@
-8
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/file_modify w/file_modify
index 0cfbf08..00750ed 100644
--- i/file_modify
+++ w/file_modify
@@ -1 +1 @@
-2
+3
diff --git i/file_remove w/file_remove
deleted file mode 100644
index b8626c4..0000000
--- i/file_remove
+++ /dev/null
@@ -1 +0,0 @@
-4
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo/dir' ls-files --stage --others
100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 dir_add/file
100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 file_add
100644 1e8b314962144c26d5e0e50fd29d2ca327864913 0 file_modify
100644 45a4fb75db864000d01701c0f7a51864bd4daabf 0 file_remove
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo/dir' status --verbose --verbose '.'
warning: in the working copy of 'dir/dir_add/file', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'dir/file_add', LF will be replaced by CRLF the next time Git touches it
On branch master
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: file_modify
new file: file_remove
Changes not staged for commit:
(use "git add/rm <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
new file: dir_add/file
new file: file_add
modified: file_modify
deleted: file_remove
Changes to be committed:
diff --git c/dir/file_modify i/dir/file_modify
new file mode 100644
index 0000000..1e8b314
--- /dev/null
+++ i/dir/file_modify
@@ -0,0 +1 @@
+6
diff --git c/dir/file_remove i/dir/file_remove
new file mode 100644
index 0000000..45a4fb7
--- /dev/null
+++ i/dir/file_remove
@@ -0,0 +1 @@
+8
diff --git c/file_modify i/file_modify
new file mode 100644
index 0000000..0cfbf08
--- /dev/null
+++ i/file_modify
@@ -0,0 +1 @@
+2
diff --git c/file_remove i/file_remove
new file mode 100644
index 0000000..b8626c4
--- /dev/null
+++ i/file_remove
@@ -0,0 +1 @@
+4
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'dir/dir_add/file', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'dir/file_add', LF will be replaced by CRLF the next time Git touches it
diff --git i/dir/dir_add/file w/dir/dir_add/file
new file mode 100644
index 0000000..f599e28
warning: in the working copy of 'dir/dir_add/file', LF will be replaced by CRLF the next time Git touches it
--- /dev/null
+++ w/dir/dir_add/file
@@ -0,0 +1 @@
+10
diff --git i/dir/file_add w/dir/file_add
new file mode 100644
index 0000000..7ed6ff8
warning: in the working copy of 'dir/file_add', LF will be replaced by CRLF the next time Git touches it
--- /dev/null
+++ w/dir/file_add
@@ -0,0 +1 @@
+5
warning: in the working copy of 'dir/file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/dir/file_modify w/dir/file_modify
index 1e8b314..7f8f011 100644
--- i/dir/file_modify
+++ w/dir/file_modify
@@ -1 +1 @@
-6
+7
diff --git i/dir/file_remove w/dir/file_remove
deleted file mode 100644
index 45a4fb7..0000000
--- i/dir/file_remove
+++ /dev/null
@@ -1 +0,0 @@
-8
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/file_modify w/file_modify
index 0cfbf08..00750ed 100644
--- i/file_modify
+++ w/file_modify
@@ -1 +1 @@
-2
+3
diff --git i/file_remove w/file_remove
deleted file mode 100644
index b8626c4..0000000
--- i/file_remove
+++ /dev/null
@@ -1 +0,0 @@
-4
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'; mkdir -- './repo/dir' './repo/dir/dir'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ touch -- './repo/file_add' './repo/file_new' './repo/dir/file_add' './repo/dir/file_new' './repo/dir/dir/file_add' './repo/dir/dir/file_new'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '*_add' > './repo/.gitignore'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' add --dry-run '.'
add '.gitignore'
add 'dir/dir/file_new'
add 'dir/file_new'
add 'file_new'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' add --dry-run --ignore-missing '.'
add '.gitignore'
add 'dir/dir/file_new'
add 'dir/file_new'
add 'file_new'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' add --dry-run '*'
add '.gitignore'
add 'dir/dir/file_new'
add 'dir/file_new'
add 'file_new'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' add --dry-run --ignore-missing '*'
add '.gitignore'
add 'dir/dir/file_new'
add 'dir/file_new'
add 'file_new'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' add --dry-run '*/*'
add 'dir/dir/file_new'
add 'dir/file_new'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' add --dry-run --ignore-missing '*/*'
add 'dir/dir/file_new'
add 'dir/file_new'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' add --dry-run './file_add'
The following paths are ignored by one of your .gitignore files:
file_add
hint: Use -f if you really want to add them.
hint: Disable this message with "git config set advice.addIgnoredFile false"
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' add --dry-run --ignore-missing './file_add'
The following paths are ignored by one of your .gitignore files:
file_add
hint: Use -f if you really want to add them.
hint: Disable this message with "git config set advice.addIgnoredFile false"
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' add --dry-run './file_new'
add 'file_new'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' add --dry-run --ignore-missing './file_new'
add 'file_new'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' add --dry-run 'file_add'
The following paths are ignored by one of your .gitignore files:
file_add
hint: Use -f if you really want to add them.
hint: Disable this message with "git config set advice.addIgnoredFile false"
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' add --dry-run --ignore-missing 'file_add'
The following paths are ignored by one of your .gitignore files:
file_add
hint: Use -f if you really want to add them.
hint: Disable this message with "git config set advice.addIgnoredFile false"
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' add --dry-run 'file_new'
add 'file_new'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' add --dry-run --ignore-missing 'file_new'
add 'file_new'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' add --dry-run '*file_add'
fatal: pathspec '*file_add' did not match any files
jhcarl0814@jhcarl0814 UCRT64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' add --dry-run --ignore-missing '*file_add'
The following paths are ignored by one of your .gitignore files:
*file_add
hint: Use -f if you really want to add them.
hint: Disable this message with "git config set advice.addIgnoredFile false"
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' add --dry-run '*file_new'
add 'dir/dir/file_new'
add 'dir/file_new'
add 'file_new'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' add --dry-run --ignore-missing '*file_new'
add 'dir/dir/file_new'
add 'dir/file_new'
add 'file_new'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' add --dry-run '*file*'
add 'dir/dir/file_new'
add 'dir/file_new'
add 'file_new'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' add --dry-run --ignore-missing '*file*'
add 'dir/dir/file_new'
add 'dir/file_new'
add 'file_new'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '* -text' >'./repo/.gitattributes'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e '1\r\n2' >'./repo/file_modify'; git -C './repo' add './file_modify'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show ':./file_modify' | special_character_to_escape_sequence_preserve_line_ending | cat_with_line_number
1 1\r\n
2 2\n
3
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ <'./repo/file_modify' special_character_to_escape_sequence_preserve_line_ending | cat_with_line_number
1 1\r\n
2 2\n
3
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '* text' >'./repo/.gitattributes'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -c 'core.autocrlf=false' -C './repo' add --renormalize '.'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show ':./file_modify' | special_character_to_escape_sequence_preserve_line_ending | cat_with_line_number
1 1\n
2 2\n
3
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ <'./repo/file_modify' special_character_to_escape_sequence_preserve_line_ending | cat_with_line_number
1 1\r\n
2 2\n
3
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'; mkdir --parents -- './repo/dir'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file_add'; echo '2' >'./repo/file_modify'; echo '4' >'./repo/file_remove'; git -C './repo' add './file_modify' './file_remove'; echo '3' >'./repo/file_modify'; rm -- './repo/file_remove'
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file_remove', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '5' >'./repo/dir/file_add'; echo '6' >'./repo/dir/file_modify'; echo '8' >'./repo/dir/file_remove'; git -C './repo/dir' add './file_modify' './file_remove'; echo '7' >'./repo/dir/file_modify'; rm -- './repo/dir/file_remove'
warning: in the working copy of 'dir/file_modify', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'dir/file_remove', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ mkdir -- './repo/dir_add' './repo/dir/dir_add'; echo '9' >'./repo/dir_add/file'; echo '10' >'./repo/dir/dir_add/file'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
dir/dir_add/file
dir/file_add
dir_add/file
file_add
100644 1e8b314962144c26d5e0e50fd29d2ca327864913 0 dir/file_modify
100644 45a4fb75db864000d01701c0f7a51864bd4daabf 0 dir/file_remove
100644 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f 0 file_modify
100644 b8626c4cff2849624fb67f87cd0ad72b163671ad 0 file_remove
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: dir/file_modify
new file: dir/file_remove
new file: file_modify
new file: file_remove
Changes not staged for commit:
(use "git add/rm <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: dir/file_modify
deleted: dir/file_remove
modified: file_modify
deleted: file_remove
Untracked files:
(use "git add <file>..." to include in what will be committed)
dir/dir_add/
dir/file_add
dir_add/
file_add
Changes to be committed:
diff --git c/dir/file_modify i/dir/file_modify
new file mode 100644
index 0000000..1e8b314
--- /dev/null
+++ i/dir/file_modify
@@ -0,0 +1 @@
+6
diff --git c/dir/file_remove i/dir/file_remove
new file mode 100644
index 0000000..45a4fb7
--- /dev/null
+++ i/dir/file_remove
@@ -0,0 +1 @@
+8
diff --git c/file_modify i/file_modify
new file mode 100644
index 0000000..0cfbf08
--- /dev/null
+++ i/file_modify
@@ -0,0 +1 @@
+2
diff --git c/file_remove i/file_remove
new file mode 100644
index 0000000..b8626c4
--- /dev/null
+++ i/file_remove
@@ -0,0 +1 @@
+4
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'dir/file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/dir/file_modify w/dir/file_modify
index 1e8b314..7f8f011 100644
--- i/dir/file_modify
+++ w/dir/file_modify
@@ -1 +1 @@
-6
+7
diff --git i/dir/file_remove w/dir/file_remove
deleted file mode 100644
index 45a4fb7..0000000
--- i/dir/file_remove
+++ /dev/null
@@ -1 +0,0 @@
-8
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/file_modify w/file_modify
index 0cfbf08..00750ed 100644
--- i/file_modify
+++ w/file_modify
@@ -1 +1 @@
-2
+3
diff --git i/file_remove w/file_remove
deleted file mode 100644
index b8626c4..0000000
--- i/file_remove
+++ /dev/null
@@ -1 +0,0 @@
-4
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo/dir' ls-files --stage --others
dir_add/file
file_add
100644 1e8b314962144c26d5e0e50fd29d2ca327864913 0 file_modify
100644 45a4fb75db864000d01701c0f7a51864bd4daabf 0 file_remove
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo/dir' status --verbose --verbose '.'
On branch master
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: file_modify
new file: file_remove
Changes not staged for commit:
(use "git add/rm <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: file_modify
deleted: file_remove
Untracked files:
(use "git add <file>..." to include in what will be committed)
dir_add/
file_add
Changes to be committed:
diff --git c/dir/file_modify i/dir/file_modify
new file mode 100644
index 0000000..1e8b314
--- /dev/null
+++ i/dir/file_modify
@@ -0,0 +1 @@
+6
diff --git c/dir/file_remove i/dir/file_remove
new file mode 100644
index 0000000..45a4fb7
--- /dev/null
+++ i/dir/file_remove
@@ -0,0 +1 @@
+8
diff --git c/file_modify i/file_modify
new file mode 100644
index 0000000..0cfbf08
--- /dev/null
+++ i/file_modify
@@ -0,0 +1 @@
+2
diff --git c/file_remove i/file_remove
new file mode 100644
index 0000000..b8626c4
--- /dev/null
+++ i/file_remove
@@ -0,0 +1 @@
+4
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'dir/file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/dir/file_modify w/dir/file_modify
index 1e8b314..7f8f011 100644
--- i/dir/file_modify
+++ w/dir/file_modify
@@ -1 +1 @@
-6
+7
diff --git i/dir/file_remove w/dir/file_remove
deleted file mode 100644
index 45a4fb7..0000000
--- i/dir/file_remove
+++ /dev/null
@@ -1 +0,0 @@
-8
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/file_modify w/file_modify
index 0cfbf08..00750ed 100644
--- i/file_modify
+++ w/file_modify
@@ -1 +1 @@
-2
+3
diff --git i/file_remove w/file_remove
deleted file mode 100644
index b8626c4..0000000
--- i/file_remove
+++ /dev/null
@@ -1 +0,0 @@
-4
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo/dir' lg --patch
fatal: your current branch 'master' does not have any commits yet
jhcarl0814@jhcarl0814 UCRT64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo/dir' commit --message="$((++number))"
[master (root-commit) 6dd621b] 1
4 files changed, 4 insertions(+)
create mode 100644 dir/file_modify
create mode 100644 dir/file_remove
create mode 100644 file_modify
create mode 100644 file_remove
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
dir/dir_add/file
dir/file_add
dir_add/file
file_add
100644 1e8b314962144c26d5e0e50fd29d2ca327864913 0 dir/file_modify
100644 45a4fb75db864000d01701c0f7a51864bd4daabf 0 dir/file_remove
100644 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f 0 file_modify
100644 b8626c4cff2849624fb67f87cd0ad72b163671ad 0 file_remove
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
Changes not staged for commit:
(use "git add/rm <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: dir/file_modify
deleted: dir/file_remove
modified: file_modify
deleted: file_remove
Untracked files:
(use "git add <file>..." to include in what will be committed)
dir/dir_add/
dir/file_add
dir_add/
file_add
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'dir/file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/dir/file_modify w/dir/file_modify
index 1e8b314..7f8f011 100644
--- i/dir/file_modify
+++ w/dir/file_modify
@@ -1 +1 @@
-6
+7
diff --git i/dir/file_remove w/dir/file_remove
deleted file mode 100644
index 45a4fb7..0000000
--- i/dir/file_remove
+++ /dev/null
@@ -1 +0,0 @@
-8
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/file_modify w/file_modify
index 0cfbf08..00750ed 100644
--- i/file_modify
+++ w/file_modify
@@ -1 +1 @@
-2
+3
diff --git i/file_remove w/file_remove
deleted file mode 100644
index b8626c4..0000000
--- i/file_remove
+++ /dev/null
@@ -1 +0,0 @@
-4
no changes added to commit (use "git add" and/or "git commit -a")
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo/dir' ls-files --stage --others
dir_add/file
file_add
100644 1e8b314962144c26d5e0e50fd29d2ca327864913 0 file_modify
100644 45a4fb75db864000d01701c0f7a51864bd4daabf 0 file_remove
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo/dir' status --verbose --verbose '.'
On branch master
Changes not staged for commit:
(use "git add/rm <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: file_modify
deleted: file_remove
Untracked files:
(use "git add <file>..." to include in what will be committed)
dir_add/
file_add
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'dir/file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/dir/file_modify w/dir/file_modify
index 1e8b314..7f8f011 100644
--- i/dir/file_modify
+++ w/dir/file_modify
@@ -1 +1 @@
-6
+7
diff --git i/dir/file_remove w/dir/file_remove
deleted file mode 100644
index 45a4fb7..0000000
--- i/dir/file_remove
+++ /dev/null
@@ -1 +0,0 @@
-8
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/file_modify w/file_modify
index 0cfbf08..00750ed 100644
--- i/file_modify
+++ w/file_modify
@@ -1 +1 @@
-2
+3
diff --git i/file_remove w/file_remove
deleted file mode 100644
index b8626c4..0000000
--- i/file_remove
+++ /dev/null
@@ -1 +0,0 @@
-4
no changes added to commit (use "git add" and/or "git commit -a")
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo/dir' lg --patch
* 6dd621b - 2026-10-28 22:12 (2 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master)
diff --git a/dir/file_modify b/dir/file_modify
new file mode 100644
index 0000000..1e8b314
--- /dev/null
+++ b/dir/file_modify
@@ -0,0 +1 @@
+6
diff --git a/dir/file_remove b/dir/file_remove
new file mode 100644
index 0000000..45a4fb7
--- /dev/null
+++ b/dir/file_remove
@@ -0,0 +1 @@
+8
diff --git a/file_modify b/file_modify
new file mode 100644
index 0000000..0cfbf08
--- /dev/null
+++ b/file_modify
@@ -0,0 +1 @@
+2
diff --git a/file_remove b/file_remove
new file mode 100644
index 0000000..b8626c4
--- /dev/null
+++ b/file_remove
@@ -0,0 +1 @@
+4
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git init './repo'; mkdir --parents -- './repo/dir'
Initialized empty Git repository in C:/Program Files/Git/test_git/repo/.git/
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file_add'; echo '2' >'./repo/file_modify'; echo '4' >'./repo/file_remove'; git -C './repo' add './file_modify' './file_remove'; echo '3' >'./repo/file_modify'; rm -- './repo/file_remove'
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file_remove', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '5' >'./repo/dir/file_add'; echo '6' >'./repo/dir/file_modify'; echo '8' >'./repo/dir/file_remove'; git -C './repo/dir' add './file_modify' './file_remove'; echo '7' >'./repo/dir/file_modify'; rm -- './repo/dir/file_remove'
warning: in the working copy of 'dir/file_modify', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'dir/file_remove', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ mkdir -- './repo/dir_add' './repo/dir/dir_add'; echo '9' >'./repo/dir_add/file'; echo '10' >'./repo/dir/dir_add/file'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
dir/dir_add/file
dir/file_add
dir_add/file
file_add
100644 1e8b314962144c26d5e0e50fd29d2ca327864913 0 dir/file_modify
100644 45a4fb75db864000d01701c0f7a51864bd4daabf 0 dir/file_remove
100644 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f 0 file_modify
100644 b8626c4cff2849624fb67f87cd0ad72b163671ad 0 file_remove
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: dir/file_modify
new file: dir/file_remove
new file: file_modify
new file: file_remove
Changes not staged for commit:
(use "git add/rm <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: dir/file_modify
deleted: dir/file_remove
modified: file_modify
deleted: file_remove
Untracked files:
(use "git add <file>..." to include in what will be committed)
dir/dir_add/
dir/file_add
dir_add/
file_add
Changes to be committed:
diff --git c/dir/file_modify i/dir/file_modify
new file mode 100644
index 0000000..1e8b314
--- /dev/null
+++ i/dir/file_modify
@@ -0,0 +1 @@
+6
diff --git c/dir/file_remove i/dir/file_remove
new file mode 100644
index 0000000..45a4fb7
--- /dev/null
+++ i/dir/file_remove
@@ -0,0 +1 @@
+8
diff --git c/file_modify i/file_modify
new file mode 100644
index 0000000..0cfbf08
--- /dev/null
+++ i/file_modify
@@ -0,0 +1 @@
+2
diff --git c/file_remove i/file_remove
new file mode 100644
index 0000000..b8626c4
--- /dev/null
+++ i/file_remove
@@ -0,0 +1 @@
+4
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'dir/file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/dir/file_modify w/dir/file_modify
index 1e8b314..7f8f011 100644
--- i/dir/file_modify
+++ w/dir/file_modify
@@ -1 +1 @@
-6
+7
diff --git i/dir/file_remove w/dir/file_remove
deleted file mode 100644
index 45a4fb7..0000000
--- i/dir/file_remove
+++ /dev/null
@@ -1 +0,0 @@
-8
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/file_modify w/file_modify
index 0cfbf08..00750ed 100644
--- i/file_modify
+++ w/file_modify
@@ -1 +1 @@
-2
+3
diff --git i/file_remove w/file_remove
deleted file mode 100644
index b8626c4..0000000
--- i/file_remove
+++ /dev/null
@@ -1 +0,0 @@
-4
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo/dir' ls-files --stage --others
dir_add/file
file_add
100644 1e8b314962144c26d5e0e50fd29d2ca327864913 0 file_modify
100644 45a4fb75db864000d01701c0f7a51864bd4daabf 0 file_remove
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo/dir' status --verbose --verbose '.'
On branch master
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: file_modify
new file: file_remove
Changes not staged for commit:
(use "git add/rm <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: file_modify
deleted: file_remove
Untracked files:
(use "git add <file>..." to include in what will be committed)
dir_add/
file_add
Changes to be committed:
diff --git c/dir/file_modify i/dir/file_modify
new file mode 100644
index 0000000..1e8b314
--- /dev/null
+++ i/dir/file_modify
@@ -0,0 +1 @@
+6
diff --git c/dir/file_remove i/dir/file_remove
new file mode 100644
index 0000000..45a4fb7
--- /dev/null
+++ i/dir/file_remove
@@ -0,0 +1 @@
+8
diff --git c/file_modify i/file_modify
new file mode 100644
index 0000000..0cfbf08
--- /dev/null
+++ i/file_modify
@@ -0,0 +1 @@
+2
diff --git c/file_remove i/file_remove
new file mode 100644
index 0000000..b8626c4
--- /dev/null
+++ i/file_remove
@@ -0,0 +1 @@
+4
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'dir/file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/dir/file_modify w/dir/file_modify
index 1e8b314..7f8f011 100644
--- i/dir/file_modify
+++ w/dir/file_modify
@@ -1 +1 @@
-6
+7
diff --git i/dir/file_remove w/dir/file_remove
deleted file mode 100644
index 45a4fb7..0000000
--- i/dir/file_remove
+++ /dev/null
@@ -1 +0,0 @@
-8
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/file_modify w/file_modify
index 0cfbf08..00750ed 100644
--- i/file_modify
+++ w/file_modify
@@ -1 +1 @@
-2
+3
diff --git i/file_remove w/file_remove
deleted file mode 100644
index b8626c4..0000000
--- i/file_remove
+++ /dev/null
@@ -1 +0,0 @@
-4
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo/dir' lg --patch
fatal: your current branch 'master' does not have any commits yet
jhcarl0814@jhcarl0814 UCRT64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo/dir' commit --message="$((++number))" '*'
warning: in the working copy of 'dir/file_modify', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'dir/file_modify', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 24636af] 1
1 file changed, 1 insertion(+)
create mode 100644 dir/file_modify
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
dir/dir_add/file
dir/file_add
dir_add/file
file_add
100644 7f8f011eb73d6043d2e6db9d2c101195ae2801f2 0 dir/file_modify
100644 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f 0 file_modify
100644 b8626c4cff2849624fb67f87cd0ad72b163671ad 0 file_remove
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
new file: file_modify
new file: file_remove
Changes not staged for commit:
(use "git add/rm <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: file_modify
deleted: file_remove
Untracked files:
(use "git add <file>..." to include in what will be committed)
dir/dir_add/
dir/file_add
dir_add/
file_add
Changes to be committed:
diff --git c/file_modify i/file_modify
new file mode 100644
index 0000000..0cfbf08
--- /dev/null
+++ i/file_modify
@@ -0,0 +1 @@
+2
diff --git c/file_remove i/file_remove
new file mode 100644
index 0000000..b8626c4
--- /dev/null
+++ i/file_remove
@@ -0,0 +1 @@
+4
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/file_modify w/file_modify
index 0cfbf08..00750ed 100644
--- i/file_modify
+++ w/file_modify
@@ -1 +1 @@
-2
+3
diff --git i/file_remove w/file_remove
deleted file mode 100644
index b8626c4..0000000
--- i/file_remove
+++ /dev/null
@@ -1 +0,0 @@
-4
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo/dir' ls-files --stage --others
dir_add/file
file_add
100644 7f8f011eb73d6043d2e6db9d2c101195ae2801f2 0 file_modify
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo/dir' status --verbose --verbose '.'
On branch master
Untracked files:
(use "git add <file>..." to include in what will be committed)
dir_add/
file_add
diff --git a/file_modify b/file_modify
new file mode 100644
index 0000000..0cfbf08
--- /dev/null
+++ b/file_modify
@@ -0,0 +1 @@
+2
diff --git a/file_remove b/file_remove
new file mode 100644
index 0000000..b8626c4
--- /dev/null
+++ b/file_remove
@@ -0,0 +1 @@
+4
nothing added to commit but untracked files present (use "git add" to track)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo/dir' lg --patch
* 24636af - 2026-10-28 22:12 (3 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master)
diff --git a/dir/file_modify b/dir/file_modify
new file mode 100644
index 0000000..7f8f011
--- /dev/null
+++ b/dir/file_modify
@@ -0,0 +1 @@
+7
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '0' >'./repo/file_modify'; git -C './repo' add './file_modify'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) ee2a7f2] 1
1 file changed, 1 insertion(+)
create mode 100644 file_modify
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file_modify'; git -C './repo' add './file_modify'; git -C './repo' commit --message="$((++number))"; echo '2' >'./repo/file_modify'; git -C './repo' add './file_modify'; echo '3' >'./repo/file_modify'; echo '4' >'./repo/file_add'
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
[master 53c5405] 2
1 file changed, 1 insertion(+), 1 deletion(-)
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
file_add
100644 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f 0 file_modify
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
modified: file_modify
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: file_modify
Untracked files:
(use "git add <file>..." to include in what will be committed)
file_add
Changes to be committed:
diff --git c/file_modify i/file_modify
index d00491f..0cfbf08 100644
--- c/file_modify
+++ i/file_modify
@@ -1 +1 @@
-1
+2
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/file_modify w/file_modify
index 0cfbf08..00750ed 100644
--- i/file_modify
+++ w/file_modify
@@ -1 +1 @@
-2
+3
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --patch
* 53c5405 - 2026-10-28 22:12 (2 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
|
| diff --git a/file_modify b/file_modify
| index 573541a..d00491f 100644
| --- a/file_modify
| +++ b/file_modify
| @@ -1 +1 @@
| -0
| +1
* ee2a7f2 - 2026-10-28 22:12 (3 seconds ago) 1 - Han Jiang
diff --git a/file_modify b/file_modify
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/file_modify
@@ -0,0 +1 @@
+0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --amend
[master 36e1c52] 3
Date: Wed Oct 28 22:12:57 2026 +1300
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
file_add
100644 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f 0 file_modify
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: file_modify
Untracked files:
(use "git add <file>..." to include in what will be committed)
file_add
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/file_modify w/file_modify
index 0cfbf08..00750ed 100644
--- i/file_modify
+++ w/file_modify
@@ -1 +1 @@
-2
+3
no changes added to commit (use "git add" and/or "git commit -a")
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --patch
* 36e1c52 - 2026-10-28 22:12 (4 seconds ago) 3 - Han Jiang (HEAD -> refs/heads/master)
|
| diff --git a/file_modify b/file_modify
| index 573541a..0cfbf08 100644
| --- a/file_modify
| +++ b/file_modify
| @@ -1 +1 @@
| -0
| +2
* ee2a7f2 - 2026-10-28 22:12 (5 seconds ago) 1 - Han Jiang
diff --git a/file_modify b/file_modify
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/file_modify
@@ -0,0 +1 @@
+0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '0' >'./repo/file_modify'; git -C './repo' add './file_modify'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 090af96] 1
1 file changed, 1 insertion(+)
create mode 100644 file_modify
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master 9b25c20] 2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 573541ac9702dd3969c9bc859d2b91ec1f7e6e56 0 file_modify
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
nothing to commit, working tree clean
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --patch
* 9b25c20 - 2026-10-28 22:13 (1 second ago) 2 - Han Jiang (HEAD -> refs/heads/master)
* 090af96 - 2026-10-28 22:13 (2 seconds ago) 1 - Han Jiang
diff --git a/file_modify b/file_modify
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/file_modify
@@ -0,0 +1 @@
+0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --amend
On branch master
No changes
You asked to amend the most recent commit, but doing so would make
it empty. You can repeat your command with --allow-empty, or you can
remove the commit entirely with "git reset HEAD^".
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --amend --allow-empty
[master 51761e2] 4
Date: Wed Oct 28 22:13:06 2026 +1300
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 573541ac9702dd3969c9bc859d2b91ec1f7e6e56 0 file_modify
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
nothing to commit, working tree clean
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --patch
* 51761e2 - 2026-10-28 22:13 (3 seconds ago) 4 - Han Jiang (HEAD -> refs/heads/master)
* 090af96 - 2026-10-28 22:13 (4 seconds ago) 1 - Han Jiang
diff --git a/file_modify b/file_modify
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/file_modify
@@ -0,0 +1 @@
+0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '0' >'./repo/file_modify'; git -C './repo' add './file_modify'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 3467220] 1
1 file changed, 1 insertion(+)
create mode 100644 file_modify
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file_modify'; git -C './repo' add './file_modify'; git -C './repo' commit --message="$((++number))"; echo '2' >'./repo/file_modify'; git -C './repo' add './file_modify'; echo '3' >'./repo/file_modify'; echo '4' >'./repo/file_add'
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
[master c1c9ef9] 2
1 file changed, 1 insertion(+), 1 deletion(-)
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
file_add
100644 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f 0 file_modify
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
modified: file_modify
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: file_modify
Untracked files:
(use "git add <file>..." to include in what will be committed)
file_add
Changes to be committed:
diff --git c/file_modify i/file_modify
index d00491f..0cfbf08 100644
--- c/file_modify
+++ i/file_modify
@@ -1 +1 @@
-1
+2
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/file_modify w/file_modify
index 0cfbf08..00750ed 100644
--- i/file_modify
+++ w/file_modify
@@ -1 +1 @@
-2
+3
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --patch
* c1c9ef9 - 2026-10-28 22:13 (1 second ago) 2 - Han Jiang (HEAD -> refs/heads/master)
|
| diff --git a/file_modify b/file_modify
| index 573541a..d00491f 100644
| --- a/file_modify
| +++ b/file_modify
| @@ -1 +1 @@
| -0
| +1
* 3467220 - 2026-10-28 22:13 (2 seconds ago) 1 - Han Jiang
diff --git a/file_modify b/file_modify
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/file_modify
@@ -0,0 +1 @@
+0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --amend --only
[master 12c52e4] 3
Date: Wed Oct 28 22:13:15 2026 +1300
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
file_add
100644 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f 0 file_modify
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
modified: file_modify
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: file_modify
Untracked files:
(use "git add <file>..." to include in what will be committed)
file_add
Changes to be committed:
diff --git c/file_modify i/file_modify
index d00491f..0cfbf08 100644
--- c/file_modify
+++ i/file_modify
@@ -1 +1 @@
-1
+2
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/file_modify w/file_modify
index 0cfbf08..00750ed 100644
--- i/file_modify
+++ w/file_modify
@@ -1 +1 @@
-2
+3
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --patch
* 12c52e4 - 2026-10-28 22:13 (3 seconds ago) 3 - Han Jiang (HEAD -> refs/heads/master)
|
| diff --git a/file_modify b/file_modify
| index 573541a..d00491f 100644
| --- a/file_modify
| +++ b/file_modify
| @@ -1 +1 @@
| -0
| +1
* 3467220 - 2026-10-28 22:13 (4 seconds ago) 1 - Han Jiang
diff --git a/file_modify b/file_modify
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/file_modify
@@ -0,0 +1 @@
+0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '0' >'./repo/file_modify'; git -C './repo' add './file_modify'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 7949324] 1
1 file changed, 1 insertion(+)
create mode 100644 file_modify
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master b09a6d1] 2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 573541ac9702dd3969c9bc859d2b91ec1f7e6e56 0 file_modify
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
nothing to commit, working tree clean
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --patch
* b09a6d1 - 2026-10-28 22:13 (1 second ago) 2 - Han Jiang (HEAD -> refs/heads/master)
* 7949324 - 2026-10-28 22:13 (2 seconds ago) 1 - Han Jiang
diff --git a/file_modify b/file_modify
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/file_modify
@@ -0,0 +1 @@
+0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --amend --only
On branch master
No changes
You asked to amend the most recent commit, but doing so would make
it empty. You can repeat your command with --allow-empty, or you can
remove the commit entirely with "git reset HEAD^".
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --amend --only --allow-empty
[master a9aebb9] 4
Date: Wed Oct 28 22:13:24 2026 +1300
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 573541ac9702dd3969c9bc859d2b91ec1f7e6e56 0 file_modify
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
nothing to commit, working tree clean
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --patch
* a9aebb9 - 2026-10-28 22:13 (3 seconds ago) 4 - Han Jiang (HEAD -> refs/heads/master)
* 7949324 - 2026-10-28 22:13 (4 seconds ago) 1 - Han Jiang
diff --git a/file_modify b/file_modify
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/file_modify
@@ -0,0 +1 @@
+0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '0' >'./repo/file_modify'; git -C './repo' add './file_modify'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) ab3474a] 1
1 file changed, 1 insertion(+)
create mode 100644 file_modify
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file_modify'; git -C './repo' add './file_modify'; git -C './repo' commit --message="$((++number))"; echo '2' >'./repo/file_modify'; git -C './repo' add './file_modify'; echo '3' >'./repo/file_modify'; echo '4' >'./repo/file_add'
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
[master 6a3a5b7] 2
1 file changed, 1 insertion(+), 1 deletion(-)
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
file_add
100644 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f 0 file_modify
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
modified: file_modify
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: file_modify
Untracked files:
(use "git add <file>..." to include in what will be committed)
file_add
Changes to be committed:
diff --git c/file_modify i/file_modify
index d00491f..0cfbf08 100644
--- c/file_modify
+++ i/file_modify
@@ -1 +1 @@
-1
+2
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/file_modify w/file_modify
index 0cfbf08..00750ed 100644
--- i/file_modify
+++ w/file_modify
@@ -1 +1 @@
-2
+3
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --patch
* 6a3a5b7 - 2026-10-28 22:13 (1 second ago) 2 - Han Jiang (HEAD -> refs/heads/master)
|
| diff --git a/file_modify b/file_modify
| index 573541a..d00491f 100644
| --- a/file_modify
| +++ b/file_modify
| @@ -1 +1 @@
| -0
| +1
* ab3474a - 2026-10-28 22:13 (2 seconds ago) 1 - Han Jiang
diff --git a/file_modify b/file_modify
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/file_modify
@@ -0,0 +1 @@
+0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --amend --include './file_add'
error: pathspec './file_add' did not match any file(s) known to git
jhcarl0814@jhcarl0814 UCRT64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' add --intent-to-add './file_add'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 file_add
100644 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f 0 file_modify
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
modified: file_modify
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
new file: file_add
modified: file_modify
Changes to be committed:
diff --git c/file_modify i/file_modify
index d00491f..0cfbf08 100644
--- c/file_modify
+++ i/file_modify
@@ -1 +1 @@
-1
+2
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'file_add', LF will be replaced by CRLF the next time Git touches it
diff --git i/file_add w/file_add
new file mode 100644
index 0000000..b8626c4
--- /dev/null
+++ w/file_add
@@ -0,0 +1 @@
+4
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/file_modify w/file_modify
index 0cfbf08..00750ed 100644
--- i/file_modify
+++ w/file_modify
@@ -1 +1 @@
-2
+3
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --amend --include './file_add'
warning: in the working copy of 'file_add', LF will be replaced by CRLF the next time Git touches it
[master 21c4bb8] 4
Date: Wed Oct 28 22:13:33 2026 +1300
2 files changed, 2 insertions(+), 1 deletion(-)
create mode 100644 file_add
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 b8626c4cff2849624fb67f87cd0ad72b163671ad 0 file_add
100644 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f 0 file_modify
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: file_modify
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/file_modify w/file_modify
index 0cfbf08..00750ed 100644
--- i/file_modify
+++ w/file_modify
@@ -1 +1 @@
-2
+3
no changes added to commit (use "git add" and/or "git commit -a")
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --patch
* 21c4bb8 - 2026-10-28 22:13 (5 seconds ago) 4 - Han Jiang (HEAD -> refs/heads/master)
|
| diff --git a/file_add b/file_add
| new file mode 100644
| index 0000000..b8626c4
| --- /dev/null
| +++ b/file_add
| @@ -0,0 +1 @@
| +4
| diff --git a/file_modify b/file_modify
| index 573541a..0cfbf08 100644
| --- a/file_modify
| +++ b/file_modify
| @@ -1 +1 @@
| -0
| +2
* ab3474a - 2026-10-28 22:13 (6 seconds ago) 1 - Han Jiang
diff --git a/file_modify b/file_modify
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/file_modify
@@ -0,0 +1 @@
+0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '0' >'./repo/file_modify'; git -C './repo' add './file_modify'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) ea29c55] 1
1 file changed, 1 insertion(+)
create mode 100644 file_modify
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master 34dda2e] 2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 573541ac9702dd3969c9bc859d2b91ec1f7e6e56 0 file_modify
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
nothing to commit, working tree clean
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --patch
* 34dda2e - 2026-10-28 22:13 (2 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
* ea29c55 - 2026-10-28 22:13 (2 seconds ago) 1 - Han Jiang
diff --git a/file_modify b/file_modify
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/file_modify
@@ -0,0 +1 @@
+0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --amend --include './file_modify'
On branch master
No changes
You asked to amend the most recent commit, but doing so would make
it empty. You can repeat your command with --allow-empty, or you can
remove the commit entirely with "git reset HEAD^".
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --amend --include --allow-empty './file_modify'
[master 364a8fc] 4
Date: Wed Oct 28 22:13:43 2026 +1300
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 573541ac9702dd3969c9bc859d2b91ec1f7e6e56 0 file_modify
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
nothing to commit, working tree clean
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --patch
* 364a8fc - 2026-10-28 22:13 (4 seconds ago) 4 - Han Jiang (HEAD -> refs/heads/master)
* ea29c55 - 2026-10-28 22:13 (4 seconds ago) 1 - Han Jiang
diff --git a/file_modify b/file_modify
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/file_modify
@@ -0,0 +1 @@
+0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '0' >'./repo/file_modify'; git -C './repo' add './file_modify'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) b0af004] 1
1 file changed, 1 insertion(+)
create mode 100644 file_modify
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file_modify'; git -C './repo' add './file_modify'; git -C './repo' commit --message="$((++number))"; echo '2' >'./repo/file_modify'; git -C './repo' add './file_modify'; echo '3' >'./repo/file_modify'; echo '4' >'./repo/file_add'
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
[master bea577b] 2
1 file changed, 1 insertion(+), 1 deletion(-)
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
file_add
100644 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f 0 file_modify
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
modified: file_modify
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: file_modify
Untracked files:
(use "git add <file>..." to include in what will be committed)
file_add
Changes to be committed:
diff --git c/file_modify i/file_modify
index d00491f..0cfbf08 100644
--- c/file_modify
+++ i/file_modify
@@ -1 +1 @@
-1
+2
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/file_modify w/file_modify
index 0cfbf08..00750ed 100644
--- i/file_modify
+++ w/file_modify
@@ -1 +1 @@
-2
+3
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --patch
* bea577b - 2026-10-28 22:13 (2 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
|
| diff --git a/file_modify b/file_modify
| index 573541a..d00491f 100644
| --- a/file_modify
| +++ b/file_modify
| @@ -1 +1 @@
| -0
| +1
* b0af004 - 2026-10-28 22:13 (2 seconds ago) 1 - Han Jiang
diff --git a/file_modify b/file_modify
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/file_modify
@@ -0,0 +1 @@
+0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --amend './file_add'
error: pathspec './file_add' did not match any file(s) known to git
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' add --intent-to-add './file_add'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 file_add
100644 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f 0 file_modify
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
modified: file_modify
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
new file: file_add
modified: file_modify
Changes to be committed:
diff --git c/file_modify i/file_modify
index d00491f..0cfbf08 100644
--- c/file_modify
+++ i/file_modify
@@ -1 +1 @@
-1
+2
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'file_add', LF will be replaced by CRLF the next time Git touches it
diff --git i/file_add w/file_add
new file mode 100644
index 0000000..b8626c4
--- /dev/null
+++ w/file_add
@@ -0,0 +1 @@
+4
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/file_modify w/file_modify
index 0cfbf08..00750ed 100644
--- i/file_modify
+++ w/file_modify
@@ -1 +1 @@
-2
+3
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --amend './file_add'
warning: in the working copy of 'file_add', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file_add', LF will be replaced by CRLF the next time Git touches it
[master e13f0f9] 4
Date: Wed Oct 28 22:13:52 2026 +1300
2 files changed, 2 insertions(+), 1 deletion(-)
create mode 100644 file_add
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 b8626c4cff2849624fb67f87cd0ad72b163671ad 0 file_add
100644 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f 0 file_modify
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
modified: file_modify
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: file_modify
Changes to be committed:
diff --git c/file_modify i/file_modify
index d00491f..0cfbf08 100644
--- c/file_modify
+++ i/file_modify
@@ -1 +1 @@
-1
+2
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/file_modify w/file_modify
index 0cfbf08..00750ed 100644
--- i/file_modify
+++ w/file_modify
@@ -1 +1 @@
-2
+3
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --patch
* e13f0f9 - 2026-10-28 22:13 (6 seconds ago) 4 - Han Jiang (HEAD -> refs/heads/master)
|
| diff --git a/file_add b/file_add
| new file mode 100644
| index 0000000..b8626c4
| --- /dev/null
| +++ b/file_add
| @@ -0,0 +1 @@
| +4
| diff --git a/file_modify b/file_modify
| index 573541a..d00491f 100644
| --- a/file_modify
| +++ b/file_modify
| @@ -1 +1 @@
| -0
| +1
* b0af004 - 2026-10-28 22:13 (6 seconds ago) 1 - Han Jiang
diff --git a/file_modify b/file_modify
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/file_modify
@@ -0,0 +1 @@
+0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '0' >'./repo/file1_modify'; echo '0' >'./repo/file2_modify'; git -C './repo' add './file1_modify' './file2_modify'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file1_modify', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file2_modify', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) b3c9513] 1
2 files changed, 2 insertions(+)
create mode 100644 file1_modify
create mode 100644 file2_modify
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master 817b731] 2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file1_modify'; git -C './repo' add './file1_modify'
warning: in the working copy of 'file1_modify', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 d00491fd7e5bb6fa28c517a0bb32b8b506539d4d 0 file1_modify
100644 573541ac9702dd3969c9bc859d2b91ec1f7e6e56 0 file2_modify
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
modified: file1_modify
Changes to be committed:
diff --git c/file1_modify i/file1_modify
index 573541a..d00491f 100644
--- c/file1_modify
+++ i/file1_modify
@@ -1 +1 @@
-0
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --patch
* 817b731 - 2026-10-28 22:14 (2 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
* b3c9513 - 2026-10-28 22:14 (3 seconds ago) 1 - Han Jiang
diff --git a/file1_modify b/file1_modify
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/file1_modify
@@ -0,0 +1 @@
+0
diff --git a/file2_modify b/file2_modify
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/file2_modify
@@ -0,0 +1 @@
+0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --amend './file2_modify'
On branch master
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: file1_modify
No changes
You asked to amend the most recent commit, but doing so would make
it empty. You can repeat your command with --allow-empty, or you can
remove the commit entirely with "git reset HEAD^".
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --amend --allow-empty './file2_modify'
[master de85cbe] 4
Date: Wed Oct 28 22:14:03 2026 +1300
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 d00491fd7e5bb6fa28c517a0bb32b8b506539d4d 0 file1_modify
100644 573541ac9702dd3969c9bc859d2b91ec1f7e6e56 0 file2_modify
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
modified: file1_modify
Changes to be committed:
diff --git c/file1_modify i/file1_modify
index 573541a..d00491f 100644
--- c/file1_modify
+++ i/file1_modify
@@ -1 +1 @@
-0
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --patch
* de85cbe - 2026-10-28 22:14 (4 seconds ago) 4 - Han Jiang (HEAD -> refs/heads/master)
* b3c9513 - 2026-10-28 22:14 (5 seconds ago) 1 - Han Jiang
diff --git a/file1_modify b/file1_modify
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/file1_modify
@@ -0,0 +1 @@
+0
diff --git a/file2_modify b/file2_modify
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/file2_modify
@@ -0,0 +1 @@
+0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '0' >'./repo/file_modify'; git -C './repo' add './file_modify'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) d8bb74b] 1
1 file changed, 1 insertion(+)
create mode 100644 file_modify
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file_modify'; git -C './repo' add './file_modify'; git -C './repo' commit --message="$((++number))"; echo '2' >'./repo/file_modify'; git -C './repo' add './file_modify'; echo '3' >'./repo/file_modify'; echo '4' >'./repo/file_add'
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
[master 18d65ea] 2
1 file changed, 1 insertion(+), 1 deletion(-)
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
file_add
100644 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f 0 file_modify
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
modified: file_modify
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: file_modify
Untracked files:
(use "git add <file>..." to include in what will be committed)
file_add
Changes to be committed:
diff --git c/file_modify i/file_modify
index d00491f..0cfbf08 100644
--- c/file_modify
+++ i/file_modify
@@ -1 +1 @@
-1
+2
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/file_modify w/file_modify
index 0cfbf08..00750ed 100644
--- i/file_modify
+++ w/file_modify
@@ -1 +1 @@
-2
+3
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --graph --patch
* commit 18d65ea80208c14a459e1634348a10432978b249 (HEAD -> master)
| Author: Han Jiang <jhcarl0814@gmail.com>
| Date: Wed Oct 28 22:14:13 2026 +1300
|
| 2
|
| diff --git a/file_modify b/file_modify
| index 573541a..d00491f 100644
| --- a/file_modify
| +++ b/file_modify
| @@ -1 +1 @@
| -0
| +1
|
* commit d8bb74b98eacc1543e0fa2e7d73830aa811044ad
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Wed Oct 28 22:14:12 2026 +1300
1
diff --git a/file_modify b/file_modify
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/file_modify
@@ -0,0 +1 @@
+0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --message="$((++number))" --fixup='HEAD'
[master 6d1073c] fixup! 2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
file_add
100644 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f 0 file_modify
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: file_modify
Untracked files:
(use "git add <file>..." to include in what will be committed)
file_add
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/file_modify w/file_modify
index 0cfbf08..00750ed 100644
--- i/file_modify
+++ w/file_modify
@@ -1 +1 @@
-2
+3
no changes added to commit (use "git add" and/or "git commit -a")
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --graph --patch
* commit 6d1073cf2768d626b55b1d6896ead68fa26a6b3e (HEAD -> master)
| Author: Han Jiang <jhcarl0814@gmail.com>
| Date: Wed Oct 28 22:14:15 2026 +1300
|
| fixup! 2
|
| 3
|
| 4
|
| diff --git a/file_modify b/file_modify
| index d00491f..0cfbf08 100644
| --- a/file_modify
| +++ b/file_modify
| @@ -1 +1 @@
| -1
| +2
|
* commit 18d65ea80208c14a459e1634348a10432978b249
| Author: Han Jiang <jhcarl0814@gmail.com>
| Date: Wed Oct 28 22:14:13 2026 +1300
|
| 2
|
| diff --git a/file_modify b/file_modify
| index 573541a..d00491f 100644
| --- a/file_modify
| +++ b/file_modify
| @@ -1 +1 @@
| -0
| +1
|
* commit d8bb74b98eacc1543e0fa2e7d73830aa811044ad
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Wed Oct 28 22:14:12 2026 +1300
1
diff --git a/file_modify b/file_modify
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/file_modify
@@ -0,0 +1 @@
+0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' rebase --autosquash --root
error: cannot rebase: You have unstaged changes.
error: Please commit or stash them.
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' rebase --autosquash --root --autostash
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
Created autostash: 4e25aab
Applied autostash.
Successfully rebased and updated refs/heads/master.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
file_add
100644 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f 0 file_modify
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: file_modify
Untracked files:
(use "git add <file>..." to include in what will be committed)
file_add
--------------------------------------------------
Changes not staged for commit:
diff --git i/file_modify w/file_modify
index 0cfbf08..00750ed 100644
--- i/file_modify
+++ w/file_modify
@@ -1 +1 @@
-2
+3
no changes added to commit (use "git add" and/or "git commit -a")
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --graph --patch
* commit e8274dceac27e0f350ae8dab523a8783937d4d97 (HEAD -> master)
| Author: Han Jiang <jhcarl0814@gmail.com>
| Date: Wed Oct 28 22:14:13 2026 +1300
|
| 2
|
| diff --git a/file_modify b/file_modify
| index 573541a..0cfbf08 100644
| --- a/file_modify
| +++ b/file_modify
| @@ -1 +1 @@
| -0
| +2
|
* commit d8bb74b98eacc1543e0fa2e7d73830aa811044ad
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Wed Oct 28 22:14:12 2026 +1300
1
diff --git a/file_modify b/file_modify
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/file_modify
@@ -0,0 +1 @@
+0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '0' >'./repo/file_modify'; git -C './repo' add './file_modify'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 7e88551] 1
1 file changed, 1 insertion(+)
create mode 100644 file_modify
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 573541ac9702dd3969c9bc859d2b91ec1f7e6e56 0 file_modify
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
nothing to commit, working tree clean
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --graph --patch
* commit 7e88551037f99a846c40cbaac03b40132efd17c8 (HEAD -> master)
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Wed Oct 28 22:14:23 2026 +1300
1
diff --git a/file_modify b/file_modify
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/file_modify
@@ -0,0 +1 @@
+0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --fixup='HEAD'
On branch master
nothing to commit, working tree clean
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --fixup='HEAD' --allow-empty
[master 9abb1e3] fixup! 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 573541ac9702dd3969c9bc859d2b91ec1f7e6e56 0 file_modify
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
nothing to commit, working tree clean
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --graph --patch
* commit 9abb1e3cd189ad7836242307e13365b83cbbb3f8 (HEAD -> master)
| Author: Han Jiang <jhcarl0814@gmail.com>
| Date: Wed Oct 28 22:14:26 2026 +1300
|
| fixup! 1
|
* commit 7e88551037f99a846c40cbaac03b40132efd17c8
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Wed Oct 28 22:14:23 2026 +1300
1
diff --git a/file_modify b/file_modify
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/file_modify
@@ -0,0 +1 @@
+0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' rebase --autosquash --root
Successfully rebased and updated refs/heads/master.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 573541ac9702dd3969c9bc859d2b91ec1f7e6e56 0 file_modify
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
nothing to commit, working tree clean
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --graph --patch
* commit 323857b0d668799ec3f2564dbc28d9aa7faf016c (HEAD -> master)
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Wed Oct 28 22:14:23 2026 +1300
1
diff --git a/file_modify b/file_modify
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/file_modify
@@ -0,0 +1 @@
+0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '0' >'./repo/file_modify'; git -C './repo' add './file_modify'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 2ebfafa] 1
1 file changed, 1 insertion(+)
create mode 100644 file_modify
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file_modify'; git -C './repo' add './file_modify'; git -C './repo' commit --message="$((++number))"; echo '2' >'./repo/file_modify'; git -C './repo' add './file_modify'; echo '3' >'./repo/file_modify'; echo '4' >'./repo/file_add'
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
[master 400c2a1] 2
1 file changed, 1 insertion(+), 1 deletion(-)
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
file_add
100644 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f 0 file_modify
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
modified: file_modify
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: file_modify
Untracked files:
(use "git add <file>..." to include in what will be committed)
file_add
Changes to be committed:
diff --git c/file_modify i/file_modify
index d00491f..0cfbf08 100644
--- c/file_modify
+++ i/file_modify
@@ -1 +1 @@
-1
+2
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/file_modify w/file_modify
index 0cfbf08..00750ed 100644
--- i/file_modify
+++ w/file_modify
@@ -1 +1 @@
-2
+3
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --graph --patch
* commit 400c2a19c59cee4255b344a31834886ae1944a3f (HEAD -> master)
| Author: Han Jiang <jhcarl0814@gmail.com>
| Date: Wed Oct 28 22:14:34 2026 +1300
|
| 2
|
| diff --git a/file_modify b/file_modify
| index 573541a..d00491f 100644
| --- a/file_modify
| +++ b/file_modify
| @@ -1 +1 @@
| -0
| +1
|
* commit 2ebfafadc1b0ac15a097199a43884d544d4e4911
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Wed Oct 28 22:14:34 2026 +1300
1
diff --git a/file_modify b/file_modify
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/file_modify
@@ -0,0 +1 @@
+0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --fixup=amend:'HEAD' --no-edit
[master 125a1cf] amend! 2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
file_add
100644 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f 0 file_modify
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: file_modify
Untracked files:
(use "git add <file>..." to include in what will be committed)
file_add
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/file_modify w/file_modify
index 0cfbf08..00750ed 100644
--- i/file_modify
+++ w/file_modify
@@ -1 +1 @@
-2
+3
no changes added to commit (use "git add" and/or "git commit -a")
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --graph --patch
* commit 125a1cffa15cb7f8fff23030a1d5b4d745e61209 (HEAD -> master)
| Author: Han Jiang <jhcarl0814@gmail.com>
| Date: Wed Oct 28 22:14:36 2026 +1300
|
| amend! 2
|
| 2
|
| diff --git a/file_modify b/file_modify
| index d00491f..0cfbf08 100644
| --- a/file_modify
| +++ b/file_modify
| @@ -1 +1 @@
| -1
| +2
|
* commit 400c2a19c59cee4255b344a31834886ae1944a3f
| Author: Han Jiang <jhcarl0814@gmail.com>
| Date: Wed Oct 28 22:14:34 2026 +1300
|
| 2
|
| diff --git a/file_modify b/file_modify
| index 573541a..d00491f 100644
| --- a/file_modify
| +++ b/file_modify
| @@ -1 +1 @@
| -0
| +1
|
* commit 2ebfafadc1b0ac15a097199a43884d544d4e4911
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Wed Oct 28 22:14:34 2026 +1300
1
diff --git a/file_modify b/file_modify
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/file_modify
@@ -0,0 +1 @@
+0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' rebase --autosquash --root
error: cannot rebase: You have unstaged changes.
error: Please commit or stash them.
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' rebase --autosquash --root --autostash
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
Created autostash: 4466423
Applied autostash.
Successfully rebased and updated refs/heads/master.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
file_add
100644 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f 0 file_modify
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: file_modify
Untracked files:
(use "git add <file>..." to include in what will be committed)
file_add
--------------------------------------------------
Changes not staged for commit:
diff --git i/file_modify w/file_modify
index 0cfbf08..00750ed 100644
--- i/file_modify
+++ w/file_modify
@@ -1 +1 @@
-2
+3
no changes added to commit (use "git add" and/or "git commit -a")
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --graph --patch
* commit 506fce17d16acceb748454b4de29f385ac819038 (HEAD -> master)
| Author: Han Jiang <jhcarl0814@gmail.com>
| Date: Wed Oct 28 22:14:34 2026 +1300
|
| 2
|
| diff --git a/file_modify b/file_modify
| index 573541a..0cfbf08 100644
| --- a/file_modify
| +++ b/file_modify
| @@ -1 +1 @@
| -0
| +2
|
* commit 2ebfafadc1b0ac15a097199a43884d544d4e4911
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Wed Oct 28 22:14:34 2026 +1300
1
diff --git a/file_modify b/file_modify
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/file_modify
@@ -0,0 +1 @@
+0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '0' >'./repo/file_modify'; git -C './repo' add './file_modify'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 43c115b] 1
1 file changed, 1 insertion(+)
create mode 100644 file_modify
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 573541ac9702dd3969c9bc859d2b91ec1f7e6e56 0 file_modify
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
nothing to commit, working tree clean
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --graph --patch
* commit 43c115b685bca2f00dba33b7f7324a2a7a0c5e5e (HEAD -> master)
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Wed Oct 28 22:14:45 2026 +1300
1
diff --git a/file_modify b/file_modify
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/file_modify
@@ -0,0 +1 @@
+0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --fixup=amend:'HEAD' --no-edit
[master 4db7441] amend! 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 573541ac9702dd3969c9bc859d2b91ec1f7e6e56 0 file_modify
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
nothing to commit, working tree clean
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --graph --patch
* commit 4db7441182b7a5ca08d741dc48edf4af1b1c19b1 (HEAD -> master)
| Author: Han Jiang <jhcarl0814@gmail.com>
| Date: Wed Oct 28 22:14:47 2026 +1300
|
| amend! 1
|
| 1
|
* commit 43c115b685bca2f00dba33b7f7324a2a7a0c5e5e
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Wed Oct 28 22:14:45 2026 +1300
1
diff --git a/file_modify b/file_modify
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/file_modify
@@ -0,0 +1 @@
+0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' rebase --autosquash --root
Successfully rebased and updated refs/heads/master.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 573541ac9702dd3969c9bc859d2b91ec1f7e6e56 0 file_modify
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
nothing to commit, working tree clean
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --graph --patch
* commit be8a96dcda2e65b2d0c375c81a53f514a7e33b5d (HEAD -> master)
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Wed Oct 28 22:14:45 2026 +1300
1
diff --git a/file_modify b/file_modify
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/file_modify
@@ -0,0 +1 @@
+0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '0' >'./repo/file_modify'; git -C './repo' add './file_modify'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 9f53efe] 1
1 file changed, 1 insertion(+)
create mode 100644 file_modify
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file_modify'; git -C './repo' add './file_modify'; git -C './repo' commit --message="$((++number))"; echo '2' >'./repo/file_modify'; git -C './repo' add './file_modify'; echo '3' >'./repo/file_modify'; echo '4' >'./repo/file_add'
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
[master 39ebde1] 2
1 file changed, 1 insertion(+), 1 deletion(-)
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
file_add
100644 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f 0 file_modify
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
modified: file_modify
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: file_modify
Untracked files:
(use "git add <file>..." to include in what will be committed)
file_add
Changes to be committed:
diff --git c/file_modify i/file_modify
index d00491f..0cfbf08 100644
--- c/file_modify
+++ i/file_modify
@@ -1 +1 @@
-1
+2
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/file_modify w/file_modify
index 0cfbf08..00750ed 100644
--- i/file_modify
+++ w/file_modify
@@ -1 +1 @@
-2
+3
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --graph --patch
* commit 39ebde112f5759aa1b71dd6477d2adf892b81453 (HEAD -> master)
| Author: Han Jiang <jhcarl0814@gmail.com>
| Date: Wed Oct 28 22:14:56 2026 +1300
|
| 2
|
| diff --git a/file_modify b/file_modify
| index 573541a..d00491f 100644
| --- a/file_modify
| +++ b/file_modify
| @@ -1 +1 @@
| -0
| +1
|
* commit 9f53efed5fa82e8797ade460b9085291b014c656
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Wed Oct 28 22:14:55 2026 +1300
1
diff --git a/file_modify b/file_modify
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/file_modify
@@ -0,0 +1 @@
+0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --fixup=reword:'HEAD' --no-edit
[master 698aae4] amend! 2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
file_add
100644 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f 0 file_modify
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
modified: file_modify
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: file_modify
Untracked files:
(use "git add <file>..." to include in what will be committed)
file_add
Changes to be committed:
diff --git c/file_modify i/file_modify
index d00491f..0cfbf08 100644
--- c/file_modify
+++ i/file_modify
@@ -1 +1 @@
-1
+2
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/file_modify w/file_modify
index 0cfbf08..00750ed 100644
--- i/file_modify
+++ w/file_modify
@@ -1 +1 @@
-2
+3
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --graph --patch
* commit 698aae45b11d1320aa787e7b0e5d24e0c765d038 (HEAD -> master)
| Author: Han Jiang <jhcarl0814@gmail.com>
| Date: Wed Oct 28 22:14:58 2026 +1300
|
| amend! 2
|
| 2
|
* commit 39ebde112f5759aa1b71dd6477d2adf892b81453
| Author: Han Jiang <jhcarl0814@gmail.com>
| Date: Wed Oct 28 22:14:56 2026 +1300
|
| 2
|
| diff --git a/file_modify b/file_modify
| index 573541a..d00491f 100644
| --- a/file_modify
| +++ b/file_modify
| @@ -1 +1 @@
| -0
| +1
|
* commit 9f53efed5fa82e8797ade460b9085291b014c656
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Wed Oct 28 22:14:55 2026 +1300
1
diff --git a/file_modify b/file_modify
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/file_modify
@@ -0,0 +1 @@
+0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' rebase --autosquash --root
error: cannot rebase: You have unstaged changes.
error: additionally, your index contains uncommitted changes.
error: Please commit or stash them.
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' rebase --autosquash --root --autostash
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
Created autostash: 134cd05
Applied autostash.
Successfully rebased and updated refs/heads/master.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
file_add
100644 d00491fd7e5bb6fa28c517a0bb32b8b506539d4d 0 file_modify
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: file_modify
Untracked files:
(use "git add <file>..." to include in what will be committed)
file_add
--------------------------------------------------
Changes not staged for commit:
diff --git i/file_modify w/file_modify
index d00491f..00750ed 100644
--- i/file_modify
+++ w/file_modify
@@ -1 +1 @@
-1
+3
no changes added to commit (use "git add" and/or "git commit -a")
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --graph --patch
* commit f1bfa7b6c44d145f9dd4c334cb166ffe73ab88b0 (HEAD -> master)
| Author: Han Jiang <jhcarl0814@gmail.com>
| Date: Wed Oct 28 22:14:56 2026 +1300
|
| 2
|
| diff --git a/file_modify b/file_modify
| index 573541a..d00491f 100644
| --- a/file_modify
| +++ b/file_modify
| @@ -1 +1 @@
| -0
| +1
|
* commit 9f53efed5fa82e8797ade460b9085291b014c656
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Wed Oct 28 22:14:55 2026 +1300
1
diff --git a/file_modify b/file_modify
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/file_modify
@@ -0,0 +1 @@
+0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '0' >'./repo/file_modify'; git -C './repo' add './file_modify'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 9a78f16] 1
1 file changed, 1 insertion(+)
create mode 100644 file_modify
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 573541ac9702dd3969c9bc859d2b91ec1f7e6e56 0 file_modify
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
nothing to commit, working tree clean
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --graph --patch
* commit 9a78f16583c2a690d07e51a96019de0853d17fcd (HEAD -> master)
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Wed Oct 28 22:15:06 2026 +1300
1
diff --git a/file_modify b/file_modify
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/file_modify
@@ -0,0 +1 @@
+0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --fixup=reword:'HEAD' --no-edit
[master b0781bb] amend! 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 573541ac9702dd3969c9bc859d2b91ec1f7e6e56 0 file_modify
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
nothing to commit, working tree clean
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --graph --patch
* commit b0781bb179d57af765aa929a8272bca16598dd1e (HEAD -> master)
| Author: Han Jiang <jhcarl0814@gmail.com>
| Date: Wed Oct 28 22:15:08 2026 +1300
|
| amend! 1
|
| 1
|
* commit 9a78f16583c2a690d07e51a96019de0853d17fcd
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Wed Oct 28 22:15:06 2026 +1300
1
diff --git a/file_modify b/file_modify
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/file_modify
@@ -0,0 +1 @@
+0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' rebase --autosquash --root
Successfully rebased and updated refs/heads/master.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 573541ac9702dd3969c9bc859d2b91ec1f7e6e56 0 file_modify
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
nothing to commit, working tree clean
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --graph --patch
* commit 5852aa658827cffc4c9fc219f7009b555427f758 (HEAD -> master)
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Wed Oct 28 22:15:06 2026 +1300
1
diff --git a/file_modify b/file_modify
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/file_modify
@@ -0,0 +1 @@
+0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '0' >'./repo/file_modify'; git -C './repo' add './file_modify'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 0f4c3b1] 1
1 file changed, 1 insertion(+)
create mode 100644 file_modify
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file_modify'; git -C './repo' add './file_modify'; git -C './repo' commit --message="$((++number))"; echo '2' >'./repo/file_modify'; git -C './repo' add './file_modify'; echo '3' >'./repo/file_modify'; echo '4' >'./repo/file_add'
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
[master c6c8713] 2
1 file changed, 1 insertion(+), 1 deletion(-)
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
file_add
100644 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f 0 file_modify
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
modified: file_modify
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: file_modify
Untracked files:
(use "git add <file>..." to include in what will be committed)
file_add
Changes to be committed:
diff --git c/file_modify i/file_modify
index d00491f..0cfbf08 100644
--- c/file_modify
+++ i/file_modify
@@ -1 +1 @@
-1
+2
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/file_modify w/file_modify
index 0cfbf08..00750ed 100644
--- i/file_modify
+++ w/file_modify
@@ -1 +1 @@
-2
+3
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --graph --patch
* commit c6c8713063a9fc38ba9322854ba0ab58e2c8e74a (HEAD -> master)
| Author: Han Jiang <jhcarl0814@gmail.com>
| Date: Wed Oct 28 22:15:17 2026 +1300
|
| 2
|
| diff --git a/file_modify b/file_modify
| index 573541a..d00491f 100644
| --- a/file_modify
| +++ b/file_modify
| @@ -1 +1 @@
| -0
| +1
|
* commit 0f4c3b1a2af1ccf8343f31dd47aed126bf7224d2
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Wed Oct 28 22:15:16 2026 +1300
1
diff --git a/file_modify b/file_modify
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/file_modify
@@ -0,0 +1 @@
+0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --message="$((++number))" --squash='HEAD'
[master f4e2901] squash! 2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
file_add
100644 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f 0 file_modify
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: file_modify
Untracked files:
(use "git add <file>..." to include in what will be committed)
file_add
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
diff --git i/file_modify w/file_modify
index 0cfbf08..00750ed 100644
--- i/file_modify
+++ w/file_modify
@@ -1 +1 @@
-2
+3
no changes added to commit (use "git add" and/or "git commit -a")
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --graph --patch
* commit f4e29015e7b91eb41b8e9c3d5eeab7183beec2e2 (HEAD -> master)
| Author: Han Jiang <jhcarl0814@gmail.com>
| Date: Wed Oct 28 22:15:19 2026 +1300
|
| squash! 2
|
| 3
|
| 4
|
| diff --git a/file_modify b/file_modify
| index d00491f..0cfbf08 100644
| --- a/file_modify
| +++ b/file_modify
| @@ -1 +1 @@
| -1
| +2
|
* commit c6c8713063a9fc38ba9322854ba0ab58e2c8e74a
| Author: Han Jiang <jhcarl0814@gmail.com>
| Date: Wed Oct 28 22:15:17 2026 +1300
|
| 2
|
| diff --git a/file_modify b/file_modify
| index 573541a..d00491f 100644
| --- a/file_modify
| +++ b/file_modify
| @@ -1 +1 @@
| -0
| +1
|
* commit 0f4c3b1a2af1ccf8343f31dd47aed126bf7224d2
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Wed Oct 28 22:15:16 2026 +1300
1
diff --git a/file_modify b/file_modify
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/file_modify
@@ -0,0 +1 @@
+0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' -c 'core.editor=:' rebase --autosquash --root
error: cannot rebase: You have unstaged changes.
error: Please commit or stash them.
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' -c 'core.editor=:' rebase --autosquash --root --autostash
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
Created autostash: 08b7a37
[detached HEAD 119152a] 2
Date: Wed Oct 28 22:15:17 2026 +1300
1 file changed, 1 insertion(+), 1 deletion(-)
Applied autostash.
Successfully rebased and updated refs/heads/master.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
file_add
100644 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f 0 file_modify
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: file_modify
Untracked files:
(use "git add <file>..." to include in what will be committed)
file_add
--------------------------------------------------
Changes not staged for commit:
diff --git i/file_modify w/file_modify
index 0cfbf08..00750ed 100644
--- i/file_modify
+++ w/file_modify
@@ -1 +1 @@
-2
+3
no changes added to commit (use "git add" and/or "git commit -a")
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --graph --patch
* commit 119152a51c178b443dc46625b6073b5b09ccba4a (HEAD -> master)
| Author: Han Jiang <jhcarl0814@gmail.com>
| Date: Wed Oct 28 22:15:17 2026 +1300
|
| 2
|
| 3
|
| 4
|
| diff --git a/file_modify b/file_modify
| index 573541a..0cfbf08 100644
| --- a/file_modify
| +++ b/file_modify
| @@ -1 +1 @@
| -0
| +2
|
* commit 0f4c3b1a2af1ccf8343f31dd47aed126bf7224d2
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Wed Oct 28 22:15:16 2026 +1300
1
diff --git a/file_modify b/file_modify
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/file_modify
@@ -0,0 +1 @@
+0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '0' >'./repo/file_modify'; git -C './repo' add './file_modify'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 8020df6] 1
1 file changed, 1 insertion(+)
create mode 100644 file_modify
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 573541ac9702dd3969c9bc859d2b91ec1f7e6e56 0 file_modify
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
nothing to commit, working tree clean
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --graph --patch
* commit 8020df6a071009a6fcf95366796c9160ecfabba3 (HEAD -> master)
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Wed Oct 28 22:15:28 2026 +1300
1
diff --git a/file_modify b/file_modify
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/file_modify
@@ -0,0 +1 @@
+0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --message="$((++number))" --squash='HEAD'
On branch master
nothing to commit, working tree clean
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --message="$((++number))" --squash='HEAD' --allow-empty
[master c8373aa] squash! 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 573541ac9702dd3969c9bc859d2b91ec1f7e6e56 0 file_modify
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
nothing to commit, working tree clean
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --graph --patch
* commit c8373aa6b6ce174a660b02885174ae2f4949fb1b (HEAD -> master)
| Author: Han Jiang <jhcarl0814@gmail.com>
| Date: Wed Oct 28 22:15:30 2026 +1300
|
| squash! 1
|
| 4
|
| 5
|
* commit 8020df6a071009a6fcf95366796c9160ecfabba3
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Wed Oct 28 22:15:28 2026 +1300
1
diff --git a/file_modify b/file_modify
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/file_modify
@@ -0,0 +1 @@
+0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' -c 'core.editor=:' rebase --autosquash --root
[detached HEAD e5eb398] 1
Date: Wed Oct 28 22:15:28 2026 +1300
1 file changed, 1 insertion(+)
create mode 100644 file_modify
Successfully rebased and updated refs/heads/master.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 573541ac9702dd3969c9bc859d2b91ec1f7e6e56 0 file_modify
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
nothing to commit, working tree clean
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --graph --patch
* commit e5eb39863c0cc22504be4162a54aa26d13c98611 (HEAD -> master)
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Wed Oct 28 22:15:28 2026 +1300
1
4
5
diff --git a/file_modify b/file_modify
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/file_modify
@@ -0,0 +1 @@
+0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/HEAD~1'; echo '1' >'./repo/file'; git -C './repo' add './HEAD~1' './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'HEAD~1', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 5301b76] 1
2 files changed, 2 insertions(+)
create mode 100644 HEAD~1
create mode 100644 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./repo/HEAD~1'; echo '2' >'./repo/file'; git -C './repo' add './HEAD~1' './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'HEAD~1', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master bd85513] 2
2 files changed, 2 insertions(+), 2 deletions(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '3' >'./repo/HEAD~1'; echo '3' >'./repo/file'; git -C './repo' add './HEAD~1' './file'
warning: in the working copy of 'HEAD~1', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '4' >'./repo/HEAD~1'; echo '4' >'./repo/file';
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 00750edc07d6415dcc07ae0351e9397b0222b7ba 0 HEAD~1
100644 00750edc07d6415dcc07ae0351e9397b0222b7ba 0 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
modified: HEAD~1
modified: file
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: HEAD~1
modified: file
Changes to be committed:
diff --git c/HEAD~1 i/HEAD~1
index 0cfbf08..00750ed 100644
--- c/HEAD~1
+++ i/HEAD~1
@@ -1 +1 @@
-2
+3
diff --git c/file i/file
index 0cfbf08..00750ed 100644
--- c/file
+++ i/file
@@ -1 +1 @@
-2
+3
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'HEAD~1', LF will be replaced by CRLF the next time Git touches it
diff --git i/HEAD~1 w/HEAD~1
index 00750ed..b8626c4 100644
--- i/HEAD~1
+++ w/HEAD~1
@@ -1 +1 @@
-3
+4
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git i/file w/file
index 00750ed..b8626c4 100644
--- i/file
+++ w/file
@@ -1 +1 @@
-3
+4
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* bd85513 - 2026-10-28 22:15 (2 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
|
| diff --git a/HEAD~1 b/HEAD~1
| index d00491f..0cfbf08 100644
| --- a/HEAD~1
| +++ b/HEAD~1
| @@ -1 +1 @@
| -1
| +2
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 5301b76 - 2026-10-28 22:15 (2 seconds ago) 1 - Han Jiang
diff --git a/HEAD~1 b/HEAD~1
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/HEAD~1
@@ -0,0 +1 @@
+1
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' reset -- 'HEAD~1'
Unstaged changes after reset:
M HEAD~1
M file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f 0 HEAD~1
100644 00750edc07d6415dcc07ae0351e9397b0222b7ba 0 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
modified: file
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: HEAD~1
modified: file
Changes to be committed:
diff --git c/file i/file
index 0cfbf08..00750ed 100644
--- c/file
+++ i/file
@@ -1 +1 @@
-2
+3
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'HEAD~1', LF will be replaced by CRLF the next time Git touches it
diff --git i/HEAD~1 w/HEAD~1
index 0cfbf08..b8626c4 100644
--- i/HEAD~1
+++ w/HEAD~1
@@ -1 +1 @@
-2
+4
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git i/file w/file
index 00750ed..b8626c4 100644
--- i/file
+++ w/file
@@ -1 +1 @@
-3
+4
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* bd85513 - 2026-10-28 22:15 (4 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
|
| diff --git a/HEAD~1 b/HEAD~1
| index d00491f..0cfbf08 100644
| --- a/HEAD~1
| +++ b/HEAD~1
| @@ -1 +1 @@
| -1
| +2
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 5301b76 - 2026-10-28 22:15 (4 seconds ago) 1 - Han Jiang
diff --git a/HEAD~1 b/HEAD~1
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/HEAD~1
@@ -0,0 +1 @@
+1
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/HEAD~1'; echo '1' >'./repo/file'; git -C './repo' add './HEAD~1' './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'HEAD~1', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 4034340] 1
2 files changed, 2 insertions(+)
create mode 100644 HEAD~1
create mode 100644 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./repo/HEAD~1'; echo '2' >'./repo/file'; git -C './repo' add './HEAD~1' './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'HEAD~1', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master 99c3e9e] 2
2 files changed, 2 insertions(+), 2 deletions(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '3' >'./repo/HEAD~1'; echo '3' >'./repo/file'; git -C './repo' add './HEAD~1' './file'
warning: in the working copy of 'HEAD~1', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '4' >'./repo/HEAD~1'; echo '4' >'./repo/file';
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 00750edc07d6415dcc07ae0351e9397b0222b7ba 0 HEAD~1
100644 00750edc07d6415dcc07ae0351e9397b0222b7ba 0 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
modified: HEAD~1
modified: file
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: HEAD~1
modified: file
Changes to be committed:
diff --git c/HEAD~1 i/HEAD~1
index 0cfbf08..00750ed 100644
--- c/HEAD~1
+++ i/HEAD~1
@@ -1 +1 @@
-2
+3
diff --git c/file i/file
index 0cfbf08..00750ed 100644
--- c/file
+++ i/file
@@ -1 +1 @@
-2
+3
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'HEAD~1', LF will be replaced by CRLF the next time Git touches it
diff --git i/HEAD~1 w/HEAD~1
index 00750ed..b8626c4 100644
--- i/HEAD~1
+++ w/HEAD~1
@@ -1 +1 @@
-3
+4
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git i/file w/file
index 00750ed..b8626c4 100644
--- i/file
+++ w/file
@@ -1 +1 @@
-3
+4
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* 99c3e9e - 2026-10-28 22:15 (2 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
|
| diff --git a/HEAD~1 b/HEAD~1
| index d00491f..0cfbf08 100644
| --- a/HEAD~1
| +++ b/HEAD~1
| @@ -1 +1 @@
| -1
| +2
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 4034340 - 2026-10-28 22:15 (3 seconds ago) 1 - Han Jiang
diff --git a/HEAD~1 b/HEAD~1
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/HEAD~1
@@ -0,0 +1 @@
+1
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' reset HEAD~1 --
Unstaged changes after reset:
M HEAD~1
M file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 d00491fd7e5bb6fa28c517a0bb32b8b506539d4d 0 HEAD~1
100644 d00491fd7e5bb6fa28c517a0bb32b8b506539d4d 0 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: HEAD~1
modified: file
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'HEAD~1', LF will be replaced by CRLF the next time Git touches it
diff --git i/HEAD~1 w/HEAD~1
index d00491f..b8626c4 100644
--- i/HEAD~1
+++ w/HEAD~1
@@ -1 +1 @@
-1
+4
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git i/file w/file
index d00491f..b8626c4 100644
--- i/file
+++ w/file
@@ -1 +1 @@
-1
+4
no changes added to commit (use "git add" and/or "git commit -a")
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch ORIG_HEAD
* 99c3e9e - 2026-10-28 22:15 (4 seconds ago) 2 - Han Jiang
|
| diff --git a/HEAD~1 b/HEAD~1
| index d00491f..0cfbf08 100644
| --- a/HEAD~1
| +++ b/HEAD~1
| @@ -1 +1 @@
| -1
| +2
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 4034340 - 2026-10-28 22:15 (5 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master)
diff --git a/HEAD~1 b/HEAD~1
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/HEAD~1
@@ -0,0 +1 @@
+1
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/HEAD~1'; echo '1' >'./repo/file'; git -C './repo' add './HEAD~1' './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'HEAD~1', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) e3c0ef9] 1
2 files changed, 2 insertions(+)
create mode 100644 HEAD~1
create mode 100644 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./repo/HEAD~1'; echo '2' >'./repo/file'; git -C './repo' add './HEAD~1' './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'HEAD~1', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master 025fd58] 2
2 files changed, 2 insertions(+), 2 deletions(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '3' >'./repo/HEAD~1'; echo '3' >'./repo/file'; git -C './repo' add './HEAD~1' './file'
warning: in the working copy of 'HEAD~1', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '4' >'./repo/HEAD~1'; echo '4' >'./repo/file';
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 00750edc07d6415dcc07ae0351e9397b0222b7ba 0 HEAD~1
100644 00750edc07d6415dcc07ae0351e9397b0222b7ba 0 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
modified: HEAD~1
modified: file
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: HEAD~1
modified: file
Changes to be committed:
diff --git c/HEAD~1 i/HEAD~1
index 0cfbf08..00750ed 100644
--- c/HEAD~1
+++ i/HEAD~1
@@ -1 +1 @@
-2
+3
diff --git c/file i/file
index 0cfbf08..00750ed 100644
--- c/file
+++ i/file
@@ -1 +1 @@
-2
+3
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'HEAD~1', LF will be replaced by CRLF the next time Git touches it
diff --git i/HEAD~1 w/HEAD~1
index 00750ed..b8626c4 100644
--- i/HEAD~1
+++ w/HEAD~1
@@ -1 +1 @@
-3
+4
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git i/file w/file
index 00750ed..b8626c4 100644
--- i/file
+++ w/file
@@ -1 +1 @@
-3
+4
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* 025fd58 - 2026-10-28 22:15 (2 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
|
| diff --git a/HEAD~1 b/HEAD~1
| index d00491f..0cfbf08 100644
| --- a/HEAD~1
| +++ b/HEAD~1
| @@ -1 +1 @@
| -1
| +2
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* e3c0ef9 - 2026-10-28 22:15 (2 seconds ago) 1 - Han Jiang
diff --git a/HEAD~1 b/HEAD~1
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/HEAD~1
@@ -0,0 +1 @@
+1
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' reset HEAD~1 -- '.'
Unstaged changes after reset:
M HEAD~1
M file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 d00491fd7e5bb6fa28c517a0bb32b8b506539d4d 0 HEAD~1
100644 d00491fd7e5bb6fa28c517a0bb32b8b506539d4d 0 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
modified: HEAD~1
modified: file
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: HEAD~1
modified: file
Changes to be committed:
diff --git c/HEAD~1 i/HEAD~1
index 0cfbf08..d00491f 100644
--- c/HEAD~1
+++ i/HEAD~1
@@ -1 +1 @@
-2
+1
diff --git c/file i/file
index 0cfbf08..d00491f 100644
--- c/file
+++ i/file
@@ -1 +1 @@
-2
+1
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'HEAD~1', LF will be replaced by CRLF the next time Git touches it
diff --git i/HEAD~1 w/HEAD~1
index d00491f..b8626c4 100644
--- i/HEAD~1
+++ w/HEAD~1
@@ -1 +1 @@
-1
+4
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git i/file w/file
index d00491f..b8626c4 100644
--- i/file
+++ w/file
@@ -1 +1 @@
-1
+4
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* 025fd58 - 2026-10-28 22:15 (4 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
|
| diff --git a/HEAD~1 b/HEAD~1
| index d00491f..0cfbf08 100644
| --- a/HEAD~1
| +++ b/HEAD~1
| @@ -1 +1 @@
| -1
| +2
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* e3c0ef9 - 2026-10-28 22:15 (4 seconds ago) 1 - Han Jiang
diff --git a/HEAD~1 b/HEAD~1
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/HEAD~1
@@ -0,0 +1 @@
+1
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 14aaa9b] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master eeb5d99] 2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '3' >'./repo/file'; git -C './repo' add './file'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '4' >'./repo/file'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 00750edc07d6415dcc07ae0351e9397b0222b7ba 0 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
modified: file
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: file
Changes to be committed:
diff --git c/file i/file
index 0cfbf08..00750ed 100644
--- c/file
+++ i/file
@@ -1 +1 @@
-2
+3
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git i/file w/file
index 00750ed..b8626c4 100644
--- i/file
+++ w/file
@@ -1 +1 @@
-3
+4
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* eeb5d99 - 2026-10-28 22:16 (2 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 14aaa9b - 2026-10-28 22:16 (3 seconds ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' reset --soft HEAD~1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 00750edc07d6415dcc07ae0351e9397b0222b7ba 0 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
modified: file
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: file
Changes to be committed:
diff --git c/file i/file
index d00491f..00750ed 100644
--- c/file
+++ i/file
@@ -1 +1 @@
-1
+3
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git i/file w/file
index 00750ed..b8626c4 100644
--- i/file
+++ w/file
@@ -1 +1 @@
-3
+4
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch ORIG_HEAD
* eeb5d99 - 2026-10-28 22:16 (3 seconds ago) 2 - Han Jiang
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 14aaa9b - 2026-10-28 22:16 (4 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) ae60d05] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master 5158727] 2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '3' >'./repo/file'; git -C './repo' add './file'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '4' >'./repo/file'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 00750edc07d6415dcc07ae0351e9397b0222b7ba 0 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
modified: file
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: file
Changes to be committed:
diff --git c/file i/file
index 0cfbf08..00750ed 100644
--- c/file
+++ i/file
@@ -1 +1 @@
-2
+3
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git i/file w/file
index 00750ed..b8626c4 100644
--- i/file
+++ w/file
@@ -1 +1 @@
-3
+4
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* 5158727 - 2026-10-28 22:16 (2 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* ae60d05 - 2026-10-28 22:16 (3 seconds ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' reset --mixed HEAD~1
Unstaged changes after reset:
M file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 d00491fd7e5bb6fa28c517a0bb32b8b506539d4d 0 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: file
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git i/file w/file
index d00491f..b8626c4 100644
--- i/file
+++ w/file
@@ -1 +1 @@
-1
+4
no changes added to commit (use "git add" and/or "git commit -a")
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch ORIG_HEAD
* 5158727 - 2026-10-28 22:16 (4 seconds ago) 2 - Han Jiang
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* ae60d05 - 2026-10-28 22:16 (5 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master (root-commit) ccfcf40] 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master 14fa139] 2
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '3' >'./repo/file'; git -C './repo' add './file'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '4' >'./repo/file'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 00750edc07d6415dcc07ae0351e9397b0222b7ba 0 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
modified: file
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: file
Changes to be committed:
diff --git c/file i/file
index 0cfbf08..00750ed 100644
--- c/file
+++ i/file
@@ -1 +1 @@
-2
+3
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git i/file w/file
index 00750ed..b8626c4 100644
--- i/file
+++ w/file
@@ -1 +1 @@
-3
+4
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* 14fa139 - 2026-10-28 22:16 (2 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
|
| diff --git a/file b/file
| new file mode 100644
| index 0000000..0cfbf08
| --- /dev/null
| +++ b/file
| @@ -0,0 +1 @@
| +2
* ccfcf40 - 2026-10-28 22:16 (2 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' reset --mixed HEAD~1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
Untracked files:
(use "git add <file>..." to include in what will be committed)
file
nothing added to commit but untracked files present (use "git add" to track)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch ORIG_HEAD
* 14fa139 - 2026-10-28 22:16 (4 seconds ago) 2 - Han Jiang
|
| diff --git a/file b/file
| new file mode 100644
| index 0000000..0cfbf08
| --- /dev/null
| +++ b/file
| @@ -0,0 +1 @@
| +2
* ccfcf40 - 2026-10-28 22:16 (4 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master (root-commit) b4276c8] 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master 08b8a91] 2
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '3' >'./repo/file'; git -C './repo' add './file'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '4' >'./repo/file'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 00750edc07d6415dcc07ae0351e9397b0222b7ba 0 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
modified: file
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: file
Changes to be committed:
diff --git c/file i/file
index 0cfbf08..00750ed 100644
--- c/file
+++ i/file
@@ -1 +1 @@
-2
+3
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git i/file w/file
index 00750ed..b8626c4 100644
--- i/file
+++ w/file
@@ -1 +1 @@
-3
+4
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* 08b8a91 - 2026-10-28 22:16 (3 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
|
| diff --git a/file b/file
| new file mode 100644
| index 0000000..0cfbf08
| --- /dev/null
| +++ b/file
| @@ -0,0 +1 @@
| +2
* b4276c8 - 2026-10-28 22:16 (3 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' reset --mixed --intent-to-add HEAD~1
Unstaged changes after reset:
A file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
new file: file
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git i/file w/file
new file mode 100644
index 0000000..b8626c4
--- /dev/null
+++ w/file
@@ -0,0 +1 @@
+4
no changes added to commit (use "git add" and/or "git commit -a")
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch ORIG_HEAD
* 08b8a91 - 2026-10-28 22:16 (4 seconds ago) 2 - Han Jiang
|
| diff --git a/file b/file
| new file mode 100644
| index 0000000..0cfbf08
| --- /dev/null
| +++ b/file
| @@ -0,0 +1 @@
| +2
* b4276c8 - 2026-10-28 22:16 (4 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 02789df] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master 28401fa] 2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '3' >'./repo/file'; git -C './repo' add './file'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '4' >'./repo/file'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 00750edc07d6415dcc07ae0351e9397b0222b7ba 0 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
modified: file
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: file
Changes to be committed:
diff --git c/file i/file
index 0cfbf08..00750ed 100644
--- c/file
+++ i/file
@@ -1 +1 @@
-2
+3
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git i/file w/file
index 00750ed..b8626c4 100644
--- i/file
+++ w/file
@@ -1 +1 @@
-3
+4
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* 28401fa - 2026-10-28 22:16 (2 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 02789df - 2026-10-28 22:16 (3 seconds ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' reset --hard HEAD~1
HEAD is now at 02789df 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 d00491fd7e5bb6fa28c517a0bb32b8b506539d4d 0 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
nothing to commit, working tree clean
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch ORIG_HEAD
* 28401fa - 2026-10-28 22:16 (4 seconds ago) 2 - Han Jiang
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 02789df - 2026-10-28 22:16 (5 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
if index has unmerged entries, fatal: Cannot do a keep reset in the middle of a merge.
if index doesn't have unmerged entries,
HEAD: reset to <commit>
index: reset to <commit>
working tree: (see below)
if a file is different between <commit> and HEAD,
if <commit> != index && HEAD != index, then resetting index to <commit> would lose entries in index, so reset is aborted
if HEAD == index, then applies "index -> working tree" onto <commit> to yield working tree
if <commit> == index, then applies "index -> working tree" onto <commit> to yield working tree
if a file is same between <commit> and HEAD, then doesn't look at or touch working tree
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) c005346] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master ffa1d68] 2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '3' >'./repo/file'; git -C './repo' add './file'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '3' >'./repo/file'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 00750edc07d6415dcc07ae0351e9397b0222b7ba 0 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
modified: file
Changes to be committed:
diff --git c/file i/file
index 0cfbf08..00750ed 100644
--- c/file
+++ i/file
@@ -1 +1 @@
-2
+3
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* ffa1d68 - 2026-10-28 22:16 (2 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* c005346 - 2026-10-28 22:16 (2 seconds ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' reset --keep HEAD~1
error: Entry 'file' would be overwritten by merge. Cannot merge.
fatal: Could not reset index file to revision 'HEAD~1'.
jhcarl0814@jhcarl0814 UCRT64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 2b21aca] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master c914bff] 2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./repo/file'; git -C './repo' add './file'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f 0 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: file
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git i/file w/file
index 0cfbf08..d00491f 100644
--- i/file
+++ w/file
@@ -1 +1 @@
-2
+1
no changes added to commit (use "git add" and/or "git commit -a")
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* c914bff - 2026-10-28 22:17 (3 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 2b21aca - 2026-10-28 22:17 (3 seconds ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' reset --keep HEAD~1
error: Entry 'file' not uptodate. Cannot merge.
fatal: Could not reset index file to revision 'HEAD~1'.
jhcarl0814@jhcarl0814 UCRT64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 7fe5817] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master 71fa5d4] 2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./repo/file'; git -C './repo' add './file'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./repo/file'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f 0 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
nothing to commit, working tree clean
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* 71fa5d4 - 2026-10-28 22:17 (2 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 7fe5817 - 2026-10-28 22:17 (2 seconds ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' reset --keep HEAD~1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 d00491fd7e5bb6fa28c517a0bb32b8b506539d4d 0 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
nothing to commit, working tree clean
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch ORIG_HEAD
* 71fa5d4 - 2026-10-28 22:17 (4 seconds ago) 2 - Han Jiang
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 7fe5817 - 2026-10-28 22:17 (4 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 6c22bd2] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))" --allow-empty
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master 958bfcf] 2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./repo/file'; git -C './repo' add './file'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '3' >'./repo/file'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f 0 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
modified: file
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: file
Changes to be committed:
diff --git c/file i/file
index d00491f..0cfbf08 100644
--- c/file
+++ i/file
@@ -1 +1 @@
-1
+2
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git i/file w/file
index 0cfbf08..00750ed 100644
--- i/file
+++ w/file
@@ -1 +1 @@
-2
+3
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* 958bfcf - 2026-10-28 22:17 (2 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
* 6c22bd2 - 2026-10-28 22:17 (3 seconds ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' reset --keep HEAD~1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 d00491fd7e5bb6fa28c517a0bb32b8b506539d4d 0 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: file
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git i/file w/file
index d00491f..00750ed 100644
--- i/file
+++ w/file
@@ -1 +1 @@
-1
+3
no changes added to commit (use "git add" and/or "git commit -a")
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch ORIG_HEAD
* 958bfcf - 2026-10-28 22:17 (4 seconds ago) 2 - Han Jiang
* 6c22bd2 - 2026-10-28 22:17 (5 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
HEAD: reset to <commit>
index: reset to <commit>
working tree: (see below)
if index has unmerged entries, reset working tree to <commit>
if index doesn't have unmerged entries, apply "index -> working tree" onto <commit> to yield working tree
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ branch_default_path="$(git -C './repo' symbolic-ref HEAD)"; echo "$branch_default_path"
refs/heads/master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ branch_default_name="$(git -C './repo' branch --show-current)"; echo "$branch_default_name"
master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 016623a] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master c6999a8] 2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '3' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master 43e76ba] 3
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout -b branch1; echo '4' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
Switched to a new branch 'branch1'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch1 010e5ce] 4
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout "$branch_default_name"
Switched to branch 'master'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout -b branch2; echo '5' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
Switched to a new branch 'branch2'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch2 9d55ff4] 5
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1; git -C './repo' merge branch2
Switched to branch 'branch1'
Auto-merging file
CONFLICT (content): Merge conflict in file
Automatic merge failed; fix conflicts and then commit the result.
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '6' >'./repo/file'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' symbolic-ref HEAD "$branch_default_path"
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' symbolic-ref HEAD
refs/heads/master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' update-ref "$branch_default_path" HEAD~1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show-ref "$branch_default_path"
c6999a8e567a08ddcdc12e3e1bdcb679dd6ab037 refs/heads/master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 00750edc07d6415dcc07ae0351e9397b0222b7ba 1 file
100644 b8626c4cff2849624fb67f87cd0ad72b163671ad 2 file
100644 7ed6ff82de6bcc2a78243fc9c54d3ef5ac14da69 3 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
You have unmerged paths.
(fix conflicts and run "git commit")
(use "git merge --abort" to abort the merge)
Unmerged paths:
(use "git add <file>..." to mark resolution)
both modified: file
* Unmerged path file
no changes added to commit (use "git add" and/or "git commit -a")
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* 9d55ff4 - 2026-10-28 22:17 (5 seconds ago) 5 - Han Jiang (refs/heads/branch2)
|
| diff --git a/file b/file
| index 00750ed..7ed6ff8 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -3
| +5
| * 010e5ce - 2026-10-28 22:17 (6 seconds ago) 4 - Han Jiang (refs/heads/branch1)
|/
|
| diff --git a/file b/file
| index 00750ed..b8626c4 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -3
| +4
* 43e76ba - 2026-10-28 22:17 (7 seconds ago) 3 - Han Jiang
|
| diff --git a/file b/file
| index 0cfbf08..00750ed 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -2
| +3
* c6999a8 - 2026-10-28 22:17 (7 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 016623a - 2026-10-28 22:17 (8 seconds ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --cc file
index b8626c4,7ed6ff8..0000000
--- a/file
+++ b/file
@@@ -1,1 -1,1 +1,1 @@@
- 4
-5
++6
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --base
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
* Unmerged path file
diff --git a/file b/file
index 00750ed..1e8b314 100644
--- a/file
+++ b/file
@@ -1 +1 @@
-3
+6
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --ours
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
* Unmerged path file
diff --git a/file b/file
index b8626c4..1e8b314 100644
--- a/file
+++ b/file
@@ -1 +1 @@
-4
+6
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --theirs
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
* Unmerged path file
diff --git a/file b/file
index 7ed6ff8..1e8b314 100644
--- a/file
+++ b/file
@@ -1 +1 @@
-5
+6
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff AUTO_MERGE
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git a/file b/file
index 4956321..1e8b314 100644
--- a/file
+++ b/file
@@ -1,5 +1 @@
-<<<<<<< HEAD
-4
-=======
-5
->>>>>>> branch2
+6
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' reset --merge HEAD~1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 d00491fd7e5bb6fa28c517a0bb32b8b506539d4d 0 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
nothing to commit, working tree clean
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch ORIG_HEAD
* 9d55ff4 - 2026-10-28 22:17 (9 seconds ago) 5 - Han Jiang (refs/heads/branch2)
|
| diff --git a/file b/file
| index 00750ed..7ed6ff8 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -3
| +5
| * 010e5ce - 2026-10-28 22:17 (10 seconds ago) 4 - Han Jiang (refs/heads/branch1)
|/
|
| diff --git a/file b/file
| index 00750ed..b8626c4 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -3
| +4
* 43e76ba - 2026-10-28 22:17 (11 seconds ago) 3 - Han Jiang
|
| diff --git a/file b/file
| index 0cfbf08..00750ed 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -2
| +3
* c6999a8 - 2026-10-28 22:17 (11 seconds ago) 2 - Han Jiang
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 016623a - 2026-10-28 22:17 (12 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --base
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --ours
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --theirs
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff AUTO_MERGE
fatal: ambiguous argument 'AUTO_MERGE': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'
jhcarl0814@jhcarl0814 UCRT64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 7c9a644] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master acad369] 2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./repo/file'; git -C './repo' add './file'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f 0 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: file
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git i/file w/file
index 0cfbf08..d00491f 100644
--- i/file
+++ w/file
@@ -1 +1 @@
-2
+1
no changes added to commit (use "git add" and/or "git commit -a")
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* acad369 - 2026-10-28 22:17 (2 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 7c9a644 - 2026-10-28 22:17 (2 seconds ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' reset --merge HEAD~1
error: Entry 'file' not uptodate. Cannot merge.
fatal: Could not reset index file to revision 'HEAD~1'.
jhcarl0814@jhcarl0814 UCRT64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 2c3cf51] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master d7e4093] 2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./repo/file'; git -C './repo' add './file'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./repo/file'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f 0 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
nothing to commit, working tree clean
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* d7e4093 - 2026-10-28 22:17 (2 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 2c3cf51 - 2026-10-28 22:17 (2 seconds ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' reset --merge HEAD~1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 d00491fd7e5bb6fa28c517a0bb32b8b506539d4d 0 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
nothing to commit, working tree clean
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch ORIG_HEAD
* d7e4093 - 2026-10-28 22:17 (4 seconds ago) 2 - Han Jiang
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 2c3cf51 - 2026-10-28 22:17 (4 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) b79323f] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))" --allow-empty
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master fe4081e] 2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./repo/file'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 d00491fd7e5bb6fa28c517a0bb32b8b506539d4d 0 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: file
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git i/file w/file
index d00491f..0cfbf08 100644
--- i/file
+++ w/file
@@ -1 +1 @@
-1
+2
no changes added to commit (use "git add" and/or "git commit -a")
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* fe4081e - 2026-10-28 22:18 (2 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
* b79323f - 2026-10-28 22:18 (3 seconds ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' reset --merge HEAD~1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 d00491fd7e5bb6fa28c517a0bb32b8b506539d4d 0 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: file
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git i/file w/file
index d00491f..0cfbf08 100644
--- i/file
+++ w/file
@@ -1 +1 @@
-1
+2
no changes added to commit (use "git add" and/or "git commit -a")
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch ORIG_HEAD
* fe4081e - 2026-10-28 22:18 (4 seconds ago) 2 - Han Jiang
* b79323f - 2026-10-28 22:18 (5 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) db4b3f3] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"; git -C './repo' branch branch1
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master 9ec5221] 2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' reset --hard HEAD~1
HEAD is now at db4b3f3 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '3' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"; git -C './repo' branch branch2
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master 4e31d29] 3
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1; git -C './repo' merge branch2
Switched to branch 'branch1'
Auto-merging file
CONFLICT (content): Merge conflict in file
Automatic merge failed; fix conflicts and then commit the result.
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 d00491fd7e5bb6fa28c517a0bb32b8b506539d4d 1 file
100644 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f 2 file
100644 00750edc07d6415dcc07ae0351e9397b0222b7ba 3 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch branch1
You have unmerged paths.
(fix conflicts and run "git commit")
(use "git merge --abort" to abort the merge)
Unmerged paths:
(use "git add <file>..." to mark resolution)
both modified: file
* Unmerged path file
no changes added to commit (use "git add" and/or "git commit -a")
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* 4e31d29 - 2026-10-28 22:18 (2 seconds ago) 3 - Han Jiang (refs/heads/master, refs/heads/branch2)
|
| diff --git a/file b/file
| index d00491f..00750ed 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +3
| * 9ec5221 - 2026-10-28 22:18 (3 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/branch1)
|/
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* db4b3f3 - 2026-10-28 22:18 (4 seconds ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff
diff --cc file
index 0cfbf08,00750ed..0000000
--- a/file
+++ b/file
@@@ -1,1 -1,1 +1,5 @@@
++<<<<<<< HEAD
+2
++=======
+ 3
++>>>>>>> branch2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --base
* Unmerged path file
diff --git a/file b/file
index d00491f..79f797c 100644
--- a/file
+++ b/file
@@ -1 +1,5 @@
-1
+<<<<<<< HEAD
+2
+=======
+3
+>>>>>>> branch2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --ours
* Unmerged path file
diff --git a/file b/file
index 0cfbf08..79f797c 100644
--- a/file
+++ b/file
@@ -1 +1,5 @@
+<<<<<<< HEAD
2
+=======
+3
+>>>>>>> branch2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --theirs
* Unmerged path file
diff --git a/file b/file
index 00750ed..79f797c 100644
--- a/file
+++ b/file
@@ -1 +1,5 @@
+<<<<<<< HEAD
+2
+=======
3
+>>>>>>> branch2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff AUTO_MERGE
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout '.'
error: path 'file' is unmerged
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 7ce87e2] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"; git -C './repo' branch branch1
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master baddc6e] 2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' reset --hard HEAD~1
HEAD is now at 7ce87e2 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '3' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"; git -C './repo' branch branch2
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master f53c3aa] 3
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1; git -C './repo' merge branch2
Switched to branch 'branch1'
Auto-merging file
CONFLICT (content): Merge conflict in file
Automatic merge failed; fix conflicts and then commit the result.
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 d00491fd7e5bb6fa28c517a0bb32b8b506539d4d 1 file
100644 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f 2 file
100644 00750edc07d6415dcc07ae0351e9397b0222b7ba 3 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch branch1
You have unmerged paths.
(fix conflicts and run "git commit")
(use "git merge --abort" to abort the merge)
Unmerged paths:
(use "git add <file>..." to mark resolution)
both modified: file
* Unmerged path file
no changes added to commit (use "git add" and/or "git commit -a")
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* f53c3aa - 2026-10-28 22:18 (2 seconds ago) 3 - Han Jiang (refs/heads/master, refs/heads/branch2)
|
| diff --git a/file b/file
| index d00491f..00750ed 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +3
| * baddc6e - 2026-10-28 22:18 (3 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/branch1)
|/
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 7ce87e2 - 2026-10-28 22:18 (4 seconds ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff
diff --cc file
index 0cfbf08,00750ed..0000000
--- a/file
+++ b/file
@@@ -1,1 -1,1 +1,5 @@@
++<<<<<<< HEAD
+2
++=======
+ 3
++>>>>>>> branch2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --base
* Unmerged path file
diff --git a/file b/file
index d00491f..79f797c 100644
--- a/file
+++ b/file
@@ -1 +1,5 @@
-1
+<<<<<<< HEAD
+2
+=======
+3
+>>>>>>> branch2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --ours
* Unmerged path file
diff --git a/file b/file
index 0cfbf08..79f797c 100644
--- a/file
+++ b/file
@@ -1 +1,5 @@
+<<<<<<< HEAD
2
+=======
+3
+>>>>>>> branch2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --theirs
* Unmerged path file
diff --git a/file b/file
index 00750ed..79f797c 100644
--- a/file
+++ b/file
@@ -1 +1,5 @@
+<<<<<<< HEAD
+2
+=======
3
+>>>>>>> branch2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff AUTO_MERGE
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout --force '.'
warning: path 'file' is unmerged
Updated 0 paths from the index
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ branch_default_name="$(git -C './repo' branch --show-current)"; echo "$branch_default_name"
master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo 'a' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message='a'; git -C './repo' branch branch1
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 1c95449] a
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo 'b1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message='b1'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master 0d39786] b1
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1; echo 'b2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message='b2'
Switched to branch 'branch1'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch1 01fdc82] b2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout "$branch_default_name"; git -C './repo' merge :/'b2'
Switched to branch 'master'
Auto-merging file
CONFLICT (content): Merge conflict in file
Automatic merge failed; fix conflicts and then commit the result.
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 78981922613b2afb6025042ff6bd878ac1994e85 1 file
100644 c9c6af7f78bc47490dbf3e822cf2f3c24d4b9061 2 file
100644 e6bfff5c1d0f0ecd501552b43a1e13d8008abc31 3 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
You have unmerged paths.
(fix conflicts and run "git commit")
(use "git merge --abort" to abort the merge)
Unmerged paths:
(use "git add <file>..." to mark resolution)
both modified: file
* Unmerged path file
no changes added to commit (use "git add" and/or "git commit -a")
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 01fdc82 - 2026-10-28 22:18 (2 seconds ago) b2 - Han Jiang (refs/heads/branch1)
| * 0d39786 - 2026-10-28 22:18 (3 seconds ago) b1 - Han Jiang (HEAD -> refs/heads/master)
|/
* 1c95449 - 2026-10-28 22:18 (4 seconds ago) a - Han Jiang
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff
diff --cc file
index c9c6af7,e6bfff5..0000000
--- a/file
+++ b/file
@@@ -1,1 -1,1 +1,5 @@@
++<<<<<<< HEAD
+b1
++=======
+ b2
++>>>>>>> :/b2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --base
* Unmerged path file
diff --git a/file b/file
index 7898192..8524fac 100644
--- a/file
+++ b/file
@@ -1 +1,5 @@
-a
+<<<<<<< HEAD
+b1
+=======
+b2
+>>>>>>> :/b2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --ours
* Unmerged path file
diff --git a/file b/file
index c9c6af7..8524fac 100644
--- a/file
+++ b/file
@@ -1 +1,5 @@
+<<<<<<< HEAD
b1
+=======
+b2
+>>>>>>> :/b2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --theirs
* Unmerged path file
diff --git a/file b/file
index e6bfff5..8524fac 100644
--- a/file
+++ b/file
@@ -1 +1,5 @@
+<<<<<<< HEAD
+b1
+=======
b2
+>>>>>>> :/b2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff AUTO_MERGE
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout --ours '.'
Updated 1 path from the index
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff
diff --cc file
index c9c6af7,e6bfff5..0000000
--- a/file
+++ b/file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --base
* Unmerged path file
diff --git a/file b/file
index 7898192..c9c6af7 100644
--- a/file
+++ b/file
@@ -1 +1 @@
-a
+b1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --ours
* Unmerged path file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --theirs
* Unmerged path file
diff --git a/file b/file
index e6bfff5..c9c6af7 100644
--- a/file
+++ b/file
@@ -1 +1 @@
-b2
+b1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff AUTO_MERGE
diff --git a/file b/file
index 8524fac..c9c6af7 100644
--- a/file
+++ b/file
@@ -1,5 +1 @@
-<<<<<<< HEAD
b1
-=======
-b2
->>>>>>> :/b2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout --theirs '.'
Updated 1 path from the index
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff
diff --cc file
index c9c6af7,e6bfff5..0000000
--- a/file
+++ b/file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --base
* Unmerged path file
diff --git a/file b/file
index 7898192..e6bfff5 100644
--- a/file
+++ b/file
@@ -1 +1 @@
-a
+b2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --ours
* Unmerged path file
diff --git a/file b/file
index c9c6af7..e6bfff5 100644
--- a/file
+++ b/file
@@ -1 +1 @@
-b1
+b2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --theirs
* Unmerged path file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff AUTO_MERGE
diff --git a/file b/file
index 8524fac..e6bfff5 100644
--- a/file
+++ b/file
@@ -1,5 +1 @@
-<<<<<<< HEAD
-b1
-=======
b2
->>>>>>> :/b2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout --merge '.'
Recreated 1 merge conflict
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff
diff --cc file
index c9c6af7,e6bfff5..0000000
--- a/file
+++ b/file
@@@ -1,1 -1,1 +1,5 @@@
++<<<<<<< ours
+b1
++=======
+ b2
++>>>>>>> theirs
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --base
* Unmerged path file
diff --git a/file b/file
index 7898192..727a935 100644
--- a/file
+++ b/file
@@ -1 +1,5 @@
-a
+<<<<<<< ours
+b1
+=======
+b2
+>>>>>>> theirs
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --ours
* Unmerged path file
diff --git a/file b/file
index c9c6af7..727a935 100644
--- a/file
+++ b/file
@@ -1 +1,5 @@
+<<<<<<< ours
b1
+=======
+b2
+>>>>>>> theirs
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --theirs
* Unmerged path file
diff --git a/file b/file
index e6bfff5..727a935 100644
--- a/file
+++ b/file
@@ -1 +1,5 @@
+<<<<<<< ours
+b1
+=======
b2
+>>>>>>> theirs
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff AUTO_MERGE
diff --git a/file b/file
index 8524fac..727a935 100644
--- a/file
+++ b/file
@@ -1,5 +1,5 @@
-<<<<<<< HEAD
+<<<<<<< ours
b1
=======
b2
->>>>>>> :/b2
+>>>>>>> theirs
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout --conflict=merge '.'
Recreated 1 merge conflict
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff
diff --cc file
index c9c6af7,e6bfff5..0000000
--- a/file
+++ b/file
@@@ -1,1 -1,1 +1,5 @@@
++<<<<<<< ours
+b1
++=======
+ b2
++>>>>>>> theirs
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --base
* Unmerged path file
diff --git a/file b/file
index 7898192..727a935 100644
--- a/file
+++ b/file
@@ -1 +1,5 @@
-a
+<<<<<<< ours
+b1
+=======
+b2
+>>>>>>> theirs
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --ours
* Unmerged path file
diff --git a/file b/file
index c9c6af7..727a935 100644
--- a/file
+++ b/file
@@ -1 +1,5 @@
+<<<<<<< ours
b1
+=======
+b2
+>>>>>>> theirs
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --theirs
* Unmerged path file
diff --git a/file b/file
index e6bfff5..727a935 100644
--- a/file
+++ b/file
@@ -1 +1,5 @@
+<<<<<<< ours
+b1
+=======
b2
+>>>>>>> theirs
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff AUTO_MERGE
diff --git a/file b/file
index 8524fac..727a935 100644
--- a/file
+++ b/file
@@ -1,5 +1,5 @@
-<<<<<<< HEAD
+<<<<<<< ours
b1
=======
b2
->>>>>>> :/b2
+>>>>>>> theirs
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout --conflict=diff3 '.'
Recreated 1 merge conflict
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff
diff --cc file
index c9c6af7,e6bfff5..0000000
--- a/file
+++ b/file
@@@ -1,1 -1,1 +1,7 @@@
++<<<<<<< ours
+b1
++||||||| base
++a
++=======
+ b2
++>>>>>>> theirs
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --base
* Unmerged path file
diff --git a/file b/file
index 7898192..052ce0b 100644
--- a/file
+++ b/file
@@ -1 +1,7 @@
+<<<<<<< ours
+b1
+||||||| base
a
+=======
+b2
+>>>>>>> theirs
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --ours
* Unmerged path file
diff --git a/file b/file
index c9c6af7..052ce0b 100644
--- a/file
+++ b/file
@@ -1 +1,7 @@
+<<<<<<< ours
b1
+||||||| base
+a
+=======
+b2
+>>>>>>> theirs
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --theirs
* Unmerged path file
diff --git a/file b/file
index e6bfff5..052ce0b 100644
--- a/file
+++ b/file
@@ -1 +1,7 @@
+<<<<<<< ours
+b1
+||||||| base
+a
+=======
b2
+>>>>>>> theirs
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff AUTO_MERGE
diff --git a/file b/file
index 8524fac..052ce0b 100644
--- a/file
+++ b/file
@@ -1,5 +1,7 @@
-<<<<<<< HEAD
+<<<<<<< ours
b1
+||||||| base
+a
=======
b2
->>>>>>> :/b2
+>>>>>>> theirs
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ branch_default_name="$(git -C './repo' branch --show-current)"; echo "$branch_default_name"
master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo 'a' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message='a'; git -C './repo' branch branch1
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) f0dd293] a
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo 'b1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message='b1'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master fb0fb1b] b1
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1; echo 'b2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message='b2'
Switched to branch 'branch1'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch1 e8a618d] b2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout "$branch_default_name"; git -C './repo' merge :/'b2'; echo 'c1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message='c1'
Switched to branch 'master'
Auto-merging file
CONFLICT (content): Merge conflict in file
Automatic merge failed; fix conflicts and then commit the result.
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master 89cdc6a] c1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1; git -C './repo' merge :/'b1'; echo 'c2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message='c2'
Switched to branch 'branch1'
Auto-merging file
CONFLICT (content): Merge conflict in file
Automatic merge failed; fix conflicts and then commit the result.
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch1 c969bd8] c2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout "$branch_default_name"; git -C './repo' merge :/'c2'
Switched to branch 'master'
Auto-merging file
CONFLICT (content): Merge conflict in file
Automatic merge failed; fix conflicts and then commit the result.
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 cc2be80d5fbb34fa9f6ddbd61f239f8cc4db47b9 1 file
100644 ae9304576a6ec3419b231b2b9c8e33a06f97f9fb 2 file
100644 16f9ec009e5568c435f473ba3a1df732d49ce8c3 3 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
You have unmerged paths.
(fix conflicts and run "git commit")
(use "git merge --abort" to abort the merge)
Unmerged paths:
(use "git add <file>..." to mark resolution)
both modified: file
* Unmerged path file
no changes added to commit (use "git add" and/or "git commit -a")
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* c969bd8 - 2026-10-28 22:19 (3 seconds ago) c2 - Han Jiang (refs/heads/branch1)
|\
| | * 89cdc6a - 2026-10-28 22:19 (4 seconds ago) c1 - Han Jiang (HEAD -> refs/heads/master)
| |/|
| |/
|/|
* | e8a618d - 2026-10-28 22:19 (5 seconds ago) b2 - Han Jiang
| * fb0fb1b - 2026-10-28 22:19 (5 seconds ago) b1 - Han Jiang
|/
* f0dd293 - 2026-10-28 22:19 (6 seconds ago) a - Han Jiang
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff
diff --cc file
index ae93045,16f9ec0..0000000
--- a/file
+++ b/file
@@@ -1,1 -1,1 +1,5 @@@
++<<<<<<< HEAD
+c1
++=======
+ c2
++>>>>>>> :/c2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --base
* Unmerged path file
diff --git a/file b/file
index cc2be80..9ff16e1 100644
--- a/file
+++ b/file
@@ -1,5 +1,5 @@
-<<<<<<<<< Temporary merge branch 1
-b1
-=========
-b2
->>>>>>>>> Temporary merge branch 2
+<<<<<<< HEAD
+c1
+=======
+c2
+>>>>>>> :/c2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --ours
* Unmerged path file
diff --git a/file b/file
index ae93045..9ff16e1 100644
--- a/file
+++ b/file
@@ -1 +1,5 @@
+<<<<<<< HEAD
c1
+=======
+c2
+>>>>>>> :/c2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --theirs
* Unmerged path file
diff --git a/file b/file
index 16f9ec0..9ff16e1 100644
--- a/file
+++ b/file
@@ -1 +1,5 @@
+<<<<<<< HEAD
+c1
+=======
c2
+>>>>>>> :/c2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff AUTO_MERGE
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout --ours '.'
Updated 1 path from the index
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff
diff --cc file
index ae93045,16f9ec0..0000000
--- a/file
+++ b/file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --base
* Unmerged path file
diff --git a/file b/file
index cc2be80..ae93045 100644
--- a/file
+++ b/file
@@ -1,5 +1 @@
-<<<<<<<<< Temporary merge branch 1
-b1
-=========
-b2
->>>>>>>>> Temporary merge branch 2
+c1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --ours
* Unmerged path file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --theirs
* Unmerged path file
diff --git a/file b/file
index 16f9ec0..ae93045 100644
--- a/file
+++ b/file
@@ -1 +1 @@
-c2
+c1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff AUTO_MERGE
diff --git a/file b/file
index 9ff16e1..ae93045 100644
--- a/file
+++ b/file
@@ -1,5 +1 @@
-<<<<<<< HEAD
c1
-=======
-c2
->>>>>>> :/c2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout --theirs '.'
Updated 1 path from the index
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff
diff --cc file
index ae93045,16f9ec0..0000000
--- a/file
+++ b/file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --base
* Unmerged path file
diff --git a/file b/file
index cc2be80..16f9ec0 100644
--- a/file
+++ b/file
@@ -1,5 +1 @@
-<<<<<<<<< Temporary merge branch 1
-b1
-=========
-b2
->>>>>>>>> Temporary merge branch 2
+c2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --ours
* Unmerged path file
diff --git a/file b/file
index ae93045..16f9ec0 100644
--- a/file
+++ b/file
@@ -1 +1 @@
-c1
+c2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --theirs
* Unmerged path file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff AUTO_MERGE
diff --git a/file b/file
index 9ff16e1..16f9ec0 100644
--- a/file
+++ b/file
@@ -1,5 +1 @@
-<<<<<<< HEAD
-c1
-=======
c2
->>>>>>> :/c2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout --merge '.'
Recreated 1 merge conflict
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff
diff --cc file
index ae93045,16f9ec0..0000000
--- a/file
+++ b/file
@@@ -1,1 -1,1 +1,5 @@@
++<<<<<<< ours
+c1
++=======
+ c2
++>>>>>>> theirs
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --base
* Unmerged path file
diff --git a/file b/file
index cc2be80..9d93873 100644
--- a/file
+++ b/file
@@ -1,5 +1,5 @@
-<<<<<<<<< Temporary merge branch 1
-b1
-=========
-b2
->>>>>>>>> Temporary merge branch 2
+<<<<<<< ours
+c1
+=======
+c2
+>>>>>>> theirs
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --ours
* Unmerged path file
diff --git a/file b/file
index ae93045..9d93873 100644
--- a/file
+++ b/file
@@ -1 +1,5 @@
+<<<<<<< ours
c1
+=======
+c2
+>>>>>>> theirs
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --theirs
* Unmerged path file
diff --git a/file b/file
index 16f9ec0..9d93873 100644
--- a/file
+++ b/file
@@ -1 +1,5 @@
+<<<<<<< ours
+c1
+=======
c2
+>>>>>>> theirs
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff AUTO_MERGE
diff --git a/file b/file
index 9ff16e1..9d93873 100644
--- a/file
+++ b/file
@@ -1,5 +1,5 @@
-<<<<<<< HEAD
+<<<<<<< ours
c1
=======
c2
->>>>>>> :/c2
+>>>>>>> theirs
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout --conflict=merge '.'
Recreated 1 merge conflict
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff
diff --cc file
index ae93045,16f9ec0..0000000
--- a/file
+++ b/file
@@@ -1,1 -1,1 +1,5 @@@
++<<<<<<< ours
+c1
++=======
+ c2
++>>>>>>> theirs
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --base
* Unmerged path file
diff --git a/file b/file
index cc2be80..9d93873 100644
--- a/file
+++ b/file
@@ -1,5 +1,5 @@
-<<<<<<<<< Temporary merge branch 1
-b1
-=========
-b2
->>>>>>>>> Temporary merge branch 2
+<<<<<<< ours
+c1
+=======
+c2
+>>>>>>> theirs
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --ours
* Unmerged path file
diff --git a/file b/file
index ae93045..9d93873 100644
--- a/file
+++ b/file
@@ -1 +1,5 @@
+<<<<<<< ours
c1
+=======
+c2
+>>>>>>> theirs
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --theirs
* Unmerged path file
diff --git a/file b/file
index 16f9ec0..9d93873 100644
--- a/file
+++ b/file
@@ -1 +1,5 @@
+<<<<<<< ours
+c1
+=======
c2
+>>>>>>> theirs
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff AUTO_MERGE
diff --git a/file b/file
index 9ff16e1..9d93873 100644
--- a/file
+++ b/file
@@ -1,5 +1,5 @@
-<<<<<<< HEAD
+<<<<<<< ours
c1
=======
c2
->>>>>>> :/c2
+>>>>>>> theirs
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout --conflict=diff3 '.'
Recreated 1 merge conflict
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff
diff --cc file
index ae93045,16f9ec0..0000000
--- a/file
+++ b/file
@@@ -1,1 -1,1 +1,11 @@@
++<<<<<<< ours
+c1
++||||||| base
++<<<<<<<<< Temporary merge branch 1
++b1
++=========
++b2
++>>>>>>>>> Temporary merge branch 2
++=======
+ c2
++>>>>>>> theirs
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --base
* Unmerged path file
diff --git a/file b/file
index cc2be80..36b2609 100644
--- a/file
+++ b/file
@@ -1,5 +1,11 @@
+<<<<<<< ours
+c1
+||||||| base
<<<<<<<<< Temporary merge branch 1
b1
=========
b2
>>>>>>>>> Temporary merge branch 2
+=======
+c2
+>>>>>>> theirs
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --ours
* Unmerged path file
diff --git a/file b/file
index ae93045..36b2609 100644
--- a/file
+++ b/file
@@ -1 +1,11 @@
+<<<<<<< ours
c1
+||||||| base
+<<<<<<<<< Temporary merge branch 1
+b1
+=========
+b2
+>>>>>>>>> Temporary merge branch 2
+=======
+c2
+>>>>>>> theirs
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --theirs
* Unmerged path file
diff --git a/file b/file
index 16f9ec0..36b2609 100644
--- a/file
+++ b/file
@@ -1 +1,11 @@
+<<<<<<< ours
+c1
+||||||| base
+<<<<<<<<< Temporary merge branch 1
+b1
+=========
+b2
+>>>>>>>>> Temporary merge branch 2
+=======
c2
+>>>>>>> theirs
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff AUTO_MERGE
diff --git a/file b/file
index 9ff16e1..36b2609 100644
--- a/file
+++ b/file
@@ -1,5 +1,11 @@
-<<<<<<< HEAD
+<<<<<<< ours
c1
+||||||| base
+<<<<<<<<< Temporary merge branch 1
+b1
+=========
+b2
+>>>>>>>>> Temporary merge branch 2
=======
c2
->>>>>>> :/c2
+>>>>>>> theirs
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ branch_default_name="$(git -C './repo' branch --show-current)"; echo "$branch_default_name"
master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo 'a' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message='a'; git -C './repo' branch branch1; git -C './repo' branch branch2
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 787d31a] a
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo 'b1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message='b1'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master dbaa5ad] b1
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1; echo 'b2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message='b2'
Switched to branch 'branch1'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch1 3114e64] b2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch2; echo 'b3' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message='b3'
Switched to branch 'branch2'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch2 6a558a6] b3
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout "$branch_default_name"; git -C './repo' merge :/'b2'; echo 'c1_' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message='c1_'
Switched to branch 'master'
Auto-merging file
CONFLICT (content): Merge conflict in file
Automatic merge failed; fix conflicts and then commit the result.
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master d4ce191] c1_
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1; git -C './repo' merge :/'b1'; echo 'c2_' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message='c2_'
Switched to branch 'branch1'
Auto-merging file
CONFLICT (content): Merge conflict in file
Automatic merge failed; fix conflicts and then commit the result.
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch1 480c42c] c2_
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout "$branch_default_name"; git -C './repo' merge :/'b3'; echo 'c1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message='c1'
Switched to branch 'master'
Auto-merging file
CONFLICT (content): Merge conflict in file
Automatic merge failed; fix conflicts and then commit the result.
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master 365ab11] c1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1; git -C './repo' merge :/'b3'; echo 'c2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message='c2'
Switched to branch 'branch1'
Auto-merging file
CONFLICT (content): Merge conflict in file
Automatic merge failed; fix conflicts and then commit the result.
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch1 54af450] c2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout "$branch_default_name"; git -C './repo' merge :/'c2'
Switched to branch 'master'
Auto-merging file
CONFLICT (content): Merge conflict in file
Automatic merge failed; fix conflicts and then commit the result.
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 5f40345c5cd4cd55cd266e70b77f56166bf569cd 1 file
100644 ae9304576a6ec3419b231b2b9c8e33a06f97f9fb 2 file
100644 16f9ec009e5568c435f473ba3a1df732d49ce8c3 3 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
You have unmerged paths.
(fix conflicts and run "git commit")
(use "git merge --abort" to abort the merge)
Unmerged paths:
(use "git add <file>..." to mark resolution)
both modified: file
* Unmerged path file
no changes added to commit (use "git add" and/or "git commit -a")
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 54af450 - 2026-10-28 22:19 (2 seconds ago) c2 - Han Jiang (refs/heads/branch1)
|\
* \ 480c42c - 2026-10-28 22:19 (4 seconds ago) c2_ - Han Jiang
|\ \
| | | * 365ab11 - 2026-10-28 22:19 (3 seconds ago) c1 - Han Jiang (HEAD -> refs/heads/master)
| | | |\
| | | |/
| | |/|
| | * | 6a558a6 - 2026-10-28 22:19 (6 seconds ago) b3 - Han Jiang (refs/heads/branch2)
| | | * d4ce191 - 2026-10-28 22:19 (5 seconds ago) c1_ - Han Jiang
| | |/|
| |/|/
| |/|
|/| |
* | | 3114e64 - 2026-10-28 22:19 (7 seconds ago) b2 - Han Jiang
| |/
|/|
| * dbaa5ad - 2026-10-28 22:19 (8 seconds ago) b1 - Han Jiang
|/
* 787d31a - 2026-10-28 22:19 (9 seconds ago) a - Han Jiang
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff
diff --cc file
index ae93045,16f9ec0..0000000
--- a/file
+++ b/file
@@@ -1,1 -1,1 +1,5 @@@
++<<<<<<< HEAD
+c1
++=======
+ c2
++>>>>>>> :/c2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --base
* Unmerged path file
diff --git a/file b/file
index 5f40345..9ff16e1 100644
--- a/file
+++ b/file
@@ -1,9 +1,5 @@
-<<<<<<<<< Temporary merge branch 1
-<<<<<<<<< Temporary merge branch 1
-b1
-=========
-b2
->>>>>>>>> Temporary merge branch 2
-=========
-b3
->>>>>>>>> Temporary merge branch 2
+<<<<<<< HEAD
+c1
+=======
+c2
+>>>>>>> :/c2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --ours
* Unmerged path file
diff --git a/file b/file
index ae93045..9ff16e1 100644
--- a/file
+++ b/file
@@ -1 +1,5 @@
+<<<<<<< HEAD
c1
+=======
+c2
+>>>>>>> :/c2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --theirs
* Unmerged path file
diff --git a/file b/file
index 16f9ec0..9ff16e1 100644
--- a/file
+++ b/file
@@ -1 +1,5 @@
+<<<<<<< HEAD
+c1
+=======
c2
+>>>>>>> :/c2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff AUTO_MERGE
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout --ours '.'
Updated 1 path from the index
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff
diff --cc file
index ae93045,16f9ec0..0000000
--- a/file
+++ b/file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --base
* Unmerged path file
diff --git a/file b/file
index 5f40345..ae93045 100644
--- a/file
+++ b/file
@@ -1,9 +1 @@
-<<<<<<<<< Temporary merge branch 1
-<<<<<<<<< Temporary merge branch 1
-b1
-=========
-b2
->>>>>>>>> Temporary merge branch 2
-=========
-b3
->>>>>>>>> Temporary merge branch 2
+c1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --ours
* Unmerged path file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --theirs
* Unmerged path file
diff --git a/file b/file
index 16f9ec0..ae93045 100644
--- a/file
+++ b/file
@@ -1 +1 @@
-c2
+c1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff AUTO_MERGE
diff --git a/file b/file
index 9ff16e1..ae93045 100644
--- a/file
+++ b/file
@@ -1,5 +1 @@
-<<<<<<< HEAD
c1
-=======
-c2
->>>>>>> :/c2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout --theirs '.'
Updated 1 path from the index
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff
diff --cc file
index ae93045,16f9ec0..0000000
--- a/file
+++ b/file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --base
* Unmerged path file
diff --git a/file b/file
index 5f40345..16f9ec0 100644
--- a/file
+++ b/file
@@ -1,9 +1 @@
-<<<<<<<<< Temporary merge branch 1
-<<<<<<<<< Temporary merge branch 1
-b1
-=========
-b2
->>>>>>>>> Temporary merge branch 2
-=========
-b3
->>>>>>>>> Temporary merge branch 2
+c2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --ours
* Unmerged path file
diff --git a/file b/file
index ae93045..16f9ec0 100644
--- a/file
+++ b/file
@@ -1 +1 @@
-c1
+c2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --theirs
* Unmerged path file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff AUTO_MERGE
diff --git a/file b/file
index 9ff16e1..16f9ec0 100644
--- a/file
+++ b/file
@@ -1,5 +1 @@
-<<<<<<< HEAD
-c1
-=======
c2
->>>>>>> :/c2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout --merge '.'
Recreated 1 merge conflict
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff
diff --cc file
index ae93045,16f9ec0..0000000
--- a/file
+++ b/file
@@@ -1,1 -1,1 +1,5 @@@
++<<<<<<< ours
+c1
++=======
+ c2
++>>>>>>> theirs
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --base
* Unmerged path file
diff --git a/file b/file
index 5f40345..9d93873 100644
--- a/file
+++ b/file
@@ -1,9 +1,5 @@
-<<<<<<<<< Temporary merge branch 1
-<<<<<<<<< Temporary merge branch 1
-b1
-=========
-b2
->>>>>>>>> Temporary merge branch 2
-=========
-b3
->>>>>>>>> Temporary merge branch 2
+<<<<<<< ours
+c1
+=======
+c2
+>>>>>>> theirs
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --ours
* Unmerged path file
diff --git a/file b/file
index ae93045..9d93873 100644
--- a/file
+++ b/file
@@ -1 +1,5 @@
+<<<<<<< ours
c1
+=======
+c2
+>>>>>>> theirs
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --theirs
* Unmerged path file
diff --git a/file b/file
index 16f9ec0..9d93873 100644
--- a/file
+++ b/file
@@ -1 +1,5 @@
+<<<<<<< ours
+c1
+=======
c2
+>>>>>>> theirs
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff AUTO_MERGE
diff --git a/file b/file
index 9ff16e1..9d93873 100644
--- a/file
+++ b/file
@@ -1,5 +1,5 @@
-<<<<<<< HEAD
+<<<<<<< ours
c1
=======
c2
->>>>>>> :/c2
+>>>>>>> theirs
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout --conflict=merge '.'
Recreated 1 merge conflict
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff
diff --cc file
index ae93045,16f9ec0..0000000
--- a/file
+++ b/file
@@@ -1,1 -1,1 +1,5 @@@
++<<<<<<< ours
+c1
++=======
+ c2
++>>>>>>> theirs
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --base
* Unmerged path file
diff --git a/file b/file
index 5f40345..9d93873 100644
--- a/file
+++ b/file
@@ -1,9 +1,5 @@
-<<<<<<<<< Temporary merge branch 1
-<<<<<<<<< Temporary merge branch 1
-b1
-=========
-b2
->>>>>>>>> Temporary merge branch 2
-=========
-b3
->>>>>>>>> Temporary merge branch 2
+<<<<<<< ours
+c1
+=======
+c2
+>>>>>>> theirs
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --ours
* Unmerged path file
diff --git a/file b/file
index ae93045..9d93873 100644
--- a/file
+++ b/file
@@ -1 +1,5 @@
+<<<<<<< ours
c1
+=======
+c2
+>>>>>>> theirs
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --theirs
* Unmerged path file
diff --git a/file b/file
index 16f9ec0..9d93873 100644
--- a/file
+++ b/file
@@ -1 +1,5 @@
+<<<<<<< ours
+c1
+=======
c2
+>>>>>>> theirs
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff AUTO_MERGE
diff --git a/file b/file
index 9ff16e1..9d93873 100644
--- a/file
+++ b/file
@@ -1,5 +1,5 @@
-<<<<<<< HEAD
+<<<<<<< ours
c1
=======
c2
->>>>>>> :/c2
+>>>>>>> theirs
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout --conflict=diff3 '.'
Recreated 1 merge conflict
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff
diff --cc file
index ae93045,16f9ec0..0000000
--- a/file
+++ b/file
@@@ -1,1 -1,1 +1,15 @@@
++<<<<<<< ours
+c1
++||||||| base
++<<<<<<<<< Temporary merge branch 1
++<<<<<<<<< Temporary merge branch 1
++b1
++=========
++b2
++>>>>>>>>> Temporary merge branch 2
++=========
++b3
++>>>>>>>>> Temporary merge branch 2
++=======
+ c2
++>>>>>>> theirs
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --base
* Unmerged path file
diff --git a/file b/file
index 5f40345..b64d132 100644
--- a/file
+++ b/file
@@ -1,3 +1,6 @@
+<<<<<<< ours
+c1
+||||||| base
<<<<<<<<< Temporary merge branch 1
<<<<<<<<< Temporary merge branch 1
b1
@@ -7,3 +10,6 @@ b2
=========
b3
>>>>>>>>> Temporary merge branch 2
+=======
+c2
+>>>>>>> theirs
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --ours
* Unmerged path file
diff --git a/file b/file
index ae93045..b64d132 100644
--- a/file
+++ b/file
@@ -1 +1,15 @@
+<<<<<<< ours
c1
+||||||| base
+<<<<<<<<< Temporary merge branch 1
+<<<<<<<<< Temporary merge branch 1
+b1
+=========
+b2
+>>>>>>>>> Temporary merge branch 2
+=========
+b3
+>>>>>>>>> Temporary merge branch 2
+=======
+c2
+>>>>>>> theirs
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --theirs
* Unmerged path file
diff --git a/file b/file
index 16f9ec0..b64d132 100644
--- a/file
+++ b/file
@@ -1 +1,15 @@
+<<<<<<< ours
+c1
+||||||| base
+<<<<<<<<< Temporary merge branch 1
+<<<<<<<<< Temporary merge branch 1
+b1
+=========
+b2
+>>>>>>>>> Temporary merge branch 2
+=========
+b3
+>>>>>>>>> Temporary merge branch 2
+=======
c2
+>>>>>>> theirs
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff AUTO_MERGE
diff --git a/file b/file
index 9ff16e1..b64d132 100644
--- a/file
+++ b/file
@@ -1,5 +1,15 @@
-<<<<<<< HEAD
+<<<<<<< ours
c1
+||||||| base
+<<<<<<<<< Temporary merge branch 1
+<<<<<<<<< Temporary merge branch 1
+b1
+=========
+b2
+>>>>>>>>> Temporary merge branch 2
+=========
+b3
+>>>>>>>>> Temporary merge branch 2
=======
c2
->>>>>>> :/c2
+>>>>>>> theirs
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ branch_default_name="$(git -C './repo' branch --show-current)"; echo "$branch_default_name"
master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo 'a' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message='a'; git -C './repo' branch branch1; git -C './repo' branch branch2; git -C './repo' branch branch3
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) a7eca88] a
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo 'b1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message='b1'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master 00de936] b1
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1; echo 'b2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message='b2'
Switched to branch 'branch1'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch1 6d75a20] b2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch2; echo 'b3' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message='b3'
Switched to branch 'branch2'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch2 2b84f7e] b3
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch3; echo 'b4' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message='b4'
Switched to branch 'branch3'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch3 697ef65] b4
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout "$branch_default_name"; git -C './repo' merge :/'b2'; echo 'c1_1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message='c1_1'
Switched to branch 'master'
Auto-merging file
CONFLICT (content): Merge conflict in file
Automatic merge failed; fix conflicts and then commit the result.
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master 76cf2fe] c1_1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1; git -C './repo' merge :/'b1'; echo 'c2_1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message='c2_1'
Switched to branch 'branch1'
Auto-merging file
CONFLICT (content): Merge conflict in file
Automatic merge failed; fix conflicts and then commit the result.
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch1 5b2082d] c2_1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch2; git -C './repo' merge :/'b4'; echo 'c1_2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message='c1_2'
Switched to branch 'branch2'
Auto-merging file
CONFLICT (content): Merge conflict in file
Automatic merge failed; fix conflicts and then commit the result.
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch2 a8743a7] c1_2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch3; git -C './repo' merge :/'b3'; echo 'c2_2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message='c2_2'
Switched to branch 'branch3'
Auto-merging file
CONFLICT (content): Merge conflict in file
Automatic merge failed; fix conflicts and then commit the result.
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch3 63cbca5] c2_2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout "$branch_default_name"; git -C './repo' merge :/'c1_2'; echo 'c1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message='c1'
Switched to branch 'master'
Auto-merging file
CONFLICT (content): Merge conflict in file
Automatic merge failed; fix conflicts and then commit the result.
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master ea7fce4] c1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1; git -C './repo' merge :/'c2_2'; echo 'c2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message='c2'
Switched to branch 'branch1'
Auto-merging file
CONFLICT (content): Merge conflict in file
Automatic merge failed; fix conflicts and then commit the result.
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch1 eeb8ca2] c2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout "$branch_default_name"; git -C './repo' merge :/'c2'
Switched to branch 'master'
Auto-merging file
CONFLICT (content): Merge conflict in file
Automatic merge failed; fix conflicts and then commit the result.
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 c6ee02699ca2b80ac541ec851f4a3c25414864d5 1 file
100644 ae9304576a6ec3419b231b2b9c8e33a06f97f9fb 2 file
100644 16f9ec009e5568c435f473ba3a1df732d49ce8c3 3 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
You have unmerged paths.
(fix conflicts and run "git commit")
(use "git merge --abort" to abort the merge)
Unmerged paths:
(use "git add <file>..." to mark resolution)
both modified: file
* Unmerged path file
no changes added to commit (use "git add" and/or "git commit -a")
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* eeb8ca2 - 2026-10-28 22:20 (2 seconds ago) c2 - Han Jiang (refs/heads/branch1)
|\
| * 63cbca5 - 2026-10-28 22:20 (4 seconds ago) c2_2 - Han Jiang (refs/heads/branch3)
| |\
* | \ 5b2082d - 2026-10-28 22:20 (6 seconds ago) c2_1 - Han Jiang
|\ \ \
| | | | * ea7fce4 - 2026-10-28 22:20 (3 seconds ago) c1 - Han Jiang (HEAD -> refs/heads/master)
| | | | |\
| | | | | * a8743a7 - 2026-10-28 22:20 (5 seconds ago) c1_2 - Han Jiang (refs/heads/branch2)
| | | | |/|
| | | |/|/
| | | |/|
| | |/| |
| | * | | 697ef65 - 2026-10-28 22:20 (8 seconds ago) b4 - Han Jiang
| | | * | 2b84f7e - 2026-10-28 22:20 (8 seconds ago) b3 - Han Jiang
| | |/ /
| | | * 76cf2fe - 2026-10-28 22:20 (7 seconds ago) c1_1 - Han Jiang
| | |/|
| |/|/
| |/|
|/| |
* | | 6d75a20 - 2026-10-28 22:20 (9 seconds ago) b2 - Han Jiang
| |/
|/|
| * 00de936 - 2026-10-28 22:20 (10 seconds ago) b1 - Han Jiang
|/
* a7eca88 - 2026-10-28 22:19 (11 seconds ago) a - Han Jiang
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff
diff --cc file
index ae93045,16f9ec0..0000000
--- a/file
+++ b/file
@@@ -1,1 -1,1 +1,5 @@@
++<<<<<<< HEAD
+c1
++=======
+ c2
++>>>>>>> :/c2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --base
* Unmerged path file
diff --git a/file b/file
index c6ee026..9ff16e1 100644
--- a/file
+++ b/file
@@ -1,13 +1,5 @@
-<<<<<<<<< Temporary merge branch 1
-<<<<<<<<< Temporary merge branch 1
-<<<<<<<<< Temporary merge branch 1
-b1
-=========
-b2
->>>>>>>>> Temporary merge branch 2
-=========
-b3
->>>>>>>>> Temporary merge branch 2
-=========
-b4
->>>>>>>>> Temporary merge branch 2
+<<<<<<< HEAD
+c1
+=======
+c2
+>>>>>>> :/c2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --ours
* Unmerged path file
diff --git a/file b/file
index ae93045..9ff16e1 100644
--- a/file
+++ b/file
@@ -1 +1,5 @@
+<<<<<<< HEAD
c1
+=======
+c2
+>>>>>>> :/c2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --theirs
* Unmerged path file
diff --git a/file b/file
index 16f9ec0..9ff16e1 100644
--- a/file
+++ b/file
@@ -1 +1,5 @@
+<<<<<<< HEAD
+c1
+=======
c2
+>>>>>>> :/c2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff AUTO_MERGE
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout --ours '.'
Updated 1 path from the index
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff
diff --cc file
index ae93045,16f9ec0..0000000
--- a/file
+++ b/file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --base
* Unmerged path file
diff --git a/file b/file
index c6ee026..ae93045 100644
--- a/file
+++ b/file
@@ -1,13 +1 @@
-<<<<<<<<< Temporary merge branch 1
-<<<<<<<<< Temporary merge branch 1
-<<<<<<<<< Temporary merge branch 1
-b1
-=========
-b2
->>>>>>>>> Temporary merge branch 2
-=========
-b3
->>>>>>>>> Temporary merge branch 2
-=========
-b4
->>>>>>>>> Temporary merge branch 2
+c1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --ours
* Unmerged path file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --theirs
* Unmerged path file
diff --git a/file b/file
index 16f9ec0..ae93045 100644
--- a/file
+++ b/file
@@ -1 +1 @@
-c2
+c1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff AUTO_MERGE
diff --git a/file b/file
index 9ff16e1..ae93045 100644
--- a/file
+++ b/file
@@ -1,5 +1 @@
-<<<<<<< HEAD
c1
-=======
-c2
->>>>>>> :/c2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout --theirs '.'
Updated 1 path from the index
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff
diff --cc file
index ae93045,16f9ec0..0000000
--- a/file
+++ b/file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --base
* Unmerged path file
diff --git a/file b/file
index c6ee026..16f9ec0 100644
--- a/file
+++ b/file
@@ -1,13 +1 @@
-<<<<<<<<< Temporary merge branch 1
-<<<<<<<<< Temporary merge branch 1
-<<<<<<<<< Temporary merge branch 1
-b1
-=========
-b2
->>>>>>>>> Temporary merge branch 2
-=========
-b3
->>>>>>>>> Temporary merge branch 2
-=========
-b4
->>>>>>>>> Temporary merge branch 2
+c2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --ours
* Unmerged path file
diff --git a/file b/file
index ae93045..16f9ec0 100644
--- a/file
+++ b/file
@@ -1 +1 @@
-c1
+c2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --theirs
* Unmerged path file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff AUTO_MERGE
diff --git a/file b/file
index 9ff16e1..16f9ec0 100644
--- a/file
+++ b/file
@@ -1,5 +1 @@
-<<<<<<< HEAD
-c1
-=======
c2
->>>>>>> :/c2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout --merge '.'
Recreated 1 merge conflict
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff
diff --cc file
index ae93045,16f9ec0..0000000
--- a/file
+++ b/file
@@@ -1,1 -1,1 +1,5 @@@
++<<<<<<< ours
+c1
++=======
+ c2
++>>>>>>> theirs
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --base
* Unmerged path file
diff --git a/file b/file
index c6ee026..9d93873 100644
--- a/file
+++ b/file
@@ -1,13 +1,5 @@
-<<<<<<<<< Temporary merge branch 1
-<<<<<<<<< Temporary merge branch 1
-<<<<<<<<< Temporary merge branch 1
-b1
-=========
-b2
->>>>>>>>> Temporary merge branch 2
-=========
-b3
->>>>>>>>> Temporary merge branch 2
-=========
-b4
->>>>>>>>> Temporary merge branch 2
+<<<<<<< ours
+c1
+=======
+c2
+>>>>>>> theirs
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --ours
* Unmerged path file
diff --git a/file b/file
index ae93045..9d93873 100644
--- a/file
+++ b/file
@@ -1 +1,5 @@
+<<<<<<< ours
c1
+=======
+c2
+>>>>>>> theirs
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --theirs
* Unmerged path file
diff --git a/file b/file
index 16f9ec0..9d93873 100644
--- a/file
+++ b/file
@@ -1 +1,5 @@
+<<<<<<< ours
+c1
+=======
c2
+>>>>>>> theirs
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff AUTO_MERGE
diff --git a/file b/file
index 9ff16e1..9d93873 100644
--- a/file
+++ b/file
@@ -1,5 +1,5 @@
-<<<<<<< HEAD
+<<<<<<< ours
c1
=======
c2
->>>>>>> :/c2
+>>>>>>> theirs
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout --conflict=merge '.'
Recreated 1 merge conflict
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff
diff --cc file
index ae93045,16f9ec0..0000000
--- a/file
+++ b/file
@@@ -1,1 -1,1 +1,5 @@@
++<<<<<<< ours
+c1
++=======
+ c2
++>>>>>>> theirs
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --base
* Unmerged path file
diff --git a/file b/file
index c6ee026..9d93873 100644
--- a/file
+++ b/file
@@ -1,13 +1,5 @@
-<<<<<<<<< Temporary merge branch 1
-<<<<<<<<< Temporary merge branch 1
-<<<<<<<<< Temporary merge branch 1
-b1
-=========
-b2
->>>>>>>>> Temporary merge branch 2
-=========
-b3
->>>>>>>>> Temporary merge branch 2
-=========
-b4
->>>>>>>>> Temporary merge branch 2
+<<<<<<< ours
+c1
+=======
+c2
+>>>>>>> theirs
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --ours
* Unmerged path file
diff --git a/file b/file
index ae93045..9d93873 100644
--- a/file
+++ b/file
@@ -1 +1,5 @@
+<<<<<<< ours
c1
+=======
+c2
+>>>>>>> theirs
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --theirs
* Unmerged path file
diff --git a/file b/file
index 16f9ec0..9d93873 100644
--- a/file
+++ b/file
@@ -1 +1,5 @@
+<<<<<<< ours
+c1
+=======
c2
+>>>>>>> theirs
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff AUTO_MERGE
diff --git a/file b/file
index 9ff16e1..9d93873 100644
--- a/file
+++ b/file
@@ -1,5 +1,5 @@
-<<<<<<< HEAD
+<<<<<<< ours
c1
=======
c2
->>>>>>> :/c2
+>>>>>>> theirs
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout --conflict=diff3 '.'
Recreated 1 merge conflict
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff
diff --cc file
index ae93045,16f9ec0..0000000
--- a/file
+++ b/file
@@@ -1,1 -1,1 +1,19 @@@
++<<<<<<< ours
+c1
++||||||| base
++<<<<<<<<< Temporary merge branch 1
++<<<<<<<<< Temporary merge branch 1
++<<<<<<<<< Temporary merge branch 1
++b1
++=========
++b2
++>>>>>>>>> Temporary merge branch 2
++=========
++b3
++>>>>>>>>> Temporary merge branch 2
++=========
++b4
++>>>>>>>>> Temporary merge branch 2
++=======
+ c2
++>>>>>>> theirs
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --base
* Unmerged path file
diff --git a/file b/file
index c6ee026..e7e44c9 100644
--- a/file
+++ b/file
@@ -1,3 +1,6 @@
+<<<<<<< ours
+c1
+||||||| base
<<<<<<<<< Temporary merge branch 1
<<<<<<<<< Temporary merge branch 1
<<<<<<<<< Temporary merge branch 1
@@ -11,3 +14,6 @@ b3
=========
b4
>>>>>>>>> Temporary merge branch 2
+=======
+c2
+>>>>>>> theirs
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --ours
* Unmerged path file
diff --git a/file b/file
index ae93045..e7e44c9 100644
--- a/file
+++ b/file
@@ -1 +1,19 @@
+<<<<<<< ours
c1
+||||||| base
+<<<<<<<<< Temporary merge branch 1
+<<<<<<<<< Temporary merge branch 1
+<<<<<<<<< Temporary merge branch 1
+b1
+=========
+b2
+>>>>>>>>> Temporary merge branch 2
+=========
+b3
+>>>>>>>>> Temporary merge branch 2
+=========
+b4
+>>>>>>>>> Temporary merge branch 2
+=======
+c2
+>>>>>>> theirs
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --theirs
* Unmerged path file
diff --git a/file b/file
index 16f9ec0..e7e44c9 100644
--- a/file
+++ b/file
@@ -1 +1,19 @@
+<<<<<<< ours
+c1
+||||||| base
+<<<<<<<<< Temporary merge branch 1
+<<<<<<<<< Temporary merge branch 1
+<<<<<<<<< Temporary merge branch 1
+b1
+=========
+b2
+>>>>>>>>> Temporary merge branch 2
+=========
+b3
+>>>>>>>>> Temporary merge branch 2
+=========
+b4
+>>>>>>>>> Temporary merge branch 2
+=======
c2
+>>>>>>> theirs
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff AUTO_MERGE
diff --git a/file b/file
index 9ff16e1..e7e44c9 100644
--- a/file
+++ b/file
@@ -1,5 +1,19 @@
-<<<<<<< HEAD
+<<<<<<< ours
c1
+||||||| base
+<<<<<<<<< Temporary merge branch 1
+<<<<<<<<< Temporary merge branch 1
+<<<<<<<<< Temporary merge branch 1
+b1
+=========
+b2
+>>>>>>>>> Temporary merge branch 2
+=========
+b3
+>>>>>>>>> Temporary merge branch 2
+=========
+b4
+>>>>>>>>> Temporary merge branch 2
=======
c2
->>>>>>> :/c2
+>>>>>>> theirs
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) cbdcbdd] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ touch -- './repo/file_extra'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout HEAD -- '.'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
Untracked files:
(use "git add <file>..." to include in what will be committed)
file_extra
nothing added to commit but untracked files present (use "git add" to track)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) e076b0b] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file_extra'; git -C './repo' add './file_extra'
warning: in the working copy of 'file_extra', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./repo/file_extra'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout HEAD -- '.'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
new file: file_extra
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: file_extra
Changes to be committed:
diff --git c/file_extra i/file_extra
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ i/file_extra
@@ -0,0 +1 @@
+1
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'file_extra', LF will be replaced by CRLF the next time Git touches it
diff --git i/file_extra w/file_extra
index d00491f..0cfbf08 100644
--- i/file_extra
+++ w/file_extra
@@ -1 +1 @@
-1
+2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) e6e827d] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ touch -- './repo/file_extra'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout --no-overlay HEAD -- '.'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
Untracked files:
(use "git add <file>..." to include in what will be committed)
file_extra
nothing added to commit but untracked files present (use "git add" to track)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 7ccfc45] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file_extra'; git -C './repo' add './file_extra'
warning: in the working copy of 'file_extra', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./repo/file_extra'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout --no-overlay HEAD -- '.'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
nothing to commit, working tree clean
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
if index has unmerged entries, error: you need to resolve your current index first [ file: needs merge, ... ]
if index doesn't have unmerged entries,
HEAD: switch to <commit-ish>
index: (see below)
working tree: (see below)
if a file is different between <commit-ish> and HEAD,
if <commit-ish> != index && HEAD != index, then resetting index to <commit-ish> would lose entries in index, so checkout is aborted
if HEAD == index, then resets index to <commit-ish> and applies "index -> working tree" onto <commit-ish> to yield working tree
if <commit-ish> == index, then resets index to <commit-ish> and applies "index -> working tree" onto <commit-ish> to yield working tree
if a file is same between <commit-ish> and HEAD, then doesn't look at or touch index or working tree
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) d5a1bea] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master 3657ea9] 2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '3' >'./repo/file'; git -C './repo' add './file'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '3' >'./repo/file'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 00750edc07d6415dcc07ae0351e9397b0222b7ba 0 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
modified: file
Changes to be committed:
diff --git c/file i/file
index 0cfbf08..00750ed 100644
--- c/file
+++ i/file
@@ -1 +1 @@
-2
+3
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* 3657ea9 - 2026-10-28 22:20 (2 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* d5a1bea - 2026-10-28 22:20 (3 seconds ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout HEAD~1
error: Your local changes to the following files would be overwritten by checkout:
file
Please commit your changes or stash them before you switch branches.
Aborting
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) da89cd0] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master e3d68db] 2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./repo/file'; git -C './repo' add './file'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f 0 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: file
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git i/file w/file
index 0cfbf08..d00491f 100644
--- i/file
+++ w/file
@@ -1 +1 @@
-2
+1
no changes added to commit (use "git add" and/or "git commit -a")
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* e3d68db - 2026-10-28 22:21 (2 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* da89cd0 - 2026-10-28 22:21 (3 seconds ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout HEAD~1
error: Your local changes to the following files would be overwritten by checkout:
file
Please commit your changes or stash them before you switch branches.
Aborting
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) e39a942] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master 4517ada] 2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./repo/file'; git -C './repo' add './file'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./repo/file'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f 0 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
nothing to commit, working tree clean
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* 4517ada - 2026-10-28 22:21 (2 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* e39a942 - 2026-10-28 22:21 (3 seconds ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout HEAD~1
Note: switching to 'HEAD~1'.
You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by switching back to a branch.
If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -c with the switch command. Example:
git switch -c <new-branch-name>
Or undo this operation with:
git switch -
Turn off this advice by setting config variable advice.detachedHead to false
HEAD is now at e39a942 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 d00491fd7e5bb6fa28c517a0bb32b8b506539d4d 0 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
HEAD detached at e39a942
nothing to commit, working tree clean
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* 4517ada - 2026-10-28 22:21 (4 seconds ago) 2 - Han Jiang (refs/heads/master)
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* e39a942 - 2026-10-28 22:21 (5 seconds ago) 1 - Han Jiang (HEAD)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 0af711b] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))" --allow-empty
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master 4dbb24d] 2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./repo/file'; git -C './repo' add './file'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '3' >'./repo/file'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f 0 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
modified: file
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: file
Changes to be committed:
diff --git c/file i/file
index d00491f..0cfbf08 100644
--- c/file
+++ i/file
@@ -1 +1 @@
-1
+2
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git i/file w/file
index 0cfbf08..00750ed 100644
--- i/file
+++ w/file
@@ -1 +1 @@
-2
+3
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* 4dbb24d - 2026-10-28 22:21 (2 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
* 0af711b - 2026-10-28 22:21 (3 seconds ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout HEAD~1
M file
Note: switching to 'HEAD~1'.
You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by switching back to a branch.
If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -c with the switch command. Example:
git switch -c <new-branch-name>
Or undo this operation with:
git switch -
Turn off this advice by setting config variable advice.detachedHead to false
HEAD is now at 0af711b 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f 0 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
HEAD detached at 0af711b
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
modified: file
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: file
Changes to be committed:
diff --git c/file i/file
index d00491f..0cfbf08 100644
--- c/file
+++ i/file
@@ -1 +1 @@
-1
+2
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git i/file w/file
index 0cfbf08..00750ed 100644
--- i/file
+++ w/file
@@ -1 +1 @@
-2
+3
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* 4dbb24d - 2026-10-28 22:21 (3 seconds ago) 2 - Han Jiang (refs/heads/master)
* 0af711b - 2026-10-28 22:21 (4 seconds ago) 1 - Han Jiang (HEAD)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
if index has unmerged entries, error: you need to resolve your current index first [ file: needs merge, ... ]
if index doesn't have unmerged entries,
HEAD: switch to <commit-ish>
index: (see below)
working tree: (see below)
if a file is different between <commit-ish> and HEAD,
if <commit-ish> != index && HEAD != index, then resetting index to <commit-ish> would lose entries in index, so checkout is aborted
if HEAD == index, then applies "index -> <commit-ish>" and "index -> working tree" onto index to yield index and working tree
if <commit-ish> == index, then applies "index -> <commit-ish>" and "index -> working tree" onto index to yield index and working tree
if a file is same between <commit-ish> and HEAD, then doesn't look at or touch index or working tree
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) da45316] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master b0c309a] 2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '3' >'./repo/file'; git -C './repo' add './file'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '3' >'./repo/file'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 00750edc07d6415dcc07ae0351e9397b0222b7ba 0 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
modified: file
Changes to be committed:
diff --git c/file i/file
index 0cfbf08..00750ed 100644
--- c/file
+++ i/file
@@ -1 +1 @@
-2
+3
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* b0c309a - 2026-10-28 22:21 (2 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* da45316 - 2026-10-28 22:21 (3 seconds ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout --merge HEAD~1
Your local changes are stashed, however applying them
resulted in conflicts. You can either resolve the conflicts
and then discard the stash with "git stash drop", or, if you
do not want to resolve them now, run "git reset --hard" and
apply the local changes later by running "git stash pop".
Note: switching to 'HEAD~1'.
You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by switching back to a branch.
If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -c with the switch command. Example:
git switch -c <new-branch-name>
Or undo this operation with:
git switch -
Turn off this advice by setting config variable advice.detachedHead to false
HEAD is now at da45316 1
The following paths have local changes:
M file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) c03b1b0] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master 90a5bac] 2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./repo/file'; git -C './repo' add './file'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '3' >'./repo/file'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f 0 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: file
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git i/file w/file
index 0cfbf08..00750ed 100644
--- i/file
+++ w/file
@@ -1 +1 @@
-2
+3
no changes added to commit (use "git add" and/or "git commit -a")
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* 90a5bac - 2026-10-28 22:21 (2 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* c03b1b0 - 2026-10-28 22:21 (2 seconds ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout --merge HEAD~1
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
Your local changes are stashed, however applying them
resulted in conflicts. You can either resolve the conflicts
and then discard the stash with "git stash drop", or, if you
do not want to resolve them now, run "git reset --hard" and
apply the local changes later by running "git stash pop".
Note: switching to 'HEAD~1'.
You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by switching back to a branch.
If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -c with the switch command. Example:
git switch -c <new-branch-name>
Or undo this operation with:
git switch -
Turn off this advice by setting config variable advice.detachedHead to false
HEAD is now at c03b1b0 1
The following paths have local changes:
M file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f 1 file
100644 d00491fd7e5bb6fa28c517a0bb32b8b506539d4d 2 file
100644 00750edc07d6415dcc07ae0351e9397b0222b7ba 3 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
HEAD detached at c03b1b0
Unmerged paths:
(use "git restore --staged <file>..." to unstage)
(use "git add <file>..." to mark resolution)
both modified: file
* Unmerged path file
no changes added to commit (use "git add" and/or "git commit -a")
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* 2263b91 - 2026-10-28 22:21 (1 second ago) On master: autostash while switching to 'HEAD~1' - Han Jiang (refs/stash)
|\
| * f98c3ba - 2026-10-28 22:21 (1 second ago) index on master: 90a5bac 2 - Han Jiang
|/
* 90a5bac - 2026-10-28 22:21 (4 seconds ago) 2 - Han Jiang (refs/heads/master)
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* c03b1b0 - 2026-10-28 22:21 (4 seconds ago) 1 - Han Jiang (HEAD)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff
diff --cc file
index d00491f,00750ed..0000000
--- a/file
+++ b/file
@@@ -1,1 -1,1 +1,5 @@@
++<<<<<<< HEAD~1
+1
++=======
+ 3
++>>>>>>> local
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --base
* Unmerged path file
diff --git a/file b/file
index 0cfbf08..707f96d 100644
--- a/file
+++ b/file
@@ -1 +1,5 @@
-2
+<<<<<<< HEAD~1
+1
+=======
+3
+>>>>>>> local
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --ours
* Unmerged path file
diff --git a/file b/file
index d00491f..707f96d 100644
--- a/file
+++ b/file
@@ -1 +1,5 @@
+<<<<<<< HEAD~1
1
+=======
+3
+>>>>>>> local
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --theirs
* Unmerged path file
diff --git a/file b/file
index 00750ed..707f96d 100644
--- a/file
+++ b/file
@@ -1 +1,5 @@
+<<<<<<< HEAD~1
+1
+=======
3
+>>>>>>> local
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff AUTO_MERGE
fatal: ambiguous argument 'AUTO_MERGE': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'
jhcarl0814@jhcarl0814 UCRT64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 855796c] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master 329e204] 2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./repo/file'; git -C './repo' add './file'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./repo/file'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f 0 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
nothing to commit, working tree clean
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* 329e204 - 2026-10-28 22:21 (2 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 855796c - 2026-10-28 22:21 (2 seconds ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout --merge HEAD~1
Note: switching to 'HEAD~1'.
You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by switching back to a branch.
If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -c with the switch command. Example:
git switch -c <new-branch-name>
Or undo this operation with:
git switch -
Turn off this advice by setting config variable advice.detachedHead to false
HEAD is now at 855796c 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 d00491fd7e5bb6fa28c517a0bb32b8b506539d4d 0 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
HEAD detached at 855796c
nothing to commit, working tree clean
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* 329e204 - 2026-10-28 22:21 (4 seconds ago) 2 - Han Jiang (refs/heads/master)
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 855796c - 2026-10-28 22:21 (4 seconds ago) 1 - Han Jiang (HEAD)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 865e99d] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))" --allow-empty
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master 23fc223] 2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./repo/file'; git -C './repo' add './file'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '3' >'./repo/file'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f 0 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
modified: file
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: file
Changes to be committed:
diff --git c/file i/file
index d00491f..0cfbf08 100644
--- c/file
+++ i/file
@@ -1 +1 @@
-1
+2
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git i/file w/file
index 0cfbf08..00750ed 100644
--- i/file
+++ w/file
@@ -1 +1 @@
-2
+3
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* 23fc223 - 2026-10-28 22:22 (2 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
* 865e99d - 2026-10-28 22:22 (3 seconds ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout --merge HEAD~1
M file
Note: switching to 'HEAD~1'.
You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by switching back to a branch.
If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -c with the switch command. Example:
git switch -c <new-branch-name>
Or undo this operation with:
git switch -
Turn off this advice by setting config variable advice.detachedHead to false
HEAD is now at 865e99d 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f 0 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
HEAD detached at 865e99d
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
modified: file
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: file
Changes to be committed:
diff --git c/file i/file
index d00491f..0cfbf08 100644
--- c/file
+++ i/file
@@ -1 +1 @@
-1
+2
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git i/file w/file
index 0cfbf08..00750ed 100644
--- i/file
+++ w/file
@@ -1 +1 @@
-2
+3
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* 23fc223 - 2026-10-28 22:22 (4 seconds ago) 2 - Han Jiang (refs/heads/master)
* 865e99d - 2026-10-28 22:22 (5 seconds ago) 1 - Han Jiang (HEAD)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
(see below)
HEAD is detached
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) e557135] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch branch1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --list --all --verbose --verbose
branch1 e557135 1
* master e557135 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* e557135 - 2026-10-28 22:22 (1 second ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/heads/branch1)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout --detach branch1
HEAD is now at e557135 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --list --all --verbose --verbose
* (HEAD detached at refs/heads/branch1) e557135 1
branch1 e557135 1
master e557135 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* e557135 - 2026-10-28 22:22 (2 seconds ago) 1 - Han Jiang (HEAD, refs/heads/master, refs/heads/branch1)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
create new branch
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) da8b937] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch branch1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --list --all --verbose --verbose
branch1 da8b937 1
* master da8b937 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* da8b937 - 2026-10-28 22:22 (2 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/heads/branch1)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout -b branch2 branch1
Switched to a new branch 'branch2'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --list --all --verbose --verbose
branch1 da8b937 1
* branch2 da8b937 1
master da8b937 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* da8b937 - 2026-10-28 22:22 (3 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/branch2, refs/heads/master, refs/heads/branch1)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
create new branch or reset existent local branch
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) e2a9e53] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch branch1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master 024c0c0] 2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch branch2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --list --all --verbose --verbose
branch1 e2a9e53 1
branch2 024c0c0 2
* master 024c0c0 2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 024c0c0 - 2026-10-28 22:22 (1 second ago) 2 - Han Jiang (HEAD -> refs/heads/master, refs/heads/branch2)
* e2a9e53 - 2026-10-28 22:22 (2 seconds ago) 1 - Han Jiang (refs/heads/branch1)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout -B branch1 branch2
Switched to and reset branch 'branch1'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --list --all --verbose --verbose
* branch1 024c0c0 2
branch2 024c0c0 2
master 024c0c0 2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 024c0c0 - 2026-10-28 22:22 (2 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/branch1, refs/heads/master, refs/heads/branch2)
* e2a9e53 - 2026-10-28 22:22 (3 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
create unborn branch
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) a260bdc] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch branch1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --list --all --verbose --verbose
branch1 a260bdc 1
* master a260bdc 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* a260bdc - 2026-10-28 22:22 (2 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/heads/branch1)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout --orphan branch2 branch1
Switched to a new branch 'branch2'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --list --all --verbose --verbose
branch1 a260bdc 1
master a260bdc 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* a260bdc - 2026-10-28 22:22 (3 seconds ago) 1 - Han Jiang (refs/heads/master, refs/heads/branch1)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' symbolic-ref HEAD
refs/heads/branch2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --show-current
branch2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
(see below)
HEAD is detached
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 2af15fc] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --list --all --verbose --verbose
* master 2af15fc 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 2af15fc - 2026-10-28 22:22 (1 second ago) 1 - Han Jiang (HEAD -> refs/heads/master)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout --detach
HEAD is now at 2af15fc 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --list --all --verbose --verbose
* (HEAD detached at 2af15fc) 2af15fc 1
master 2af15fc 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 2af15fc - 2026-10-28 22:22 (2 seconds ago) 1 - Han Jiang (HEAD, refs/heads/master)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
create new branch
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) dd6d5ab] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --list --all --verbose --verbose
* master dd6d5ab 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* dd6d5ab - 2026-10-28 22:22 (1 second ago) 1 - Han Jiang (HEAD -> refs/heads/master)
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --list --all --verbose --verbose
* branch1 dd6d5ab 1
master dd6d5ab 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* dd6d5ab - 2026-10-28 22:22 (2 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/branch1, refs/heads/master)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
create new branch or reset existent local branch
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 8ef62b2] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch branch1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master d0de29d] 2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --list --all --verbose --verbose
branch1 8ef62b2 1
* master d0de29d 2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* d0de29d - 2026-10-28 22:22 (1 second ago) 2 - Han Jiang (HEAD -> refs/heads/master)
* 8ef62b2 - 2026-10-28 22:22 (2 seconds ago) 1 - Han Jiang (refs/heads/branch1)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout -B branch1
Switched to and reset branch 'branch1'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --list --all --verbose --verbose
* branch1 d0de29d 2
master d0de29d 2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* d0de29d - 2026-10-28 22:22 (2 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/branch1, refs/heads/master)
* 8ef62b2 - 2026-10-28 22:22 (3 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
create unborn branch
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 1a6a904] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --list --all --verbose --verbose
* master 1a6a904 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 1a6a904 - 2026-10-28 22:23 (1 second ago) 1 - Han Jiang (HEAD -> refs/heads/master)
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --list --all --verbose --verbose
master 1a6a904 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 1a6a904 - 2026-10-28 22:23 (2 seconds ago) 1 - Han Jiang (refs/heads/master)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' symbolic-ref HEAD
refs/heads/branch1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --show-current
branch1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
(see below)
fatal: You are on a branch yet to be born
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --list --all --verbose --verbose
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' symbolic-ref HEAD
refs/heads/master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --show-current
master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout --detach
fatal: You are on a branch yet to be born
jhcarl0814@jhcarl0814 UCRT64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
create unborn branch
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --list --all --verbose --verbose
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' symbolic-ref HEAD
refs/heads/master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --show-current
master
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --list --all --verbose --verbose
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' symbolic-ref HEAD
refs/heads/branch1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --show-current
branch1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
if the branch doesn't exist, create unborn branch
if the branch exists, switch to it (doesn't make it unborn)
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --list --all --verbose --verbose
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' symbolic-ref HEAD
refs/heads/master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --show-current
master
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --list --all --verbose --verbose
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' symbolic-ref HEAD
refs/heads/branch1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --show-current
branch1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ HEAD_old="$(git -C './repo' symbolic-ref HEAD)"; echo "$HEAD_old"
refs/heads/master
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch1 (root-commit) 55aeb76] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' symbolic-ref HEAD "$HEAD_old"
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --list --all --verbose --verbose
branch1 55aeb76 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 55aeb76 - 2026-10-28 22:23 (1 second ago) 1 - Han Jiang (refs/heads/branch1)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' symbolic-ref HEAD
refs/heads/master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --show-current
master
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --list --all --verbose --verbose
* branch1 55aeb76 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 55aeb76 - 2026-10-28 22:23 (4 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/branch1)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' symbolic-ref HEAD
refs/heads/branch1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --show-current
branch1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
create unborn branch
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --list --all --verbose --verbose
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' symbolic-ref HEAD
refs/heads/master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --show-current
master
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --list --all --verbose --verbose
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' symbolic-ref HEAD
refs/heads/branch1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --show-current
branch1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
checkout the existent local branch
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) c69498f] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch branch1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --list --all --verbose --verbose
branch1 c69498f 1
* master c69498f 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* c69498f - 2026-10-28 22:23 (2 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/heads/branch1)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1
Switched to branch 'branch1'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --list --all --verbose --verbose
* branch1 c69498f 1
master c69498f 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* c69498f - 2026-10-28 22:23 (3 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/branch1, refs/heads/master)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
when (--no-guess is specified or) 0 or more than 1 remotes have tracking branch with matching name
error out
when more than 1 remotes have tracking branch with matching name but one of the remote is checkout.defaultRemote, or 1 remote has tracking branch with matching name
equivalent to git checkout -b <branch> --track <remote-tracking branch>
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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) e95ecb9] 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server1/repo.git' branch branch2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server1/repo.git' branch branch3
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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) d0b4238] 2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server2/repo.git' branch branch2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
jhcarl0814@jhcarl0814 UCRT64 $?=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), 140 bytes | 17.00 KiB/s, done.
From file:///test_git/server1/repo
* [new branch] branch2 -> server1/branch2
* [new branch] branch3 -> server1/branch3
* [new branch] master -> server1/master
Fetching server2
remote: Enumerating objects: 2, done.
remote: Counting objects: 100% (2/2), done.
remote: Total 2 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (2/2), 140 bytes | 23.00 KiB/s, done.
From file:///test_git/server2/repo
* [new branch] branch2 -> server2/branch2
* [new branch] master -> server2/master
jhcarl0814@jhcarl0814 UCRT64 $?=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 e95ecb9 1
remotes/server1/branch3 e95ecb9 1
remotes/server1/master e95ecb9 1
remotes/server2/HEAD -> server2/master
remotes/server2/branch2 d0b4238 2
remotes/server2/master d0b4238 2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all
* d0b4238 - 2026-10-28 22:24 (5 seconds ago) 2 - Han Jiang (refs/remotes/server2/master, refs/remotes/server2/branch2, refs/remotes/server2/HEAD)
* e95ecb9 - 2026-10-28 22:24 (7 seconds ago) 1 - Han Jiang (refs/remotes/server1/master, refs/remotes/server1/branch3, refs/remotes/server1/branch2, refs/remotes/server1/HEAD)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' checkout branch1
error: pathspec 'branch1' did not match any file(s) known to git
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' checkout branch2
hint: Branch name 'branch2' appears in multiple remotes:
hint: server1
hint: server2
hint: If you meant to check out a remote tracking branch on <remote>,
hint: you can do so by fully qualifying the name with the --track option:
hint:
hint: git checkout --track <remote>/branch2
hint:
hint: If you'd like to always have checkouts of an ambiguous name prefer
hint: one remote, e.g. the 'origin' remote, consider setting
hint: checkout.defaultRemote=origin in your config.
fatal: 'branch2' matched multiple (2) remote tracking branches
jhcarl0814@jhcarl0814 UCRT64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' -c checkout.defaultRemote='server1' checkout --no-guess branch2
error: pathspec 'branch2' did not match any file(s) known to git
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' -c checkout.defaultRemote='server1' checkout branch2
branch 'branch2' set up to track 'server1/branch2'.
Switched to a new branch 'branch2'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' checkout --no-guess branch3
error: pathspec 'branch3' did not match any file(s) known to git
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' checkout branch3
branch 'branch3' set up to track 'server1/branch3'.
Switched to a new branch 'branch3'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
branch2 e95ecb9 [server1/branch2] 1
* branch3 e95ecb9 [server1/branch3] 1
remotes/server1/HEAD -> server1/master
remotes/server1/branch2 e95ecb9 1
remotes/server1/branch3 e95ecb9 1
remotes/server1/master e95ecb9 1
remotes/server2/HEAD -> server2/master
remotes/server2/branch2 d0b4238 2
remotes/server2/master d0b4238 2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all
* d0b4238 - 2026-10-28 22:24 (9 seconds ago) 2 - Han Jiang (refs/remotes/server2/master, refs/remotes/server2/branch2, refs/remotes/server2/HEAD)
* e95ecb9 - 2026-10-28 22:24 (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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
glorified no-op with rather expensive side-effects to show only the tracking information, if it exists, for the current branch
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 646fd4a] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --list --all --verbose --verbose
* master 646fd4a 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 646fd4a - 2026-10-28 22:24 (1 second ago) 1 - Han Jiang (HEAD -> refs/heads/master)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --list --all --verbose --verbose
* master 646fd4a 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 646fd4a - 2026-10-28 22:24 (3 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
fatal: You are on a branch yet to be born
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --list --all --verbose --verbose
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout
fatal: You are on a branch yet to be born
jhcarl0814@jhcarl0814 UCRT64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) a0ccc68] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch branch1
jhcarl0814@jhcarl0814 UCRT64 $?=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 a0ccc68 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --list --all --verbose --verbose
+ branch1 a0ccc68 (C:/Program Files/Git/test_git/worktree1) 1
* master a0ccc68 1
jhcarl0814@jhcarl0814 UCRT64 $?=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 a0ccc68 [master]
C:/Program Files/Git/test_git/worktree1 a0ccc68 [branch1]
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* a0ccc68 - 2026-10-28 22:24 (2 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master, refs/heads/branch1)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' branch --list --all --verbose --verbose
* branch1 a0ccc68 1
+ master a0ccc68 (C:/Program Files/Git/test_git/repo) 1
jhcarl0814@jhcarl0814 UCRT64 $?=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 a0ccc68 [master]
C:/Program Files/Git/test_git/worktree1 a0ccc68 [branch1]
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' lg --all
* a0ccc68 - 2026-10-28 22:24 (4 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/branch1, refs/heads/master)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1
fatal: 'branch1' is already used by worktree at 'C:/Program Files/Git/test_git/worktree1'
jhcarl0814@jhcarl0814 UCRT64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout --ignore-other-worktrees branch1
Switched to branch 'branch1'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch --list --all --verbose --verbose
* branch1 a0ccc68 1
master a0ccc68 1
jhcarl0814@jhcarl0814 UCRT64 $?=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 a0ccc68 [branch1]
C:/Program Files/Git/test_git/worktree1 a0ccc68 [branch1]
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* a0ccc68 - 2026-10-28 22:24 (6 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/branch1, refs/heads/master)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' branch --list --all --verbose --verbose
* branch1 a0ccc68 1
master a0ccc68 1
jhcarl0814@jhcarl0814 UCRT64 $?=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 a0ccc68 [branch1]
C:/Program Files/Git/test_git/worktree1 a0ccc68 [branch1]
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './worktree1' lg --all
* a0ccc68 - 2026-10-28 22:24 (7 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/branch1, refs/heads/master)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
create new branch
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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) 8051d26] 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' branch branch1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' commit --message="$((++number))" --allow-empty
[master (root-commit) 09c1599] 2
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
* master 09c1599 2
jhcarl0814@jhcarl0814 UCRT64 $?=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), 140 bytes | 28.00 KiB/s, done.
From file:///test_git/server/repo
* [new branch] branch1 -> server/branch1
* [new branch] master -> server/master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
* master 09c1599 2
remotes/server/HEAD -> server/master
remotes/server/branch1 8051d26 1
remotes/server/master 8051d26 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all
* 09c1599 - 2026-10-28 22:24 (2 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
* 8051d26 - 2026-10-28 22:24 (4 seconds ago) 1 - Han Jiang (refs/remotes/server/master, refs/remotes/server/branch1, refs/remotes/server/HEAD)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' checkout -b branch11 remotes/server/branch1
branch 'branch11' set up to track 'server/branch1'.
Switched to a new branch 'branch11'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' checkout -b branch12 --no-track remotes/server/branch1
Switched to a new branch 'branch12'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
branch11 8051d26 [server/branch1] 1
* branch12 8051d26 1
master 09c1599 2
remotes/server/HEAD -> server/master
remotes/server/branch1 8051d26 1
remotes/server/master 8051d26 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all
* 09c1599 - 2026-10-28 22:24 (5 seconds ago) 2 - Han Jiang (refs/heads/master)
* 8051d26 - 2026-10-28 22:24 (7 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/branch12, refs/remotes/server/master, refs/remotes/server/branch1, refs/remotes/server/HEAD, refs/heads/branch11)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
create new branch or reset existent local branch
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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) dbce9e7] 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' branch branch1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' commit --message="$((++number))" --allow-empty
[master (root-commit) 9450df0] 2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch branch11
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch branch12
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
branch11 9450df0 2
branch12 9450df0 2
* master 9450df0 2
jhcarl0814@jhcarl0814 UCRT64 $?=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), 140 bytes | 28.00 KiB/s, done.
From file:///test_git/server/repo
* [new branch] branch1 -> server/branch1
* [new branch] master -> server/master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
branch11 9450df0 2
branch12 9450df0 2
* master 9450df0 2
remotes/server/HEAD -> server/master
remotes/server/branch1 dbce9e7 1
remotes/server/master dbce9e7 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all
* 9450df0 - 2026-10-28 22:24 (4 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master, refs/heads/branch12, refs/heads/branch11)
* dbce9e7 - 2026-10-28 22:24 (6 seconds ago) 1 - Han Jiang (refs/remotes/server/master, refs/remotes/server/branch1, refs/remotes/server/HEAD)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' checkout -B branch11 remotes/server/branch1
branch 'branch11' set up to track 'server/branch1'.
Switched to and reset branch 'branch11'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' checkout -B branch12 --no-track remotes/server/branch1
Switched to and reset branch 'branch12'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
branch11 dbce9e7 [server/branch1] 1
* branch12 dbce9e7 1
master 9450df0 2
remotes/server/HEAD -> server/master
remotes/server/branch1 dbce9e7 1
remotes/server/master dbce9e7 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all
* 9450df0 - 2026-10-28 22:24 (6 seconds ago) 2 - Han Jiang (refs/heads/master)
* dbce9e7 - 2026-10-28 22:24 (8 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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
--no-track doesn't reverse --track in git checkout -b <branch> --track <remote-tracking branch> but causes error
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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) 8bef413] 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server1/repo.git' branch branch2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server1/repo.git' branch branch3
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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) 88c7e6b] 2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server2/repo.git' branch branch2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
jhcarl0814@jhcarl0814 UCRT64 $?=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), 140 bytes | 28.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), 140 bytes | 23.00 KiB/s, done.
From file:///test_git/server2/repo
* [new branch] branch2 -> server2/branch2
* [new branch] master -> server2/master
jhcarl0814@jhcarl0814 UCRT64 $?=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 8bef413 1
remotes/server1/branch3 8bef413 1
remotes/server1/master 8bef413 1
remotes/server2/HEAD -> server2/master
remotes/server2/branch2 88c7e6b 2
remotes/server2/master 88c7e6b 2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all
* 88c7e6b - 2026-10-28 22:25 (5 seconds ago) 2 - Han Jiang (refs/remotes/server2/master, refs/remotes/server2/branch2, refs/remotes/server2/HEAD)
* 8bef413 - 2026-10-28 22:25 (7 seconds ago) 1 - Han Jiang (refs/remotes/server1/master, refs/remotes/server1/branch3, refs/remotes/server1/branch2, refs/remotes/server1/HEAD)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' checkout branch1
error: pathspec 'branch1' did not match any file(s) known to git
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' checkout branch2
hint: Branch name 'branch2' appears in multiple remotes:
hint: server1
hint: server2
hint: If you meant to check out a remote tracking branch on <remote>,
hint: you can do so by fully qualifying the name with the --track option:
hint:
hint: git checkout --track <remote>/branch2
hint:
hint: If you'd like to always have checkouts of an ambiguous name prefer
hint: one remote, e.g. the 'origin' remote, consider setting
hint: checkout.defaultRemote=origin in your config.
fatal: 'branch2' matched multiple (2) remote tracking branches
jhcarl0814@jhcarl0814 UCRT64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' -c checkout.defaultRemote='server1' checkout --no-track branch2
fatal: missing branch name; try -b
jhcarl0814@jhcarl0814 UCRT64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' -c checkout.defaultRemote='server1' checkout branch2
branch 'branch2' set up to track 'server1/branch2'.
Switched to a new branch 'branch2'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' checkout --no-track branch3
fatal: missing branch name; try -b
jhcarl0814@jhcarl0814 UCRT64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' checkout branch3
branch 'branch3' set up to track 'server1/branch3'.
Switched to a new branch 'branch3'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch --list --all --verbose --verbose
branch2 8bef413 [server1/branch2] 1
* branch3 8bef413 [server1/branch3] 1
remotes/server1/HEAD -> server1/master
remotes/server1/branch2 8bef413 1
remotes/server1/branch3 8bef413 1
remotes/server1/master 8bef413 1
remotes/server2/HEAD -> server2/master
remotes/server2/branch2 88c7e6b 2
remotes/server2/master 88c7e6b 2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all
* 88c7e6b - 2026-10-28 22:25 (9 seconds ago) 2 - Han Jiang (refs/remotes/server2/master, refs/remotes/server2/branch2, refs/remotes/server2/HEAD)
* 8bef413 - 2026-10-28 22:25 (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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ branch_default_name="$(git -C './repo' branch --show-current)"; echo "$branch_default_name"
master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) f5a1a67] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./repo/file'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch branch1
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: file
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: file
Changes to be committed:
diff --git c/file i/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ i/file
@@ -0,0 +1 @@
+1
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git i/file w/file
index d00491f..0cfbf08 100644
--- i/file
+++ w/file
@@ -1 +1 @@
-1
+2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' rm --cached --force -r '.'
rm 'file'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch branch1
No commits yet
Untracked files:
(use "git add <file>..." to include in what will be committed)
file
nothing added to commit but untracked files present (use "git add" to track)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '/file' >'./repo/.gitignore'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch branch1
No commits yet
Untracked files:
(use "git add <file>..." to include in what will be committed)
.gitignore
nothing added to commit but untracked files present (use "git add" to track)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './repo/file'
./repo/file -/0o100/regular file rw-r--r--/0o644
1 2\n
2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout "$branch_default_name"
Switched to branch 'master'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
Untracked files:
(use "git add <file>..." to include in what will be committed)
.gitignore
nothing added to commit but untracked files present (use "git add" to track)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './repo/file'
./repo/file -/0o100/regular file rw-r--r--/0o644
1 1\r\n
2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ branch_default_name="$(git -C './repo' branch --show-current)"; echo "$branch_default_name"
master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 762071a] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./repo/file'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch branch1
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: file
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: file
Changes to be committed:
diff --git c/file i/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ i/file
@@ -0,0 +1 @@
+1
--------------------------------------------------
Changes not staged for commit:
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git i/file w/file
index d00491f..0cfbf08 100644
--- i/file
+++ w/file
@@ -1 +1 @@
-1
+2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' rm --cached --force -r '.'
rm 'file'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch branch1
No commits yet
Untracked files:
(use "git add <file>..." to include in what will be committed)
file
nothing added to commit but untracked files present (use "git add" to track)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '/file' >'./repo/.gitignore'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch branch1
No commits yet
Untracked files:
(use "git add <file>..." to include in what will be committed)
.gitignore
nothing added to commit but untracked files present (use "git add" to track)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './repo/file'
./repo/file -/0o100/regular file rw-r--r--/0o644
1 2\n
2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout --no-overwrite-ignore "$branch_default_name"
error: The following untracked working tree files would be overwritten by checkout:
file
Please move or remove them before you switch branches.
Aborting
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e '1\n5' >'./repo/conflicted'; echo -e '1\n5' >'./repo/conflicted_excluded'; git -C './repo' add './conflicted' './conflicted_excluded'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'conflicted', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'conflicted_excluded', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) c7baf7c] 1
2 files changed, 4 insertions(+)
create mode 100644 conflicted
create mode 100644 conflicted_excluded
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout -b branch1; git -C './repo' branch branch2
Switched to a new branch 'branch1'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e '1\n2\n5' >'./repo/conflicted'; echo -e '1\n2\n5' >'./repo/conflicted_excluded'; git -C './repo' add './conflicted' './conflicted_excluded'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'conflicted', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'conflicted_excluded', LF will be replaced by CRLF the next time Git touches it
[branch1 1c54421] 2
2 files changed, 2 insertions(+)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch2
Switched to branch 'branch2'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e '1\n3\n5' >'./repo/conflicted'; echo -e '1\n3\n5' >'./repo/conflicted_excluded'; git -C './repo' add './conflicted' './conflicted_excluded'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'conflicted', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'conflicted_excluded', LF will be replaced by CRLF the next time Git touches it
[branch2 637e50f] 3
2 files changed, 2 insertions(+)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1
Switched to branch 'branch1'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge branch2 --message="$((++number))"
Auto-merging conflicted
CONFLICT (content): Merge conflict in conflicted
Auto-merging conflicted_excluded
CONFLICT (content): Merge conflict in conflicted_excluded
Automatic merge failed; fix conflicts and then commit the result.
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ mkdir --parents -- './repo/untracked_dir_empty' './repo/untracked_dir_empty_excluded' './repo/untracked_dir' './repo/untracked_dir_excluded'; touch -- './repo/untracked' './repo/untracked_excluded' './repo/untracked_dir/untracked' './repo/untracked_dir/untracked_excluded' './repo/untracked_dir_excluded/untracked' './repo/untracked_dir_excluded/untracked_excluded'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ touch -- './repo/unstaged_deletion' './repo/unstaged_deletion_excluded'; git -C './repo' add './unstaged_deletion' './unstaged_deletion_excluded'; rm -- './repo/unstaged_deletion' './repo/unstaged_deletion_excluded'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/unstaged_modification'; echo '1' >'./repo/unstaged_modification_excluded'; git -C './repo' add './unstaged_modification' './unstaged_modification_excluded'; echo '2' >'./repo/unstaged_modification'; echo '2' >'./repo/unstaged_modification_excluded'
warning: in the working copy of 'unstaged_modification', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'unstaged_modification_excluded', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ mkdir --parents -- './repo/dir_to_file' './repo/dir_to_file_excluded'; touch -- './repo/file_to_dir' './repo/file_to_dir_excluded' './repo/file_to_dir_empty' './repo/file_to_dir_empty_excluded' './repo/dir_to_file/.gitkeep' './repo/dir_to_file_excluded/.gitkeep'; git -C './repo' add './file_to_dir' './file_to_dir_excluded' './file_to_dir_empty' './file_to_dir_empty_excluded' './dir_to_file' './dir_to_file_excluded'; rm --recursive -- './repo/file_to_dir' './repo/file_to_dir_excluded' './repo/file_to_dir_empty' './repo/file_to_dir_empty_excluded' './repo/dir_to_file' './repo/dir_to_file_excluded'; mkdir --parents -- './repo/file_to_dir' './repo/file_to_dir_excluded' './repo/file_to_dir_empty' './repo/file_to_dir_empty_excluded'; touch -- './repo/dir_to_file' './repo/dir_to_file_excluded' './repo/file_to_dir/.gitkeep' './repo/file_to_dir_excluded/.gitkeep'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex '.' -not -regex './repo/.git/hooks/.*' -regextype 'posix-extended'
./ d/0o040/directory rwxr-xr-x/0o755
├╴repo/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴.git/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴AUTO_MERGE -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 f58cd3491449d006743d6173c2a67f7afef62f63\n
│ │ │ 2
│ │ ├╴COMMIT_EDITMSG -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 3\n
│ │ │ 2
│ │ ├╴config -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 [core]\n
│ │ │ 2 \trepositoryformatversion = 0\n
│ │ │ 3 \tfilemode = false\n
│ │ │ 4 \tbare = false\n
│ │ │ 5 \tlogallrefupdates = true\n
│ │ │ 6 \tignorecase = true\n
│ │ │ 7
│ │ ├╴description -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 Unnamed repository; edit this file 'description' to name the repository.\n
│ │ │ 2
│ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 ref: refs/heads/branch1\n
│ │ │ 2
│ │ ├╴hooks/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴index -/0o100/regular file rw-r--r--/0o644
│ │ ├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴exclude -/0o100/regular file rw-r--r--/0o644
│ │ │ │ 1 # git ls-files --others --exclude-from=.git/info/exclude\n
│ │ │ │ 2 # Lines that start with '#' are comments.\n
│ │ │ │ 3 # For a project mostly in C, the following would be a good set of\n
│ │ │ │ 4 # exclude patterns (uncomment them if you want to use them):\n
│ │ │ │ 5 # *.[oa]\n
│ │ │ │ 6 # *~\n
│ │ │ │ 7
│ │ ├╴logs/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ │ 1 0000000000000000000000000000000000000000 c7baf7ca2cceffe6721c20efc522291991f18d8d Han Jiang <jhcarl0814@gmail.com> 1793179542 +1300\tcommit (initial): 1\n
│ │ │ │ 2 c7baf7ca2cceffe6721c20efc522291991f18d8d c7baf7ca2cceffe6721c20efc522291991f18d8d Han Jiang <jhcarl0814@gmail.com> 1793179542 +1300\tcheckout: moving from master to branch1\n
│ │ │ │ 3 c7baf7ca2cceffe6721c20efc522291991f18d8d 1c544212487c3eeb03cc35719f31fd6cf4b0d451 Han Jiang <jhcarl0814@gmail.com> 1793179543 +1300\tcommit: 2\n
│ │ │ │ 4 1c544212487c3eeb03cc35719f31fd6cf4b0d451 c7baf7ca2cceffe6721c20efc522291991f18d8d Han Jiang <jhcarl0814@gmail.com> 1793179544 +1300\tcheckout: moving from branch1 to branch2\n
│ │ │ │ 5 c7baf7ca2cceffe6721c20efc522291991f18d8d 637e50fbededba19779a943e94b77de824425e82 Han Jiang <jhcarl0814@gmail.com> 1793179544 +1300\tcommit: 3\n
│ │ │ │ 6 637e50fbededba19779a943e94b77de824425e82 1c544212487c3eeb03cc35719f31fd6cf4b0d451 Han Jiang <jhcarl0814@gmail.com> 1793179545 +1300\tcheckout: moving from branch2 to branch1\n
│ │ │ │ 7
│ │ │ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴heads/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ │ ├╴branch1 -/0o100/regular file rw-r--r--/0o644
│ │ │ │ │ │ 1 0000000000000000000000000000000000000000 c7baf7ca2cceffe6721c20efc522291991f18d8d Han Jiang <jhcarl0814@gmail.com> 1793179542 +1300\tbranch: Created from HEAD\n
│ │ │ │ │ │ 2 c7baf7ca2cceffe6721c20efc522291991f18d8d 1c544212487c3eeb03cc35719f31fd6cf4b0d451 Han Jiang <jhcarl0814@gmail.com> 1793179543 +1300\tcommit: 2\n
│ │ │ │ │ │ 3
│ │ │ │ │ ├╴branch2 -/0o100/regular file rw-r--r--/0o644
│ │ │ │ │ │ 1 0000000000000000000000000000000000000000 c7baf7ca2cceffe6721c20efc522291991f18d8d Han Jiang <jhcarl0814@gmail.com> 1793179543 +1300\tbranch: Created from branch1\n
│ │ │ │ │ │ 2 c7baf7ca2cceffe6721c20efc522291991f18d8d 637e50fbededba19779a943e94b77de824425e82 Han Jiang <jhcarl0814@gmail.com> 1793179544 +1300\tcommit: 3\n
│ │ │ │ │ │ 3
│ │ │ │ │ ├╴master -/0o100/regular file rw-r--r--/0o644
│ │ │ │ │ │ 1 0000000000000000000000000000000000000000 c7baf7ca2cceffe6721c20efc522291991f18d8d Han Jiang <jhcarl0814@gmail.com> 1793179542 +1300\tcommit (initial): 1\n
│ │ │ │ │ │ 2
│ │ ├╴MERGE_HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 637e50fbededba19779a943e94b77de824425e82\n
│ │ │ 2
│ │ ├╴MERGE_MODE -/0o100/regular empty file rw-r--r--/0o644
│ │ │ 1
│ │ ├╴MERGE_MSG -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 4\n
│ │ │ 2 \n
│ │ │ 3 # Conflicts:\n
│ │ │ 4 #\tconflicted\n
│ │ │ 5 #\tconflicted_excluded\n
│ │ │ 6
│ │ ├╴objects/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴08/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴0a8fd0a532227ee4ce726238be33d219cc3642 -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴1c/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴544212487c3eeb03cc35719f31fd6cf4b0d451 -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴26/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴b37d07facfc371afa61dac1dc310e2d7c02597 -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴40/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴3ec31f0a10be94cad6ab8663f2d508869a06b0 -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴63/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴7e50fbededba19779a943e94b77de824425e82 -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴82/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴8f36cb233d2562a1e2c039fd6b5442e85aa168 -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴c7/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴282027d1875479bb99724d26b3d1109ebf8b60 -/0o100/regular file r--r--r--/0o444
│ │ │ │ ├╴baf7ca2cceffe6721c20efc522291991f18d8d -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴d0/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴0491fd7e5bb6fa28c517a0bb32b8b506539d4d -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴df/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴b377d39dfbfa96bcd0296237d3feecc4c6e83d -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴e1/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴bb0e2e481d4f63bfc649cd3cdab9b95e8a2826 -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴e6/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴9de29bb2d1d6434b8b29ae775ad8c2e48c5391 -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴f5/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴8cd3491449d006743d6173c2a67f7afef62f63 -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴pack/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴ORIG_HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 1c544212487c3eeb03cc35719f31fd6cf4b0d451\n
│ │ │ 2
│ │ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴heads/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴branch1 -/0o100/regular file rw-r--r--/0o644
│ │ │ │ │ 1 1c544212487c3eeb03cc35719f31fd6cf4b0d451\n
│ │ │ │ │ 2
│ │ │ │ ├╴branch2 -/0o100/regular file rw-r--r--/0o644
│ │ │ │ │ 1 637e50fbededba19779a943e94b77de824425e82\n
│ │ │ │ │ 2
│ │ │ │ ├╴master -/0o100/regular file rw-r--r--/0o644
│ │ │ │ │ 1 c7baf7ca2cceffe6721c20efc522291991f18d8d\n
│ │ │ │ │ 2
│ │ │ ├╴tags/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴conflicted -/0o100/regular file rw-r--r--/0o644
│ │ 1 1\r\n
│ │ 2 <<<<<<< HEAD\r\n
│ │ 3 2\r\n
│ │ 4 =======\r\n
│ │ 5 3\r\n
│ │ 6 >>>>>>> branch2\r\n
│ │ 7 5\r\n
│ │ 8
│ ├╴conflicted_excluded -/0o100/regular file rw-r--r--/0o644
│ │ 1 1\r\n
│ │ 2 <<<<<<< HEAD\r\n
│ │ 3 2\r\n
│ │ 4 =======\r\n
│ │ 5 3\r\n
│ │ 6 >>>>>>> branch2\r\n
│ │ 7 5\r\n
│ │ 8
│ ├╴dir_to_file -/0o100/regular empty file rw-r--r--/0o644
│ │ 1
│ ├╴dir_to_file_excluded -/0o100/regular empty file rw-r--r--/0o644
│ │ 1
│ ├╴file_to_dir/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴.gitkeep -/0o100/regular empty file rw-r--r--/0o644
│ │ │ 1
│ ├╴file_to_dir_empty/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴file_to_dir_empty_excluded/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴file_to_dir_excluded/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴.gitkeep -/0o100/regular empty file rw-r--r--/0o644
│ │ │ 1
│ ├╴unstaged_modification -/0o100/regular file rw-r--r--/0o644
│ │ 1 2\n
│ │ 2
│ ├╴unstaged_modification_excluded -/0o100/regular file rw-r--r--/0o644
│ │ 1 2\n
│ │ 2
│ ├╴untracked -/0o100/regular empty file rw-r--r--/0o644
│ │ 1
│ ├╴untracked_dir/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴untracked -/0o100/regular empty file rw-r--r--/0o644
│ │ │ 1
│ │ ├╴untracked_excluded -/0o100/regular empty file rw-r--r--/0o644
│ │ │ 1
│ ├╴untracked_dir_empty/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴untracked_dir_empty_excluded/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴untracked_dir_excluded/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴untracked -/0o100/regular empty file rw-r--r--/0o644
│ │ │ 1
│ │ ├╴untracked_excluded -/0o100/regular empty file rw-r--r--/0o644
│ │ │ 1
│ ├╴untracked_excluded -/0o100/regular empty file rw-r--r--/0o644
│ │ 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --stage
M 100644 26b37d07facfc371afa61dac1dc310e2d7c02597 1 conflicted
M 100644 c7282027d1875479bb99724d26b3d1109ebf8b60 2 conflicted
M 100644 403ec31f0a10be94cad6ab8663f2d508869a06b0 3 conflicted
M 100644 26b37d07facfc371afa61dac1dc310e2d7c02597 1 conflicted_excluded
M 100644 c7282027d1875479bb99724d26b3d1109ebf8b60 2 conflicted_excluded
M 100644 403ec31f0a10be94cad6ab8663f2d508869a06b0 3 conflicted_excluded
H 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 dir_to_file/.gitkeep
H 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 dir_to_file_excluded/.gitkeep
H 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 file_to_dir
H 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 file_to_dir_empty
H 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 file_to_dir_empty_excluded
H 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 file_to_dir_excluded
H 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 unstaged_deletion
H 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 unstaged_deletion_excluded
H 100644 d00491fd7e5bb6fa28c517a0bb32b8b506539d4d 0 unstaged_modification
H 100644 d00491fd7e5bb6fa28c517a0bb32b8b506539d4d 0 unstaged_modification_excluded
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --stage --exclude="*_excluded"
M 100644 26b37d07facfc371afa61dac1dc310e2d7c02597 1 conflicted
M 100644 c7282027d1875479bb99724d26b3d1109ebf8b60 2 conflicted
M 100644 403ec31f0a10be94cad6ab8663f2d508869a06b0 3 conflicted
M 100644 26b37d07facfc371afa61dac1dc310e2d7c02597 1 conflicted_excluded
M 100644 c7282027d1875479bb99724d26b3d1109ebf8b60 2 conflicted_excluded
M 100644 403ec31f0a10be94cad6ab8663f2d508869a06b0 3 conflicted_excluded
H 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 dir_to_file/.gitkeep
H 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 dir_to_file_excluded/.gitkeep
H 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 file_to_dir
H 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 file_to_dir_empty
H 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 file_to_dir_empty_excluded
H 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 file_to_dir_excluded
H 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 unstaged_deletion
H 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 unstaged_deletion_excluded
H 100644 d00491fd7e5bb6fa28c517a0bb32b8b506539d4d 0 unstaged_modification
H 100644 d00491fd7e5bb6fa28c517a0bb32b8b506539d4d 0 unstaged_modification_excluded
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --stage --exclude="*_excluded" --ignored
fatal: ls-files -i must be used with either -o or -c
jhcarl0814@jhcarl0814 UCRT64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --others --stage --exclude="*_excluded" --ignored
? dir_to_file_excluded
? file_to_dir_excluded/.gitkeep
? untracked_dir/untracked_excluded
? untracked_dir_excluded/untracked
? untracked_dir_excluded/untracked_excluded
? untracked_excluded
M 100644 26b37d07facfc371afa61dac1dc310e2d7c02597 1 conflicted_excluded
M 100644 c7282027d1875479bb99724d26b3d1109ebf8b60 2 conflicted_excluded
M 100644 403ec31f0a10be94cad6ab8663f2d508869a06b0 3 conflicted_excluded
H 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 dir_to_file_excluded/.gitkeep
H 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 file_to_dir_empty_excluded
H 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 file_to_dir_excluded
H 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 unstaged_deletion_excluded
H 100644 d00491fd7e5bb6fa28c517a0bb32b8b506539d4d 0 unstaged_modification_excluded
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --others --stage --exclude="*_excluded" --ignored | tail --lines='+'"$(("$(git -C './repo' ls-files -t --others --exclude="*_excluded" --ignored | wc --lines)"+1))"
M 100644 26b37d07facfc371afa61dac1dc310e2d7c02597 1 conflicted_excluded
M 100644 c7282027d1875479bb99724d26b3d1109ebf8b60 2 conflicted_excluded
M 100644 403ec31f0a10be94cad6ab8663f2d508869a06b0 3 conflicted_excluded
H 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 dir_to_file_excluded/.gitkeep
H 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 file_to_dir_empty_excluded
H 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 file_to_dir_excluded
H 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 unstaged_deletion_excluded
H 100644 d00491fd7e5bb6fa28c517a0bb32b8b506539d4d 0 unstaged_modification_excluded
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --cached
M conflicted
M conflicted
M conflicted
M conflicted_excluded
M conflicted_excluded
M conflicted_excluded
H dir_to_file/.gitkeep
H dir_to_file_excluded/.gitkeep
H file_to_dir
H file_to_dir_empty
H file_to_dir_empty_excluded
H file_to_dir_excluded
H unstaged_deletion
H unstaged_deletion_excluded
H unstaged_modification
H unstaged_modification_excluded
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --cached --exclude="*_excluded"
M conflicted
M conflicted
M conflicted
M conflicted_excluded
M conflicted_excluded
M conflicted_excluded
H dir_to_file/.gitkeep
H dir_to_file_excluded/.gitkeep
H file_to_dir
H file_to_dir_empty
H file_to_dir_empty_excluded
H file_to_dir_excluded
H unstaged_deletion
H unstaged_deletion_excluded
H unstaged_modification
H unstaged_modification_excluded
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --cached --exclude="*_excluded" --ignored
M conflicted_excluded
M conflicted_excluded
M conflicted_excluded
H dir_to_file_excluded/.gitkeep
H file_to_dir_empty_excluded
H file_to_dir_excluded
H unstaged_deletion_excluded
H unstaged_modification_excluded
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --others
? dir_to_file
? dir_to_file_excluded
? file_to_dir/.gitkeep
? file_to_dir_excluded/.gitkeep
? untracked
? untracked_dir/untracked
? untracked_dir/untracked_excluded
? untracked_dir_excluded/untracked
? untracked_dir_excluded/untracked_excluded
? untracked_excluded
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --others --exclude="*_excluded"
? dir_to_file
? file_to_dir/.gitkeep
? untracked
? untracked_dir/untracked
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --others --exclude="*_excluded" --ignored
? dir_to_file_excluded
? file_to_dir_excluded/.gitkeep
? untracked_dir/untracked_excluded
? untracked_dir_excluded/untracked
? untracked_dir_excluded/untracked_excluded
? untracked_excluded
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --others --directory
? dir_to_file
? dir_to_file_excluded
? untracked
? untracked_dir/
? untracked_dir_empty/
? untracked_dir_empty_excluded/
? untracked_dir_excluded/
? untracked_excluded
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --others --directory --exclude="*_excluded"
? dir_to_file
? untracked
? untracked_dir/
? untracked_dir_empty/
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --others --directory --exclude="*_excluded" --ignored
? dir_to_file_excluded
? untracked_dir/untracked_excluded
? untracked_dir_empty_excluded/
? untracked_dir_excluded/
? untracked_excluded
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --others --directory --no-empty-directory
? dir_to_file
? dir_to_file_excluded
? untracked
? untracked_dir/
? untracked_dir_excluded/
? untracked_excluded
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --others --directory --no-empty-directory --exclude="*_excluded"
? dir_to_file
? untracked
? untracked_dir/
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --others --directory --no-empty-directory --exclude="*_excluded" --ignored
? dir_to_file_excluded
? untracked_dir_excluded/
? untracked_excluded
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ mkdir --parents -- './repo/untracked_dir_empty' './repo/untracked_dir_empty_excluded' './repo/untracked_dir' './repo/untracked_dir_excluded'; touch -- './repo/untracked' './repo/untracked_excluded' './repo/untracked_dir/untracked' './repo/untracked_dir/untracked_excluded' './repo/untracked_dir_excluded/untracked' './repo/untracked_dir_excluded/untracked_excluded'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ touch -- './repo/unstaged_deletion' './repo/unstaged_deletion_excluded'; git -C './repo' add './unstaged_deletion' './unstaged_deletion_excluded'; rm -- './repo/unstaged_deletion' './repo/unstaged_deletion_excluded'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/unstaged_modification'; echo '1' >'./repo/unstaged_modification_excluded'; git -C './repo' add './unstaged_modification' './unstaged_modification_excluded'; echo '2' >'./repo/unstaged_modification'; echo '2' >'./repo/unstaged_modification_excluded'
warning: in the working copy of 'unstaged_modification', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'unstaged_modification_excluded', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex '.' -not -regex './repo/.git/hooks/.*' -regextype 'posix-extended'
./ d/0o040/directory rwxr-xr-x/0o755
├╴repo/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴.git/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴config -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 [core]\n
│ │ │ 2 \trepositoryformatversion = 0\n
│ │ │ 3 \tfilemode = false\n
│ │ │ 4 \tbare = false\n
│ │ │ 5 \tlogallrefupdates = true\n
│ │ │ 6 \tignorecase = true\n
│ │ │ 7
│ │ ├╴description -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 Unnamed repository; edit this file 'description' to name the repository.\n
│ │ │ 2
│ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 ref: refs/heads/master\n
│ │ │ 2
│ │ ├╴hooks/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴index -/0o100/regular file rw-r--r--/0o644
│ │ ├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴exclude -/0o100/regular file rw-r--r--/0o644
│ │ │ │ 1 # git ls-files --others --exclude-from=.git/info/exclude\n
│ │ │ │ 2 # Lines that start with '#' are comments.\n
│ │ │ │ 3 # For a project mostly in C, the following would be a good set of\n
│ │ │ │ 4 # exclude patterns (uncomment them if you want to use them):\n
│ │ │ │ 5 # *.[oa]\n
│ │ │ │ 6 # *~\n
│ │ │ │ 7
│ │ ├╴objects/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴d0/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴0491fd7e5bb6fa28c517a0bb32b8b506539d4d -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴e6/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴9de29bb2d1d6434b8b29ae775ad8c2e48c5391 -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴pack/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴heads/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴tags/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴unstaged_modification -/0o100/regular file rw-r--r--/0o644
│ │ 1 2\n
│ │ 2
│ ├╴unstaged_modification_excluded -/0o100/regular file rw-r--r--/0o644
│ │ 1 2\n
│ │ 2
│ ├╴untracked -/0o100/regular empty file rw-r--r--/0o644
│ │ 1
│ ├╴untracked_dir/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴untracked -/0o100/regular empty file rw-r--r--/0o644
│ │ │ 1
│ │ ├╴untracked_excluded -/0o100/regular empty file rw-r--r--/0o644
│ │ │ 1
│ ├╴untracked_dir_empty/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴untracked_dir_empty_excluded/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴untracked_dir_excluded/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴untracked -/0o100/regular empty file rw-r--r--/0o644
│ │ │ 1
│ │ ├╴untracked_excluded -/0o100/regular empty file rw-r--r--/0o644
│ │ │ 1
│ ├╴untracked_excluded -/0o100/regular empty file rw-r--r--/0o644
│ │ 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --deleted
R unstaged_deletion
R unstaged_deletion_excluded
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --deleted --exclude="*_excluded"
R unstaged_deletion
R unstaged_deletion_excluded
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --deleted --exclude="*_excluded" --ignored
fatal: ls-files -i must be used with either -o or -c
jhcarl0814@jhcarl0814 UCRT64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --others --deleted --exclude="*_excluded" --ignored
? untracked_dir/untracked_excluded
? untracked_dir_excluded/untracked
? untracked_dir_excluded/untracked_excluded
? untracked_excluded
R unstaged_deletion_excluded
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --others --deleted --exclude="*_excluded" --ignored | tail --lines='+'"$(("$(git -C './repo' ls-files -t --others --exclude="*_excluded" --ignored | wc --lines)"+1))"
R unstaged_deletion_excluded
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --modified
C unstaged_deletion
C unstaged_deletion_excluded
C unstaged_modification
C unstaged_modification_excluded
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --modified --exclude="*_excluded"
C unstaged_deletion
C unstaged_deletion_excluded
C unstaged_modification
C unstaged_modification_excluded
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --modified --exclude="*_excluded" --ignored
fatal: ls-files -i must be used with either -o or -c
jhcarl0814@jhcarl0814 UCRT64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --others --modified --exclude="*_excluded" --ignored
? untracked_dir/untracked_excluded
? untracked_dir_excluded/untracked
? untracked_dir_excluded/untracked_excluded
? untracked_excluded
C unstaged_deletion_excluded
C unstaged_modification_excluded
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --others --modified --exclude="*_excluded" --ignored | tail --lines='+'"$(("$(git -C './repo' ls-files -t --others --exclude="*_excluded" --ignored | wc --lines)"+1))"
C unstaged_deletion_excluded
C unstaged_modification_excluded
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ mkdir --parents -- './repo/dir_to_file' './repo/dir_to_file_excluded'; touch -- './repo/file_to_dir' './repo/file_to_dir_excluded' './repo/file_to_dir_empty' './repo/file_to_dir_empty_excluded' './repo/dir_to_file/.gitkeep' './repo/dir_to_file_excluded/.gitkeep'; git -C './repo' add './file_to_dir' './file_to_dir_excluded' './file_to_dir_empty' './file_to_dir_empty_excluded' './dir_to_file' './dir_to_file_excluded'; rm --recursive -- './repo/file_to_dir' './repo/file_to_dir_excluded' './repo/file_to_dir_empty' './repo/file_to_dir_empty_excluded' './repo/dir_to_file' './repo/dir_to_file_excluded'; mkdir --parents -- './repo/file_to_dir' './repo/file_to_dir_excluded' './repo/file_to_dir_empty' './repo/file_to_dir_empty_excluded'; touch -- './repo/dir_to_file' './repo/dir_to_file_excluded' './repo/file_to_dir/.gitkeep' './repo/file_to_dir_excluded/.gitkeep'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex '.' -not -regex './repo/.git/hooks/.*' -regextype 'posix-extended'
./ d/0o040/directory rwxr-xr-x/0o755
├╴repo/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴.git/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴config -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 [core]\n
│ │ │ 2 \trepositoryformatversion = 0\n
│ │ │ 3 \tfilemode = false\n
│ │ │ 4 \tbare = false\n
│ │ │ 5 \tlogallrefupdates = true\n
│ │ │ 6 \tignorecase = true\n
│ │ │ 7
│ │ ├╴description -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 Unnamed repository; edit this file 'description' to name the repository.\n
│ │ │ 2
│ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 ref: refs/heads/master\n
│ │ │ 2
│ │ ├╴hooks/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴index -/0o100/regular file rw-r--r--/0o644
│ │ ├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴exclude -/0o100/regular file rw-r--r--/0o644
│ │ │ │ 1 # git ls-files --others --exclude-from=.git/info/exclude\n
│ │ │ │ 2 # Lines that start with '#' are comments.\n
│ │ │ │ 3 # For a project mostly in C, the following would be a good set of\n
│ │ │ │ 4 # exclude patterns (uncomment them if you want to use them):\n
│ │ │ │ 5 # *.[oa]\n
│ │ │ │ 6 # *~\n
│ │ │ │ 7
│ │ ├╴objects/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴e6/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴9de29bb2d1d6434b8b29ae775ad8c2e48c5391 -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴pack/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴heads/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴tags/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴dir_to_file -/0o100/regular empty file rw-r--r--/0o644
│ │ 1
│ ├╴dir_to_file_excluded -/0o100/regular empty file rw-r--r--/0o644
│ │ 1
│ ├╴file_to_dir/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴.gitkeep -/0o100/regular empty file rw-r--r--/0o644
│ │ │ 1
│ ├╴file_to_dir_empty/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴file_to_dir_empty_excluded/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴file_to_dir_excluded/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴.gitkeep -/0o100/regular empty file rw-r--r--/0o644
│ │ │ 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --killed
K dir_to_file
K dir_to_file_excluded
K file_to_dir/.gitkeep
K file_to_dir_excluded/.gitkeep
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --killed --exclude="*_excluded"
K dir_to_file
K file_to_dir/.gitkeep
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --killed --exclude="*_excluded" --ignored
fatal: ls-files -i must be used with either -o or -c
jhcarl0814@jhcarl0814 UCRT64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --others --killed --exclude="*_excluded" --ignored
? dir_to_file_excluded
? file_to_dir_excluded/.gitkeep
K dir_to_file_excluded
K file_to_dir_excluded/.gitkeep
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --others --killed --exclude="*_excluded" --ignored | tail --lines='+'"$(("$(git -C './repo' ls-files -t --others --exclude="*_excluded" --ignored | wc --lines)"+1))"
K dir_to_file_excluded
K file_to_dir_excluded/.gitkeep
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --killed --directory
K dir_to_file
K dir_to_file_excluded
K file_to_dir/
K file_to_dir_empty/
K file_to_dir_empty_excluded/
K file_to_dir_excluded/
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --killed --directory --exclude="*_excluded"
K dir_to_file
K file_to_dir/
K file_to_dir_empty/
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --killed --directory --exclude="*_excluded" --ignored
fatal: ls-files -i must be used with either -o or -c
jhcarl0814@jhcarl0814 UCRT64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --others --killed --directory --exclude="*_excluded" --ignored
? dir_to_file_excluded
K dir_to_file_excluded
K file_to_dir_empty_excluded/
K file_to_dir_excluded/
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --others --killed --directory --exclude="*_excluded" --ignored | tail --lines='+'"$(("$(git -C './repo' ls-files -t --others --directory --exclude="*_excluded" --ignored | wc --lines)"+1))"
K dir_to_file_excluded
K file_to_dir_empty_excluded/
K file_to_dir_excluded/
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --killed --directory --no-empty-directory
K dir_to_file
K dir_to_file_excluded
K file_to_dir/
K file_to_dir_excluded/
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --killed --directory --no-empty-directory --exclude="*_excluded"
K dir_to_file
K file_to_dir/
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --killed --directory --no-empty-directory --exclude="*_excluded" --ignored
fatal: ls-files -i must be used with either -o or -c
jhcarl0814@jhcarl0814 UCRT64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --others --killed --directory --no-empty-directory --exclude="*_excluded" --ignored
? dir_to_file_excluded
K dir_to_file_excluded
K file_to_dir_excluded/
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --others --killed --directory --no-empty-directory --exclude="*_excluded" --ignored | tail --lines='+'"$(("$(git -C './repo' ls-files -t --others --directory --no-empty-directory --exclude="*_excluded" --ignored | wc --lines)"+1))"
K dir_to_file_excluded
K file_to_dir_excluded/
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e '1\n5' >'./repo/conflicted'; echo -e '1\n5' >'./repo/conflicted_excluded'; git -C './repo' add './conflicted' './conflicted_excluded'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'conflicted', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'conflicted_excluded', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 8114172] 1
2 files changed, 4 insertions(+)
create mode 100644 conflicted
create mode 100644 conflicted_excluded
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout -b branch1; git -C './repo' branch branch2
Switched to a new branch 'branch1'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e '1\n2\n5' >'./repo/conflicted'; echo -e '1\n2\n5' >'./repo/conflicted_excluded'; git -C './repo' add './conflicted' './conflicted_excluded'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'conflicted', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'conflicted_excluded', LF will be replaced by CRLF the next time Git touches it
[branch1 352c12c] 2
2 files changed, 2 insertions(+)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch2
Switched to branch 'branch2'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e '1\n3\n5' >'./repo/conflicted'; echo -e '1\n3\n5' >'./repo/conflicted_excluded'; git -C './repo' add './conflicted' './conflicted_excluded'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'conflicted', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'conflicted_excluded', LF will be replaced by CRLF the next time Git touches it
[branch2 ecc4fcf] 3
2 files changed, 2 insertions(+)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1
Switched to branch 'branch1'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge branch2 --message="$((++number))"
Auto-merging conflicted
CONFLICT (content): Merge conflict in conflicted
Auto-merging conflicted_excluded
CONFLICT (content): Merge conflict in conflicted_excluded
Automatic merge failed; fix conflicts and then commit the result.
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex '.' -not -regex './repo/.git/hooks/.*' -regextype 'posix-extended'
./ d/0o040/directory rwxr-xr-x/0o755
├╴repo/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴.git/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴AUTO_MERGE -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 f58cd3491449d006743d6173c2a67f7afef62f63\n
│ │ │ 2
│ │ ├╴COMMIT_EDITMSG -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 3\n
│ │ │ 2
│ │ ├╴config -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 [core]\n
│ │ │ 2 \trepositoryformatversion = 0\n
│ │ │ 3 \tfilemode = false\n
│ │ │ 4 \tbare = false\n
│ │ │ 5 \tlogallrefupdates = true\n
│ │ │ 6 \tignorecase = true\n
│ │ │ 7
│ │ ├╴description -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 Unnamed repository; edit this file 'description' to name the repository.\n
│ │ │ 2
│ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 ref: refs/heads/branch1\n
│ │ │ 2
│ │ ├╴hooks/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴index -/0o100/regular file rw-r--r--/0o644
│ │ ├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴exclude -/0o100/regular file rw-r--r--/0o644
│ │ │ │ 1 # git ls-files --others --exclude-from=.git/info/exclude\n
│ │ │ │ 2 # Lines that start with '#' are comments.\n
│ │ │ │ 3 # For a project mostly in C, the following would be a good set of\n
│ │ │ │ 4 # exclude patterns (uncomment them if you want to use them):\n
│ │ │ │ 5 # *.[oa]\n
│ │ │ │ 6 # *~\n
│ │ │ │ 7
│ │ ├╴logs/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ │ 1 0000000000000000000000000000000000000000 81141720d61ab5d36b69ea740a46e8075ed97c3a Han Jiang <jhcarl0814@gmail.com> 1793179636 +1300\tcommit (initial): 1\n
│ │ │ │ 2 81141720d61ab5d36b69ea740a46e8075ed97c3a 81141720d61ab5d36b69ea740a46e8075ed97c3a Han Jiang <jhcarl0814@gmail.com> 1793179636 +1300\tcheckout: moving from master to branch1\n
│ │ │ │ 3 81141720d61ab5d36b69ea740a46e8075ed97c3a 352c12c5b47de9fdd07e4f274a165f2cefe66f2b Han Jiang <jhcarl0814@gmail.com> 1793179637 +1300\tcommit: 2\n
│ │ │ │ 4 352c12c5b47de9fdd07e4f274a165f2cefe66f2b 81141720d61ab5d36b69ea740a46e8075ed97c3a Han Jiang <jhcarl0814@gmail.com> 1793179637 +1300\tcheckout: moving from branch1 to branch2\n
│ │ │ │ 5 81141720d61ab5d36b69ea740a46e8075ed97c3a ecc4fcf12253c83e1ec9d7a28dfd509cab756c0c Han Jiang <jhcarl0814@gmail.com> 1793179638 +1300\tcommit: 3\n
│ │ │ │ 6 ecc4fcf12253c83e1ec9d7a28dfd509cab756c0c 352c12c5b47de9fdd07e4f274a165f2cefe66f2b Han Jiang <jhcarl0814@gmail.com> 1793179638 +1300\tcheckout: moving from branch2 to branch1\n
│ │ │ │ 7
│ │ │ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴heads/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ │ ├╴branch1 -/0o100/regular file rw-r--r--/0o644
│ │ │ │ │ │ 1 0000000000000000000000000000000000000000 81141720d61ab5d36b69ea740a46e8075ed97c3a Han Jiang <jhcarl0814@gmail.com> 1793179636 +1300\tbranch: Created from HEAD\n
│ │ │ │ │ │ 2 81141720d61ab5d36b69ea740a46e8075ed97c3a 352c12c5b47de9fdd07e4f274a165f2cefe66f2b Han Jiang <jhcarl0814@gmail.com> 1793179637 +1300\tcommit: 2\n
│ │ │ │ │ │ 3
│ │ │ │ │ ├╴branch2 -/0o100/regular file rw-r--r--/0o644
│ │ │ │ │ │ 1 0000000000000000000000000000000000000000 81141720d61ab5d36b69ea740a46e8075ed97c3a Han Jiang <jhcarl0814@gmail.com> 1793179636 +1300\tbranch: Created from branch1\n
│ │ │ │ │ │ 2 81141720d61ab5d36b69ea740a46e8075ed97c3a ecc4fcf12253c83e1ec9d7a28dfd509cab756c0c Han Jiang <jhcarl0814@gmail.com> 1793179638 +1300\tcommit: 3\n
│ │ │ │ │ │ 3
│ │ │ │ │ ├╴master -/0o100/regular file rw-r--r--/0o644
│ │ │ │ │ │ 1 0000000000000000000000000000000000000000 81141720d61ab5d36b69ea740a46e8075ed97c3a Han Jiang <jhcarl0814@gmail.com> 1793179636 +1300\tcommit (initial): 1\n
│ │ │ │ │ │ 2
│ │ ├╴MERGE_HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 ecc4fcf12253c83e1ec9d7a28dfd509cab756c0c\n
│ │ │ 2
│ │ ├╴MERGE_MODE -/0o100/regular empty file rw-r--r--/0o644
│ │ │ 1
│ │ ├╴MERGE_MSG -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 4\n
│ │ │ 2 \n
│ │ │ 3 # Conflicts:\n
│ │ │ 4 #\tconflicted\n
│ │ │ 5 #\tconflicted_excluded\n
│ │ │ 6
│ │ ├╴objects/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴08/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴0a8fd0a532227ee4ce726238be33d219cc3642 -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴26/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴b37d07facfc371afa61dac1dc310e2d7c02597 -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴35/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴2c12c5b47de9fdd07e4f274a165f2cefe66f2b -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴40/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴3ec31f0a10be94cad6ab8663f2d508869a06b0 -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴81/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴141720d61ab5d36b69ea740a46e8075ed97c3a -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴82/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴8f36cb233d2562a1e2c039fd6b5442e85aa168 -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴c7/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴282027d1875479bb99724d26b3d1109ebf8b60 -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴df/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴b377d39dfbfa96bcd0296237d3feecc4c6e83d -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴e1/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴bb0e2e481d4f63bfc649cd3cdab9b95e8a2826 -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴ec/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴c4fcf12253c83e1ec9d7a28dfd509cab756c0c -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴f5/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴8cd3491449d006743d6173c2a67f7afef62f63 -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴pack/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴ORIG_HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 352c12c5b47de9fdd07e4f274a165f2cefe66f2b\n
│ │ │ 2
│ │ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴heads/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴branch1 -/0o100/regular file rw-r--r--/0o644
│ │ │ │ │ 1 352c12c5b47de9fdd07e4f274a165f2cefe66f2b\n
│ │ │ │ │ 2
│ │ │ │ ├╴branch2 -/0o100/regular file rw-r--r--/0o644
│ │ │ │ │ 1 ecc4fcf12253c83e1ec9d7a28dfd509cab756c0c\n
│ │ │ │ │ 2
│ │ │ │ ├╴master -/0o100/regular file rw-r--r--/0o644
│ │ │ │ │ 1 81141720d61ab5d36b69ea740a46e8075ed97c3a\n
│ │ │ │ │ 2
│ │ │ ├╴tags/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴conflicted -/0o100/regular file rw-r--r--/0o644
│ │ 1 1\r\n
│ │ 2 <<<<<<< HEAD\r\n
│ │ 3 2\r\n
│ │ 4 =======\r\n
│ │ 5 3\r\n
│ │ 6 >>>>>>> branch2\r\n
│ │ 7 5\r\n
│ │ 8
│ ├╴conflicted_excluded -/0o100/regular file rw-r--r--/0o644
│ │ 1 1\r\n
│ │ 2 <<<<<<< HEAD\r\n
│ │ 3 2\r\n
│ │ 4 =======\r\n
│ │ 5 3\r\n
│ │ 6 >>>>>>> branch2\r\n
│ │ 7 5\r\n
│ │ 8
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --unmerged
M 100644 26b37d07facfc371afa61dac1dc310e2d7c02597 1 conflicted
M 100644 c7282027d1875479bb99724d26b3d1109ebf8b60 2 conflicted
M 100644 403ec31f0a10be94cad6ab8663f2d508869a06b0 3 conflicted
M 100644 26b37d07facfc371afa61dac1dc310e2d7c02597 1 conflicted_excluded
M 100644 c7282027d1875479bb99724d26b3d1109ebf8b60 2 conflicted_excluded
M 100644 403ec31f0a10be94cad6ab8663f2d508869a06b0 3 conflicted_excluded
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --unmerged --exclude="*_excluded"
M 100644 26b37d07facfc371afa61dac1dc310e2d7c02597 1 conflicted
M 100644 c7282027d1875479bb99724d26b3d1109ebf8b60 2 conflicted
M 100644 403ec31f0a10be94cad6ab8663f2d508869a06b0 3 conflicted
M 100644 26b37d07facfc371afa61dac1dc310e2d7c02597 1 conflicted_excluded
M 100644 c7282027d1875479bb99724d26b3d1109ebf8b60 2 conflicted_excluded
M 100644 403ec31f0a10be94cad6ab8663f2d508869a06b0 3 conflicted_excluded
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --unmerged --exclude="*_excluded" --ignored
fatal: ls-files -i must be used with either -o or -c
jhcarl0814@jhcarl0814 UCRT64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --others --unmerged --exclude="*_excluded" --ignored
M 100644 26b37d07facfc371afa61dac1dc310e2d7c02597 1 conflicted_excluded
M 100644 c7282027d1875479bb99724d26b3d1109ebf8b60 2 conflicted_excluded
M 100644 403ec31f0a10be94cad6ab8663f2d508869a06b0 3 conflicted_excluded
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --others --unmerged --exclude="*_excluded" --ignored | tail --lines='+'"$(("$(git -C './repo' ls-files -t --others --exclude="*_excluded" --ignored | wc --lines)"+1))"
M 100644 26b37d07facfc371afa61dac1dc310e2d7c02597 1 conflicted_excluded
M 100644 c7282027d1875479bb99724d26b3d1109ebf8b60 2 conflicted_excluded
M 100644 403ec31f0a10be94cad6ab8663f2d508869a06b0 3 conflicted_excluded
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --resolve-undo
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './repo/conflicted'
./repo/conflicted -/0o100/regular file rw-r--r--/0o644
1 1\r\n
2 <<<<<<< HEAD\r\n
3 2\r\n
4 =======\r\n
5 3\r\n
6 >>>>>>> branch2\r\n
7 5\r\n
8
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e '1\n2\n3\n5' >'./repo/conflicted'; echo -e '1\n2\n3\n5' >'./repo/conflicted_excluded'; git -C './repo' add './conflicted' './conflicted_excluded'
warning: in the working copy of 'conflicted', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'conflicted_excluded', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --unmerged
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --resolve-undo
U 100644 26b37d07facfc371afa61dac1dc310e2d7c02597 1 conflicted
U 100644 c7282027d1875479bb99724d26b3d1109ebf8b60 2 conflicted
U 100644 403ec31f0a10be94cad6ab8663f2d508869a06b0 3 conflicted
U 100644 26b37d07facfc371afa61dac1dc310e2d7c02597 1 conflicted_excluded
U 100644 c7282027d1875479bb99724d26b3d1109ebf8b60 2 conflicted_excluded
U 100644 403ec31f0a10be94cad6ab8663f2d508869a06b0 3 conflicted_excluded
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --resolve-undo --exclude="*_excluded"
U 100644 26b37d07facfc371afa61dac1dc310e2d7c02597 1 conflicted
U 100644 c7282027d1875479bb99724d26b3d1109ebf8b60 2 conflicted
U 100644 403ec31f0a10be94cad6ab8663f2d508869a06b0 3 conflicted
U 100644 26b37d07facfc371afa61dac1dc310e2d7c02597 1 conflicted_excluded
U 100644 c7282027d1875479bb99724d26b3d1109ebf8b60 2 conflicted_excluded
U 100644 403ec31f0a10be94cad6ab8663f2d508869a06b0 3 conflicted_excluded
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --resolve-undo --exclude="*_excluded" --ignored
fatal: ls-files -i must be used with either -o or -c
jhcarl0814@jhcarl0814 UCRT64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --others --resolve-undo --exclude="*_excluded" --ignored
U 100644 26b37d07facfc371afa61dac1dc310e2d7c02597 1 conflicted
U 100644 c7282027d1875479bb99724d26b3d1109ebf8b60 2 conflicted
U 100644 403ec31f0a10be94cad6ab8663f2d508869a06b0 3 conflicted
U 100644 26b37d07facfc371afa61dac1dc310e2d7c02597 1 conflicted_excluded
U 100644 c7282027d1875479bb99724d26b3d1109ebf8b60 2 conflicted_excluded
U 100644 403ec31f0a10be94cad6ab8663f2d508869a06b0 3 conflicted_excluded
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout --merge './conflicted' './conflicted_excluded'
Recreated 2 merge conflicts
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './repo/conflicted'
./repo/conflicted -/0o100/regular file rw-r--r--/0o644
1 1\r\n
2 <<<<<<< ours\r\n
3 2\r\n
4 =======\r\n
5 3\r\n
6 >>>>>>> theirs\r\n
7 5\r\n
8
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --unmerged
M 100644 26b37d07facfc371afa61dac1dc310e2d7c02597 1 conflicted
M 100644 c7282027d1875479bb99724d26b3d1109ebf8b60 2 conflicted
M 100644 403ec31f0a10be94cad6ab8663f2d508869a06b0 3 conflicted
M 100644 26b37d07facfc371afa61dac1dc310e2d7c02597 1 conflicted_excluded
M 100644 c7282027d1875479bb99724d26b3d1109ebf8b60 2 conflicted_excluded
M 100644 403ec31f0a10be94cad6ab8663f2d508869a06b0 3 conflicted_excluded
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --resolve-undo
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e '1\n5' >'./repo/conflicted'; git -C './repo' add './conflicted'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'conflicted', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 55e0dac] 1
1 file changed, 2 insertions(+)
create mode 100644 conflicted
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout -b branch1; git -C './repo' branch branch2
Switched to a new branch 'branch1'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e '1\n2\n5' >'./repo/conflicted'; git -C './repo' add './conflicted'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'conflicted', LF will be replaced by CRLF the next time Git touches it
[branch1 a3b2de7] 2
1 file changed, 1 insertion(+)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch2
Switched to branch 'branch2'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e '1\n3\n5' >'./repo/conflicted'; git -C './repo' add './conflicted'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'conflicted', LF will be replaced by CRLF the next time Git touches it
[branch2 7bdcff8] 3
1 file changed, 1 insertion(+)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1
Switched to branch 'branch1'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge branch2 --message="$((++number))"
Auto-merging conflicted
CONFLICT (content): Merge conflict in conflicted
Automatic merge failed; fix conflicts and then commit the result.
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ mkdir --parents -- './repo/untracked_dir_empty' './repo/untracked_dir'; touch -- './repo/untracked' './repo/untracked_dir/untracked'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ touch -- './repo/unstaged_deletion'; git -C './repo' add './unstaged_deletion'; rm -- './repo/unstaged_deletion'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/unstaged_modification'; git -C './repo' add './unstaged_modification'; echo '2' >'./repo/unstaged_modification'
warning: in the working copy of 'unstaged_modification', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ mkdir --parents -- './repo/dir_to_file'; touch -- './repo/file_to_dir' './repo/file_to_dir_empty' './repo/dir_to_file/.gitkeep'; git -C './repo' add './file_to_dir' './file_to_dir_empty' './dir_to_file'; rm --recursive -- './repo/file_to_dir' './repo/file_to_dir_empty' './repo/dir_to_file'; mkdir --parents -- './repo/file_to_dir' './repo/file_to_dir_empty'; touch -- './repo/dir_to_file' './repo/file_to_dir/.gitkeep'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex '.' -not -regex './repo/.git/hooks/.*' -regextype 'posix-extended'
./ d/0o040/directory rwxr-xr-x/0o755
├╴repo/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴.git/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴AUTO_MERGE -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 813e86d14daa73316d2611ca5dfb92784e1b9147\n
│ │ │ 2
│ │ ├╴COMMIT_EDITMSG -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 3\n
│ │ │ 2
│ │ ├╴config -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 [core]\n
│ │ │ 2 \trepositoryformatversion = 0\n
│ │ │ 3 \tfilemode = false\n
│ │ │ 4 \tbare = false\n
│ │ │ 5 \tlogallrefupdates = true\n
│ │ │ 6 \tignorecase = true\n
│ │ │ 7
│ │ ├╴description -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 Unnamed repository; edit this file 'description' to name the repository.\n
│ │ │ 2
│ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 ref: refs/heads/branch1\n
│ │ │ 2
│ │ ├╴hooks/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴index -/0o100/regular file rw-r--r--/0o644
│ │ ├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴exclude -/0o100/regular file rw-r--r--/0o644
│ │ │ │ 1 # git ls-files --others --exclude-from=.git/info/exclude\n
│ │ │ │ 2 # Lines that start with '#' are comments.\n
│ │ │ │ 3 # For a project mostly in C, the following would be a good set of\n
│ │ │ │ 4 # exclude patterns (uncomment them if you want to use them):\n
│ │ │ │ 5 # *.[oa]\n
│ │ │ │ 6 # *~\n
│ │ │ │ 7
│ │ ├╴logs/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ │ 1 0000000000000000000000000000000000000000 55e0dacffa70f6503f03b273655957789ccb8db9 Han Jiang <jhcarl0814@gmail.com> 1793179674 +1300\tcommit (initial): 1\n
│ │ │ │ 2 55e0dacffa70f6503f03b273655957789ccb8db9 55e0dacffa70f6503f03b273655957789ccb8db9 Han Jiang <jhcarl0814@gmail.com> 1793179675 +1300\tcheckout: moving from master to branch1\n
│ │ │ │ 3 55e0dacffa70f6503f03b273655957789ccb8db9 a3b2de7baa62c22143ccd3ed3853d1c0fcc090da Han Jiang <jhcarl0814@gmail.com> 1793179675 +1300\tcommit: 2\n
│ │ │ │ 4 a3b2de7baa62c22143ccd3ed3853d1c0fcc090da 55e0dacffa70f6503f03b273655957789ccb8db9 Han Jiang <jhcarl0814@gmail.com> 1793179676 +1300\tcheckout: moving from branch1 to branch2\n
│ │ │ │ 5 55e0dacffa70f6503f03b273655957789ccb8db9 7bdcff813365d4615b6f9f853647a5d2b94249b1 Han Jiang <jhcarl0814@gmail.com> 1793179677 +1300\tcommit: 3\n
│ │ │ │ 6 7bdcff813365d4615b6f9f853647a5d2b94249b1 a3b2de7baa62c22143ccd3ed3853d1c0fcc090da Han Jiang <jhcarl0814@gmail.com> 1793179677 +1300\tcheckout: moving from branch2 to branch1\n
│ │ │ │ 7
│ │ │ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴heads/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ │ ├╴branch1 -/0o100/regular file rw-r--r--/0o644
│ │ │ │ │ │ 1 0000000000000000000000000000000000000000 55e0dacffa70f6503f03b273655957789ccb8db9 Han Jiang <jhcarl0814@gmail.com> 1793179675 +1300\tbranch: Created from HEAD\n
│ │ │ │ │ │ 2 55e0dacffa70f6503f03b273655957789ccb8db9 a3b2de7baa62c22143ccd3ed3853d1c0fcc090da Han Jiang <jhcarl0814@gmail.com> 1793179675 +1300\tcommit: 2\n
│ │ │ │ │ │ 3
│ │ │ │ │ ├╴branch2 -/0o100/regular file rw-r--r--/0o644
│ │ │ │ │ │ 1 0000000000000000000000000000000000000000 55e0dacffa70f6503f03b273655957789ccb8db9 Han Jiang <jhcarl0814@gmail.com> 1793179675 +1300\tbranch: Created from branch1\n
│ │ │ │ │ │ 2 55e0dacffa70f6503f03b273655957789ccb8db9 7bdcff813365d4615b6f9f853647a5d2b94249b1 Han Jiang <jhcarl0814@gmail.com> 1793179677 +1300\tcommit: 3\n
│ │ │ │ │ │ 3
│ │ │ │ │ ├╴master -/0o100/regular file rw-r--r--/0o644
│ │ │ │ │ │ 1 0000000000000000000000000000000000000000 55e0dacffa70f6503f03b273655957789ccb8db9 Han Jiang <jhcarl0814@gmail.com> 1793179674 +1300\tcommit (initial): 1\n
│ │ │ │ │ │ 2
│ │ ├╴MERGE_HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 7bdcff813365d4615b6f9f853647a5d2b94249b1\n
│ │ │ 2
│ │ ├╴MERGE_MODE -/0o100/regular empty file rw-r--r--/0o644
│ │ │ 1
│ │ ├╴MERGE_MSG -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 4\n
│ │ │ 2 \n
│ │ │ 3 # Conflicts:\n
│ │ │ 4 #\tconflicted\n
│ │ │ 5
│ │ ├╴objects/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴1d/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴61c02d91872fa3b07f4e1da8e7f40fe9bcffdd -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴26/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴b37d07facfc371afa61dac1dc310e2d7c02597 -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴40/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴3ec31f0a10be94cad6ab8663f2d508869a06b0 -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴41/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴7873c512001ee8bd460861203fe10b42111af3 -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴55/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴128ec9eb27e31af9a5621e2756e8b5564be590 -/0o100/regular file r--r--r--/0o444
│ │ │ │ ├╴e0dacffa70f6503f03b273655957789ccb8db9 -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴7b/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴dcff813365d4615b6f9f853647a5d2b94249b1 -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴81/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴3e86d14daa73316d2611ca5dfb92784e1b9147 -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴82/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴8f36cb233d2562a1e2c039fd6b5442e85aa168 -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴a3/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴b2de7baa62c22143ccd3ed3853d1c0fcc090da -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴c7/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴282027d1875479bb99724d26b3d1109ebf8b60 -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴d0/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴0491fd7e5bb6fa28c517a0bb32b8b506539d4d -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴e6/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴9de29bb2d1d6434b8b29ae775ad8c2e48c5391 -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴pack/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴ORIG_HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 a3b2de7baa62c22143ccd3ed3853d1c0fcc090da\n
│ │ │ 2
│ │ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴heads/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴branch1 -/0o100/regular file rw-r--r--/0o644
│ │ │ │ │ 1 a3b2de7baa62c22143ccd3ed3853d1c0fcc090da\n
│ │ │ │ │ 2
│ │ │ │ ├╴branch2 -/0o100/regular file rw-r--r--/0o644
│ │ │ │ │ 1 7bdcff813365d4615b6f9f853647a5d2b94249b1\n
│ │ │ │ │ 2
│ │ │ │ ├╴master -/0o100/regular file rw-r--r--/0o644
│ │ │ │ │ 1 55e0dacffa70f6503f03b273655957789ccb8db9\n
│ │ │ │ │ 2
│ │ │ ├╴tags/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴conflicted -/0o100/regular file rw-r--r--/0o644
│ │ 1 1\r\n
│ │ 2 <<<<<<< HEAD\r\n
│ │ 3 2\r\n
│ │ 4 =======\r\n
│ │ 5 3\r\n
│ │ 6 >>>>>>> branch2\r\n
│ │ 7 5\r\n
│ │ 8
│ ├╴dir_to_file -/0o100/regular empty file rw-r--r--/0o644
│ │ 1
│ ├╴file_to_dir/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴.gitkeep -/0o100/regular empty file rw-r--r--/0o644
│ │ │ 1
│ ├╴file_to_dir_empty/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴unstaged_modification -/0o100/regular file rw-r--r--/0o644
│ │ 1 2\n
│ │ 2
│ ├╴untracked -/0o100/regular empty file rw-r--r--/0o644
│ │ 1
│ ├╴untracked_dir/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴untracked -/0o100/regular empty file rw-r--r--/0o644
│ │ │ 1
│ ├╴untracked_dir_empty/ d/0o040/directory rwxr-xr-x/0o755
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --stage | special_character_to_escape_sequence_preserve_line_ending | cat_with_line_number
1 M 100644 26b37d07facfc371afa61dac1dc310e2d7c02597 1\tconflicted\n
2 M 100644 c7282027d1875479bb99724d26b3d1109ebf8b60 2\tconflicted\n
3 M 100644 403ec31f0a10be94cad6ab8663f2d508869a06b0 3\tconflicted\n
4 H 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0\tdir_to_file/.gitkeep\n
5 H 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0\tfile_to_dir\n
6 H 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0\tfile_to_dir_empty\n
7 H 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0\tunstaged_deletion\n
8 H 100644 d00491fd7e5bb6fa28c517a0bb32b8b506539d4d 0\tunstaged_modification\n
9
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --stage -z | special_character_to_escape_sequence_preserve_line_ending | cat_with_line_number
1 M 100644 26b37d07facfc371afa61dac1dc310e2d7c02597 1\tconflicted\0M 100644 c7282027d1875479bb99724d26b3d1109ebf8b60 2\tconflicted\0M 100644 403ec31f0a10be94cad6ab8663f2d508869a06b0 3\tconflicted\0H 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0\tdir_to_file/.gitkeep\0H 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0\tfile_to_dir\0H 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0\tfile_to_dir_empty\0H 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0\tunstaged_deletion\0H 100644 d00491fd7e5bb6fa28c517a0bb32b8b506539d4d 0\tunstaged_modification\0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --cached | special_character_to_escape_sequence_preserve_line_ending | cat_with_line_number
1 M conflicted\n
2 M conflicted\n
3 M conflicted\n
4 H dir_to_file/.gitkeep\n
5 H file_to_dir\n
6 H file_to_dir_empty\n
7 H unstaged_deletion\n
8 H unstaged_modification\n
9
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --cached -z | special_character_to_escape_sequence_preserve_line_ending | cat_with_line_number
1 M conflicted\0M conflicted\0M conflicted\0H dir_to_file/.gitkeep\0H file_to_dir\0H file_to_dir_empty\0H unstaged_deletion\0H unstaged_modification\0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --others | special_character_to_escape_sequence_preserve_line_ending | cat_with_line_number
1 ? dir_to_file\n
2 ? file_to_dir/.gitkeep\n
3 ? untracked\n
4 ? untracked_dir/untracked\n
5
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --others -z | special_character_to_escape_sequence_preserve_line_ending | cat_with_line_number
1 ? dir_to_file\0? file_to_dir/.gitkeep\0? untracked\0? untracked_dir/untracked\0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --deleted | special_character_to_escape_sequence_preserve_line_ending | cat_with_line_number
1 R dir_to_file/.gitkeep\n
2 R unstaged_deletion\n
3
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --deleted -z | special_character_to_escape_sequence_preserve_line_ending | cat_with_line_number
1 R dir_to_file/.gitkeep\0R unstaged_deletion\0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --modified | special_character_to_escape_sequence_preserve_line_ending | cat_with_line_number
1 C conflicted\n
2 C conflicted\n
3 C conflicted\n
4 C dir_to_file/.gitkeep\n
5 C file_to_dir\n
6 C file_to_dir_empty\n
7 C unstaged_deletion\n
8 C unstaged_modification\n
9
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --modified -z | special_character_to_escape_sequence_preserve_line_ending | cat_with_line_number
1 C conflicted\0C conflicted\0C conflicted\0C dir_to_file/.gitkeep\0C file_to_dir\0C file_to_dir_empty\0C unstaged_deletion\0C unstaged_modification\0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --killed | special_character_to_escape_sequence_preserve_line_ending | cat_with_line_number
1 K dir_to_file\n
2 K file_to_dir/.gitkeep\n
3
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --killed -z | special_character_to_escape_sequence_preserve_line_ending | cat_with_line_number
1 K dir_to_file\0K file_to_dir/.gitkeep\0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --unmerged | special_character_to_escape_sequence_preserve_line_ending | cat_with_line_number
1 M 100644 26b37d07facfc371afa61dac1dc310e2d7c02597 1\tconflicted\n
2 M 100644 c7282027d1875479bb99724d26b3d1109ebf8b60 2\tconflicted\n
3 M 100644 403ec31f0a10be94cad6ab8663f2d508869a06b0 3\tconflicted\n
4
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --unmerged -z | special_character_to_escape_sequence_preserve_line_ending | cat_with_line_number
1 M 100644 26b37d07facfc371afa61dac1dc310e2d7c02597 1\tconflicted\0M 100644 c7282027d1875479bb99724d26b3d1109ebf8b60 2\tconflicted\0M 100644 403ec31f0a10be94cad6ab8663f2d508869a06b0 3\tconflicted\0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --resolve-undo | special_character_to_escape_sequence_preserve_line_ending | cat_with_line_number
1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --resolve-undo -z | special_character_to_escape_sequence_preserve_line_ending | cat_with_line_number
1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e '1\n2\n3\n5' >'./repo/conflicted'; git -C './repo' add './conflicted'
warning: in the working copy of 'conflicted', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --unmerged | special_character_to_escape_sequence_preserve_line_ending | cat_with_line_number
1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --unmerged -z | special_character_to_escape_sequence_preserve_line_ending | cat_with_line_number
1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --resolve-undo | special_character_to_escape_sequence_preserve_line_ending | cat_with_line_number
1 U 100644 26b37d07facfc371afa61dac1dc310e2d7c02597 1\tconflicted\n
2 U 100644 c7282027d1875479bb99724d26b3d1109ebf8b60 2\tconflicted\n
3 U 100644 403ec31f0a10be94cad6ab8663f2d508869a06b0 3\tconflicted\n
4
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --resolve-undo -z | special_character_to_escape_sequence_preserve_line_ending | cat_with_line_number
1 U 100644 26b37d07facfc371afa61dac1dc310e2d7c02597 1\tconflicted\0U 100644 c7282027d1875479bb99724d26b3d1109ebf8b60 2\tconflicted\0U 100644 403ec31f0a10be94cad6ab8663f2d508869a06b0 3\tconflicted\0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout --merge './conflicted'
Recreated 1 merge conflict
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --unmerged | special_character_to_escape_sequence_preserve_line_ending | cat_with_line_number
1 M 100644 26b37d07facfc371afa61dac1dc310e2d7c02597 1\tconflicted\n
2 M 100644 c7282027d1875479bb99724d26b3d1109ebf8b60 2\tconflicted\n
3 M 100644 403ec31f0a10be94cad6ab8663f2d508869a06b0 3\tconflicted\n
4
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --unmerged -z | special_character_to_escape_sequence_preserve_line_ending | cat_with_line_number
1 M 100644 26b37d07facfc371afa61dac1dc310e2d7c02597 1\tconflicted\0M 100644 c7282027d1875479bb99724d26b3d1109ebf8b60 2\tconflicted\0M 100644 403ec31f0a10be94cad6ab8663f2d508869a06b0 3\tconflicted\0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --resolve-undo | special_character_to_escape_sequence_preserve_line_ending | cat_with_line_number
1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --resolve-undo -z | special_character_to_escape_sequence_preserve_line_ending | cat_with_line_number
1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e '1\n5' >'./repo/conflicted'; git -C './repo' add './conflicted'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'conflicted', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) c2c412a] 1
1 file changed, 2 insertions(+)
create mode 100644 conflicted
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout -b branch1; git -C './repo' branch branch2
Switched to a new branch 'branch1'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e '1\n2\n5' >'./repo/conflicted'; git -C './repo' add './conflicted'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'conflicted', LF will be replaced by CRLF the next time Git touches it
[branch1 07018d3] 2
1 file changed, 1 insertion(+)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch2
Switched to branch 'branch2'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e '1\n3\n5' >'./repo/conflicted'; git -C './repo' add './conflicted'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'conflicted', LF will be replaced by CRLF the next time Git touches it
[branch2 bec434d] 3
1 file changed, 1 insertion(+)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1
Switched to branch 'branch1'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge branch2 --message="$((++number))"
Auto-merging conflicted
CONFLICT (content): Merge conflict in conflicted
Automatic merge failed; fix conflicts and then commit the result.
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ mkdir --parents -- './repo/untracked_dir_empty' './repo/untracked_dir'; touch -- './repo/untracked' './repo/untracked_dir/untracked'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ touch -- './repo/unstaged_deletion'; git -C './repo' add './unstaged_deletion'; rm -- './repo/unstaged_deletion'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/unstaged_modification'; git -C './repo' add './unstaged_modification'; echo '2' >'./repo/unstaged_modification'
warning: in the working copy of 'unstaged_modification', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ mkdir --parents -- './repo/dir_to_file'; touch -- './repo/file_to_dir' './repo/file_to_dir_empty' './repo/dir_to_file/.gitkeep'; git -C './repo' add './file_to_dir' './file_to_dir_empty' './dir_to_file'; rm --recursive -- './repo/file_to_dir' './repo/file_to_dir_empty' './repo/dir_to_file'; mkdir --parents -- './repo/file_to_dir' './repo/file_to_dir_empty'; touch -- './repo/dir_to_file' './repo/file_to_dir/.gitkeep'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex '.' -not -regex './repo/.git/hooks/.*' -regextype 'posix-extended'
./ d/0o040/directory rwxr-xr-x/0o755
├╴repo/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴.git/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴AUTO_MERGE -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 813e86d14daa73316d2611ca5dfb92784e1b9147\n
│ │ │ 2
│ │ ├╴COMMIT_EDITMSG -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 3\n
│ │ │ 2
│ │ ├╴config -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 [core]\n
│ │ │ 2 \trepositoryformatversion = 0\n
│ │ │ 3 \tfilemode = false\n
│ │ │ 4 \tbare = false\n
│ │ │ 5 \tlogallrefupdates = true\n
│ │ │ 6 \tignorecase = true\n
│ │ │ 7
│ │ ├╴description -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 Unnamed repository; edit this file 'description' to name the repository.\n
│ │ │ 2
│ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 ref: refs/heads/branch1\n
│ │ │ 2
│ │ ├╴hooks/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴index -/0o100/regular file rw-r--r--/0o644
│ │ ├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴exclude -/0o100/regular file rw-r--r--/0o644
│ │ │ │ 1 # git ls-files --others --exclude-from=.git/info/exclude\n
│ │ │ │ 2 # Lines that start with '#' are comments.\n
│ │ │ │ 3 # For a project mostly in C, the following would be a good set of\n
│ │ │ │ 4 # exclude patterns (uncomment them if you want to use them):\n
│ │ │ │ 5 # *.[oa]\n
│ │ │ │ 6 # *~\n
│ │ │ │ 7
│ │ ├╴logs/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ │ 1 0000000000000000000000000000000000000000 c2c412aac08167d145355f88e966f6e2e41865cd Han Jiang <jhcarl0814@gmail.com> 1793179728 +1300\tcommit (initial): 1\n
│ │ │ │ 2 c2c412aac08167d145355f88e966f6e2e41865cd c2c412aac08167d145355f88e966f6e2e41865cd Han Jiang <jhcarl0814@gmail.com> 1793179729 +1300\tcheckout: moving from master to branch1\n
│ │ │ │ 3 c2c412aac08167d145355f88e966f6e2e41865cd 07018d30f0809e3c79eb1728be6d5acf70d6619f Han Jiang <jhcarl0814@gmail.com> 1793179729 +1300\tcommit: 2\n
│ │ │ │ 4 07018d30f0809e3c79eb1728be6d5acf70d6619f c2c412aac08167d145355f88e966f6e2e41865cd Han Jiang <jhcarl0814@gmail.com> 1793179730 +1300\tcheckout: moving from branch1 to branch2\n
│ │ │ │ 5 c2c412aac08167d145355f88e966f6e2e41865cd bec434d3954b2872c4badd2d3c6de41873506228 Han Jiang <jhcarl0814@gmail.com> 1793179731 +1300\tcommit: 3\n
│ │ │ │ 6 bec434d3954b2872c4badd2d3c6de41873506228 07018d30f0809e3c79eb1728be6d5acf70d6619f Han Jiang <jhcarl0814@gmail.com> 1793179731 +1300\tcheckout: moving from branch2 to branch1\n
│ │ │ │ 7
│ │ │ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴heads/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ │ ├╴branch1 -/0o100/regular file rw-r--r--/0o644
│ │ │ │ │ │ 1 0000000000000000000000000000000000000000 c2c412aac08167d145355f88e966f6e2e41865cd Han Jiang <jhcarl0814@gmail.com> 1793179729 +1300\tbranch: Created from HEAD\n
│ │ │ │ │ │ 2 c2c412aac08167d145355f88e966f6e2e41865cd 07018d30f0809e3c79eb1728be6d5acf70d6619f Han Jiang <jhcarl0814@gmail.com> 1793179729 +1300\tcommit: 2\n
│ │ │ │ │ │ 3
│ │ │ │ │ ├╴branch2 -/0o100/regular file rw-r--r--/0o644
│ │ │ │ │ │ 1 0000000000000000000000000000000000000000 c2c412aac08167d145355f88e966f6e2e41865cd Han Jiang <jhcarl0814@gmail.com> 1793179729 +1300\tbranch: Created from branch1\n
│ │ │ │ │ │ 2 c2c412aac08167d145355f88e966f6e2e41865cd bec434d3954b2872c4badd2d3c6de41873506228 Han Jiang <jhcarl0814@gmail.com> 1793179731 +1300\tcommit: 3\n
│ │ │ │ │ │ 3
│ │ │ │ │ ├╴master -/0o100/regular file rw-r--r--/0o644
│ │ │ │ │ │ 1 0000000000000000000000000000000000000000 c2c412aac08167d145355f88e966f6e2e41865cd Han Jiang <jhcarl0814@gmail.com> 1793179728 +1300\tcommit (initial): 1\n
│ │ │ │ │ │ 2
│ │ ├╴MERGE_HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 bec434d3954b2872c4badd2d3c6de41873506228\n
│ │ │ 2
│ │ ├╴MERGE_MODE -/0o100/regular empty file rw-r--r--/0o644
│ │ │ 1
│ │ ├╴MERGE_MSG -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 4\n
│ │ │ 2 \n
│ │ │ 3 # Conflicts:\n
│ │ │ 4 #\tconflicted\n
│ │ │ 5
│ │ ├╴objects/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴07/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴018d30f0809e3c79eb1728be6d5acf70d6619f -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴1d/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴61c02d91872fa3b07f4e1da8e7f40fe9bcffdd -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴26/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴b37d07facfc371afa61dac1dc310e2d7c02597 -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴40/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴3ec31f0a10be94cad6ab8663f2d508869a06b0 -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴41/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴7873c512001ee8bd460861203fe10b42111af3 -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴55/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴128ec9eb27e31af9a5621e2756e8b5564be590 -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴81/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴3e86d14daa73316d2611ca5dfb92784e1b9147 -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴82/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴8f36cb233d2562a1e2c039fd6b5442e85aa168 -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴be/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴c434d3954b2872c4badd2d3c6de41873506228 -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴c2/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴c412aac08167d145355f88e966f6e2e41865cd -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴c7/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴282027d1875479bb99724d26b3d1109ebf8b60 -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴d0/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴0491fd7e5bb6fa28c517a0bb32b8b506539d4d -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴e6/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴9de29bb2d1d6434b8b29ae775ad8c2e48c5391 -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴pack/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴ORIG_HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 07018d30f0809e3c79eb1728be6d5acf70d6619f\n
│ │ │ 2
│ │ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴heads/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴branch1 -/0o100/regular file rw-r--r--/0o644
│ │ │ │ │ 1 07018d30f0809e3c79eb1728be6d5acf70d6619f\n
│ │ │ │ │ 2
│ │ │ │ ├╴branch2 -/0o100/regular file rw-r--r--/0o644
│ │ │ │ │ 1 bec434d3954b2872c4badd2d3c6de41873506228\n
│ │ │ │ │ 2
│ │ │ │ ├╴master -/0o100/regular file rw-r--r--/0o644
│ │ │ │ │ 1 c2c412aac08167d145355f88e966f6e2e41865cd\n
│ │ │ │ │ 2
│ │ │ ├╴tags/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴conflicted -/0o100/regular file rw-r--r--/0o644
│ │ 1 1\r\n
│ │ 2 <<<<<<< HEAD\r\n
│ │ 3 2\r\n
│ │ 4 =======\r\n
│ │ 5 3\r\n
│ │ 6 >>>>>>> branch2\r\n
│ │ 7 5\r\n
│ │ 8
│ ├╴dir_to_file -/0o100/regular empty file rw-r--r--/0o644
│ │ 1
│ ├╴file_to_dir/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴.gitkeep -/0o100/regular empty file rw-r--r--/0o644
│ │ │ 1
│ ├╴file_to_dir_empty/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴unstaged_modification -/0o100/regular file rw-r--r--/0o644
│ │ 1 2\n
│ │ 2
│ ├╴untracked -/0o100/regular empty file rw-r--r--/0o644
│ │ 1
│ ├╴untracked_dir/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴untracked -/0o100/regular empty file rw-r--r--/0o644
│ │ │ 1
│ ├╴untracked_dir_empty/ d/0o040/directory rwxr-xr-x/0o755
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --stage
M 100644 26b37d07facfc371afa61dac1dc310e2d7c02597 1 conflicted
M 100644 c7282027d1875479bb99724d26b3d1109ebf8b60 2 conflicted
M 100644 403ec31f0a10be94cad6ab8663f2d508869a06b0 3 conflicted
H 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 dir_to_file/.gitkeep
H 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 file_to_dir
H 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 file_to_dir_empty
H 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 unstaged_deletion
H 100644 d00491fd7e5bb6fa28c517a0bb32b8b506539d4d 0 unstaged_modification
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --stage --eol
M 100644 26b37d07facfc371afa61dac1dc310e2d7c02597 1 i/lf w/crlf attr/ conflicted
M 100644 c7282027d1875479bb99724d26b3d1109ebf8b60 2 i/lf w/crlf attr/ conflicted
M 100644 403ec31f0a10be94cad6ab8663f2d508869a06b0 3 i/lf w/crlf attr/ conflicted
H 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 i/none w/ attr/ dir_to_file/.gitkeep
H 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 i/none w/ attr/ file_to_dir
H 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 i/none w/ attr/ file_to_dir_empty
H 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 i/none w/ attr/ unstaged_deletion
H 100644 d00491fd7e5bb6fa28c517a0bb32b8b506539d4d 0 i/lf w/lf attr/ unstaged_modification
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --cached
M conflicted
M conflicted
M conflicted
H dir_to_file/.gitkeep
H file_to_dir
H file_to_dir_empty
H unstaged_deletion
H unstaged_modification
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --cached --eol
M i/lf w/crlf attr/ conflicted
M i/lf w/crlf attr/ conflicted
M i/lf w/crlf attr/ conflicted
H i/none w/ attr/ dir_to_file/.gitkeep
H i/none w/ attr/ file_to_dir
H i/none w/ attr/ file_to_dir_empty
H i/none w/ attr/ unstaged_deletion
H i/lf w/lf attr/ unstaged_modification
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --others
? dir_to_file
? file_to_dir/.gitkeep
? untracked
? untracked_dir/untracked
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --others --eol
? i/ w/none attr/ dir_to_file
? i/ w/none attr/ file_to_dir/.gitkeep
? i/ w/none attr/ untracked
? i/ w/none attr/ untracked_dir/untracked
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --deleted
R dir_to_file/.gitkeep
R unstaged_deletion
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --deleted --eol
R i/none w/ attr/ dir_to_file/.gitkeep
R i/none w/ attr/ unstaged_deletion
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --modified
C conflicted
C conflicted
C conflicted
C dir_to_file/.gitkeep
C file_to_dir
C file_to_dir_empty
C unstaged_deletion
C unstaged_modification
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --modified --eol
C i/lf w/crlf attr/ conflicted
C i/lf w/crlf attr/ conflicted
C i/lf w/crlf attr/ conflicted
C i/none w/ attr/ dir_to_file/.gitkeep
C i/none w/ attr/ file_to_dir
C i/none w/ attr/ file_to_dir_empty
C i/none w/ attr/ unstaged_deletion
C i/lf w/lf attr/ unstaged_modification
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --killed
K dir_to_file
K file_to_dir/.gitkeep
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --killed --eol
K i/ w/none attr/ dir_to_file
K i/ w/none attr/ file_to_dir/.gitkeep
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --unmerged
M 100644 26b37d07facfc371afa61dac1dc310e2d7c02597 1 conflicted
M 100644 c7282027d1875479bb99724d26b3d1109ebf8b60 2 conflicted
M 100644 403ec31f0a10be94cad6ab8663f2d508869a06b0 3 conflicted
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --unmerged --eol
M 100644 26b37d07facfc371afa61dac1dc310e2d7c02597 1 i/lf w/crlf attr/ conflicted
M 100644 c7282027d1875479bb99724d26b3d1109ebf8b60 2 i/lf w/crlf attr/ conflicted
M 100644 403ec31f0a10be94cad6ab8663f2d508869a06b0 3 i/lf w/crlf attr/ conflicted
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e '1\n2\n3\n5' >'./repo/conflicted'; git -C './repo' add './conflicted'
warning: in the working copy of 'conflicted', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --unmerged
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --unmerged --eol
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout --merge './conflicted'
Recreated 1 merge conflict
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --unmerged
M 100644 26b37d07facfc371afa61dac1dc310e2d7c02597 1 conflicted
M 100644 c7282027d1875479bb99724d26b3d1109ebf8b60 2 conflicted
M 100644 403ec31f0a10be94cad6ab8663f2d508869a06b0 3 conflicted
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --unmerged --eol
M 100644 26b37d07facfc371afa61dac1dc310e2d7c02597 1 i/lf w/crlf attr/ conflicted
M 100644 c7282027d1875479bb99724d26b3d1109ebf8b60 2 i/lf w/crlf attr/ conflicted
M 100644 403ec31f0a10be94cad6ab8663f2d508869a06b0 3 i/lf w/crlf attr/ conflicted
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e '1\n5' >'./repo/conflicted'; git -C './repo' add './conflicted'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'conflicted', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 40a47b5] 1
1 file changed, 2 insertions(+)
create mode 100644 conflicted
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout -b branch1; git -C './repo' branch branch2
Switched to a new branch 'branch1'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e '1\n2\n5' >'./repo/conflicted'; git -C './repo' add './conflicted'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'conflicted', LF will be replaced by CRLF the next time Git touches it
[branch1 15790d9] 2
1 file changed, 1 insertion(+)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch2
Switched to branch 'branch2'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e '1\n3\n5' >'./repo/conflicted'; git -C './repo' add './conflicted'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'conflicted', LF will be replaced by CRLF the next time Git touches it
[branch2 cad3d58] 3
1 file changed, 1 insertion(+)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1
Switched to branch 'branch1'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge branch2 --message="$((++number))"
Auto-merging conflicted
CONFLICT (content): Merge conflict in conflicted
Automatic merge failed; fix conflicts and then commit the result.
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ mkdir --parents -- './repo/untracked_dir_empty' './repo/untracked_dir'; touch -- './repo/untracked' './repo/untracked_dir/untracked'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ touch -- './repo/unstaged_deletion'; git -C './repo' add './unstaged_deletion'; rm -- './repo/unstaged_deletion'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/unstaged_modification'; git -C './repo' add './unstaged_modification'; echo '2' >'./repo/unstaged_modification'
warning: in the working copy of 'unstaged_modification', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ mkdir --parents -- './repo/dir_to_file'; touch -- './repo/file_to_dir' './repo/file_to_dir_empty' './repo/dir_to_file/.gitkeep'; git -C './repo' add './file_to_dir' './file_to_dir_empty' './dir_to_file'; rm --recursive -- './repo/file_to_dir' './repo/file_to_dir_empty' './repo/dir_to_file'; mkdir --parents -- './repo/file_to_dir' './repo/file_to_dir_empty'; touch -- './repo/dir_to_file' './repo/file_to_dir/.gitkeep'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex '.' -not -regex './repo/.git/hooks/.*' -regextype 'posix-extended'
./ d/0o040/directory rwxr-xr-x/0o755
├╴repo/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴.git/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴AUTO_MERGE -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 813e86d14daa73316d2611ca5dfb92784e1b9147\n
│ │ │ 2
│ │ ├╴COMMIT_EDITMSG -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 3\n
│ │ │ 2
│ │ ├╴config -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 [core]\n
│ │ │ 2 \trepositoryformatversion = 0\n
│ │ │ 3 \tfilemode = false\n
│ │ │ 4 \tbare = false\n
│ │ │ 5 \tlogallrefupdates = true\n
│ │ │ 6 \tignorecase = true\n
│ │ │ 7
│ │ ├╴description -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 Unnamed repository; edit this file 'description' to name the repository.\n
│ │ │ 2
│ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 ref: refs/heads/branch1\n
│ │ │ 2
│ │ ├╴hooks/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴index -/0o100/regular file rw-r--r--/0o644
│ │ ├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴exclude -/0o100/regular file rw-r--r--/0o644
│ │ │ │ 1 # git ls-files --others --exclude-from=.git/info/exclude\n
│ │ │ │ 2 # Lines that start with '#' are comments.\n
│ │ │ │ 3 # For a project mostly in C, the following would be a good set of\n
│ │ │ │ 4 # exclude patterns (uncomment them if you want to use them):\n
│ │ │ │ 5 # *.[oa]\n
│ │ │ │ 6 # *~\n
│ │ │ │ 7
│ │ ├╴logs/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ │ 1 0000000000000000000000000000000000000000 40a47b521559297ff296b627a2d9e27ee218d94c Han Jiang <jhcarl0814@gmail.com> 1793179773 +1300\tcommit (initial): 1\n
│ │ │ │ 2 40a47b521559297ff296b627a2d9e27ee218d94c 40a47b521559297ff296b627a2d9e27ee218d94c Han Jiang <jhcarl0814@gmail.com> 1793179774 +1300\tcheckout: moving from master to branch1\n
│ │ │ │ 3 40a47b521559297ff296b627a2d9e27ee218d94c 15790d9c0d3d5f4ee14cb10568ff7138e288d69f Han Jiang <jhcarl0814@gmail.com> 1793179775 +1300\tcommit: 2\n
│ │ │ │ 4 15790d9c0d3d5f4ee14cb10568ff7138e288d69f 40a47b521559297ff296b627a2d9e27ee218d94c Han Jiang <jhcarl0814@gmail.com> 1793179775 +1300\tcheckout: moving from branch1 to branch2\n
│ │ │ │ 5 40a47b521559297ff296b627a2d9e27ee218d94c cad3d58af7c2d46a3a9f76298f39eb14c2590c87 Han Jiang <jhcarl0814@gmail.com> 1793179776 +1300\tcommit: 3\n
│ │ │ │ 6 cad3d58af7c2d46a3a9f76298f39eb14c2590c87 15790d9c0d3d5f4ee14cb10568ff7138e288d69f Han Jiang <jhcarl0814@gmail.com> 1793179776 +1300\tcheckout: moving from branch2 to branch1\n
│ │ │ │ 7
│ │ │ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴heads/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ │ ├╴branch1 -/0o100/regular file rw-r--r--/0o644
│ │ │ │ │ │ 1 0000000000000000000000000000000000000000 40a47b521559297ff296b627a2d9e27ee218d94c Han Jiang <jhcarl0814@gmail.com> 1793179774 +1300\tbranch: Created from HEAD\n
│ │ │ │ │ │ 2 40a47b521559297ff296b627a2d9e27ee218d94c 15790d9c0d3d5f4ee14cb10568ff7138e288d69f Han Jiang <jhcarl0814@gmail.com> 1793179775 +1300\tcommit: 2\n
│ │ │ │ │ │ 3
│ │ │ │ │ ├╴branch2 -/0o100/regular file rw-r--r--/0o644
│ │ │ │ │ │ 1 0000000000000000000000000000000000000000 40a47b521559297ff296b627a2d9e27ee218d94c Han Jiang <jhcarl0814@gmail.com> 1793179774 +1300\tbranch: Created from branch1\n
│ │ │ │ │ │ 2 40a47b521559297ff296b627a2d9e27ee218d94c cad3d58af7c2d46a3a9f76298f39eb14c2590c87 Han Jiang <jhcarl0814@gmail.com> 1793179776 +1300\tcommit: 3\n
│ │ │ │ │ │ 3
│ │ │ │ │ ├╴master -/0o100/regular file rw-r--r--/0o644
│ │ │ │ │ │ 1 0000000000000000000000000000000000000000 40a47b521559297ff296b627a2d9e27ee218d94c Han Jiang <jhcarl0814@gmail.com> 1793179773 +1300\tcommit (initial): 1\n
│ │ │ │ │ │ 2
│ │ ├╴MERGE_HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 cad3d58af7c2d46a3a9f76298f39eb14c2590c87\n
│ │ │ 2
│ │ ├╴MERGE_MODE -/0o100/regular empty file rw-r--r--/0o644
│ │ │ 1
│ │ ├╴MERGE_MSG -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 4\n
│ │ │ 2 \n
│ │ │ 3 # Conflicts:\n
│ │ │ 4 #\tconflicted\n
│ │ │ 5
│ │ ├╴objects/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴15/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴790d9c0d3d5f4ee14cb10568ff7138e288d69f -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴1d/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴61c02d91872fa3b07f4e1da8e7f40fe9bcffdd -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴26/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴b37d07facfc371afa61dac1dc310e2d7c02597 -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴40/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴3ec31f0a10be94cad6ab8663f2d508869a06b0 -/0o100/regular file r--r--r--/0o444
│ │ │ │ ├╴a47b521559297ff296b627a2d9e27ee218d94c -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴41/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴7873c512001ee8bd460861203fe10b42111af3 -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴55/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴128ec9eb27e31af9a5621e2756e8b5564be590 -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴81/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴3e86d14daa73316d2611ca5dfb92784e1b9147 -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴82/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴8f36cb233d2562a1e2c039fd6b5442e85aa168 -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴c7/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴282027d1875479bb99724d26b3d1109ebf8b60 -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴ca/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴d3d58af7c2d46a3a9f76298f39eb14c2590c87 -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴d0/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴0491fd7e5bb6fa28c517a0bb32b8b506539d4d -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴e6/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴9de29bb2d1d6434b8b29ae775ad8c2e48c5391 -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴pack/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴ORIG_HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 15790d9c0d3d5f4ee14cb10568ff7138e288d69f\n
│ │ │ 2
│ │ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴heads/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴branch1 -/0o100/regular file rw-r--r--/0o644
│ │ │ │ │ 1 15790d9c0d3d5f4ee14cb10568ff7138e288d69f\n
│ │ │ │ │ 2
│ │ │ │ ├╴branch2 -/0o100/regular file rw-r--r--/0o644
│ │ │ │ │ 1 cad3d58af7c2d46a3a9f76298f39eb14c2590c87\n
│ │ │ │ │ 2
│ │ │ │ ├╴master -/0o100/regular file rw-r--r--/0o644
│ │ │ │ │ 1 40a47b521559297ff296b627a2d9e27ee218d94c\n
│ │ │ │ │ 2
│ │ │ ├╴tags/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴conflicted -/0o100/regular file rw-r--r--/0o644
│ │ 1 1\r\n
│ │ 2 <<<<<<< HEAD\r\n
│ │ 3 2\r\n
│ │ 4 =======\r\n
│ │ 5 3\r\n
│ │ 6 >>>>>>> branch2\r\n
│ │ 7 5\r\n
│ │ 8
│ ├╴dir_to_file -/0o100/regular empty file rw-r--r--/0o644
│ │ 1
│ ├╴file_to_dir/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴.gitkeep -/0o100/regular empty file rw-r--r--/0o644
│ │ │ 1
│ ├╴file_to_dir_empty/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴unstaged_modification -/0o100/regular file rw-r--r--/0o644
│ │ 1 2\n
│ │ 2
│ ├╴untracked -/0o100/regular empty file rw-r--r--/0o644
│ │ 1
│ ├╴untracked_dir/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴untracked -/0o100/regular empty file rw-r--r--/0o644
│ │ │ 1
│ ├╴untracked_dir_empty/ d/0o040/directory rwxr-xr-x/0o755
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --cached
M conflicted
M conflicted
M conflicted
H dir_to_file/.gitkeep
H file_to_dir
H file_to_dir_empty
H unstaged_deletion
H unstaged_modification
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --cached --format='%(objecttype) %(objectmode) %(objectname) %(stage) ii="%(eolinfo:index)" iw="%(eolinfo:worktree)" a="%(eolattr)" %(objectsize) %(path)'
blob 100644 26b37d07facfc371afa61dac1dc310e2d7c02597 1 ii="lf" iw="crlf" a="" 4 conflicted
blob 100644 c7282027d1875479bb99724d26b3d1109ebf8b60 2 ii="lf" iw="crlf" a="" 6 conflicted
blob 100644 403ec31f0a10be94cad6ab8663f2d508869a06b0 3 ii="lf" iw="crlf" a="" 6 conflicted
blob 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 ii="none" iw="" a="" 0 dir_to_file/.gitkeep
blob 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 ii="none" iw="" a="" 0 file_to_dir
blob 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 ii="none" iw="" a="" 0 file_to_dir_empty
blob 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 ii="none" iw="" a="" 0 unstaged_deletion
blob 100644 d00491fd7e5bb6fa28c517a0bb32b8b506539d4d 0 ii="lf" iw="lf" a="" 2 unstaged_modification
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --deleted
R dir_to_file/.gitkeep
R unstaged_deletion
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --deleted --format='%(objecttype) %(objectmode) %(objectname) %(stage) ii="%(eolinfo:index)" iw="%(eolinfo:worktree)" a="%(eolattr)" %(objectsize) %(path)'
blob 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 ii="none" iw="" a="" 0 dir_to_file/.gitkeep
blob 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 ii="none" iw="" a="" 0 unstaged_deletion
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --modified
C conflicted
C conflicted
C conflicted
C dir_to_file/.gitkeep
C file_to_dir
C file_to_dir_empty
C unstaged_deletion
C unstaged_modification
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --modified --format='%(objecttype) %(objectmode) %(objectname) %(stage) ii="%(eolinfo:index)" iw="%(eolinfo:worktree)" a="%(eolattr)" %(objectsize) %(path)'
blob 100644 26b37d07facfc371afa61dac1dc310e2d7c02597 1 ii="lf" iw="crlf" a="" 4 conflicted
blob 100644 c7282027d1875479bb99724d26b3d1109ebf8b60 2 ii="lf" iw="crlf" a="" 6 conflicted
blob 100644 403ec31f0a10be94cad6ab8663f2d508869a06b0 3 ii="lf" iw="crlf" a="" 6 conflicted
blob 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 ii="none" iw="" a="" 0 dir_to_file/.gitkeep
blob 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 ii="none" iw="" a="" 0 file_to_dir
blob 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 ii="none" iw="" a="" 0 file_to_dir_empty
blob 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 ii="none" iw="" a="" 0 unstaged_deletion
blob 100644 d00491fd7e5bb6fa28c517a0bb32b8b506539d4d 0 ii="lf" iw="lf" a="" 2 unstaged_modification
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files -t --unmerged
M 100644 26b37d07facfc371afa61dac1dc310e2d7c02597 1 conflicted
M 100644 c7282027d1875479bb99724d26b3d1109ebf8b60 2 conflicted
M 100644 403ec31f0a10be94cad6ab8663f2d508869a06b0 3 conflicted
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --unmerged --format='%(objecttype) %(objectmode) %(objectname) %(stage) ii="%(eolinfo:index)" iw="%(eolinfo:worktree)" a="%(eolattr)" %(objectsize) %(path)'
blob 100644 26b37d07facfc371afa61dac1dc310e2d7c02597 1 ii="lf" iw="crlf" a="" 4 conflicted
blob 100644 c7282027d1875479bb99724d26b3d1109ebf8b60 2 ii="lf" iw="crlf" a="" 6 conflicted
blob 100644 403ec31f0a10be94cad6ab8663f2d508869a06b0 3 ii="lf" iw="crlf" a="" 6 conflicted
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status
On branch master
No commits yet
nothing to commit (create/copy files and use "git add" to track)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --long
On branch master
No commits yet
nothing to commit (create/copy files and use "git add" to track)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --short
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --short --branch
## No commits yet on master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --porcelain
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --porcelain --branch
## No commits yet on master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --porcelain=v1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --porcelain=v1 --branch
## No commits yet on master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --porcelain=v2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --porcelain=v2 --branch
# branch.oid (initial)
# branch.head master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ mkdir --parents -- './repo/untracked_dir_empty' './repo/untracked_dir'; touch -- './repo/untracked' './repo/untracked_dir/untracked'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ touch -- './repo/unstaged_deletion'; git -C './repo' add './unstaged_deletion'; rm -- './repo/unstaged_deletion'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/unstaged_modification'; git -C './repo' add './unstaged_modification'; echo '2' >'./repo/unstaged_modification'
warning: in the working copy of 'unstaged_modification', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ mkdir --parents -- './repo/dir_to_file'; touch -- './repo/file_to_dir' './repo/file_to_dir_empty' './repo/dir_to_file/.gitkeep'; git -C './repo' add './file_to_dir' './file_to_dir_empty' './dir_to_file'; rm --recursive -- './repo/file_to_dir' './repo/file_to_dir_empty' './repo/dir_to_file'; mkdir --parents -- './repo/file_to_dir' './repo/file_to_dir_empty'; touch -- './repo/dir_to_file' './repo/file_to_dir/.gitkeep'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status
On branch master
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: dir_to_file/.gitkeep
new file: file_to_dir
new file: file_to_dir_empty
new file: unstaged_deletion
new file: unstaged_modification
Changes not staged for commit:
(use "git add/rm <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
deleted: dir_to_file/.gitkeep
deleted: file_to_dir
deleted: file_to_dir_empty
deleted: unstaged_deletion
modified: unstaged_modification
Untracked files:
(use "git add <file>..." to include in what will be committed)
dir_to_file
untracked
untracked_dir/
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --long
On branch master
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: dir_to_file/.gitkeep
new file: file_to_dir
new file: file_to_dir_empty
new file: unstaged_deletion
new file: unstaged_modification
Changes not staged for commit:
(use "git add/rm <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
deleted: dir_to_file/.gitkeep
deleted: file_to_dir
deleted: file_to_dir_empty
deleted: unstaged_deletion
modified: unstaged_modification
Untracked files:
(use "git add <file>..." to include in what will be committed)
dir_to_file
untracked
untracked_dir/
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --short
AD dir_to_file/.gitkeep
AD file_to_dir
AD file_to_dir_empty
AD unstaged_deletion
AM unstaged_modification
?? dir_to_file
?? untracked
?? untracked_dir/
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --short --branch
## No commits yet on master
AD dir_to_file/.gitkeep
AD file_to_dir
AD file_to_dir_empty
AD unstaged_deletion
AM unstaged_modification
?? dir_to_file
?? untracked
?? untracked_dir/
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --porcelain
AD dir_to_file/.gitkeep
AD file_to_dir
AD file_to_dir_empty
AD unstaged_deletion
AM unstaged_modification
?? dir_to_file
?? untracked
?? untracked_dir/
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --porcelain --branch
## No commits yet on master
AD dir_to_file/.gitkeep
AD file_to_dir
AD file_to_dir_empty
AD unstaged_deletion
AM unstaged_modification
?? dir_to_file
?? untracked
?? untracked_dir/
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --porcelain=v1
AD dir_to_file/.gitkeep
AD file_to_dir
AD file_to_dir_empty
AD unstaged_deletion
AM unstaged_modification
?? dir_to_file
?? untracked
?? untracked_dir/
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --porcelain=v1 --branch
## No commits yet on master
AD dir_to_file/.gitkeep
AD file_to_dir
AD file_to_dir_empty
AD unstaged_deletion
AM unstaged_modification
?? dir_to_file
?? untracked
?? untracked_dir/
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --porcelain=v2
1 AD N... 000000 100644 000000 0000000000000000000000000000000000000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 dir_to_file/.gitkeep
1 AD N... 000000 100644 000000 0000000000000000000000000000000000000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 file_to_dir
1 AD N... 000000 100644 000000 0000000000000000000000000000000000000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 file_to_dir_empty
1 AD N... 000000 100644 000000 0000000000000000000000000000000000000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 unstaged_deletion
1 AM N... 000000 100644 100644 0000000000000000000000000000000000000000 d00491fd7e5bb6fa28c517a0bb32b8b506539d4d unstaged_modification
? dir_to_file
? untracked
? untracked_dir/
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --porcelain=v2 --branch
# branch.oid (initial)
# branch.head master
1 AD N... 000000 100644 000000 0000000000000000000000000000000000000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 dir_to_file/.gitkeep
1 AD N... 000000 100644 000000 0000000000000000000000000000000000000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 file_to_dir
1 AD N... 000000 100644 000000 0000000000000000000000000000000000000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 file_to_dir_empty
1 AD N... 000000 100644 000000 0000000000000000000000000000000000000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 unstaged_deletion
1 AM N... 000000 100644 100644 0000000000000000000000000000000000000000 d00491fd7e5bb6fa28c517a0bb32b8b506539d4d unstaged_modification
? dir_to_file
? untracked
? untracked_dir/
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))"
[master (root-commit) 40b8e16] 1
5 files changed, 1 insertion(+)
create mode 100644 dir_to_file/.gitkeep
create mode 100644 file_to_dir
create mode 100644 file_to_dir_empty
create mode 100644 unstaged_deletion
create mode 100644 unstaged_modification
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --long
On branch master
Changes not staged for commit:
(use "git add/rm <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
deleted: dir_to_file/.gitkeep
deleted: file_to_dir
deleted: file_to_dir_empty
deleted: unstaged_deletion
modified: unstaged_modification
Untracked files:
(use "git add <file>..." to include in what will be committed)
dir_to_file
untracked
untracked_dir/
no changes added to commit (use "git add" and/or "git commit -a")
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --short
D dir_to_file/.gitkeep
D file_to_dir
D file_to_dir_empty
D unstaged_deletion
M unstaged_modification
?? dir_to_file
?? untracked
?? untracked_dir/
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --short --branch
## master
D dir_to_file/.gitkeep
D file_to_dir
D file_to_dir_empty
D unstaged_deletion
M unstaged_modification
?? dir_to_file
?? untracked
?? untracked_dir/
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --porcelain=v1
D dir_to_file/.gitkeep
D file_to_dir
D file_to_dir_empty
D unstaged_deletion
M unstaged_modification
?? dir_to_file
?? untracked
?? untracked_dir/
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --porcelain=v1 --branch
## master
D dir_to_file/.gitkeep
D file_to_dir
D file_to_dir_empty
D unstaged_deletion
M unstaged_modification
?? dir_to_file
?? untracked
?? untracked_dir/
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --porcelain=v2
1 .D N... 100644 100644 000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 dir_to_file/.gitkeep
1 .D N... 100644 100644 000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 file_to_dir
1 .D N... 100644 100644 000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 file_to_dir_empty
1 .D N... 100644 100644 000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 unstaged_deletion
1 .M N... 100644 100644 100644 d00491fd7e5bb6fa28c517a0bb32b8b506539d4d d00491fd7e5bb6fa28c517a0bb32b8b506539d4d unstaged_modification
? dir_to_file
? untracked
? untracked_dir/
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --porcelain=v2 --branch
# branch.oid 40b8e167967252258b3dea2eb4785be59b400d01
# branch.head master
1 .D N... 100644 100644 000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 dir_to_file/.gitkeep
1 .D N... 100644 100644 000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 file_to_dir
1 .D N... 100644 100644 000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 file_to_dir_empty
1 .D N... 100644 100644 000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 unstaged_deletion
1 .M N... 100644 100644 100644 d00491fd7e5bb6fa28c517a0bb32b8b506539d4d d00491fd7e5bb6fa28c517a0bb32b8b506539d4d unstaged_modification
? dir_to_file
? untracked
? untracked_dir/
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' add '*'
warning: in the working copy of 'unstaged_modification', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --long
On branch master
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
renamed: dir_to_file/.gitkeep -> dir_to_file
renamed: file_to_dir -> file_to_dir/.gitkeep
modified: unstaged_modification
renamed: file_to_dir_empty -> untracked
renamed: unstaged_deletion -> untracked_dir/untracked
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --short
R dir_to_file/.gitkeep -> dir_to_file
R file_to_dir -> file_to_dir/.gitkeep
M unstaged_modification
R file_to_dir_empty -> untracked
R unstaged_deletion -> untracked_dir/untracked
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --short --branch
## master
R dir_to_file/.gitkeep -> dir_to_file
R file_to_dir -> file_to_dir/.gitkeep
M unstaged_modification
R file_to_dir_empty -> untracked
R unstaged_deletion -> untracked_dir/untracked
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --porcelain=v1
R dir_to_file/.gitkeep -> dir_to_file
R file_to_dir -> file_to_dir/.gitkeep
M unstaged_modification
R file_to_dir_empty -> untracked
R unstaged_deletion -> untracked_dir/untracked
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --porcelain=v1 --branch
## master
R dir_to_file/.gitkeep -> dir_to_file
R file_to_dir -> file_to_dir/.gitkeep
M unstaged_modification
R file_to_dir_empty -> untracked
R unstaged_deletion -> untracked_dir/untracked
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --porcelain=v2
2 R. N... 100644 100644 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 R100 dir_to_file dir_to_file/.gitkeep
2 R. N... 100644 100644 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 R100 file_to_dir/.gitkeep file_to_dir
1 M. N... 100644 100644 100644 d00491fd7e5bb6fa28c517a0bb32b8b506539d4d 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f unstaged_modification
2 R. N... 100644 100644 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 R100 untracked file_to_dir_empty
2 R. N... 100644 100644 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 R100 untracked_dir/untracked unstaged_deletion
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --porcelain=v2 --branch
# branch.oid 40b8e167967252258b3dea2eb4785be59b400d01
# branch.head master
2 R. N... 100644 100644 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 R100 dir_to_file dir_to_file/.gitkeep
2 R. N... 100644 100644 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 R100 file_to_dir/.gitkeep file_to_dir
1 M. N... 100644 100644 100644 d00491fd7e5bb6fa28c517a0bb32b8b506539d4d 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f unstaged_modification
2 R. N... 100644 100644 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 R100 untracked file_to_dir_empty
2 R. N... 100644 100644 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 R100 untracked_dir/untracked unstaged_deletion
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout --detach
A dir_to_file
D dir_to_file/.gitkeep
D file_to_dir
A file_to_dir/.gitkeep
D file_to_dir_empty
D unstaged_deletion
M unstaged_modification
A untracked
A untracked_dir/untracked
HEAD is now at 40b8e16 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --long
HEAD detached at 40b8e16
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
renamed: dir_to_file/.gitkeep -> dir_to_file
renamed: file_to_dir -> file_to_dir/.gitkeep
modified: unstaged_modification
renamed: file_to_dir_empty -> untracked
renamed: unstaged_deletion -> untracked_dir/untracked
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --short
R dir_to_file/.gitkeep -> dir_to_file
R file_to_dir -> file_to_dir/.gitkeep
M unstaged_modification
R file_to_dir_empty -> untracked
R unstaged_deletion -> untracked_dir/untracked
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --short --branch
## HEAD (no branch)
R dir_to_file/.gitkeep -> dir_to_file
R file_to_dir -> file_to_dir/.gitkeep
M unstaged_modification
R file_to_dir_empty -> untracked
R unstaged_deletion -> untracked_dir/untracked
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --porcelain=v1
R dir_to_file/.gitkeep -> dir_to_file
R file_to_dir -> file_to_dir/.gitkeep
M unstaged_modification
R file_to_dir_empty -> untracked
R unstaged_deletion -> untracked_dir/untracked
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --porcelain=v1 --branch
## HEAD (no branch)
R dir_to_file/.gitkeep -> dir_to_file
R file_to_dir -> file_to_dir/.gitkeep
M unstaged_modification
R file_to_dir_empty -> untracked
R unstaged_deletion -> untracked_dir/untracked
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --porcelain=v2
2 R. N... 100644 100644 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 R100 dir_to_file dir_to_file/.gitkeep
2 R. N... 100644 100644 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 R100 file_to_dir/.gitkeep file_to_dir
1 M. N... 100644 100644 100644 d00491fd7e5bb6fa28c517a0bb32b8b506539d4d 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f unstaged_modification
2 R. N... 100644 100644 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 R100 untracked file_to_dir_empty
2 R. N... 100644 100644 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 R100 untracked_dir/untracked unstaged_deletion
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --porcelain=v2 --branch
# branch.oid 40b8e167967252258b3dea2eb4785be59b400d01
# branch.head (detached)
2 R. N... 100644 100644 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 R100 dir_to_file dir_to_file/.gitkeep
2 R. N... 100644 100644 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 R100 file_to_dir/.gitkeep file_to_dir
1 M. N... 100644 100644 100644 d00491fd7e5bb6fa28c517a0bb32b8b506539d4d 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f unstaged_modification
2 R. N... 100644 100644 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 R100 untracked file_to_dir_empty
2 R. N... 100644 100644 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 R100 untracked_dir/untracked unstaged_deletion
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ mkdir --parents -- './repo/untracked_dir_empty' './repo/untracked_dir'; touch -- './repo/untracked' './repo/untracked_dir/untracked'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ touch -- './repo/unstaged_deletion'; git -C './repo' add './unstaged_deletion'; rm -- './repo/unstaged_deletion'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/unstaged_modification'; git -C './repo' add './unstaged_modification'; echo '2' >'./repo/unstaged_modification'
warning: in the working copy of 'unstaged_modification', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ mkdir --parents -- './repo/dir_to_file'; touch -- './repo/file_to_dir' './repo/file_to_dir_empty' './repo/dir_to_file/.gitkeep'; git -C './repo' add './file_to_dir' './file_to_dir_empty' './dir_to_file'; rm --recursive -- './repo/file_to_dir' './repo/file_to_dir_empty' './repo/dir_to_file'; mkdir --parents -- './repo/file_to_dir' './repo/file_to_dir_empty'; touch -- './repo/dir_to_file' './repo/file_to_dir/.gitkeep'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status | special_character_to_escape_sequence_preserve_line_ending | cat_with_line_number
1 On branch master\n
2 \n
3 No commits yet\n
4 \n
5 Changes to be committed:\n
6 (use "git rm --cached <file>..." to unstage)\n
7 \tnew file: dir_to_file/.gitkeep\n
8 \tnew file: file_to_dir\n
9 \tnew file: file_to_dir_empty\n
10 \tnew file: unstaged_deletion\n
11 \tnew file: unstaged_modification\n
12 \n
13 Changes not staged for commit:\n
14 (use "git add/rm <file>..." to update what will be committed)\n
15 (use "git restore <file>..." to discard changes in working directory)\n
16 \tdeleted: dir_to_file/.gitkeep\n
17 \tdeleted: file_to_dir\n
18 \tdeleted: file_to_dir_empty\n
19 \tdeleted: unstaged_deletion\n
20 \tmodified: unstaged_modification\n
21 \n
22 Untracked files:\n
23 (use "git add <file>..." to include in what will be committed)\n
24 \tdir_to_file\n
25 \tuntracked\n
26 \tuntracked_dir/\n
27 \n
28
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status -z | special_character_to_escape_sequence_preserve_line_ending | cat_with_line_number
1 AD dir_to_file/.gitkeep\0AD file_to_dir\0AD file_to_dir_empty\0AD unstaged_deletion\0AM unstaged_modification\0?? dir_to_file\0?? untracked\0?? untracked_dir/\0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --long | special_character_to_escape_sequence_preserve_line_ending | cat_with_line_number
1 On branch master\n
2 \n
3 No commits yet\n
4 \n
5 Changes to be committed:\n
6 (use "git rm --cached <file>..." to unstage)\n
7 \tnew file: dir_to_file/.gitkeep\n
8 \tnew file: file_to_dir\n
9 \tnew file: file_to_dir_empty\n
10 \tnew file: unstaged_deletion\n
11 \tnew file: unstaged_modification\n
12 \n
13 Changes not staged for commit:\n
14 (use "git add/rm <file>..." to update what will be committed)\n
15 (use "git restore <file>..." to discard changes in working directory)\n
16 \tdeleted: dir_to_file/.gitkeep\n
17 \tdeleted: file_to_dir\n
18 \tdeleted: file_to_dir_empty\n
19 \tdeleted: unstaged_deletion\n
20 \tmodified: unstaged_modification\n
21 \n
22 Untracked files:\n
23 (use "git add <file>..." to include in what will be committed)\n
24 \tdir_to_file\n
25 \tuntracked\n
26 \tuntracked_dir/\n
27 \n
28
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --long -z | special_character_to_escape_sequence_preserve_line_ending | cat_with_line_number
fatal: options '--long' and '-z' cannot be used together
1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --short | special_character_to_escape_sequence_preserve_line_ending | cat_with_line_number
1 AD dir_to_file/.gitkeep\n
2 AD file_to_dir\n
3 AD file_to_dir_empty\n
4 AD unstaged_deletion\n
5 AM unstaged_modification\n
6 ?? dir_to_file\n
7 ?? untracked\n
8 ?? untracked_dir/\n
9
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --short -z | special_character_to_escape_sequence_preserve_line_ending | cat_with_line_number
1 AD dir_to_file/.gitkeep\0AD file_to_dir\0AD file_to_dir_empty\0AD unstaged_deletion\0AM unstaged_modification\0?? dir_to_file\0?? untracked\0?? untracked_dir/\0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --short --branch | special_character_to_escape_sequence_preserve_line_ending | cat_with_line_number
1 ## No commits yet on master\n
2 AD dir_to_file/.gitkeep\n
3 AD file_to_dir\n
4 AD file_to_dir_empty\n
5 AD unstaged_deletion\n
6 AM unstaged_modification\n
7 ?? dir_to_file\n
8 ?? untracked\n
9 ?? untracked_dir/\n
10
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --short --branch -z | special_character_to_escape_sequence_preserve_line_ending | cat_with_line_number
1 ## No commits yet on master\0AD dir_to_file/.gitkeep\0AD file_to_dir\0AD file_to_dir_empty\0AD unstaged_deletion\0AM unstaged_modification\0?? dir_to_file\0?? untracked\0?? untracked_dir/\0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --porcelain=v1 | special_character_to_escape_sequence_preserve_line_ending | cat_with_line_number
1 AD dir_to_file/.gitkeep\n
2 AD file_to_dir\n
3 AD file_to_dir_empty\n
4 AD unstaged_deletion\n
5 AM unstaged_modification\n
6 ?? dir_to_file\n
7 ?? untracked\n
8 ?? untracked_dir/\n
9
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --porcelain=v1 -z | special_character_to_escape_sequence_preserve_line_ending | cat_with_line_number
1 AD dir_to_file/.gitkeep\0AD file_to_dir\0AD file_to_dir_empty\0AD unstaged_deletion\0AM unstaged_modification\0?? dir_to_file\0?? untracked\0?? untracked_dir/\0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --porcelain=v1 --branch | special_character_to_escape_sequence_preserve_line_ending | cat_with_line_number
1 ## No commits yet on master\n
2 AD dir_to_file/.gitkeep\n
3 AD file_to_dir\n
4 AD file_to_dir_empty\n
5 AD unstaged_deletion\n
6 AM unstaged_modification\n
7 ?? dir_to_file\n
8 ?? untracked\n
9 ?? untracked_dir/\n
10
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --porcelain=v1 --branch -z | special_character_to_escape_sequence_preserve_line_ending | cat_with_line_number
1 ## No commits yet on master\0AD dir_to_file/.gitkeep\0AD file_to_dir\0AD file_to_dir_empty\0AD unstaged_deletion\0AM unstaged_modification\0?? dir_to_file\0?? untracked\0?? untracked_dir/\0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --porcelain=v2 | special_character_to_escape_sequence_preserve_line_ending | cat_with_line_number
1 1 AD N... 000000 100644 000000 0000000000000000000000000000000000000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 dir_to_file/.gitkeep\n
2 1 AD N... 000000 100644 000000 0000000000000000000000000000000000000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 file_to_dir\n
3 1 AD N... 000000 100644 000000 0000000000000000000000000000000000000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 file_to_dir_empty\n
4 1 AD N... 000000 100644 000000 0000000000000000000000000000000000000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 unstaged_deletion\n
5 1 AM N... 000000 100644 100644 0000000000000000000000000000000000000000 d00491fd7e5bb6fa28c517a0bb32b8b506539d4d unstaged_modification\n
6 ? dir_to_file\n
7 ? untracked\n
8 ? untracked_dir/\n
9
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --porcelain=v2 -z | special_character_to_escape_sequence_preserve_line_ending | cat_with_line_number
1 1 AD N... 000000 100644 000000 0000000000000000000000000000000000000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 dir_to_file/.gitkeep\01 AD N... 000000 100644 000000 0000000000000000000000000000000000000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 file_to_dir\01 AD N... 000000 100644 000000 0000000000000000000000000000000000000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 file_to_dir_empty\01 AD N... 000000 100644 000000 0000000000000000000000000000000000000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 unstaged_deletion\01 AM N... 000000 100644 100644 0000000000000000000000000000000000000000 d00491fd7e5bb6fa28c517a0bb32b8b506539d4d unstaged_modification\0? dir_to_file\0? untracked\0? untracked_dir/\0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --porcelain=v2 --branch | special_character_to_escape_sequence_preserve_line_ending | cat_with_line_number
1 # branch.oid (initial)\n
2 # branch.head master\n
3 1 AD N... 000000 100644 000000 0000000000000000000000000000000000000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 dir_to_file/.gitkeep\n
4 1 AD N... 000000 100644 000000 0000000000000000000000000000000000000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 file_to_dir\n
5 1 AD N... 000000 100644 000000 0000000000000000000000000000000000000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 file_to_dir_empty\n
6 1 AD N... 000000 100644 000000 0000000000000000000000000000000000000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 unstaged_deletion\n
7 1 AM N... 000000 100644 100644 0000000000000000000000000000000000000000 d00491fd7e5bb6fa28c517a0bb32b8b506539d4d unstaged_modification\n
8 ? dir_to_file\n
9 ? untracked\n
10 ? untracked_dir/\n
11
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --porcelain=v2 --branch -z | special_character_to_escape_sequence_preserve_line_ending | cat_with_line_number
1 # branch.oid (initial)\0# branch.head master\01 AD N... 000000 100644 000000 0000000000000000000000000000000000000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 dir_to_file/.gitkeep\01 AD N... 000000 100644 000000 0000000000000000000000000000000000000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 file_to_dir\01 AD N... 000000 100644 000000 0000000000000000000000000000000000000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 file_to_dir_empty\01 AD N... 000000 100644 000000 0000000000000000000000000000000000000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 unstaged_deletion\01 AM N... 000000 100644 100644 0000000000000000000000000000000000000000 d00491fd7e5bb6fa28c517a0bb32b8b506539d4d unstaged_modification\0? dir_to_file\0? untracked\0? untracked_dir/\0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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) 73725a9] 1
jhcarl0814@jhcarl0814 UCRT64 $?=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 095c455] 2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg
* 095c455 - 2026-10-28 22:31 (1 second ago) 2 - Han Jiang (HEAD -> refs/heads/master)
* 73725a9 - 2026-10-28 22:31 (1 second ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' reset --hard HEAD~1
HEAD is now at 73725a9 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' commit --message="$((++number))" --allow-empty
[master d99e89a] 3
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all
* d99e89a - 2026-10-28 22:31 (1 second ago) 3 - Han Jiang (HEAD -> refs/heads/master)
| * 095c455 - 2026-10-28 22:31 (3 seconds ago) 2 - Han Jiang (refs/remotes/origin/master, refs/remotes/origin/HEAD)
|/
* 73725a9 - 2026-10-28 22:31 (3 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' status --long
On branch master
Your branch and 'origin/master' have diverged,
and have 1 and 1 different commits each, respectively.
(use "git pull" if you want to integrate the remote branch with yours)
nothing to commit, working tree clean
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' status --long --no-ahead-behind
On branch master
Your branch and 'origin/master' refer to different commits.
(use "git status --ahead-behind" for details)
nothing to commit, working tree clean
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' status --short
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' status --short --ahead-behind
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' status --short --branch
## master...origin/master [ahead 1, behind 1]
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' status --short --branch --no-ahead-behind
## master...origin/master [different]
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' status --porcelain=v1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' status --porcelain=v1 --ahead-behind
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' status --porcelain=v1 --branch
## master...origin/master [ahead 1, behind 1]
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' status --porcelain=v1 --branch --no-ahead-behind
## master...origin/master [different]
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' status --porcelain=v2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' status --porcelain=v2 --ahead-behind
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' status --porcelain=v2 --branch
# branch.oid d99e89ae828c4c8e40baf8c9c22ae2ba661949aa
# branch.head master
# branch.upstream origin/master
# branch.ab +1 -1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' status --porcelain=v2 --branch --no-ahead-behind
# branch.oid d99e89ae828c4c8e40baf8c9c22ae2ba661949aa
# branch.head master
# branch.upstream origin/master
# branch.ab +? -?
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ mkdir --parents -- './repo/untracked_dir_empty' './repo/untracked_dir'; touch -- './repo/untracked' './repo/untracked_dir/untracked'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ touch -- './repo/unstaged_deletion'; git -C './repo' add './unstaged_deletion'; rm -- './repo/unstaged_deletion'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/unstaged_modification'; git -C './repo' add './unstaged_modification'; echo '2' >'./repo/unstaged_modification'
warning: in the working copy of 'unstaged_modification', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ mkdir --parents -- './repo/dir_to_file'; touch -- './repo/file_to_dir' './repo/file_to_dir_empty' './repo/dir_to_file/.gitkeep'; git -C './repo' add './file_to_dir' './file_to_dir_empty' './dir_to_file'; rm --recursive -- './repo/file_to_dir' './repo/file_to_dir_empty' './repo/dir_to_file'; mkdir --parents -- './repo/file_to_dir' './repo/file_to_dir_empty'; touch -- './repo/dir_to_file' './repo/file_to_dir/.gitkeep'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --long --untracked-files=all
On branch master
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: dir_to_file/.gitkeep
new file: file_to_dir
new file: file_to_dir_empty
new file: unstaged_deletion
new file: unstaged_modification
Changes not staged for commit:
(use "git add/rm <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
deleted: dir_to_file/.gitkeep
deleted: file_to_dir
deleted: file_to_dir_empty
deleted: unstaged_deletion
modified: unstaged_modification
Untracked files:
(use "git add <file>..." to include in what will be committed)
dir_to_file
file_to_dir/.gitkeep
untracked
untracked_dir/untracked
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --long --untracked-files=normal
On branch master
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: dir_to_file/.gitkeep
new file: file_to_dir
new file: file_to_dir_empty
new file: unstaged_deletion
new file: unstaged_modification
Changes not staged for commit:
(use "git add/rm <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
deleted: dir_to_file/.gitkeep
deleted: file_to_dir
deleted: file_to_dir_empty
deleted: unstaged_deletion
modified: unstaged_modification
Untracked files:
(use "git add <file>..." to include in what will be committed)
dir_to_file
untracked
untracked_dir/
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --long --untracked-files=no
On branch master
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: dir_to_file/.gitkeep
new file: file_to_dir
new file: file_to_dir_empty
new file: unstaged_deletion
new file: unstaged_modification
Changes not staged for commit:
(use "git add/rm <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
deleted: dir_to_file/.gitkeep
deleted: file_to_dir
deleted: file_to_dir_empty
deleted: unstaged_deletion
modified: unstaged_modification
Untracked files not listed (use -u option to show untracked files)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --short --untracked-files=all
AD dir_to_file/.gitkeep
AD file_to_dir
AD file_to_dir_empty
AD unstaged_deletion
AM unstaged_modification
?? dir_to_file
?? file_to_dir/.gitkeep
?? untracked
?? untracked_dir/untracked
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --short --untracked-files=normal
AD dir_to_file/.gitkeep
AD file_to_dir
AD file_to_dir_empty
AD unstaged_deletion
AM unstaged_modification
?? dir_to_file
?? untracked
?? untracked_dir/
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --short --untracked-files=no
AD dir_to_file/.gitkeep
AD file_to_dir
AD file_to_dir_empty
AD unstaged_deletion
AM unstaged_modification
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --porcelain=v1 --untracked-files=all
AD dir_to_file/.gitkeep
AD file_to_dir
AD file_to_dir_empty
AD unstaged_deletion
AM unstaged_modification
?? dir_to_file
?? file_to_dir/.gitkeep
?? untracked
?? untracked_dir/untracked
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --porcelain=v1 --untracked-files=normal
AD dir_to_file/.gitkeep
AD file_to_dir
AD file_to_dir_empty
AD unstaged_deletion
AM unstaged_modification
?? dir_to_file
?? untracked
?? untracked_dir/
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --porcelain=v1 --untracked-files=no
AD dir_to_file/.gitkeep
AD file_to_dir
AD file_to_dir_empty
AD unstaged_deletion
AM unstaged_modification
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --porcelain=v2 --untracked-files=all
1 AD N... 000000 100644 000000 0000000000000000000000000000000000000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 dir_to_file/.gitkeep
1 AD N... 000000 100644 000000 0000000000000000000000000000000000000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 file_to_dir
1 AD N... 000000 100644 000000 0000000000000000000000000000000000000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 file_to_dir_empty
1 AD N... 000000 100644 000000 0000000000000000000000000000000000000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 unstaged_deletion
1 AM N... 000000 100644 100644 0000000000000000000000000000000000000000 d00491fd7e5bb6fa28c517a0bb32b8b506539d4d unstaged_modification
? dir_to_file
? file_to_dir/.gitkeep
? untracked
? untracked_dir/untracked
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --porcelain=v2 --untracked-files=normal
1 AD N... 000000 100644 000000 0000000000000000000000000000000000000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 dir_to_file/.gitkeep
1 AD N... 000000 100644 000000 0000000000000000000000000000000000000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 file_to_dir
1 AD N... 000000 100644 000000 0000000000000000000000000000000000000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 file_to_dir_empty
1 AD N... 000000 100644 000000 0000000000000000000000000000000000000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 unstaged_deletion
1 AM N... 000000 100644 100644 0000000000000000000000000000000000000000 d00491fd7e5bb6fa28c517a0bb32b8b506539d4d unstaged_modification
? dir_to_file
? untracked
? untracked_dir/
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --porcelain=v2 --untracked-files=no
1 AD N... 000000 100644 000000 0000000000000000000000000000000000000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 dir_to_file/.gitkeep
1 AD N... 000000 100644 000000 0000000000000000000000000000000000000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 file_to_dir
1 AD N... 000000 100644 000000 0000000000000000000000000000000000000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 file_to_dir_empty
1 AD N... 000000 100644 000000 0000000000000000000000000000000000000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 unstaged_deletion
1 AM N... 000000 100644 100644 0000000000000000000000000000000000000000 d00491fd7e5bb6fa28c517a0bb32b8b506539d4d unstaged_modification
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ mkdir --parents -- './repo/untracked_dir_empty' './repo/untracked_dir_empty_excluded' './repo/untracked_dir' './repo/untracked_dir_excluded'; touch -- './repo/untracked' './repo/untracked_excluded' './repo/untracked_dir/untracked' './repo/untracked_dir/untracked_excluded' './repo/untracked_dir_excluded/untracked' './repo/untracked_dir_excluded/untracked_excluded'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ touch -- './repo/unstaged_deletion' './repo/unstaged_deletion_excluded'; git -C './repo' add './unstaged_deletion' './unstaged_deletion_excluded'; rm -- './repo/unstaged_deletion' './repo/unstaged_deletion_excluded'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/unstaged_modification'; echo '1' >'./repo/unstaged_modification_excluded'; git -C './repo' add './unstaged_modification' './unstaged_modification_excluded'; echo '2' >'./repo/unstaged_modification'; echo '2' >'./repo/unstaged_modification_excluded'
warning: in the working copy of 'unstaged_modification', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'unstaged_modification_excluded', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ mkdir --parents -- './repo/dir_to_file' './repo/dir_to_file_excluded'; touch -- './repo/file_to_dir' './repo/file_to_dir_excluded' './repo/file_to_dir_empty' './repo/file_to_dir_empty_excluded' './repo/dir_to_file/.gitkeep' './repo/dir_to_file_excluded/.gitkeep'; git -C './repo' add './file_to_dir' './file_to_dir_excluded' './file_to_dir_empty' './file_to_dir_empty_excluded' './dir_to_file' './dir_to_file_excluded'; rm --recursive -- './repo/file_to_dir' './repo/file_to_dir_excluded' './repo/file_to_dir_empty' './repo/file_to_dir_empty_excluded' './repo/dir_to_file' './repo/dir_to_file_excluded'; mkdir --parents -- './repo/file_to_dir' './repo/file_to_dir_excluded' './repo/file_to_dir_empty' './repo/file_to_dir_empty_excluded'; touch -- './repo/dir_to_file' './repo/dir_to_file_excluded' './repo/file_to_dir/.gitkeep' './repo/file_to_dir_excluded/.gitkeep'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '*_excluded' >'./repo/.gitignore'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --long --ignored=no
On branch master
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: dir_to_file/.gitkeep
new file: dir_to_file_excluded/.gitkeep
new file: file_to_dir
new file: file_to_dir_empty
new file: file_to_dir_empty_excluded
new file: file_to_dir_excluded
new file: unstaged_deletion
new file: unstaged_deletion_excluded
new file: unstaged_modification
new file: unstaged_modification_excluded
Changes not staged for commit:
(use "git add/rm <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
deleted: dir_to_file/.gitkeep
deleted: dir_to_file_excluded/.gitkeep
deleted: file_to_dir
deleted: file_to_dir_empty
deleted: file_to_dir_empty_excluded
deleted: file_to_dir_excluded
deleted: unstaged_deletion
deleted: unstaged_deletion_excluded
modified: unstaged_modification
modified: unstaged_modification_excluded
Untracked files:
(use "git add <file>..." to include in what will be committed)
.gitignore
dir_to_file
untracked
untracked_dir/
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --long --ignored=matching
On branch master
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: dir_to_file/.gitkeep
new file: dir_to_file_excluded/.gitkeep
new file: file_to_dir
new file: file_to_dir_empty
new file: file_to_dir_empty_excluded
new file: file_to_dir_excluded
new file: unstaged_deletion
new file: unstaged_deletion_excluded
new file: unstaged_modification
new file: unstaged_modification_excluded
Changes not staged for commit:
(use "git add/rm <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
deleted: dir_to_file/.gitkeep
deleted: dir_to_file_excluded/.gitkeep
deleted: file_to_dir
deleted: file_to_dir_empty
deleted: file_to_dir_empty_excluded
deleted: file_to_dir_excluded
deleted: unstaged_deletion
deleted: unstaged_deletion_excluded
modified: unstaged_modification
modified: unstaged_modification_excluded
Untracked files:
(use "git add <file>..." to include in what will be committed)
.gitignore
dir_to_file
untracked
untracked_dir/
Ignored files:
(use "git add -f <file>..." to include in what will be committed)
dir_to_file_excluded
untracked_dir/untracked_excluded
untracked_dir_empty_excluded/
untracked_dir_excluded/
untracked_excluded
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --long --ignored=traditional
On branch master
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: dir_to_file/.gitkeep
new file: dir_to_file_excluded/.gitkeep
new file: file_to_dir
new file: file_to_dir_empty
new file: file_to_dir_empty_excluded
new file: file_to_dir_excluded
new file: unstaged_deletion
new file: unstaged_deletion_excluded
new file: unstaged_modification
new file: unstaged_modification_excluded
Changes not staged for commit:
(use "git add/rm <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
deleted: dir_to_file/.gitkeep
deleted: dir_to_file_excluded/.gitkeep
deleted: file_to_dir
deleted: file_to_dir_empty
deleted: file_to_dir_empty_excluded
deleted: file_to_dir_excluded
deleted: unstaged_deletion
deleted: unstaged_deletion_excluded
modified: unstaged_modification
modified: unstaged_modification_excluded
Untracked files:
(use "git add <file>..." to include in what will be committed)
.gitignore
dir_to_file
untracked
untracked_dir/
Ignored files:
(use "git add -f <file>..." to include in what will be committed)
dir_to_file_excluded
untracked_dir/untracked_excluded
untracked_dir_excluded/
untracked_excluded
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --short --ignored=no
AD dir_to_file/.gitkeep
AD dir_to_file_excluded/.gitkeep
AD file_to_dir
AD file_to_dir_empty
AD file_to_dir_empty_excluded
AD file_to_dir_excluded
AD unstaged_deletion
AD unstaged_deletion_excluded
AM unstaged_modification
AM unstaged_modification_excluded
?? .gitignore
?? dir_to_file
?? untracked
?? untracked_dir/
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --short --ignored=matching
AD dir_to_file/.gitkeep
AD dir_to_file_excluded/.gitkeep
AD file_to_dir
AD file_to_dir_empty
AD file_to_dir_empty_excluded
AD file_to_dir_excluded
AD unstaged_deletion
AD unstaged_deletion_excluded
AM unstaged_modification
AM unstaged_modification_excluded
?? .gitignore
?? dir_to_file
?? untracked
?? untracked_dir/
!! dir_to_file_excluded
!! untracked_dir/untracked_excluded
!! untracked_dir_empty_excluded/
!! untracked_dir_excluded/
!! untracked_excluded
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --short --ignored=traditional
AD dir_to_file/.gitkeep
AD dir_to_file_excluded/.gitkeep
AD file_to_dir
AD file_to_dir_empty
AD file_to_dir_empty_excluded
AD file_to_dir_excluded
AD unstaged_deletion
AD unstaged_deletion_excluded
AM unstaged_modification
AM unstaged_modification_excluded
?? .gitignore
?? dir_to_file
?? untracked
?? untracked_dir/
!! dir_to_file_excluded
!! untracked_dir/untracked_excluded
!! untracked_dir_excluded/
!! untracked_excluded
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --porcelain=v1 --ignored=no
AD dir_to_file/.gitkeep
AD dir_to_file_excluded/.gitkeep
AD file_to_dir
AD file_to_dir_empty
AD file_to_dir_empty_excluded
AD file_to_dir_excluded
AD unstaged_deletion
AD unstaged_deletion_excluded
AM unstaged_modification
AM unstaged_modification_excluded
?? .gitignore
?? dir_to_file
?? untracked
?? untracked_dir/
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --porcelain=v1 --ignored=matching
AD dir_to_file/.gitkeep
AD dir_to_file_excluded/.gitkeep
AD file_to_dir
AD file_to_dir_empty
AD file_to_dir_empty_excluded
AD file_to_dir_excluded
AD unstaged_deletion
AD unstaged_deletion_excluded
AM unstaged_modification
AM unstaged_modification_excluded
?? .gitignore
?? dir_to_file
?? untracked
?? untracked_dir/
!! dir_to_file_excluded
!! untracked_dir/untracked_excluded
!! untracked_dir_empty_excluded/
!! untracked_dir_excluded/
!! untracked_excluded
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --porcelain=v1 --ignored=traditional
AD dir_to_file/.gitkeep
AD dir_to_file_excluded/.gitkeep
AD file_to_dir
AD file_to_dir_empty
AD file_to_dir_empty_excluded
AD file_to_dir_excluded
AD unstaged_deletion
AD unstaged_deletion_excluded
AM unstaged_modification
AM unstaged_modification_excluded
?? .gitignore
?? dir_to_file
?? untracked
?? untracked_dir/
!! dir_to_file_excluded
!! untracked_dir/untracked_excluded
!! untracked_dir_excluded/
!! untracked_excluded
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --porcelain=v2 --ignored=no
1 AD N... 000000 100644 000000 0000000000000000000000000000000000000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 dir_to_file/.gitkeep
1 AD N... 000000 100644 000000 0000000000000000000000000000000000000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 dir_to_file_excluded/.gitkeep
1 AD N... 000000 100644 000000 0000000000000000000000000000000000000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 file_to_dir
1 AD N... 000000 100644 000000 0000000000000000000000000000000000000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 file_to_dir_empty
1 AD N... 000000 100644 000000 0000000000000000000000000000000000000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 file_to_dir_empty_excluded
1 AD N... 000000 100644 000000 0000000000000000000000000000000000000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 file_to_dir_excluded
1 AD N... 000000 100644 000000 0000000000000000000000000000000000000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 unstaged_deletion
1 AD N... 000000 100644 000000 0000000000000000000000000000000000000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 unstaged_deletion_excluded
1 AM N... 000000 100644 100644 0000000000000000000000000000000000000000 d00491fd7e5bb6fa28c517a0bb32b8b506539d4d unstaged_modification
1 AM N... 000000 100644 100644 0000000000000000000000000000000000000000 d00491fd7e5bb6fa28c517a0bb32b8b506539d4d unstaged_modification_excluded
? .gitignore
? dir_to_file
? untracked
? untracked_dir/
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --porcelain=v2 --ignored=matching
1 AD N... 000000 100644 000000 0000000000000000000000000000000000000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 dir_to_file/.gitkeep
1 AD N... 000000 100644 000000 0000000000000000000000000000000000000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 dir_to_file_excluded/.gitkeep
1 AD N... 000000 100644 000000 0000000000000000000000000000000000000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 file_to_dir
1 AD N... 000000 100644 000000 0000000000000000000000000000000000000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 file_to_dir_empty
1 AD N... 000000 100644 000000 0000000000000000000000000000000000000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 file_to_dir_empty_excluded
1 AD N... 000000 100644 000000 0000000000000000000000000000000000000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 file_to_dir_excluded
1 AD N... 000000 100644 000000 0000000000000000000000000000000000000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 unstaged_deletion
1 AD N... 000000 100644 000000 0000000000000000000000000000000000000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 unstaged_deletion_excluded
1 AM N... 000000 100644 100644 0000000000000000000000000000000000000000 d00491fd7e5bb6fa28c517a0bb32b8b506539d4d unstaged_modification
1 AM N... 000000 100644 100644 0000000000000000000000000000000000000000 d00491fd7e5bb6fa28c517a0bb32b8b506539d4d unstaged_modification_excluded
? .gitignore
? dir_to_file
? untracked
? untracked_dir/
! dir_to_file_excluded
! untracked_dir/untracked_excluded
! untracked_dir_empty_excluded/
! untracked_dir_excluded/
! untracked_excluded
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --porcelain=v2 --ignored=traditional
1 AD N... 000000 100644 000000 0000000000000000000000000000000000000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 dir_to_file/.gitkeep
1 AD N... 000000 100644 000000 0000000000000000000000000000000000000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 dir_to_file_excluded/.gitkeep
1 AD N... 000000 100644 000000 0000000000000000000000000000000000000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 file_to_dir
1 AD N... 000000 100644 000000 0000000000000000000000000000000000000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 file_to_dir_empty
1 AD N... 000000 100644 000000 0000000000000000000000000000000000000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 file_to_dir_empty_excluded
1 AD N... 000000 100644 000000 0000000000000000000000000000000000000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 file_to_dir_excluded
1 AD N... 000000 100644 000000 0000000000000000000000000000000000000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 unstaged_deletion
1 AD N... 000000 100644 000000 0000000000000000000000000000000000000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 unstaged_deletion_excluded
1 AM N... 000000 100644 100644 0000000000000000000000000000000000000000 d00491fd7e5bb6fa28c517a0bb32b8b506539d4d unstaged_modification
1 AM N... 000000 100644 100644 0000000000000000000000000000000000000000 d00491fd7e5bb6fa28c517a0bb32b8b506539d4d unstaged_modification_excluded
? .gitignore
? dir_to_file
? untracked
? untracked_dir/
! dir_to_file_excluded
! untracked_dir/untracked_excluded
! untracked_dir_excluded/
! untracked_excluded
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ mkdir --parents -- './repo/untracked_dir_empty' './repo/untracked_dir_empty_excluded' './repo/untracked_dir' './repo/untracked_dir_excluded'; touch -- './repo/untracked' './repo/untracked_excluded' './repo/untracked_dir/untracked' './repo/untracked_dir/untracked_excluded' './repo/untracked_dir_excluded/untracked' './repo/untracked_dir_excluded/untracked_excluded'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ touch -- './repo/unstaged_deletion' './repo/unstaged_deletion_excluded'; git -C './repo' add './unstaged_deletion' './unstaged_deletion_excluded'; rm -- './repo/unstaged_deletion' './repo/unstaged_deletion_excluded'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/unstaged_modification'; echo '1' >'./repo/unstaged_modification_excluded'; git -C './repo' add './unstaged_modification' './unstaged_modification_excluded'; echo '2' >'./repo/unstaged_modification'; echo '2' >'./repo/unstaged_modification_excluded'
warning: in the working copy of 'unstaged_modification', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'unstaged_modification_excluded', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ mkdir --parents -- './repo/dir_to_file' './repo/dir_to_file_excluded'; touch -- './repo/file_to_dir' './repo/file_to_dir_excluded' './repo/file_to_dir_empty' './repo/file_to_dir_empty_excluded' './repo/dir_to_file/.gitkeep' './repo/dir_to_file_excluded/.gitkeep'; git -C './repo' add './file_to_dir' './file_to_dir_excluded' './file_to_dir_empty' './file_to_dir_empty_excluded' './dir_to_file' './dir_to_file_excluded'; rm --recursive -- './repo/file_to_dir' './repo/file_to_dir_excluded' './repo/file_to_dir_empty' './repo/file_to_dir_empty_excluded' './repo/dir_to_file' './repo/dir_to_file_excluded'; mkdir --parents -- './repo/file_to_dir' './repo/file_to_dir_excluded' './repo/file_to_dir_empty' './repo/file_to_dir_empty_excluded'; touch -- './repo/dir_to_file' './repo/dir_to_file_excluded' './repo/file_to_dir/.gitkeep' './repo/file_to_dir_excluded/.gitkeep'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '*_excluded' >'./repo/.gitignore'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex '.' -not -regex './repo/.git/hooks/.*' -regextype 'posix-extended'
./ d/0o040/directory rwxr-xr-x/0o755
├╴repo/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴.git/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴config -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 [core]\n
│ │ │ 2 \trepositoryformatversion = 0\n
│ │ │ 3 \tfilemode = false\n
│ │ │ 4 \tbare = false\n
│ │ │ 5 \tlogallrefupdates = true\n
│ │ │ 6 \tignorecase = true\n
│ │ │ 7
│ │ ├╴description -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 Unnamed repository; edit this file 'description' to name the repository.\n
│ │ │ 2
│ │ ├╴HEAD -/0o100/regular file rw-r--r--/0o644
│ │ │ 1 ref: refs/heads/master\n
│ │ │ 2
│ │ ├╴hooks/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴index -/0o100/regular file rw-r--r--/0o644
│ │ ├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴exclude -/0o100/regular file rw-r--r--/0o644
│ │ │ │ 1 # git ls-files --others --exclude-from=.git/info/exclude\n
│ │ │ │ 2 # Lines that start with '#' are comments.\n
│ │ │ │ 3 # For a project mostly in C, the following would be a good set of\n
│ │ │ │ 4 # exclude patterns (uncomment them if you want to use them):\n
│ │ │ │ 5 # *.[oa]\n
│ │ │ │ 6 # *~\n
│ │ │ │ 7
│ │ ├╴objects/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴d0/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴0491fd7e5bb6fa28c517a0bb32b8b506539d4d -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴e6/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ │ ├╴9de29bb2d1d6434b8b29ae775ad8c2e48c5391 -/0o100/regular file r--r--r--/0o444
│ │ │ ├╴info/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴pack/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴refs/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴heads/ d/0o040/directory rwxr-xr-x/0o755
│ │ │ ├╴tags/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴.gitignore -/0o100/regular file rw-r--r--/0o644
│ │ 1 *_excluded\n
│ │ 2
│ ├╴dir_to_file -/0o100/regular empty file rw-r--r--/0o644
│ │ 1
│ ├╴dir_to_file_excluded -/0o100/regular empty file rw-r--r--/0o644
│ │ 1
│ ├╴file_to_dir/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴.gitkeep -/0o100/regular empty file rw-r--r--/0o644
│ │ │ 1
│ ├╴file_to_dir_empty/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴file_to_dir_empty_excluded/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴file_to_dir_excluded/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴.gitkeep -/0o100/regular empty file rw-r--r--/0o644
│ │ │ 1
│ ├╴unstaged_modification -/0o100/regular file rw-r--r--/0o644
│ │ 1 2\n
│ │ 2
│ ├╴unstaged_modification_excluded -/0o100/regular file rw-r--r--/0o644
│ │ 1 2\n
│ │ 2
│ ├╴untracked -/0o100/regular empty file rw-r--r--/0o644
│ │ 1
│ ├╴untracked_dir/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴untracked -/0o100/regular empty file rw-r--r--/0o644
│ │ │ 1
│ │ ├╴untracked_excluded -/0o100/regular empty file rw-r--r--/0o644
│ │ │ 1
│ ├╴untracked_dir_empty/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴untracked_dir_empty_excluded/ d/0o040/directory rwxr-xr-x/0o755
│ ├╴untracked_dir_excluded/ d/0o040/directory rwxr-xr-x/0o755
│ │ ├╴untracked -/0o100/regular empty file rw-r--r--/0o644
│ │ │ 1
│ │ ├╴untracked_excluded -/0o100/regular empty file rw-r--r--/0o644
│ │ │ 1
│ ├╴untracked_excluded -/0o100/regular empty file rw-r--r--/0o644
│ │ 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --short --untracked-files=no --ignored=no
AD dir_to_file/.gitkeep
AD dir_to_file_excluded/.gitkeep
AD file_to_dir
AD file_to_dir_empty
AD file_to_dir_empty_excluded
AD file_to_dir_excluded
AD unstaged_deletion
AD unstaged_deletion_excluded
AM unstaged_modification
AM unstaged_modification_excluded
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --short --untracked-files=no --ignored=matching
fatal: Unsupported combination of ignored and untracked-files arguments
jhcarl0814@jhcarl0814 UCRT64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --short --untracked-files=no --ignored=traditional
AD dir_to_file/.gitkeep
AD dir_to_file_excluded/.gitkeep
AD file_to_dir
AD file_to_dir_empty
AD file_to_dir_empty_excluded
AD file_to_dir_excluded
AD unstaged_deletion
AD unstaged_deletion_excluded
AM unstaged_modification
AM unstaged_modification_excluded
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --short --untracked-files=normal --ignored=no
AD dir_to_file/.gitkeep
AD dir_to_file_excluded/.gitkeep
AD file_to_dir
AD file_to_dir_empty
AD file_to_dir_empty_excluded
AD file_to_dir_excluded
AD unstaged_deletion
AD unstaged_deletion_excluded
AM unstaged_modification
AM unstaged_modification_excluded
?? .gitignore
?? dir_to_file
?? untracked
?? untracked_dir/
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --short --untracked-files=normal --ignored=matching
AD dir_to_file/.gitkeep
AD dir_to_file_excluded/.gitkeep
AD file_to_dir
AD file_to_dir_empty
AD file_to_dir_empty_excluded
AD file_to_dir_excluded
AD unstaged_deletion
AD unstaged_deletion_excluded
AM unstaged_modification
AM unstaged_modification_excluded
?? .gitignore
?? dir_to_file
?? untracked
?? untracked_dir/
!! dir_to_file_excluded
!! untracked_dir/untracked_excluded
!! untracked_dir_empty_excluded/
!! untracked_dir_excluded/
!! untracked_excluded
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --short --untracked-files=normal --ignored=traditional
AD dir_to_file/.gitkeep
AD dir_to_file_excluded/.gitkeep
AD file_to_dir
AD file_to_dir_empty
AD file_to_dir_empty_excluded
AD file_to_dir_excluded
AD unstaged_deletion
AD unstaged_deletion_excluded
AM unstaged_modification
AM unstaged_modification_excluded
?? .gitignore
?? dir_to_file
?? untracked
?? untracked_dir/
!! dir_to_file_excluded
!! untracked_dir/untracked_excluded
!! untracked_dir_excluded/
!! untracked_excluded
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --short --untracked-files=all --ignored=no
AD dir_to_file/.gitkeep
AD dir_to_file_excluded/.gitkeep
AD file_to_dir
AD file_to_dir_empty
AD file_to_dir_empty_excluded
AD file_to_dir_excluded
AD unstaged_deletion
AD unstaged_deletion_excluded
AM unstaged_modification
AM unstaged_modification_excluded
?? .gitignore
?? dir_to_file
?? file_to_dir/.gitkeep
?? untracked
?? untracked_dir/untracked
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --short --untracked-files=all --ignored=matching
AD dir_to_file/.gitkeep
AD dir_to_file_excluded/.gitkeep
AD file_to_dir
AD file_to_dir_empty
AD file_to_dir_empty_excluded
AD file_to_dir_excluded
AD unstaged_deletion
AD unstaged_deletion_excluded
AM unstaged_modification
AM unstaged_modification_excluded
?? .gitignore
?? dir_to_file
?? file_to_dir/.gitkeep
?? untracked
?? untracked_dir/untracked
!! dir_to_file_excluded
!! untracked_dir/untracked_excluded
!! untracked_dir_empty_excluded/
!! untracked_dir_excluded/
!! untracked_excluded
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --short --untracked-files=all --ignored=traditional
AD dir_to_file/.gitkeep
AD dir_to_file_excluded/.gitkeep
AD file_to_dir
AD file_to_dir_empty
AD file_to_dir_empty_excluded
AD file_to_dir_excluded
AD unstaged_deletion
AD unstaged_deletion_excluded
AM unstaged_modification
AM unstaged_modification_excluded
?? .gitignore
?? dir_to_file
?? file_to_dir/.gitkeep
?? untracked
?? untracked_dir/untracked
!! dir_to_file_excluded
!! file_to_dir_excluded/.gitkeep
!! untracked_dir/untracked_excluded
!! untracked_dir_excluded/untracked
!! untracked_dir_excluded/untracked_excluded
!! untracked_excluded
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e '1\n2\n5' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 940a4cc] 1
1 file changed, 3 insertions(+)
create mode 100644 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e '1\n3\n5' >'./repo/file'; git -C './repo' add './file'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e '1\n4\n5' >'./repo/file'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --long --show-stash
On branch master
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
modified: file
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --short --show-stash
MM file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --porcelain=v1 --show-stash
MM file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --porcelain=v2 --show-stash
1 MM N... 100644 100644 100644 c7282027d1875479bb99724d26b3d1109ebf8b60 403ec31f0a10be94cad6ab8663f2d508869a06b0 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' stash
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
Saved working directory and index state WIP on master: 940a4cc 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --long --show-stash
On branch master
nothing to commit, working tree clean
Your stash currently has 1 entry
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --short --show-stash
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --porcelain=v1 --show-stash
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --porcelain=v2 --show-stash
# stash 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' stash pop
On branch master
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: file
no changes added to commit (use "git add" and/or "git commit -a")
Dropped refs/stash@{0} (3518b203f90d35f9bdeb5c9328ea072cb50700b4)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --long --show-stash
On branch master
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: file
no changes added to commit (use "git add" and/or "git commit -a")
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --short --show-stash
M file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --porcelain=v1 --show-stash
M file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --porcelain=v2 --show-stash
1 .M N... 100644 100644 100644 c7282027d1875479bb99724d26b3d1109ebf8b60 c7282027d1875479bb99724d26b3d1109ebf8b60 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ mkdir --parents -- './repo/untracked_dir_empty' './repo/untracked_dir'; touch -- './repo/untracked' './repo/untracked_dir/untracked'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ touch -- './repo/unstaged_deletion'; git -C './repo' add './unstaged_deletion'; rm -- './repo/unstaged_deletion'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/unstaged_modification'; git -C './repo' add './unstaged_modification'; echo '2' >'./repo/unstaged_modification'
warning: in the working copy of 'unstaged_modification', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ mkdir --parents -- './repo/dir_to_file'; touch -- './repo/file_to_dir' './repo/file_to_dir_empty' './repo/dir_to_file/.gitkeep'; git -C './repo' add './file_to_dir' './file_to_dir_empty' './dir_to_file'; rm --recursive -- './repo/file_to_dir' './repo/file_to_dir_empty' './repo/dir_to_file'; mkdir --parents -- './repo/file_to_dir' './repo/file_to_dir_empty'; touch -- './repo/dir_to_file' './repo/file_to_dir/.gitkeep'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --long
On branch master
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: dir_to_file/.gitkeep
new file: file_to_dir
new file: file_to_dir_empty
new file: unstaged_deletion
new file: unstaged_modification
Changes not staged for commit:
(use "git add/rm <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
deleted: dir_to_file/.gitkeep
deleted: file_to_dir
deleted: file_to_dir_empty
deleted: unstaged_deletion
modified: unstaged_modification
Untracked files:
(use "git add <file>..." to include in what will be committed)
dir_to_file
untracked
untracked_dir/
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --long --verbose
On branch master
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: dir_to_file/.gitkeep
new file: file_to_dir
new file: file_to_dir_empty
new file: unstaged_deletion
new file: unstaged_modification
Changes not staged for commit:
(use "git add/rm <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
deleted: dir_to_file/.gitkeep
deleted: file_to_dir
deleted: file_to_dir_empty
deleted: unstaged_deletion
modified: unstaged_modification
Untracked files:
(use "git add <file>..." to include in what will be committed)
dir_to_file
untracked
untracked_dir/
diff --git a/dir_to_file/.gitkeep b/dir_to_file/.gitkeep
new file mode 100644
index 0000000..e69de29
diff --git a/file_to_dir b/file_to_dir
new file mode 100644
index 0000000..e69de29
diff --git a/file_to_dir_empty b/file_to_dir_empty
new file mode 100644
index 0000000..e69de29
diff --git a/unstaged_deletion b/unstaged_deletion
new file mode 100644
index 0000000..e69de29
diff --git a/unstaged_modification b/unstaged_modification
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/unstaged_modification
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --long --verbose --verbose
On branch master
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: dir_to_file/.gitkeep
new file: file_to_dir
new file: file_to_dir_empty
new file: unstaged_deletion
new file: unstaged_modification
Changes not staged for commit:
(use "git add/rm <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
deleted: dir_to_file/.gitkeep
deleted: file_to_dir
deleted: file_to_dir_empty
deleted: unstaged_deletion
modified: unstaged_modification
Untracked files:
(use "git add <file>..." to include in what will be committed)
dir_to_file
untracked
untracked_dir/
Changes to be committed:
diff --git c/dir_to_file/.gitkeep i/dir_to_file/.gitkeep
new file mode 100644
index 0000000..e69de29
diff --git c/file_to_dir i/file_to_dir
new file mode 100644
index 0000000..e69de29
diff --git c/file_to_dir_empty i/file_to_dir_empty
new file mode 100644
index 0000000..e69de29
diff --git c/unstaged_deletion i/unstaged_deletion
new file mode 100644
index 0000000..e69de29
diff --git c/unstaged_modification i/unstaged_modification
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ i/unstaged_modification
@@ -0,0 +1 @@
+1
--------------------------------------------------
Changes not staged for commit:
diff --git i/dir_to_file/.gitkeep w/dir_to_file/.gitkeep
deleted file mode 100644
index e69de29..0000000
diff --git i/file_to_dir w/file_to_dir
deleted file mode 100644
index e69de29..0000000
diff --git i/file_to_dir_empty w/file_to_dir_empty
deleted file mode 100644
index e69de29..0000000
diff --git i/unstaged_deletion w/unstaged_deletion
deleted file mode 100644
index e69de29..0000000
warning: in the working copy of 'unstaged_modification', LF will be replaced by CRLF the next time Git touches it
diff --git i/unstaged_modification w/unstaged_modification
index d00491f..0cfbf08 100644
--- i/unstaged_modification
+++ w/unstaged_modification
@@ -1 +1 @@
-1
+2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ mkdir --parents -- './repo/1/2/3/4/5/6'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/1/2/3/4/5/6/7'; git -C './repo' add './1/2/3/4/5/6/7'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of '1/2/3/4/5/6/7', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) cff57d6] 1
1 file changed, 1 insertion(+)
create mode 100644 1/2/3/4/5/6/7
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./repo/1/2/3/4/5/6/7'; git -C './repo' add './1/2/3/4/5/6/7'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of '1/2/3/4/5/6/7', LF will be replaced by CRLF the next time Git touches it
[master 0cc1f8a] 2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* 0cc1f8a - 2026-10-28 22:33 (0 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
|
| diff --git a/1/2/3/4/5/6/7 b/1/2/3/4/5/6/7
| index d00491f..0cfbf08 100644
| --- a/1/2/3/4/5/6/7
| +++ b/1/2/3/4/5/6/7
| @@ -1 +1 @@
| -1
| +2
* cff57d6 - 2026-10-28 22:33 (1 second ago) 1 - Han Jiang
diff --git a/1/2/3/4/5/6/7 b/1/2/3/4/5/6/7
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/1/2/3/4/5/6/7
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff 'HEAD~1' HEAD
diff --git a/1/2/3/4/5/6/7 b/1/2/3/4/5/6/7
index d00491f..0cfbf08 100644
--- a/1/2/3/4/5/6/7
+++ b/1/2/3/4/5/6/7
@@ -1 +1 @@
-1
+2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --max-depth=5 'HEAD~1' HEAD
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --max-depth=6 'HEAD~1' HEAD
diff --git a/1/2/3/4/5/6/7 b/1/2/3/4/5/6/7
index d00491f..0cfbf08 100644
--- a/1/2/3/4/5/6/7
+++ b/1/2/3/4/5/6/7
@@ -1 +1 @@
-1
+2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff 'HEAD~1' HEAD './1'
diff --git a/1/2/3/4/5/6/7 b/1/2/3/4/5/6/7
index d00491f..0cfbf08 100644
--- a/1/2/3/4/5/6/7
+++ b/1/2/3/4/5/6/7
@@ -1 +1 @@
-1
+2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --max-depth=5 'HEAD~1' HEAD './1'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --max-depth=6 'HEAD~1' HEAD './1'
diff --git a/1/2/3/4/5/6/7 b/1/2/3/4/5/6/7
index d00491f..0cfbf08 100644
--- a/1/2/3/4/5/6/7
+++ b/1/2/3/4/5/6/7
@@ -1 +1 @@
-1
+2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff 'HEAD~1' HEAD './1/2'
diff --git a/1/2/3/4/5/6/7 b/1/2/3/4/5/6/7
index d00491f..0cfbf08 100644
--- a/1/2/3/4/5/6/7
+++ b/1/2/3/4/5/6/7
@@ -1 +1 @@
-1
+2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --max-depth=4 'HEAD~1' HEAD './1/2'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --max-depth=5 'HEAD~1' HEAD './1/2'
diff --git a/1/2/3/4/5/6/7 b/1/2/3/4/5/6/7
index d00491f..0cfbf08 100644
--- a/1/2/3/4/5/6/7
+++ b/1/2/3/4/5/6/7
@@ -1 +1 @@
-1
+2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ mkdir --parents -- './repo/1/2/3/4/5/6'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/1/2/3/4/5/6/7'; git -C './repo' add './1/2/3/4/5/6/7'; git -C './repo' commit --message="$((++number))"; git -C './repo' branch branch2
warning: in the working copy of '1/2/3/4/5/6/7', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) b207395] 1
1 file changed, 1 insertion(+)
create mode 100644 1/2/3/4/5/6/7
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout -b branch1; echo '2' >'./repo/1/2/3/4/5/6/7'; git -C './repo' add './1/2/3/4/5/6/7'; git -C './repo' commit --message="$((++number))"
Switched to a new branch 'branch1'
warning: in the working copy of '1/2/3/4/5/6/7', LF will be replaced by CRLF the next time Git touches it
[branch1 5d9a845] 2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch2; echo '3' >'./repo/1/2/3/4/5/6/7'; git -C './repo' add './1/2/3/4/5/6/7'; git -C './repo' commit --message="$((++number))"
Switched to branch 'branch2'
warning: in the working copy of '1/2/3/4/5/6/7', LF will be replaced by CRLF the next time Git touches it
[branch2 e61bf9c] 3
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1
Switched to branch 'branch1'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --message="$((++number))" branch2
Auto-merging 1/2/3/4/5/6/7
CONFLICT (content): Merge conflict in 1/2/3/4/5/6/7
Automatic merge failed; fix conflicts and then commit the result.
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '4' >'./repo/1/2/3/4/5/6/7'; git -C './repo' add './1/2/3/4/5/6/7'; git -C './repo' -c 'core.editor=:' merge --continue
warning: in the working copy of '1/2/3/4/5/6/7', LF will be replaced by CRLF the next time Git touches it
[branch1 3dc0bf6] 4
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch --diff-merges=separate
* 3dc0bf6 - 2026-10-28 22:33 (1 second ago) 4 - Han Jiang (HEAD -> refs/heads/branch1)
|\
| |
| | diff --git a/1/2/3/4/5/6/7 b/1/2/3/4/5/6/7
| | index 0cfbf08..b8626c4 100644
| | --- a/1/2/3/4/5/6/7
| | +++ b/1/2/3/4/5/6/7
| | @@ -1 +1 @@
| | -2
| | +4
| | 3dc0bf6 - 2026-10-28 22:33 (1 second ago) 4 - Han Jiang (HEAD -> refs/heads/branch1)
| |
| | diff --git a/1/2/3/4/5/6/7 b/1/2/3/4/5/6/7
| | index 00750ed..b8626c4 100644
| | --- a/1/2/3/4/5/6/7
| | +++ b/1/2/3/4/5/6/7
| | @@ -1 +1 @@
| | -3
| | +4
| * e61bf9c - 2026-10-28 22:33 (2 seconds ago) 3 - Han Jiang (refs/heads/branch2)
| |
| | diff --git a/1/2/3/4/5/6/7 b/1/2/3/4/5/6/7
| | index d00491f..00750ed 100644
| | --- a/1/2/3/4/5/6/7
| | +++ b/1/2/3/4/5/6/7
| | @@ -1 +1 @@
| | -1
| | +3
* | 5d9a845 - 2026-10-28 22:33 (3 seconds ago) 2 - Han Jiang
|/
|
| diff --git a/1/2/3/4/5/6/7 b/1/2/3/4/5/6/7
| index d00491f..0cfbf08 100644
| --- a/1/2/3/4/5/6/7
| +++ b/1/2/3/4/5/6/7
| @@ -1 +1 @@
| -1
| +2
* b207395 - 2026-10-28 22:33 (4 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/1/2/3/4/5/6/7 b/1/2/3/4/5/6/7
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/1/2/3/4/5/6/7
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff HEAD 'HEAD^1' 'HEAD^2'
diff --cc 1/2/3/4/5/6/7
index 0cfbf08,00750ed..b8626c4
--- a/1/2/3/4/5/6/7
+++ b/1/2/3/4/5/6/7
@@@ -1,1 -1,1 +1,1 @@@
- 2
-3
++4
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --max-depth=5 HEAD 'HEAD^1' 'HEAD^2'
fatal: object '17d4dc7e7067e0d0e4e89ad42d50ace0a4424bdf' is not a blob!
jhcarl0814@jhcarl0814 UCRT64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --max-depth=6 HEAD 'HEAD^1' 'HEAD^2'
diff --cc 1/2/3/4/5/6/7
index 0cfbf08,00750ed..b8626c4
--- a/1/2/3/4/5/6/7
+++ b/1/2/3/4/5/6/7
@@@ -1,1 -1,1 +1,1 @@@
- 2
-3
++4
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff HEAD 'HEAD^1' 'HEAD^2' './1'
diff --cc 1/2/3/4/5/6/7
index 0cfbf08,00750ed..b8626c4
--- a/1/2/3/4/5/6/7
+++ b/1/2/3/4/5/6/7
@@@ -1,1 -1,1 +1,1 @@@
- 2
-3
++4
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --max-depth=5 HEAD 'HEAD^1' 'HEAD^2' './1'
fatal: object '17d4dc7e7067e0d0e4e89ad42d50ace0a4424bdf' is not a blob!
jhcarl0814@jhcarl0814 UCRT64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --max-depth=6 HEAD 'HEAD^1' 'HEAD^2' './1'
diff --cc 1/2/3/4/5/6/7
index 0cfbf08,00750ed..b8626c4
--- a/1/2/3/4/5/6/7
+++ b/1/2/3/4/5/6/7
@@@ -1,1 -1,1 +1,1 @@@
- 2
-3
++4
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff HEAD 'HEAD^1' 'HEAD^2' './1/2'
diff --cc 1/2/3/4/5/6/7
index 0cfbf08,00750ed..b8626c4
--- a/1/2/3/4/5/6/7
+++ b/1/2/3/4/5/6/7
@@@ -1,1 -1,1 +1,1 @@@
- 2
-3
++4
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --max-depth=4 HEAD 'HEAD^1' 'HEAD^2' './1/2'
fatal: object '17d4dc7e7067e0d0e4e89ad42d50ace0a4424bdf' is not a blob!
jhcarl0814@jhcarl0814 UCRT64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --max-depth=5 HEAD 'HEAD^1' 'HEAD^2' './1/2'
fatal: object '90be9bdb74a7a0e2306b87ae78f45dbaf5b76123' is not a blob!
jhcarl0814@jhcarl0814 UCRT64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e 'a\na\n1\na\na\na\na\na\na\n2\na\na' >'./repo/file'; git -C './repo' add './file'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e 'a\na\n2\na\na\na\na\na\na\n3\na\na' >'./repo/file'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --diff-algorithm=myers
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git a/file b/file
index 8953a01..fba68d9 100644
--- a/file
+++ b/file
@@ -1,12 +1,12 @@
a
a
-1
+2
a
a
a
a
a
a
-2
+3
a
a
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --diff-algorithm=minimal
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git a/file b/file
index 8953a01..fba68d9 100644
--- a/file
+++ b/file
@@ -1,12 +1,12 @@
a
a
-1
+2
a
a
a
a
a
a
-2
+3
a
a
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --diff-algorithm=patience
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git a/file b/file
index 8953a01..fba68d9 100644
--- a/file
+++ b/file
@@ -1,12 +1,12 @@
a
a
-1
-a
-a
-a
-a
-a
-a
2
a
a
+a
+a
+a
+a
+3
+a
+a
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --diff-algorithm=histogram
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git a/file b/file
index 8953a01..fba68d9 100644
--- a/file
+++ b/file
@@ -1,12 +1,12 @@
a
a
-1
-a
-a
-a
-a
-a
-a
2
a
a
+a
+a
+a
+a
+3
+a
+a
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --anchored='2'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git a/file b/file
index 8953a01..fba68d9 100644
--- a/file
+++ b/file
@@ -1,12 +1,12 @@
a
a
-1
-a
-a
-a
-a
-a
-a
2
a
a
+a
+a
+a
+a
+3
+a
+a
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e 'a{\na\n}\n\nb{\nb\n}' >'./repo/file'; git -C './repo' add './file'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e 'a{\na\n}\n\nc{\nc\n}\n\nb{\nb\n}' >'./repo/file'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --diff-algorithm=myers
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git a/file b/file
index 1432fe4..31c4488 100644
--- a/file
+++ b/file
@@ -2,6 +2,10 @@ a{
a
}
+c{
+c
+}
+
b{
b
}
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --diff-algorithm=minimal
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git a/file b/file
index 1432fe4..31c4488 100644
--- a/file
+++ b/file
@@ -2,6 +2,10 @@ a{
a
}
+c{
+c
+}
+
b{
b
}
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --diff-algorithm=patience
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git a/file b/file
index 1432fe4..31c4488 100644
--- a/file
+++ b/file
@@ -2,6 +2,10 @@ a{
a
}
+c{
+c
+}
+
b{
b
}
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --diff-algorithm=histogram
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git a/file b/file
index 1432fe4..31c4488 100644
--- a/file
+++ b/file
@@ -2,6 +2,10 @@ a{
a
}
+c{
+c
+}
+
b{
b
}
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e 'a{\na\n}\n\nb{\nb\n}' >'./repo/file'; git -C './repo' add './file'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e 'a{\nb\n}\n\nc{\nc\n}\n\nb{\na\n}' >'./repo/file'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --diff-algorithm=myers
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git a/file b/file
index 1432fe4..2cca53a 100644
--- a/file
+++ b/file
@@ -1,7 +1,11 @@
a{
-a
+b
+}
+
+c{
+c
}
b{
-b
+a
}
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --diff-algorithm=minimal
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git a/file b/file
index 1432fe4..2cca53a 100644
--- a/file
+++ b/file
@@ -1,7 +1,11 @@
a{
-a
+b
+}
+
+c{
+c
}
b{
-b
+a
}
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --diff-algorithm=patience
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git a/file b/file
index 1432fe4..2cca53a 100644
--- a/file
+++ b/file
@@ -1,7 +1,11 @@
a{
-a
-}
-
-b{
b
}
+
+c{
+c
+}
+
+b{
+a
+}
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --diff-algorithm=histogram
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git a/file b/file
index 1432fe4..2cca53a 100644
--- a/file
+++ b/file
@@ -1,7 +1,11 @@
a{
-a
+b
+}
+
+c{
+c
}
b{
-b
+a
}
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e 'a{\na\na\n}\n\nb{\nb\nb\n}' >'./repo/file'; git -C './repo' add './file'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e 'a{\nb\na\n}\n\nc{\nc\n}\n\nb{\na\nb\n}' >'./repo/file'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --diff-algorithm=myers
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git a/file b/file
index 8844411..8d4a744 100644
--- a/file
+++ b/file
@@ -1,9 +1,13 @@
a{
+b
a
-a
+}
+
+c{
+c
}
b{
-b
+a
b
}
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --diff-algorithm=minimal
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git a/file b/file
index 8844411..8d4a744 100644
--- a/file
+++ b/file
@@ -1,9 +1,13 @@
a{
+b
a
-a
+}
+
+c{
+c
}
b{
-b
+a
b
}
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --diff-algorithm=patience
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git a/file b/file
index 8844411..8d4a744 100644
--- a/file
+++ b/file
@@ -1,9 +1,13 @@
a{
+b
a
-a
+}
+
+c{
+c
}
b{
-b
+a
b
}
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --diff-algorithm=histogram
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git a/file b/file
index 8844411..8d4a744 100644
--- a/file
+++ b/file
@@ -1,9 +1,13 @@
a{
-a
+b
a
}
+c{
+c
+}
+
b{
-b
+a
b
}
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e 'a{\na\nd\n}\n\nb{\nb\ne\n}\n\nc{\nc\nf\n}' >'./repo/file'; git -C './repo' add './file'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e 'a{\nb\nf\n}\n\nb{\nc\nd\n}\n\nc{\na\ne\n}' >'./repo/file'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --color-moved=plain
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git a/file b/file
index df6f6da..973e43a 100644
--- a/file
+++ b/file
@@ -1,14 +1,14 @@
a{
-a
-d
+b
+f
}
b{
-b
-e
+c
+d
}
c{
-c
-f
+a
+e
}
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --color-moved=blocks
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git a/file b/file
index df6f6da..973e43a 100644
--- a/file
+++ b/file
@@ -1,14 +1,14 @@
a{
-a
-d
+b
+f
}
b{
-b
-e
+c
+d
}
c{
-c
-f
+a
+e
}
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --color-moved=zebra
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git a/file b/file
index df6f6da..973e43a 100644
--- a/file
+++ b/file
@@ -1,14 +1,14 @@
a{
-a
-d
+b
+f
}
b{
-b
-e
+c
+d
}
c{
-c
-f
+a
+e
}
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e 'a{\naaaaaaaaaaaaaaaaaaaa\ndddddddddddddddddddd\n}\n\nb{\nbbbbbbbbbbbbbbbbbbbb\neeeeeeeeeeeeeeeeeeee\n}\n\nc{\ncccccccccccccccccccc\nffffffffffffffffffff\n}' >'./repo/file'; git -C './repo' add './file'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e 'a{\nbbbbbbbbbbbbbbbbbbbb\nffffffffffffffffffff\n}\n\nb{\ncccccccccccccccccccc\ndddddddddddddddddddd\n}\n\nc{\naaaaaaaaaaaaaaaaaaaa\neeeeeeeeeeeeeeeeeeee\n}' >'./repo/file'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --color-moved=plain
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git a/file b/file
index 93cc72d..71596a2 100644
--- a/file
+++ b/file
@@ -1,14 +1,14 @@
a{
-aaaaaaaaaaaaaaaaaaaa
-dddddddddddddddddddd
+bbbbbbbbbbbbbbbbbbbb
+ffffffffffffffffffff
}
b{
-bbbbbbbbbbbbbbbbbbbb
-eeeeeeeeeeeeeeeeeeee
+cccccccccccccccccccc
+dddddddddddddddddddd
}
c{
-cccccccccccccccccccc
-ffffffffffffffffffff
+aaaaaaaaaaaaaaaaaaaa
+eeeeeeeeeeeeeeeeeeee
}
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --color-moved=blocks
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git a/file b/file
index 93cc72d..71596a2 100644
--- a/file
+++ b/file
@@ -1,14 +1,14 @@
a{
-aaaaaaaaaaaaaaaaaaaa
-dddddddddddddddddddd
+bbbbbbbbbbbbbbbbbbbb
+ffffffffffffffffffff
}
b{
-bbbbbbbbbbbbbbbbbbbb
-eeeeeeeeeeeeeeeeeeee
+cccccccccccccccccccc
+dddddddddddddddddddd
}
c{
-cccccccccccccccccccc
-ffffffffffffffffffff
+aaaaaaaaaaaaaaaaaaaa
+eeeeeeeeeeeeeeeeeeee
}
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --color-moved=zebra
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git a/file b/file
index 93cc72d..71596a2 100644
--- a/file
+++ b/file
@@ -1,14 +1,14 @@
a{
-aaaaaaaaaaaaaaaaaaaa
-dddddddddddddddddddd
+bbbbbbbbbbbbbbbbbbbb
+ffffffffffffffffffff
}
b{
-bbbbbbbbbbbbbbbbbbbb
-eeeeeeeeeeeeeeeeeeee
+cccccccccccccccccccc
+dddddddddddddddddddd
}
c{
-cccccccccccccccccccc
-ffffffffffffffffffff
+aaaaaaaaaaaaaaaaaaaa
+eeeeeeeeeeeeeeeeeeee
}
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e 'a b d\ne g h' >'./repo/file'; git -C './repo' add './file'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e 'a c d\nf g i' >'./repo/file'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --word-diff=color
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git a/file b/file
index e0a6033..9305ce5 100644
--- a/file
+++ b/file
@@ -1,2 +1,2 @@
a bc d
ef g hi
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --word-diff=plain
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git a/file b/file
index e0a6033..9305ce5 100644
--- a/file
+++ b/file
@@ -1,2 +1,2 @@
a [-b-]{+c+} d
[-e-]{+f+} g [-h-]{+i+}
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --word-diff=porcelain
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git a/file b/file
index e0a6033..9305ce5 100644
--- a/file
+++ b/file
@@ -1,2 +1,2 @@
a
-b
+c
d
~
-e
+f
g
-h
+i
~
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo 'a<b' >'./repo/file'; git -C './repo' add './file'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo 'a++<=b' >'./repo/file'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --word-diff=plain
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git a/file b/file
index e2f2681..581a9fd 100644
--- a/file
+++ b/file
@@ -1 +1 @@
[-a<b-]{+a++<=b+}
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --word-diff=plain --word-diff-regex='[A-Za-z0-9_]+|[^[:space:]]'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git a/file b/file
index e2f2681..581a9fd 100644
--- a/file
+++ b/file
@@ -1 +1 @@
a{++++}<{+=+}b
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --word-diff=plain --word-diff-regex='[A-Za-z0-9_]+|\+\+|--|<|<=|>|>=|==|!='
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git a/file b/file
index e2f2681..581a9fd 100644
--- a/file
+++ b/file
@@ -1 +1 @@
a[-<-]{+++<=+}b
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ touch './repo/file1'; git -C './repo' add './file1'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ mv './repo/file1' './repo/file2'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff
diff --git a/file1 b/file1
deleted file mode 100644
index e69de29..0000000
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --rename-empty
diff --git a/file1 b/file1
deleted file mode 100644
index e69de29..0000000
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' add --intent-to-add './file2'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff
diff --git a/file1 b/file2
similarity index 100%
rename from file1
rename to file2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --no-rename-empty
diff --git a/file1 b/file1
deleted file mode 100644
index e69de29..0000000
diff --git a/file2 b/file2
new file mode 100644
index 0000000..e69de29
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --no-renames
diff --git a/file1 b/file1
deleted file mode 100644
index e69de29..0000000
diff --git a/file2 b/file2
new file mode 100644
index 0000000..e69de29
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e '0\n1\n2\n3\n4\n5\n6\n7\n8\n9' >'./repo/file1'; git -C './repo' add './file1'; rm './repo/file1'
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ seq --format='%40g' 0 9 >'./repo/file2'; git -C './repo' add './file2'; echo -e '0\n1\n2\n3\n4\n5\n6\n7\n8\n9' >'./repo/file2'
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ seq --format='%40g' 0 9 >'./repo/file3'; git -C './repo' add --intent-to-add './file3'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --no-renames
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
diff --git a/file1 b/file1
deleted file mode 100644
index 8b1acc1..0000000
--- a/file1
+++ /dev/null
@@ -1,10 +0,0 @@
-0
-1
-2
-3
-4
-5
-6
-7
-8
-9
diff --git a/file2 b/file2
index 40168fb..8b1acc1 100644
--- a/file2
+++ b/file2
@@ -1,10 +1,10 @@
- 0
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
+0
+1
+2
+3
+4
+5
+6
+7
+8
+9
warning: in the working copy of 'file3', LF will be replaced by CRLF the next time Git touches it
diff --git a/file3 b/file3
new file mode 100644
index 0000000..40168fb
--- /dev/null
+++ b/file3
@@ -0,0 +1,10 @@
+ 0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --break-rewrites --no-renames
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
diff --git a/file1 b/file1
deleted file mode 100644
index 8b1acc1..0000000
--- a/file1
+++ /dev/null
@@ -1,10 +0,0 @@
-0
-1
-2
-3
-4
-5
-6
-7
-8
-9
diff --git a/file2 b/file2
dissimilarity index 100%
index 40168fb..8b1acc1 100644
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
--- a/file2
+++ b/file2
@@ -1,10 +1,10 @@
- 0
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
+0
+1
+2
+3
+4
+5
+6
+7
+8
+9
warning: in the working copy of 'file3', LF will be replaced by CRLF the next time Git touches it
diff --git a/file3 b/file3
new file mode 100644
index 0000000..40168fb
--- /dev/null
+++ b/file3
@@ -0,0 +1,10 @@
+ 0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file3', LF will be replaced by CRLF the next time Git touches it
diff --git a/file1 b/file1
deleted file mode 100644
index 8b1acc1..0000000
--- a/file1
+++ /dev/null
@@ -1,10 +0,0 @@
-0
-1
-2
-3
-4
-5
-6
-7
-8
-9
diff --git a/file2 b/file2
index 40168fb..8b1acc1 100644
--- a/file2
+++ b/file2
@@ -1,10 +1,10 @@
- 0
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
+0
+1
+2
+3
+4
+5
+6
+7
+8
+9
warning: in the working copy of 'file3', LF will be replaced by CRLF the next time Git touches it
diff --git a/file3 b/file3
new file mode 100644
index 0000000..40168fb
--- /dev/null
+++ b/file3
@@ -0,0 +1,10 @@
+ 0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --break-rewrites
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file3', LF will be replaced by CRLF the next time Git touches it
diff --git a/file1 b/file2
similarity index 100%
rename from file1
rename to file2
diff --git a/file2 b/file3
similarity index 100%
rename from file2
rename to file3
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ seq --format='%80g' 0 19 >'./repo/file1'; git -C './repo' add './file1'
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ cat <(yes 'a' | head --lines=5) <(seq --format='%80g' 0 4) >'./repo/file1'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!=95002 $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
diff --git a/file1 b/file1
index 9e9f796..e521ce0 100644
--- a/file1
+++ b/file1
@@ -1,20 +1,10 @@
+a
+a
+a
+a
+a
0
1
2
3
4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!=95002 $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --break-rewrites='75%/75%'
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
diff --git a/file1 b/file1
dissimilarity index 75%
index 9e9f796..e521ce0 100644
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
--- a/file1
+++ b/file1
@@ -1,20 +1,10 @@
- 0
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
+a
+a
+a
+a
+a
+ 0
+ 1
+ 2
+ 3
+ 4
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!=95002 $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --break-rewrites='76%/75%'
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
diff --git a/file1 b/file1
index 9e9f796..e521ce0 100644
--- a/file1
+++ b/file1
@@ -1,20 +1,10 @@
+a
+a
+a
+a
+a
0
1
2
3
4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!=95002 $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --break-rewrites='75%/76%'
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
diff --git a/file1 b/file1
index 9e9f796..e521ce0 100644
--- a/file1
+++ b/file1
@@ -1,20 +1,10 @@
+a
+a
+a
+a
+a
0
1
2
3
4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!=95002 $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ seq --format='%80g' 0 9 >'./repo/file1'; git -C './repo' add './file1'
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ cat <(seq --format='%80g' 0 4) <(yes 'a' | head --lines=15) >'./repo/file1'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!=95157 $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
diff --git a/file1 b/file1
index 1e373ae..eb9f171 100644
--- a/file1
+++ b/file1
@@ -3,8 +3,18 @@
2
3
4
- 5
- 6
- 7
- 8
- 9
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!=95157 $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --break-rewrites='53%/50%'
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
diff --git a/file1 b/file1
dissimilarity index 50%
index 1e373ae..eb9f171 100644
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
--- a/file1
+++ b/file1
@@ -1,10 +1,20 @@
- 0
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
+ 0
+ 1
+ 2
+ 3
+ 4
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!=95157 $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --break-rewrites='54%/50%'
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
diff --git a/file1 b/file1
index 1e373ae..eb9f171 100644
--- a/file1
+++ b/file1
@@ -3,8 +3,18 @@
2
3
4
- 5
- 6
- 7
- 8
- 9
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!=95157 $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --break-rewrites='53%/51%'
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
diff --git a/file1 b/file1
index 1e373ae..eb9f171 100644
--- a/file1
+++ b/file1
@@ -3,8 +3,18 @@
2
3
4
- 5
- 6
- 7
- 8
- 9
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!=95157 $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ cat <(yes 'b' | head --lines=5) <(seq --format='%80g' 0 4) >'./repo/file1'; git -C './repo' add './file1'
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!=95303 $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ seq --format='%80g' 0 19 >'./repo/file2'; git -C './repo' add './file2'
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!=95303 $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ rm './repo/file1'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!=95303 $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ cat <(yes 'a' | head --lines=5) <(seq --format='%80g' 0 4) >'./repo/file2'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!=95333 $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
diff --git a/file1 b/file1
deleted file mode 100644
index 739d412..0000000
--- a/file1
+++ /dev/null
@@ -1,10 +0,0 @@
-b
-b
-b
-b
-b
- 0
- 1
- 2
- 3
- 4
diff --git a/file2 b/file2
index 9e9f796..e521ce0 100644
--- a/file2
+++ b/file2
@@ -1,20 +1,10 @@
+a
+a
+a
+a
+a
0
1
2
3
4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!=95333 $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --break-rewrites='75%/75%' --find-renames='97%'
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
diff --git a/file1 b/file2
similarity index 97%
rename from file1
rename to file2
index 739d412..e521ce0 100644
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
--- a/file1
+++ b/file2
@@ -1,8 +1,8 @@
-b
-b
-b
-b
-b
+a
+a
+a
+a
+a
0
1
2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!=95333 $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --break-rewrites='76%/75%' --find-renames='97%'
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
diff --git a/file1 b/file1
deleted file mode 100644
index 739d412..0000000
--- a/file1
+++ /dev/null
@@ -1,10 +0,0 @@
-b
-b
-b
-b
-b
- 0
- 1
- 2
- 3
- 4
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
diff --git a/file2 b/file2
index 9e9f796..e521ce0 100644
--- a/file2
+++ b/file2
@@ -1,20 +1,10 @@
+a
+a
+a
+a
+a
0
1
2
3
4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!=95333 $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --break-rewrites='75%/76%' --find-renames='97%'
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
diff --git a/file1 b/file2
similarity index 97%
rename from file1
rename to file2
index 739d412..e521ce0 100644
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
--- a/file1
+++ b/file2
@@ -1,8 +1,8 @@
-b
-b
-b
-b
-b
+a
+a
+a
+a
+a
0
1
2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!=95333 $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --break-rewrites='75%/75%' --find-renames='98%'
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
diff --git a/file1 b/file1
deleted file mode 100644
index 739d412..0000000
--- a/file1
+++ /dev/null
@@ -1,10 +0,0 @@
-b
-b
-b
-b
-b
- 0
- 1
- 2
- 3
- 4
diff --git a/file2 b/file2
dissimilarity index 75%
index 9e9f796..e521ce0 100644
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
--- a/file2
+++ b/file2
@@ -1,20 +1,10 @@
- 0
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
+a
+a
+a
+a
+a
+ 0
+ 1
+ 2
+ 3
+ 4
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!=95333 $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --break-rewrites='76%/75%' --find-renames='98%'
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
diff --git a/file1 b/file1
deleted file mode 100644
index 739d412..0000000
--- a/file1
+++ /dev/null
@@ -1,10 +0,0 @@
-b
-b
-b
-b
-b
- 0
- 1
- 2
- 3
- 4
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
diff --git a/file2 b/file2
index 9e9f796..e521ce0 100644
--- a/file2
+++ b/file2
@@ -1,20 +1,10 @@
+a
+a
+a
+a
+a
0
1
2
3
4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!=95333 $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --break-rewrites='75%/76%' --find-renames='98%'
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
diff --git a/file1 b/file1
deleted file mode 100644
index 739d412..0000000
--- a/file1
+++ /dev/null
@@ -1,10 +0,0 @@
-b
-b
-b
-b
-b
- 0
- 1
- 2
- 3
- 4
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
diff --git a/file2 b/file2
index 9e9f796..e521ce0 100644
--- a/file2
+++ b/file2
@@ -1,20 +1,10 @@
+a
+a
+a
+a
+a
0
1
2
3
4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!=95333 $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ cat <(seq --format='%80g' 0 4) <(yes 'b' | head --lines=5) >'./repo/file1'; git -C './repo' add './file1'
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!=95503 $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ seq --format='%80g' 0 9 >'./repo/file2'; git -C './repo' add './file2'
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!=95503 $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ rm './repo/file1'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!=95503 $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ cat <(seq --format='%80g' 0 4) <(yes 'a' | head --lines=15) >'./repo/file2'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!=95533 $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
diff --git a/file1 b/file1
deleted file mode 100644
index 799bf4f..0000000
--- a/file1
+++ /dev/null
@@ -1,10 +0,0 @@
- 0
- 1
- 2
- 3
- 4
-b
-b
-b
-b
-b
diff --git a/file2 b/file2
index 1e373ae..eb9f171 100644
--- a/file2
+++ b/file2
@@ -3,8 +3,18 @@
2
3
4
- 5
- 6
- 7
- 8
- 9
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!=95533 $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --break-rewrites='53%/50%' --find-renames='93%'
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
diff --git a/file1 b/file2
similarity index 93%
rename from file1
rename to file2
index 799bf4f..eb9f171 100644
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
--- a/file1
+++ b/file2
@@ -3,8 +3,18 @@
2
3
4
-b
-b
-b
-b
-b
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!=95533 $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --break-rewrites='54%/50%' --find-renames='93%'
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
diff --git a/file1 b/file1
deleted file mode 100644
index 799bf4f..0000000
--- a/file1
+++ /dev/null
@@ -1,10 +0,0 @@
- 0
- 1
- 2
- 3
- 4
-b
-b
-b
-b
-b
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
diff --git a/file2 b/file2
index 1e373ae..eb9f171 100644
--- a/file2
+++ b/file2
@@ -3,8 +3,18 @@
2
3
4
- 5
- 6
- 7
- 8
- 9
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!=95533 $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --break-rewrites='53%/51%' --find-renames='93%'
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
diff --git a/file1 b/file2
similarity index 93%
rename from file1
rename to file2
index 799bf4f..eb9f171 100644
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
--- a/file1
+++ b/file2
@@ -3,8 +3,18 @@
2
3
4
-b
-b
-b
-b
-b
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!=95533 $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --break-rewrites='53%/50%' --find-renames='94%'
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
diff --git a/file1 b/file1
deleted file mode 100644
index 799bf4f..0000000
--- a/file1
+++ /dev/null
@@ -1,10 +0,0 @@
- 0
- 1
- 2
- 3
- 4
-b
-b
-b
-b
-b
diff --git a/file2 b/file2
dissimilarity index 50%
index 1e373ae..eb9f171 100644
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
--- a/file2
+++ b/file2
@@ -1,10 +1,20 @@
- 0
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
+ 0
+ 1
+ 2
+ 3
+ 4
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!=95533 $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --break-rewrites='54%/50%' --find-renames='94%'
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
diff --git a/file1 b/file1
deleted file mode 100644
index 799bf4f..0000000
--- a/file1
+++ /dev/null
@@ -1,10 +0,0 @@
- 0
- 1
- 2
- 3
- 4
-b
-b
-b
-b
-b
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
diff --git a/file2 b/file2
index 1e373ae..eb9f171 100644
--- a/file2
+++ b/file2
@@ -3,8 +3,18 @@
2
3
4
- 5
- 6
- 7
- 8
- 9
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!=95533 $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --break-rewrites='53%/51%' --find-renames='94%'
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
diff --git a/file1 b/file1
deleted file mode 100644
index 799bf4f..0000000
--- a/file1
+++ /dev/null
@@ -1,10 +0,0 @@
- 0
- 1
- 2
- 3
- 4
-b
-b
-b
-b
-b
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
diff --git a/file2 b/file2
index 1e373ae..eb9f171 100644
--- a/file2
+++ b/file2
@@ -3,8 +3,18 @@
2
3
4
- 5
- 6
- 7
- 8
- 9
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!=95533 $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ seq --format='%80g' 0 19 >'./repo/file1'; git -C './repo' add './file1'
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ cat <(yes 'a' | head --lines=5) <(seq --format='%80g' 0 4) >'./repo/file1'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!=95712 $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ cat <(yes 'b' | head --lines=5) <(seq --format='%80g' 0 4) >'./repo/file2'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!=95724 $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
diff --git a/file1 b/file1
index 9e9f796..e521ce0 100644
--- a/file1
+++ b/file1
@@ -1,20 +1,10 @@
+a
+a
+a
+a
+a
0
1
2
3
4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!=95724 $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' add --intent-to-add './file2'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!=95724 $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
diff --git a/file1 b/file1
index 9e9f796..e521ce0 100644
--- a/file1
+++ b/file1
@@ -1,20 +1,10 @@
+a
+a
+a
+a
+a
0
1
2
3
4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
diff --git a/file2 b/file2
new file mode 100644
index 0000000..739d412
--- /dev/null
+++ b/file2
@@ -0,0 +1,10 @@
+b
+b
+b
+b
+b
+ 0
+ 1
+ 2
+ 3
+ 4
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!=95724 $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --break-rewrites='75%/75%' --find-copies='25%'
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
diff --git a/file1 b/file1
dissimilarity index 75%
index 9e9f796..e521ce0 100644
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
--- a/file1
+++ b/file1
@@ -1,20 +1,10 @@
- 0
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
+a
+a
+a
+a
+a
+ 0
+ 1
+ 2
+ 3
+ 4
diff --git a/file1 b/file2
similarity index 25%
copy from file1
copy to file2
index 9e9f796..739d412 100644
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
--- a/file1
+++ b/file2
@@ -1,20 +1,10 @@
+b
+b
+b
+b
+b
0
1
2
3
4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!=95724 $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --break-rewrites='76%/75%' --find-copies='25%'
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
diff --git a/file1 b/file1
index 9e9f796..e521ce0 100644
--- a/file1
+++ b/file1
@@ -1,20 +1,10 @@
+a
+a
+a
+a
+a
0
1
2
3
4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
diff --git a/file1 b/file2
similarity index 25%
copy from file1
copy to file2
index 9e9f796..739d412 100644
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
--- a/file1
+++ b/file2
@@ -1,20 +1,10 @@
+b
+b
+b
+b
+b
0
1
2
3
4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!=95724 $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --break-rewrites='75%/76%' --find-copies='25%'
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
diff --git a/file1 b/file1
index 9e9f796..e521ce0 100644
--- a/file1
+++ b/file1
@@ -1,20 +1,10 @@
+a
+a
+a
+a
+a
0
1
2
3
4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
diff --git a/file1 b/file2
similarity index 25%
copy from file1
copy to file2
index 9e9f796..739d412 100644
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
--- a/file1
+++ b/file2
@@ -1,20 +1,10 @@
+b
+b
+b
+b
+b
0
1
2
3
4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!=95724 $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --break-rewrites='75%/75%' --find-copies='26%'
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
diff --git a/file1 b/file1
dissimilarity index 75%
index 9e9f796..e521ce0 100644
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
--- a/file1
+++ b/file1
@@ -1,20 +1,10 @@
- 0
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
+a
+a
+a
+a
+a
+ 0
+ 1
+ 2
+ 3
+ 4
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
diff --git a/file2 b/file2
new file mode 100644
index 0000000..739d412
--- /dev/null
+++ b/file2
@@ -0,0 +1,10 @@
+b
+b
+b
+b
+b
+ 0
+ 1
+ 2
+ 3
+ 4
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!=95724 $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --break-rewrites='76%/75%' --find-copies='26%'
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
diff --git a/file1 b/file1
index 9e9f796..e521ce0 100644
--- a/file1
+++ b/file1
@@ -1,20 +1,10 @@
+a
+a
+a
+a
+a
0
1
2
3
4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
diff --git a/file2 b/file2
new file mode 100644
index 0000000..739d412
--- /dev/null
+++ b/file2
@@ -0,0 +1,10 @@
+b
+b
+b
+b
+b
+ 0
+ 1
+ 2
+ 3
+ 4
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!=95724 $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --break-rewrites='75%/76%' --find-copies='26%'
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
diff --git a/file1 b/file1
index 9e9f796..e521ce0 100644
--- a/file1
+++ b/file1
@@ -1,20 +1,10 @@
+a
+a
+a
+a
+a
0
1
2
3
4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
diff --git a/file2 b/file2
new file mode 100644
index 0000000..739d412
--- /dev/null
+++ b/file2
@@ -0,0 +1,10 @@
+b
+b
+b
+b
+b
+ 0
+ 1
+ 2
+ 3
+ 4
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!=95724 $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ seq --format='%80g' 0 9 >'./repo/file1'; git -C './repo' add './file1'
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ cat <(seq --format='%80g' 0 4) <(yes 'a' | head --lines=15) >'./repo/file1'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!=95919 $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ cat <(seq --format='%80g' 0 4) <(yes 'b' | head --lines=15) >'./repo/file2'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!=95931 $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
diff --git a/file1 b/file1
index 1e373ae..eb9f171 100644
--- a/file1
+++ b/file1
@@ -3,8 +3,18 @@
2
3
4
- 5
- 6
- 7
- 8
- 9
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!=95931 $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' add --intent-to-add './file2'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!=95931 $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
diff --git a/file1 b/file1
index 1e373ae..eb9f171 100644
--- a/file1
+++ b/file1
@@ -3,8 +3,18 @@
2
3
4
- 5
- 6
- 7
- 8
- 9
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
diff --git a/file2 b/file2
new file mode 100644
index 0000000..614633f
--- /dev/null
+++ b/file2
@@ -0,0 +1,20 @@
+ 0
+ 1
+ 2
+ 3
+ 4
+b
+b
+b
+b
+b
+b
+b
+b
+b
+b
+b
+b
+b
+b
+b
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!=95931 $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --break-rewrites='53%/50%' --find-copies='50%'
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
diff --git a/file1 b/file1
dissimilarity index 50%
index 1e373ae..eb9f171 100644
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
--- a/file1
+++ b/file1
@@ -1,10 +1,20 @@
- 0
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
+ 0
+ 1
+ 2
+ 3
+ 4
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
diff --git a/file1 b/file2
similarity index 50%
copy from file1
copy to file2
index 1e373ae..614633f 100644
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
--- a/file1
+++ b/file2
@@ -3,8 +3,18 @@
2
3
4
- 5
- 6
- 7
- 8
- 9
+b
+b
+b
+b
+b
+b
+b
+b
+b
+b
+b
+b
+b
+b
+b
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!=95931 $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --break-rewrites='54%/50%' --find-copies='50%'
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
diff --git a/file1 b/file1
index 1e373ae..eb9f171 100644
--- a/file1
+++ b/file1
@@ -3,8 +3,18 @@
2
3
4
- 5
- 6
- 7
- 8
- 9
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
diff --git a/file1 b/file2
similarity index 50%
copy from file1
copy to file2
index 1e373ae..614633f 100644
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
--- a/file1
+++ b/file2
@@ -3,8 +3,18 @@
2
3
4
- 5
- 6
- 7
- 8
- 9
+b
+b
+b
+b
+b
+b
+b
+b
+b
+b
+b
+b
+b
+b
+b
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!=95931 $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --break-rewrites='53%/51%' --find-copies='50%'
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
diff --git a/file1 b/file1
index 1e373ae..eb9f171 100644
--- a/file1
+++ b/file1
@@ -3,8 +3,18 @@
2
3
4
- 5
- 6
- 7
- 8
- 9
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
diff --git a/file1 b/file2
similarity index 50%
copy from file1
copy to file2
index 1e373ae..614633f 100644
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
--- a/file1
+++ b/file2
@@ -3,8 +3,18 @@
2
3
4
- 5
- 6
- 7
- 8
- 9
+b
+b
+b
+b
+b
+b
+b
+b
+b
+b
+b
+b
+b
+b
+b
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!=95931 $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --break-rewrites='53%/50%' --find-copies='51%'
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
diff --git a/file1 b/file1
dissimilarity index 50%
index 1e373ae..eb9f171 100644
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
--- a/file1
+++ b/file1
@@ -1,10 +1,20 @@
- 0
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
+ 0
+ 1
+ 2
+ 3
+ 4
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
diff --git a/file2 b/file2
new file mode 100644
index 0000000..614633f
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
--- /dev/null
+++ b/file2
@@ -0,0 +1,20 @@
+ 0
+ 1
+ 2
+ 3
+ 4
+b
+b
+b
+b
+b
+b
+b
+b
+b
+b
+b
+b
+b
+b
+b
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!=95931 $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --break-rewrites='54%/50%' --find-copies='51%'
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
diff --git a/file1 b/file1
index 1e373ae..eb9f171 100644
--- a/file1
+++ b/file1
@@ -3,8 +3,18 @@
2
3
4
- 5
- 6
- 7
- 8
- 9
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
diff --git a/file2 b/file2
new file mode 100644
index 0000000..614633f
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
--- /dev/null
+++ b/file2
@@ -0,0 +1,20 @@
+ 0
+ 1
+ 2
+ 3
+ 4
+b
+b
+b
+b
+b
+b
+b
+b
+b
+b
+b
+b
+b
+b
+b
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!=95931 $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --break-rewrites='53%/51%' --find-copies='51%'
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
diff --git a/file1 b/file1
index 1e373ae..eb9f171 100644
--- a/file1
+++ b/file1
@@ -3,8 +3,18 @@
2
3
4
- 5
- 6
- 7
- 8
- 9
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
diff --git a/file2 b/file2
new file mode 100644
index 0000000..614633f
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
--- /dev/null
+++ b/file2
@@ -0,0 +1,20 @@
+ 0
+ 1
+ 2
+ 3
+ 4
+b
+b
+b
+b
+b
+b
+b
+b
+b
+b
+b
+b
+b
+b
+b
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!=95931 $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e '0\n1\n2\n3\n4\n5\n6\n7\n8\n9' >'./repo/file1'; git -C './repo' add './file1'
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ rm './repo/file1'; echo -e '0\na\n2\na\n4\na\n6\na\n8\na' >'./repo/file2'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff
diff --git a/file1 b/file1
deleted file mode 100644
index 8b1acc1..0000000
--- a/file1
+++ /dev/null
@@ -1,10 +0,0 @@
-0
-1
-2
-3
-4
-5
-6
-7
-8
-9
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' add --intent-to-add './file2'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
diff --git a/file1 b/file2
similarity index 50%
rename from file1
rename to file2
index 8b1acc1..14e0eed 100644
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
--- a/file1
+++ b/file2
@@ -1,10 +1,10 @@
0
-1
+a
2
-3
+a
4
-5
+a
6
-7
+a
8
-9
+a
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --find-renames='50%'
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
diff --git a/file1 b/file2
similarity index 50%
rename from file1
rename to file2
index 8b1acc1..14e0eed 100644
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
--- a/file1
+++ b/file2
@@ -1,10 +1,10 @@
0
-1
+a
2
-3
+a
4
-5
+a
6
-7
+a
8
-9
+a
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --find-renames='51%'
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
diff --git a/file1 b/file1
deleted file mode 100644
index 8b1acc1..0000000
--- a/file1
+++ /dev/null
@@ -1,10 +0,0 @@
-0
-1
-2
-3
-4
-5
-6
-7
-8
-9
diff --git a/file2 b/file2
new file mode 100644
index 0000000..14e0eed
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
--- /dev/null
+++ b/file2
@@ -0,0 +1,10 @@
+0
+a
+2
+a
+4
+a
+6
+a
+8
+a
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e '0\n1\n2\n3\n4\n5\n6\n7\n8\n9' >'./repo/file1'; git -C './repo' add './file1'
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e '0\na\n2\na\n4\na\n6\na\n8\na' >'./repo/file2'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' add --intent-to-add './file2'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
diff --git a/file2 b/file2
new file mode 100644
index 0000000..14e0eed
--- /dev/null
+++ b/file2
@@ -0,0 +1,10 @@
+0
+a
+2
+a
+4
+a
+6
+a
+8
+a
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --find-copies='50%'
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
diff --git a/file2 b/file2
new file mode 100644
index 0000000..14e0eed
--- /dev/null
+++ b/file2
@@ -0,0 +1,10 @@
+0
+a
+2
+a
+4
+a
+6
+a
+8
+a
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --find-copies='51%'
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
diff --git a/file2 b/file2
new file mode 100644
index 0000000..14e0eed
--- /dev/null
+++ b/file2
@@ -0,0 +1,10 @@
+0
+a
+2
+a
+4
+a
+6
+a
+8
+a
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --find-copies-harder
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
diff --git a/file1 b/file2
similarity index 50%
copy from file1
copy to file2
index 8b1acc1..14e0eed 100644
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
--- a/file1
+++ b/file2
@@ -1,10 +1,10 @@
0
-1
+a
2
-3
+a
4
-5
+a
6
-7
+a
8
-9
+a
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --find-copies='50%' --find-copies-harder
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
diff --git a/file1 b/file2
similarity index 50%
copy from file1
copy to file2
index 8b1acc1..14e0eed 100644
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
--- a/file1
+++ b/file2
@@ -1,10 +1,10 @@
0
-1
+a
2
-3
+a
4
-5
+a
6
-7
+a
8
-9
+a
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --find-copies='51%' --find-copies-harder
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
diff --git a/file2 b/file2
new file mode 100644
index 0000000..14e0eed
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
--- /dev/null
+++ b/file2
@@ -0,0 +1,10 @@
+0
+a
+2
+a
+4
+a
+6
+a
+8
+a
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e '0\n1\n2\n3\n4\n5\n6\n7\n8\nb' >'./repo/file1'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
diff --git a/file1 b/file1
index 8b1acc1..5e161ea 100644
--- a/file1
+++ b/file1
@@ -7,4 +7,4 @@
6
7
8
-9
+b
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
diff --git a/file2 b/file2
new file mode 100644
index 0000000..14e0eed
--- /dev/null
+++ b/file2
@@ -0,0 +1,10 @@
+0
+a
+2
+a
+4
+a
+6
+a
+8
+a
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --find-copies='50%'
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
diff --git a/file1 b/file1
index 8b1acc1..5e161ea 100644
--- a/file1
+++ b/file1
@@ -7,4 +7,4 @@
6
7
8
-9
+b
diff --git a/file1 b/file2
similarity index 50%
copy from file1
copy to file2
index 8b1acc1..14e0eed 100644
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
--- a/file1
+++ b/file2
@@ -1,10 +1,10 @@
0
-1
+a
2
-3
+a
4
-5
+a
6
-7
+a
8
-9
+a
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --find-copies='51%'
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
diff --git a/file1 b/file1
index 8b1acc1..5e161ea 100644
--- a/file1
+++ b/file1
@@ -7,4 +7,4 @@
6
7
8
-9
+b
diff --git a/file2 b/file2
new file mode 100644
index 0000000..14e0eed
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
--- /dev/null
+++ b/file2
@@ -0,0 +1,10 @@
+0
+a
+2
+a
+4
+a
+6
+a
+8
+a
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e '1\na' >'./repo/file'; git -C './repo' add './file'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e 'b\n1' >'./repo/file'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff -S'1'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff -S'a'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git a/file b/file
index e439850..88e6dba 100644
--- a/file
+++ b/file
@@ -1,2 +1,2 @@
+b
1
-a
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff -S'[ab]' --pickaxe-regex
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff -G'[ab]'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git a/file b/file
index e439850..88e6dba 100644
--- a/file
+++ b/file
@@ -1,2 +1,2 @@
+b
1
-a
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file1'; git -C './repo' add './file1'; blob1="$(git -C './repo' ls-files --format='%(objectname)' './file1')"; echo "$blob1"
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
d00491fd7e5bb6fa28c517a0bb32b8b506539d4d
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file1'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./repo/file2'; git -C './repo' add './file2'; blob2="$(git -C './repo' ls-files --format='%(objectname)' './file2')"; echo "$blob2"
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
0cfbf08886fca9a91cb753ec8734c84fcbe52c9f
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ rm './repo/file2'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '3' >'./repo/file3'; git -C './repo' add './file3'; blob3="$(git -C './repo' ls-files --format='%(objectname)' './file3')"; echo "$blob3"
warning: in the working copy of 'file3', LF will be replaced by CRLF the next time Git touches it
00750edc07d6415dcc07ae0351e9397b0222b7ba
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ mv './repo/file3' './repo/file32'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '4' >'./repo/file4'; git -C './repo' add './file4'; blob4="$(git -C './repo' ls-files --format='%(objectname)' './file4')"; echo "$blob4"
warning: in the working copy of 'file4', LF will be replaced by CRLF the next time Git touches it
b8626c4cff2849624fb67f87cd0ad72b163671ad
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '4' >'./repo/file42'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage
100644 d00491fd7e5bb6fa28c517a0bb32b8b506539d4d 0 file1
100644 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f 0 file2
100644 00750edc07d6415dcc07ae0351e9397b0222b7ba 0 file3
100644 b8626c4cff2849624fb67f87cd0ad72b163671ad 0 file4
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --find-object="$blob1"
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --find-object="$blob2"
diff --git a/file2 b/file2
deleted file mode 100644
index 0cfbf08..0000000
--- a/file2
+++ /dev/null
@@ -1 +0,0 @@
-2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --find-object="$blob3"
diff --git a/file3 b/file3
deleted file mode 100644
index 00750ed..0000000
--- a/file3
+++ /dev/null
@@ -1 +0,0 @@
-3
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' add --intent-to-add './file32'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --find-object="$blob3"
warning: in the working copy of 'file32', LF will be replaced by CRLF the next time Git touches it
diff --git a/file3 b/file32
similarity index 100%
rename from file3
rename to file32
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --find-object="$blob4"
warning: in the working copy of 'file32', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' add --intent-to-add './file42'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --find-object="$blob4"
warning: in the working copy of 'file32', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file42', LF will be replaced by CRLF the next time Git touches it
diff --git a/file42 b/file42
new file mode 100644
index 0000000..b8626c4
warning: in the working copy of 'file42', LF will be replaced by CRLF the next time Git touches it
--- /dev/null
+++ b/file42
@@ -0,0 +1 @@
+4
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --find-object="$blob2" --find-object="$blob3" --find-object="$blob4"
warning: in the working copy of 'file32', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file42', LF will be replaced by CRLF the next time Git touches it
diff --git a/file2 b/file2
deleted file mode 100644
index 0cfbf08..0000000
--- a/file2
+++ /dev/null
@@ -1 +0,0 @@
-2
diff --git a/file3 b/file32
similarity index 100%
rename from file3
rename to file32
diff --git a/file42 b/file42
new file mode 100644
index 0000000..b8626c4
warning: in the working copy of 'file42', LF will be replaced by CRLF the next time Git touches it
--- /dev/null
+++ b/file42
@@ -0,0 +1 @@
+4
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e ' \t \n \ta \n \t \n \tb \n \t \n \tc \nd\n e' >'./repo/file'; git -C './repo' add './file'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e ' \t \n \ta \n \t \n \tb \n \t \n \tc \n d\ne' >'./repo/file'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --check
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
file:4: trailing whitespace, space before tab in indent.
+ b
file:5: trailing whitespace.
+
file:6: trailing whitespace, space before tab in indent.
+ c
jhcarl0814@jhcarl0814 UCRT64 $?=2 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git a/file b/file
index 8e871bd..e153ca5 100644
--- a/file
+++ b/file
@@ -1,8 +1,8 @@
a
-
- b
- c
-d
- e
+ b
+
+ c
+ d
+e
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --ws-error-highlight=old
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git a/file b/file
index 8e871bd..e153ca5 100644
--- a/file
+++ b/file
@@ -1,8 +1,8 @@
a
-
- b
- c
-d
- e
+ b
+
+ c
+ d
+e
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --ws-error-highlight=new
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git a/file b/file
index 8e871bd..e153ca5 100644
--- a/file
+++ b/file
@@ -1,8 +1,8 @@
a
-
- b
- c
-d
- e
+ b
+
+ c
+ d
+e
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --ws-error-highlight=old,context
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git a/file b/file
index 8e871bd..e153ca5 100644
--- a/file
+++ b/file
@@ -1,8 +1,8 @@
a
-
- b
- c
-d
- e
+ b
+
+ c
+ d
+e
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --ignore-space-at-eol
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git a/file b/file
index 8e871bd..e153ca5 100644
--- a/file
+++ b/file
@@ -1,8 +1,8 @@
a
- b
+ b
- c
-d
- e
+ c
+ d
+e
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --ignore-space-change
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git a/file b/file
index 8e871bd..e153ca5 100644
--- a/file
+++ b/file
@@ -4,5 +4,5 @@
b
c
-d
- e
+ d
+e
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --ignore-all-space
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./repo/file'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git a/file b/file
index d00491f..0cfbf08 100644
--- a/file
+++ b/file
@@ -1 +1 @@
-1
+2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff -R
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git b/file a/file
index 0cfbf08..d00491f 100644
--- b/file
+++ a/file
@@ -1 +1 @@
-2
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ mkdir --parents './repo/dir/dir1' './repo/dir/dir2' './repo/dir/dir3' './repo/dir/dir4';
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e '1' >'./repo/file_add'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e '2' >'./repo/file_add_intent'; git -C './repo' add --intent-to-add './file_add_intent'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e '3' >'./repo/file_modify'; git -C './repo' add './file_modify'; echo -e '4' >'./repo/file_modify'
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e '5' >'./repo/file_remove'; git -C './repo' add './file_remove'; rm './repo/file_remove'
warning: in the working copy of 'file_remove', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e '1' >'./repo/dir/dir1/file_add'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e '2' >'./repo/dir/dir2/file_add_intent'; git -C './repo' add --intent-to-add './dir/dir2/file_add_intent'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e '3' >'./repo/dir/dir3/file_modify'; git -C './repo' add './dir/dir3/file_modify'; echo -e '4' >'./repo/dir/dir3/file_modify'
warning: in the working copy of 'dir/dir3/file_modify', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e '5' >'./repo/dir/dir4/file_remove'; git -C './repo' add './dir/dir4/file_remove'; rm './repo/dir/dir4/file_remove'
warning: in the working copy of 'dir/dir4/file_remove', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --patch
warning: in the working copy of 'dir/dir3/file_modify', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'dir/dir2/file_add_intent', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file_add_intent', LF will be replaced by CRLF the next time Git touches it
diff --git a/dir/dir2/file_add_intent b/dir/dir2/file_add_intent
new file mode 100644
index 0000000..0cfbf08
warning: in the working copy of 'dir/dir2/file_add_intent', LF will be replaced by CRLF the next time Git touches it
--- /dev/null
+++ b/dir/dir2/file_add_intent
@@ -0,0 +1 @@
+2
diff --git a/dir/dir3/file_modify b/dir/dir3/file_modify
index 00750ed..b8626c4 100644
--- a/dir/dir3/file_modify
+++ b/dir/dir3/file_modify
@@ -1 +1 @@
-3
+4
diff --git a/dir/dir4/file_remove b/dir/dir4/file_remove
deleted file mode 100644
index 7ed6ff8..0000000
--- a/dir/dir4/file_remove
+++ /dev/null
@@ -1 +0,0 @@
-5
diff --git a/file_add_intent b/file_add_intent
new file mode 100644
index 0000000..0cfbf08
warning: in the working copy of 'file_add_intent', LF will be replaced by CRLF the next time Git touches it
--- /dev/null
+++ b/file_add_intent
@@ -0,0 +1 @@
+2
diff --git a/file_modify b/file_modify
index 00750ed..b8626c4 100644
--- a/file_modify
+++ b/file_modify
@@ -1 +1 @@
-3
+4
diff --git a/file_remove b/file_remove
deleted file mode 100644
index 7ed6ff8..0000000
--- a/file_remove
+++ /dev/null
@@ -1 +0,0 @@
-5
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --patch --full-index
warning: in the working copy of 'dir/dir3/file_modify', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'dir/dir2/file_add_intent', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file_add_intent', LF will be replaced by CRLF the next time Git touches it
diff --git a/dir/dir2/file_add_intent b/dir/dir2/file_add_intent
new file mode 100644
index 0000000000000000000000000000000000000000..0cfbf08886fca9a91cb753ec8734c84fcbe52c9f
warning: in the working copy of 'dir/dir2/file_add_intent', LF will be replaced by CRLF the next time Git touches it
--- /dev/null
+++ b/dir/dir2/file_add_intent
@@ -0,0 +1 @@
+2
diff --git a/dir/dir3/file_modify b/dir/dir3/file_modify
index 00750edc07d6415dcc07ae0351e9397b0222b7ba..b8626c4cff2849624fb67f87cd0ad72b163671ad 100644
--- a/dir/dir3/file_modify
+++ b/dir/dir3/file_modify
@@ -1 +1 @@
-3
+4
diff --git a/dir/dir4/file_remove b/dir/dir4/file_remove
deleted file mode 100644
index 7ed6ff82de6bcc2a78243fc9c54d3ef5ac14da69..0000000000000000000000000000000000000000
--- a/dir/dir4/file_remove
+++ /dev/null
@@ -1 +0,0 @@
-5
diff --git a/file_add_intent b/file_add_intent
new file mode 100644
index 0000000000000000000000000000000000000000..0cfbf08886fca9a91cb753ec8734c84fcbe52c9f
warning: in the working copy of 'file_add_intent', LF will be replaced by CRLF the next time Git touches it
--- /dev/null
+++ b/file_add_intent
@@ -0,0 +1 @@
+2
diff --git a/file_modify b/file_modify
index 00750edc07d6415dcc07ae0351e9397b0222b7ba..b8626c4cff2849624fb67f87cd0ad72b163671ad 100644
--- a/file_modify
+++ b/file_modify
@@ -1 +1 @@
-3
+4
diff --git a/file_remove b/file_remove
deleted file mode 100644
index 7ed6ff82de6bcc2a78243fc9c54d3ef5ac14da69..0000000000000000000000000000000000000000
--- a/file_remove
+++ /dev/null
@@ -1 +0,0 @@
-5
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --patch --abbrev=10
warning: in the working copy of 'dir/dir3/file_modify', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'dir/dir2/file_add_intent', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file_add_intent', LF will be replaced by CRLF the next time Git touches it
diff --git a/dir/dir2/file_add_intent b/dir/dir2/file_add_intent
new file mode 100644
index 0000000000..0cfbf08886
warning: in the working copy of 'dir/dir2/file_add_intent', LF will be replaced by CRLF the next time Git touches it
--- /dev/null
+++ b/dir/dir2/file_add_intent
@@ -0,0 +1 @@
+2
diff --git a/dir/dir3/file_modify b/dir/dir3/file_modify
index 00750edc07..b8626c4cff 100644
--- a/dir/dir3/file_modify
+++ b/dir/dir3/file_modify
@@ -1 +1 @@
-3
+4
diff --git a/dir/dir4/file_remove b/dir/dir4/file_remove
deleted file mode 100644
index 7ed6ff82de..0000000000
--- a/dir/dir4/file_remove
+++ /dev/null
@@ -1 +0,0 @@
-5
diff --git a/file_add_intent b/file_add_intent
new file mode 100644
index 0000000000..0cfbf08886
warning: in the working copy of 'file_add_intent', LF will be replaced by CRLF the next time Git touches it
--- /dev/null
+++ b/file_add_intent
@@ -0,0 +1 @@
+2
diff --git a/file_modify b/file_modify
index 00750edc07..b8626c4cff 100644
--- a/file_modify
+++ b/file_modify
@@ -1 +1 @@
-3
+4
diff --git a/file_remove b/file_remove
deleted file mode 100644
index 7ed6ff82de..0000000000
--- a/file_remove
+++ /dev/null
@@ -1 +0,0 @@
-5
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --raw
warning: in the working copy of 'dir/dir3/file_modify', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'dir/dir2/file_add_intent', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file_add_intent', LF will be replaced by CRLF the next time Git touches it
:000000 100644 0000000 0cfbf08 A dir/dir2/file_add_intent
:100644 100644 00750ed 0000000 M dir/dir3/file_modify
:100644 000000 7ed6ff8 0000000 D dir/dir4/file_remove
:000000 100644 0000000 0cfbf08 A file_add_intent
:100644 100644 00750ed 0000000 M file_modify
:100644 000000 7ed6ff8 0000000 D file_remove
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --raw --no-abbrev
warning: in the working copy of 'dir/dir3/file_modify', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'dir/dir2/file_add_intent', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file_add_intent', LF will be replaced by CRLF the next time Git touches it
:000000 100644 0000000000000000000000000000000000000000 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f A dir/dir2/file_add_intent
:100644 100644 00750edc07d6415dcc07ae0351e9397b0222b7ba 0000000000000000000000000000000000000000 M dir/dir3/file_modify
:100644 000000 7ed6ff82de6bcc2a78243fc9c54d3ef5ac14da69 0000000000000000000000000000000000000000 D dir/dir4/file_remove
:000000 100644 0000000000000000000000000000000000000000 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f A file_add_intent
:100644 100644 00750edc07d6415dcc07ae0351e9397b0222b7ba 0000000000000000000000000000000000000000 M file_modify
:100644 000000 7ed6ff82de6bcc2a78243fc9c54d3ef5ac14da69 0000000000000000000000000000000000000000 D file_remove
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --raw --abbrev=10
warning: in the working copy of 'dir/dir3/file_modify', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'dir/dir2/file_add_intent', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file_add_intent', LF will be replaced by CRLF the next time Git touches it
:000000 100644 0000000000 0cfbf08886 A dir/dir2/file_add_intent
:100644 100644 00750edc07 0000000000 M dir/dir3/file_modify
:100644 000000 7ed6ff82de 0000000000 D dir/dir4/file_remove
:000000 100644 0000000000 0cfbf08886 A file_add_intent
:100644 100644 00750edc07 0000000000 M file_modify
:100644 000000 7ed6ff82de 0000000000 D file_remove
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --stat
warning: in the working copy of 'dir/dir3/file_modify', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'dir/dir2/file_add_intent', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file_add_intent', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'dir/dir2/file_add_intent', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file_add_intent', LF will be replaced by CRLF the next time Git touches it
dir/dir2/file_add_intent | 1 +
dir/dir3/file_modify | 2 +-
dir/dir4/file_remove | 1 -
file_add_intent | 1 +
file_modify | 2 +-
file_remove | 1 -
6 files changed, 4 insertions(+), 4 deletions(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --stat --compact-summary
warning: in the working copy of 'dir/dir3/file_modify', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'dir/dir2/file_add_intent', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file_add_intent', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'dir/dir2/file_add_intent', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file_add_intent', LF will be replaced by CRLF the next time Git touches it
dir/dir2/file_add_intent (new) | 1 +
dir/dir3/file_modify | 2 +-
dir/dir4/file_remove (gone) | 1 -
file_add_intent (new) | 1 +
file_modify | 2 +-
file_remove (gone) | 1 -
6 files changed, 4 insertions(+), 4 deletions(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --shortstat
warning: in the working copy of 'dir/dir3/file_modify', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'dir/dir2/file_add_intent', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file_add_intent', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'dir/dir2/file_add_intent', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file_add_intent', LF will be replaced by CRLF the next time Git touches it
6 files changed, 4 insertions(+), 4 deletions(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --summary
warning: in the working copy of 'dir/dir3/file_modify', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'dir/dir2/file_add_intent', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file_add_intent', LF will be replaced by CRLF the next time Git touches it
create mode 100644 dir/dir2/file_add_intent
delete mode 100644 dir/dir4/file_remove
create mode 100644 file_add_intent
delete mode 100644 file_remove
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --numstat
warning: in the working copy of 'dir/dir3/file_modify', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'dir/dir2/file_add_intent', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file_add_intent', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'dir/dir2/file_add_intent', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file_add_intent', LF will be replaced by CRLF the next time Git touches it
1 0 dir/dir2/file_add_intent
1 1 dir/dir3/file_modify
0 1 dir/dir4/file_remove
1 0 file_add_intent
1 1 file_modify
0 1 file_remove
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --dirstat=files
warning: in the working copy of 'dir/dir3/file_modify', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'dir/dir2/file_add_intent', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file_add_intent', LF will be replaced by CRLF the next time Git touches it
16.6% dir/dir2/
16.6% dir/dir3/
16.6% dir/dir4/
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --dirstat=lines
warning: in the working copy of 'dir/dir3/file_modify', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'dir/dir2/file_add_intent', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file_add_intent', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'dir/dir2/file_add_intent', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file_add_intent', LF will be replaced by CRLF the next time Git touches it
12.5% dir/dir2/
25.0% dir/dir3/
12.5% dir/dir4/
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --dirstat=changes
warning: in the working copy of 'dir/dir3/file_modify', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'dir/dir2/file_add_intent', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file_add_intent', LF will be replaced by CRLF the next time Git touches it
12.5% dir/dir2/
25.0% dir/dir3/
12.5% dir/dir4/
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --dirstat=files,cumulative
warning: in the working copy of 'dir/dir3/file_modify', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'dir/dir2/file_add_intent', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file_add_intent', LF will be replaced by CRLF the next time Git touches it
16.6% dir/dir2/
16.6% dir/dir3/
16.6% dir/dir4/
50.0% dir/
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --dirstat=lines,cumulative
warning: in the working copy of 'dir/dir3/file_modify', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'dir/dir2/file_add_intent', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file_add_intent', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'dir/dir2/file_add_intent', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file_add_intent', LF will be replaced by CRLF the next time Git touches it
12.5% dir/dir2/
25.0% dir/dir3/
12.5% dir/dir4/
50.0% dir/
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --dirstat=changes,cumulative
warning: in the working copy of 'dir/dir3/file_modify', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'dir/dir2/file_add_intent', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file_add_intent', LF will be replaced by CRLF the next time Git touches it
12.5% dir/dir2/
25.0% dir/dir3/
12.5% dir/dir4/
50.0% dir/
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --name-only
warning: in the working copy of 'dir/dir3/file_modify', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'dir/dir2/file_add_intent', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file_add_intent', LF will be replaced by CRLF the next time Git touches it
dir/dir2/file_add_intent
dir/dir3/file_modify
dir/dir4/file_remove
file_add_intent
file_modify
file_remove
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --name-status
warning: in the working copy of 'dir/dir3/file_modify', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file_modify', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'dir/dir2/file_add_intent', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file_add_intent', LF will be replaced by CRLF the next time Git touches it
A dir/dir2/file_add_intent
M dir/dir3/file_modify
D dir/dir4/file_remove
A file_add_intent
M file_modify
D file_remove
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -n -e '\x01' >'./repo/file'; git -C './repo' add './file'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -n -e '\x02' >'./repo/file'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff
diff --git a/file b/file
index 6b2aaa7..25cb955 100644
--- a/file
+++ b/file
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --binary
diff --git a/file b/file
index 6b2aaa7..25cb955 100644
--- a/file
+++ b/file
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --text
diff --git a/file b/file
index 6b2aaa7..25cb955 100644
--- a/file
+++ b/file
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo 'file -diff' >'./repo/.gitattributes'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff
diff --git a/file b/file
index 6b2aaa7..25cb955 100644
Binary files a/file and b/file differ
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --binary
diff --git a/file b/file
index 6b2aaa7640726588bcd3d57e1de4b1315b7f315e..25cb955ba23571f6fefd57cecf5f67454210bbc8 100644
GIT binary patch
literal 1
IcmZPq000930{{R3
literal 1
IcmZPs000620ssI2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --text
diff --git a/file b/file
index 6b2aaa7..25cb955 100644
--- a/file
+++ b/file
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' config set --local 'diff.special_character_to_escape_sequence_preserve_line_ending.binary' 'true'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo 'file diff=special_character_to_escape_sequence_preserve_line_ending' >'./repo/.gitattributes'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff
diff --git a/file b/file
index 6b2aaa7..25cb955 100644
Binary files a/file and b/file differ
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --binary
diff --git a/file b/file
index 6b2aaa7640726588bcd3d57e1de4b1315b7f315e..25cb955ba23571f6fefd57cecf5f67454210bbc8 100644
GIT binary patch
literal 1
IcmZPq000930{{R3
literal 1
IcmZPs000620ssI2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --text
diff --git a/file b/file
index 6b2aaa7..25cb955 100644
--- a/file
+++ b/file
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' config set --local 'diff.special_character_to_escape_sequence_preserve_line_ending.textconv' 'function special_character_to_escape_sequence_preserve_line_ending1 () { special_character_to_escape_sequence_preserve_line_ending <"$1"; };special_character_to_escape_sequence_preserve_line_ending1'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff
diff --git a/file b/file
index 6b2aaa7..25cb955 100644
--- a/file
+++ b/file
@@ -1 +1 @@
-\x01
\ No newline at end of file
+\x02
\ No newline at end of file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --binary
diff --git a/file b/file
index 6b2aaa7640726588bcd3d57e1de4b1315b7f315e..25cb955ba23571f6fefd57cecf5f67454210bbc8 100644
--- a/file
+++ b/file
@@ -1 +1 @@
-\x01
\ No newline at end of file
+\x02
\ No newline at end of file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --text
diff --git a/file b/file
index 6b2aaa7..25cb955 100644
--- a/file
+++ b/file
@@ -1 +1 @@
-\x01
\ No newline at end of file
+\x02
\ No newline at end of file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --no-textconv
diff --git a/file b/file
index 6b2aaa7..25cb955 100644
Binary files a/file and b/file differ
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --binary --no-textconv
diff --git a/file b/file
index 6b2aaa7640726588bcd3d57e1de4b1315b7f315e..25cb955ba23571f6fefd57cecf5f67454210bbc8 100644
GIT binary patch
literal 1
IcmZPq000930{{R3
literal 1
IcmZPs000620ssI2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --text --no-textconv
diff --git a/file b/file
index 6b2aaa7..25cb955 100644
--- a/file
+++ b/file
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -n -e '\x00' >'./repo/file'; git -C './repo' add './file'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -n -e '\x01' >'./repo/file'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff
diff --git a/file b/file
index f76dd23..6b2aaa7 100644
Binary files a/file and b/file differ
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --binary
diff --git a/file b/file
index f76dd238ade08917e6712764a16a22005a50573d..6b2aaa7640726588bcd3d57e1de4b1315b7f315e 100644
GIT binary patch
literal 1
IcmZPs000620ssI2
literal 1
IcmZPo000310RR91
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --text
diff --git a/file b/file
index f76dd23..6b2aaa7 100644
--- a/file
+++ b/file
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo 'file -diff' >'./repo/.gitattributes'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff
diff --git a/file b/file
index f76dd23..6b2aaa7 100644
Binary files a/file and b/file differ
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --binary
diff --git a/file b/file
index f76dd238ade08917e6712764a16a22005a50573d..6b2aaa7640726588bcd3d57e1de4b1315b7f315e 100644
GIT binary patch
literal 1
IcmZPs000620ssI2
literal 1
IcmZPo000310RR91
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --text
diff --git a/file b/file
index f76dd23..6b2aaa7 100644
--- a/file
+++ b/file
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' config set --local 'diff.special_character_to_escape_sequence_preserve_line_ending.binary' 'true'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo 'file diff=special_character_to_escape_sequence_preserve_line_ending' >'./repo/.gitattributes'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff
diff --git a/file b/file
index f76dd23..6b2aaa7 100644
Binary files a/file and b/file differ
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --binary
diff --git a/file b/file
index f76dd238ade08917e6712764a16a22005a50573d..6b2aaa7640726588bcd3d57e1de4b1315b7f315e 100644
GIT binary patch
literal 1
IcmZPs000620ssI2
literal 1
IcmZPo000310RR91
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --text
diff --git a/file b/file
index f76dd23..6b2aaa7 100644
--- a/file
+++ b/file
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' config set --local 'diff.special_character_to_escape_sequence_preserve_line_ending.textconv' 'function special_character_to_escape_sequence_preserve_line_ending1 () { special_character_to_escape_sequence_preserve_line_ending <"$1"; };special_character_to_escape_sequence_preserve_line_ending1'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff
diff --git a/file b/file
index f76dd23..6b2aaa7 100644
--- a/file
+++ b/file
@@ -1 +1 @@
-\0
\ No newline at end of file
+\x01
\ No newline at end of file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --binary
diff --git a/file b/file
index f76dd238ade08917e6712764a16a22005a50573d..6b2aaa7640726588bcd3d57e1de4b1315b7f315e 100644
--- a/file
+++ b/file
@@ -1 +1 @@
-\0
\ No newline at end of file
+\x01
\ No newline at end of file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --text
diff --git a/file b/file
index f76dd23..6b2aaa7 100644
--- a/file
+++ b/file
@@ -1 +1 @@
-\0
\ No newline at end of file
+\x01
\ No newline at end of file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --no-textconv
diff --git a/file b/file
index f76dd23..6b2aaa7 100644
Binary files a/file and b/file differ
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --binary --no-textconv
diff --git a/file b/file
index f76dd238ade08917e6712764a16a22005a50573d..6b2aaa7640726588bcd3d57e1de4b1315b7f315e 100644
GIT binary patch
literal 1
IcmZPs000620ssI2
literal 1
IcmZPo000310RR91
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --text --no-textconv
diff --git a/file b/file
index f76dd23..6b2aaa7 100644
--- a/file
+++ b/file
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e '1\na\na\na\na\na\na\n1' >'./repo/file'; git -C './repo' add './file'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e '2\na\na\na\na\na\na\n2' >'./repo/file'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git a/file b/file
index b591132..10f4a32 100644
--- a/file
+++ b/file
@@ -1,8 +1,8 @@
-1
+2
a
a
a
a
a
a
-1
+2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --inter-hunk-context=0
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git a/file b/file
index b591132..10f4a32 100644
--- a/file
+++ b/file
@@ -1,8 +1,8 @@
-1
+2
a
a
a
a
a
a
-1
+2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --inter-hunk-context=0 --unified=2
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git a/file b/file
index b591132..10f4a32 100644
--- a/file
+++ b/file
@@ -1,3 +1,3 @@
-1
+2
a
a
@@ -6,3 +6,3 @@ a
a
a
-1
+2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --inter-hunk-context=1 --unified=2
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git a/file b/file
index b591132..10f4a32 100644
--- a/file
+++ b/file
@@ -1,3 +1,3 @@
-1
+2
a
a
@@ -6,3 +6,3 @@ a
a
a
-1
+2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --inter-hunk-context=2 --unified=2
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git a/file b/file
index b591132..10f4a32 100644
--- a/file
+++ b/file
@@ -1,8 +1,8 @@
-1
+2
a
a
a
a
a
a
-1
+2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e '1\na\na\na\na\na\na\na\n1' >'./repo/file'; git -C './repo' add './file'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e '2\na\na\na\na\na\na\na\n2' >'./repo/file'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git a/file b/file
index 17f0a10..0dee3fd 100644
--- a/file
+++ b/file
@@ -1,4 +1,4 @@
-1
+2
a
a
a
@@ -6,4 +6,4 @@ a
a
a
a
-1
+2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --inter-hunk-context=0
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git a/file b/file
index 17f0a10..0dee3fd 100644
--- a/file
+++ b/file
@@ -1,4 +1,4 @@
-1
+2
a
a
a
@@ -6,4 +6,4 @@ a
a
a
a
-1
+2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --inter-hunk-context=1
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git a/file b/file
index 17f0a10..0dee3fd 100644
--- a/file
+++ b/file
@@ -1,9 +1,9 @@
-1
+2
a
a
a
a
a
a
a
-1
+2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --inter-hunk-context=1 --unified=2
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git a/file b/file
index 17f0a10..0dee3fd 100644
--- a/file
+++ b/file
@@ -1,3 +1,3 @@
-1
+2
a
a
@@ -7,3 +7,3 @@ a
a
a
-1
+2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --inter-hunk-context=2 --unified=2
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git a/file b/file
index 17f0a10..0dee3fd 100644
--- a/file
+++ b/file
@@ -1,3 +1,3 @@
-1
+2
a
a
@@ -7,3 +7,3 @@ a
a
a
-1
+2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --inter-hunk-context=3 --unified=2
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git a/file b/file
index 17f0a10..0dee3fd 100644
--- a/file
+++ b/file
@@ -1,9 +1,9 @@
-1
+2
a
a
a
a
a
a
a
-1
+2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e '1\na' >'./repo/file'; git -C './repo' add './file'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e '2\na' >'./repo/file'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git a/file b/file
index e439850..a092df3 100644
--- a/file
+++ b/file
@@ -1,2 +1,2 @@
-1
+2
a
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --no-prefix
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git file file
index e439850..a092df3 100644
--- file
+++ file
@@ -1,2 +1,2 @@
-1
+2
a
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --default-prefix
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git a/file b/file
index e439850..a092df3 100644
--- a/file
+++ b/file
@@ -1,2 +1,2 @@
-1
+2
a
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --src-prefix='i/' --dst-prefix='w/'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git i/file w/file
index e439850..a092df3 100644
--- i/file
+++ w/file
@@ -1,2 +1,2 @@
-1
+2
a
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --src-prefix='i/' --no-prefix --dst-prefix='w/'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git file w/file
index e439850..a092df3 100644
--- file
+++ w/file
@@ -1,2 +1,2 @@
-1
+2
a
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --src-prefix='i/' --no-prefix --dst-prefix='w/' --src-prefix='i/'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git i/file w/file
index e439850..a092df3 100644
--- i/file
+++ w/file
@@ -1,2 +1,2 @@
-1
+2
a
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --src-prefix='i/' --default-prefix --dst-prefix='w/'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git a/file w/file
index e439850..a092df3 100644
--- a/file
+++ w/file
@@ -1,2 +1,2 @@
-1
+2
a
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --src-prefix='i/' --default-prefix --dst-prefix='w/' --src-prefix='i/'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git i/file w/file
index e439850..a092df3 100644
--- i/file
+++ w/file
@@ -1,2 +1,2 @@
-1
+2
a
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --output-indicator-new='n' --output-indicator-old='o' --output-indicator-context='c'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --git a/file b/file
index e439850..a092df3 100644
--- a/file
+++ b/file
@@ -1,2 +1,2 @@
o1
n2
ca
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --line-prefix='pr'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
prdiff --git a/file b/file
prindex e439850..a092df3 100644
pr--- a/file
pr+++ b/file
pr@@ -1,2 +1,2 @@
pr-1
pr+2
pr a
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty; git -C './server/repo.git' branch branch1; git -C './server/repo.git' tag tag1
[master (root-commit) 87e1f35] 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' checkout -b branch2 branch1; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty; git -C './server/repo.git' tag tag2
Switched to a new branch 'branch2'
[branch2 65631d1] 2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' checkout -B branch2 branch1; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
Reset branch 'branch2'
[branch2 988df34] 3
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' checkout -b branch3 branch1; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty; git -C './server/repo.git' tag tag3
Switched to a new branch 'branch3'
[branch3 25b553c] 4
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' checkout -B branch3 branch1; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty
Reset branch 'branch3'
[branch3 7525eaf] 5
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ branch_default_name="$(git -C './client/repo' branch --show-current)"; echo "$branch_default_name"
master
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch --tags
remote: Enumerating objects: 6, done.
remote: Counting objects: 100% (6/6), done.
remote: Compressing objects: 100% (5/5), done.
remote: Total 6 (delta 4), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (6/6), 295 bytes | 12.00 KiB/s, done.
From file:///test_git/server/repo
* [new branch] branch1 -> server/branch1
* [new branch] branch2 -> server/branch2
* [new branch] branch3 -> server/branch3
* [new branch] master -> server/master
* [new tag] tag1 -> tag1
* [new tag] tag2 -> tag2
* [new tag] tag3 -> tag3
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg
fatal: your current branch 'master' does not have any commits yet
jhcarl0814@jhcarl0814 UCRT64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' checkout "$branch_default_name"
branch 'master' set up to track 'server/master'.
Already on 'master'
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' checkout branch2
branch 'branch2' set up to track 'server/branch2'.
Switched to a new branch 'branch2'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' checkout branch3
branch 'branch3' set up to track 'server/branch3'.
Switched to a new branch 'branch3'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg
* 7525eaf - 2026-10-28 22:37 (6 seconds ago) 5 - Han Jiang (HEAD -> refs/heads/branch3, refs/remotes/server/branch3, refs/remotes/server/HEAD)
* 87e1f35 - 2026-10-28 22:37 (9 seconds ago) 1 - Han Jiang (tag: refs/tags/tag1, refs/remotes/server/master, refs/remotes/server/branch1, refs/heads/master, refs/heads/branch1)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all
* 7525eaf - 2026-10-28 22:37 (6 seconds ago) 5 - Han Jiang (HEAD -> refs/heads/branch3, refs/remotes/server/branch3, refs/remotes/server/HEAD)
| * 25b553c - 2026-10-28 22:37 (6 seconds ago) 4 - Han Jiang (tag: refs/tags/tag3)
|/
| * 988df34 - 2026-10-28 22:37 (7 seconds ago) 3 - Han Jiang (refs/remotes/server/branch2, refs/heads/branch2)
|/
| * 65631d1 - 2026-10-28 22:37 (8 seconds ago) 2 - Han Jiang (tag: refs/tags/tag2)
|/
* 87e1f35 - 2026-10-28 22:37 (9 seconds ago) 1 - Han Jiang (tag: refs/tags/tag1, refs/remotes/server/master, refs/remotes/server/branch1, refs/heads/master, refs/heads/branch1)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --branches
* 7525eaf - 2026-10-28 22:37 (7 seconds ago) 5 - Han Jiang (HEAD -> refs/heads/branch3, refs/remotes/server/branch3, refs/remotes/server/HEAD)
| * 988df34 - 2026-10-28 22:37 (8 seconds ago) 3 - Han Jiang (refs/remotes/server/branch2, refs/heads/branch2)
|/
* 87e1f35 - 2026-10-28 22:37 (10 seconds ago) 1 - Han Jiang (tag: refs/tags/tag1, refs/remotes/server/master, refs/remotes/server/branch1, refs/heads/master, refs/heads/branch1)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --branches='*1'
* 87e1f35 - 2026-10-28 22:37 (10 seconds ago) 1 - Han Jiang (tag: refs/tags/tag1, refs/remotes/server/master, refs/remotes/server/branch1, refs/heads/master, refs/heads/branch1)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --branches='*2'
* 988df34 - 2026-10-28 22:37 (9 seconds ago) 3 - Han Jiang (refs/remotes/server/branch2, refs/heads/branch2)
* 87e1f35 - 2026-10-28 22:37 (11 seconds ago) 1 - Han Jiang (tag: refs/tags/tag1, refs/remotes/server/master, refs/remotes/server/branch1, refs/heads/master, refs/heads/branch1)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --branches='*2' --branches='*3'
* 7525eaf - 2026-10-28 22:37 (8 seconds ago) 5 - Han Jiang (HEAD -> refs/heads/branch3, refs/remotes/server/branch3, refs/remotes/server/HEAD)
| * 988df34 - 2026-10-28 22:37 (9 seconds ago) 3 - Han Jiang (refs/remotes/server/branch2, refs/heads/branch2)
|/
* 87e1f35 - 2026-10-28 22:37 (11 seconds ago) 1 - Han Jiang (tag: refs/tags/tag1, refs/remotes/server/master, refs/remotes/server/branch1, refs/heads/master, refs/heads/branch1)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --tags
* 25b553c - 2026-10-28 22:37 (9 seconds ago) 4 - Han Jiang (tag: refs/tags/tag3)
| * 65631d1 - 2026-10-28 22:37 (11 seconds ago) 2 - Han Jiang (tag: refs/tags/tag2)
|/
* 87e1f35 - 2026-10-28 22:37 (12 seconds ago) 1 - Han Jiang (tag: refs/tags/tag1, refs/remotes/server/master, refs/remotes/server/branch1, refs/heads/master, refs/heads/branch1)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --tags='*2'
* 65631d1 - 2026-10-28 22:37 (11 seconds ago) 2 - Han Jiang (tag: refs/tags/tag2)
* 87e1f35 - 2026-10-28 22:37 (12 seconds ago) 1 - Han Jiang (tag: refs/tags/tag1, refs/remotes/server/master, refs/remotes/server/branch1, refs/heads/master, refs/heads/branch1)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --remotes
* 7525eaf - 2026-10-28 22:37 (10 seconds ago) 5 - Han Jiang (HEAD -> refs/heads/branch3, refs/remotes/server/branch3, refs/remotes/server/HEAD)
| * 988df34 - 2026-10-28 22:37 (11 seconds ago) 3 - Han Jiang (refs/remotes/server/branch2, refs/heads/branch2)
|/
* 87e1f35 - 2026-10-28 22:37 (13 seconds ago) 1 - Han Jiang (tag: refs/tags/tag1, refs/remotes/server/master, refs/remotes/server/branch1, refs/heads/master, refs/heads/branch1)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --remotes='server/*2'
* 988df34 - 2026-10-28 22:37 (11 seconds ago) 3 - Han Jiang (refs/remotes/server/branch2, refs/heads/branch2)
* 87e1f35 - 2026-10-28 22:37 (13 seconds ago) 1 - Han Jiang (tag: refs/tags/tag1, refs/remotes/server/master, refs/remotes/server/branch1, refs/heads/master, refs/heads/branch1)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --remotes='*r*r/*2'
* 988df34 - 2026-10-28 22:37 (12 seconds ago) 3 - Han Jiang (refs/remotes/server/branch2, refs/heads/branch2)
* 87e1f35 - 2026-10-28 22:37 (14 seconds ago) 1 - Han Jiang (tag: refs/tags/tag1, refs/remotes/server/master, refs/remotes/server/branch1, refs/heads/master, refs/heads/branch1)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty; git -C './repo' branch branch1
[master (root-commit) ce548d6] 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout -b branch2 branch1; git -C './repo' commit --message="$((++number))" --allow-empty; git -C './repo' tag tag1
Switched to a new branch 'branch2'
[branch2 ad6ddef] 2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout -B branch2 branch1; git -C './repo' commit --message="$((++number))" --allow-empty; git -C './repo' tag tag2
Reset branch 'branch2'
[branch2 94460a0] 3
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout -B branch2 tag1
Reset branch 'branch2'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout -B branch2 tag2
Reset branch 'branch2'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log branch2
commit 94460a0c2847cae486703ae96a34481242f793c3 (HEAD -> branch2, tag: tag2)
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Wed Oct 28 22:37:26 2026 +1300
3
commit ce548d68729fee686aeb42bc4bd0a893833852b5 (master, branch1)
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Wed Oct 28 22:37:25 2026 +1300
1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --graph branch2
* commit 94460a0c2847cae486703ae96a34481242f793c3 (HEAD -> branch2, tag: tag2)
| Author: Han Jiang <jhcarl0814@gmail.com>
| Date: Wed Oct 28 22:37:26 2026 +1300
|
| 3
|
* commit ce548d68729fee686aeb42bc4bd0a893833852b5 (master, branch1)
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Wed Oct 28 22:37:25 2026 +1300
1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --reflog branch2
commit 94460a0c2847cae486703ae96a34481242f793c3 (HEAD -> branch2, tag: tag2)
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Wed Oct 28 22:37:26 2026 +1300
3
commit ce548d68729fee686aeb42bc4bd0a893833852b5 (master, branch1)
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Wed Oct 28 22:37:25 2026 +1300
1
commit ad6ddef9e326dfe39189ff2358948d254674ce0a (tag: tag1)
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Wed Oct 28 22:37:25 2026 +1300
2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --reflog --graph branch2
* commit 94460a0c2847cae486703ae96a34481242f793c3 (HEAD -> branch2, tag: tag2)
| Author: Han Jiang <jhcarl0814@gmail.com>
| Date: Wed Oct 28 22:37:26 2026 +1300
|
| 3
|
| * commit ad6ddef9e326dfe39189ff2358948d254674ce0a (tag: tag1)
|/ Author: Han Jiang <jhcarl0814@gmail.com>
| Date: Wed Oct 28 22:37:25 2026 +1300
|
| 2
|
* commit ce548d68729fee686aeb42bc4bd0a893833852b5 (master, branch1)
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Wed Oct 28 22:37:25 2026 +1300
1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --walk-reflogs branch2
commit 94460a0c2847cae486703ae96a34481242f793c3 (HEAD -> branch2, tag: tag2)
Reflog: branch2@{0} (Han Jiang <jhcarl0814@gmail.com>)
Reflog message: branch: Reset to tag2
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Wed Oct 28 22:37:26 2026 +1300
3
commit ad6ddef9e326dfe39189ff2358948d254674ce0a (tag: tag1)
Reflog: branch2@{1} (Han Jiang <jhcarl0814@gmail.com>)
Reflog message: branch: Reset to tag1
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Wed Oct 28 22:37:25 2026 +1300
2
commit 94460a0c2847cae486703ae96a34481242f793c3 (HEAD -> branch2, tag: tag2)
Reflog: branch2@{2} (Han Jiang <jhcarl0814@gmail.com>)
Reflog message: commit: 3
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Wed Oct 28 22:37:26 2026 +1300
3
commit ce548d68729fee686aeb42bc4bd0a893833852b5 (master, branch1)
Reflog: branch2@{3} (Han Jiang <jhcarl0814@gmail.com>)
Reflog message: branch: Reset to branch1
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Wed Oct 28 22:37:25 2026 +1300
1
commit ad6ddef9e326dfe39189ff2358948d254674ce0a (tag: tag1)
Reflog: branch2@{4} (Han Jiang <jhcarl0814@gmail.com>)
Reflog message: commit: 2
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Wed Oct 28 22:37:25 2026 +1300
2
commit ce548d68729fee686aeb42bc4bd0a893833852b5 (master, branch1)
Reflog: branch2@{5} (Han Jiang <jhcarl0814@gmail.com>)
Reflog message: branch: Created from branch1
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Wed Oct 28 22:37:25 2026 +1300
1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --walk-reflogs --graph branch2
fatal: cannot combine --walk-reflogs with history-limiting options
jhcarl0814@jhcarl0814 UCRT64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ branch_default_name="$(git -C './repo' branch --show-current)"; echo "$branch_default_name"
master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e '1\n\n\n\n1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message='0 -> 1'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 87c9633] 0 -> 1
1 file changed, 5 insertions(+)
create mode 100644 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch branch1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e '1\n\n\n\n2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message='1 -> 2'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master 62d5b2e] 1 -> 2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e '2\n\n\n\n2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message='1 -> 2'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master 2c6dcc4] 1 -> 2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e '2\n\n\n\n3' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message='2 -> 3'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master 3aa3cb0] 2 -> 3
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e '3\n\n\n\n3' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message='2 -> 3'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master cbd53fd] 2 -> 3
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e '3\n\n\n\n4' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message='3 -> 4'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master e205ef2] 3 -> 4
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e '4\n\n\n\n4' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message='3 -> 4'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master f08de7e] 3 -> 4
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1
Switched to branch 'branch1'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e '1\n\n\n\n2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message='1 -> 2'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch1 8af26b0] 1 -> 2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e '2\n\n\n\n2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message='1 -> 2'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch1 df88755] 1 -> 2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e '3\n\n\n\n2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message='2 -> 3'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch1 ab2eac4] 2 -> 3
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e '3\n\n\n\n3' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message='2 -> 3'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch1 dd75dd4] 2 -> 3
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e '3\n\n\n\n5' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message='3 -> 5'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch1 a6f4ca6] 3 -> 5
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e '4\n\n\n\n5' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message='3 -> 4'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch1 5ffdf4a] 3 -> 4
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --all
5ffdf4a3347fa76b14daec1fda22370cfc43cd57 (HEAD -> branch1) 3 -> 4
a6f4ca6d4b32c0d618ae8ae25dd762e7fe1350f9 3 -> 5
dd75dd45c47ea45d839068bf519cd4f33c6ac79f 2 -> 3
ab2eac4270ce934ce92c47818ef9c2bf3b2b6830 2 -> 3
df887554949c04af3160e74f4cf0a4bfe2992130 1 -> 2
8af26b09e2fc914ebb1032ef7b2b3e5424694186 1 -> 2
f08de7e82e56bac139d030b89aa384b987a56475 (master) 3 -> 4
e205ef2e2f4e7ad14f68fc10adacf42c03cc2991 3 -> 4
cbd53fdf5b11239c727df6578290764a8022bfb1 2 -> 3
3aa3cb046458c38551db906c7d8a1388c6520039 2 -> 3
2c6dcc47a535d6e51b389924dd425fd7bbd90326 1 -> 2
62d5b2e3f2ff27ac9c419d65fe1f02370eb0f0f1 1 -> 2
87c9633c3ed9d28c8b0e86b7fa2c9ea1279d266e 0 -> 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --graph --all
* 5ffdf4a3347fa76b14daec1fda22370cfc43cd57 (HEAD -> branch1) 3 -> 4
* a6f4ca6d4b32c0d618ae8ae25dd762e7fe1350f9 3 -> 5
* dd75dd45c47ea45d839068bf519cd4f33c6ac79f 2 -> 3
* ab2eac4270ce934ce92c47818ef9c2bf3b2b6830 2 -> 3
* df887554949c04af3160e74f4cf0a4bfe2992130 1 -> 2
* 8af26b09e2fc914ebb1032ef7b2b3e5424694186 1 -> 2
| * f08de7e82e56bac139d030b89aa384b987a56475 (master) 3 -> 4
| * e205ef2e2f4e7ad14f68fc10adacf42c03cc2991 3 -> 4
| * cbd53fdf5b11239c727df6578290764a8022bfb1 2 -> 3
| * 3aa3cb046458c38551db906c7d8a1388c6520039 2 -> 3
| * 2c6dcc47a535d6e51b389924dd425fd7bbd90326 1 -> 2
| * 62d5b2e3f2ff27ac9c419d65fe1f02370eb0f0f1 1 -> 2
|/
* 87c9633c3ed9d28c8b0e86b7fa2c9ea1279d266e 0 -> 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline "$branch_default_name"...branch1
5ffdf4a3347fa76b14daec1fda22370cfc43cd57 (HEAD -> branch1) 3 -> 4
a6f4ca6d4b32c0d618ae8ae25dd762e7fe1350f9 3 -> 5
dd75dd45c47ea45d839068bf519cd4f33c6ac79f 2 -> 3
ab2eac4270ce934ce92c47818ef9c2bf3b2b6830 2 -> 3
df887554949c04af3160e74f4cf0a4bfe2992130 1 -> 2
8af26b09e2fc914ebb1032ef7b2b3e5424694186 1 -> 2
f08de7e82e56bac139d030b89aa384b987a56475 (master) 3 -> 4
e205ef2e2f4e7ad14f68fc10adacf42c03cc2991 3 -> 4
cbd53fdf5b11239c727df6578290764a8022bfb1 2 -> 3
3aa3cb046458c38551db906c7d8a1388c6520039 2 -> 3
2c6dcc47a535d6e51b389924dd425fd7bbd90326 1 -> 2
62d5b2e3f2ff27ac9c419d65fe1f02370eb0f0f1 1 -> 2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --graph "$branch_default_name"...branch1
* 5ffdf4a3347fa76b14daec1fda22370cfc43cd57 (HEAD -> branch1) 3 -> 4
* a6f4ca6d4b32c0d618ae8ae25dd762e7fe1350f9 3 -> 5
* dd75dd45c47ea45d839068bf519cd4f33c6ac79f 2 -> 3
* ab2eac4270ce934ce92c47818ef9c2bf3b2b6830 2 -> 3
* df887554949c04af3160e74f4cf0a4bfe2992130 1 -> 2
\
* 8af26b09e2fc914ebb1032ef7b2b3e5424694186 1 -> 2
* f08de7e82e56bac139d030b89aa384b987a56475 (master) 3 -> 4
* e205ef2e2f4e7ad14f68fc10adacf42c03cc2991 3 -> 4
* cbd53fdf5b11239c727df6578290764a8022bfb1 2 -> 3
* 3aa3cb046458c38551db906c7d8a1388c6520039 2 -> 3
* 2c6dcc47a535d6e51b389924dd425fd7bbd90326 1 -> 2
* 62d5b2e3f2ff27ac9c419d65fe1f02370eb0f0f1 1 -> 2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --boundary "$branch_default_name"...branch1
5ffdf4a3347fa76b14daec1fda22370cfc43cd57 (HEAD -> branch1) 3 -> 4
a6f4ca6d4b32c0d618ae8ae25dd762e7fe1350f9 3 -> 5
dd75dd45c47ea45d839068bf519cd4f33c6ac79f 2 -> 3
ab2eac4270ce934ce92c47818ef9c2bf3b2b6830 2 -> 3
df887554949c04af3160e74f4cf0a4bfe2992130 1 -> 2
8af26b09e2fc914ebb1032ef7b2b3e5424694186 1 -> 2
f08de7e82e56bac139d030b89aa384b987a56475 (master) 3 -> 4
e205ef2e2f4e7ad14f68fc10adacf42c03cc2991 3 -> 4
cbd53fdf5b11239c727df6578290764a8022bfb1 2 -> 3
3aa3cb046458c38551db906c7d8a1388c6520039 2 -> 3
2c6dcc47a535d6e51b389924dd425fd7bbd90326 1 -> 2
62d5b2e3f2ff27ac9c419d65fe1f02370eb0f0f1 1 -> 2
- 87c9633c3ed9d28c8b0e86b7fa2c9ea1279d266e 0 -> 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --graph --boundary "$branch_default_name"...branch1
* 5ffdf4a3347fa76b14daec1fda22370cfc43cd57 (HEAD -> branch1) 3 -> 4
* a6f4ca6d4b32c0d618ae8ae25dd762e7fe1350f9 3 -> 5
* dd75dd45c47ea45d839068bf519cd4f33c6ac79f 2 -> 3
* ab2eac4270ce934ce92c47818ef9c2bf3b2b6830 2 -> 3
* df887554949c04af3160e74f4cf0a4bfe2992130 1 -> 2
* 8af26b09e2fc914ebb1032ef7b2b3e5424694186 1 -> 2
| * f08de7e82e56bac139d030b89aa384b987a56475 (master) 3 -> 4
| * e205ef2e2f4e7ad14f68fc10adacf42c03cc2991 3 -> 4
| * cbd53fdf5b11239c727df6578290764a8022bfb1 2 -> 3
| * 3aa3cb046458c38551db906c7d8a1388c6520039 2 -> 3
| * 2c6dcc47a535d6e51b389924dd425fd7bbd90326 1 -> 2
| * 62d5b2e3f2ff27ac9c419d65fe1f02370eb0f0f1 1 -> 2
|/
o 87c9633c3ed9d28c8b0e86b7fa2c9ea1279d266e 0 -> 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --left-right "$branch_default_name"...branch1
> 5ffdf4a3347fa76b14daec1fda22370cfc43cd57 (HEAD -> branch1) 3 -> 4
> a6f4ca6d4b32c0d618ae8ae25dd762e7fe1350f9 3 -> 5
> dd75dd45c47ea45d839068bf519cd4f33c6ac79f 2 -> 3
> ab2eac4270ce934ce92c47818ef9c2bf3b2b6830 2 -> 3
> df887554949c04af3160e74f4cf0a4bfe2992130 1 -> 2
> 8af26b09e2fc914ebb1032ef7b2b3e5424694186 1 -> 2
< f08de7e82e56bac139d030b89aa384b987a56475 (master) 3 -> 4
< e205ef2e2f4e7ad14f68fc10adacf42c03cc2991 3 -> 4
< cbd53fdf5b11239c727df6578290764a8022bfb1 2 -> 3
< 3aa3cb046458c38551db906c7d8a1388c6520039 2 -> 3
< 2c6dcc47a535d6e51b389924dd425fd7bbd90326 1 -> 2
< 62d5b2e3f2ff27ac9c419d65fe1f02370eb0f0f1 1 -> 2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --graph --left-right "$branch_default_name"...branch1
> 5ffdf4a3347fa76b14daec1fda22370cfc43cd57 (HEAD -> branch1) 3 -> 4
> a6f4ca6d4b32c0d618ae8ae25dd762e7fe1350f9 3 -> 5
> dd75dd45c47ea45d839068bf519cd4f33c6ac79f 2 -> 3
> ab2eac4270ce934ce92c47818ef9c2bf3b2b6830 2 -> 3
> df887554949c04af3160e74f4cf0a4bfe2992130 1 -> 2
\
> 8af26b09e2fc914ebb1032ef7b2b3e5424694186 1 -> 2
< f08de7e82e56bac139d030b89aa384b987a56475 (master) 3 -> 4
< e205ef2e2f4e7ad14f68fc10adacf42c03cc2991 3 -> 4
< cbd53fdf5b11239c727df6578290764a8022bfb1 2 -> 3
< 3aa3cb046458c38551db906c7d8a1388c6520039 2 -> 3
< 2c6dcc47a535d6e51b389924dd425fd7bbd90326 1 -> 2
< 62d5b2e3f2ff27ac9c419d65fe1f02370eb0f0f1 1 -> 2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --left-right --boundary "$branch_default_name"...branch1
> 5ffdf4a3347fa76b14daec1fda22370cfc43cd57 (HEAD -> branch1) 3 -> 4
> a6f4ca6d4b32c0d618ae8ae25dd762e7fe1350f9 3 -> 5
> dd75dd45c47ea45d839068bf519cd4f33c6ac79f 2 -> 3
> ab2eac4270ce934ce92c47818ef9c2bf3b2b6830 2 -> 3
> df887554949c04af3160e74f4cf0a4bfe2992130 1 -> 2
> 8af26b09e2fc914ebb1032ef7b2b3e5424694186 1 -> 2
< f08de7e82e56bac139d030b89aa384b987a56475 (master) 3 -> 4
< e205ef2e2f4e7ad14f68fc10adacf42c03cc2991 3 -> 4
< cbd53fdf5b11239c727df6578290764a8022bfb1 2 -> 3
< 3aa3cb046458c38551db906c7d8a1388c6520039 2 -> 3
< 2c6dcc47a535d6e51b389924dd425fd7bbd90326 1 -> 2
< 62d5b2e3f2ff27ac9c419d65fe1f02370eb0f0f1 1 -> 2
- 87c9633c3ed9d28c8b0e86b7fa2c9ea1279d266e 0 -> 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --graph --left-right --boundary "$branch_default_name"...branch1
> 5ffdf4a3347fa76b14daec1fda22370cfc43cd57 (HEAD -> branch1) 3 -> 4
> a6f4ca6d4b32c0d618ae8ae25dd762e7fe1350f9 3 -> 5
> dd75dd45c47ea45d839068bf519cd4f33c6ac79f 2 -> 3
> ab2eac4270ce934ce92c47818ef9c2bf3b2b6830 2 -> 3
> df887554949c04af3160e74f4cf0a4bfe2992130 1 -> 2
> 8af26b09e2fc914ebb1032ef7b2b3e5424694186 1 -> 2
| < f08de7e82e56bac139d030b89aa384b987a56475 (master) 3 -> 4
| < e205ef2e2f4e7ad14f68fc10adacf42c03cc2991 3 -> 4
| < cbd53fdf5b11239c727df6578290764a8022bfb1 2 -> 3
| < 3aa3cb046458c38551db906c7d8a1388c6520039 2 -> 3
| < 2c6dcc47a535d6e51b389924dd425fd7bbd90326 1 -> 2
| < 62d5b2e3f2ff27ac9c419d65fe1f02370eb0f0f1 1 -> 2
|/
o 87c9633c3ed9d28c8b0e86b7fa2c9ea1279d266e 0 -> 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --cherry-pick "$branch_default_name"...branch1
a6f4ca6d4b32c0d618ae8ae25dd762e7fe1350f9 3 -> 5
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --graph --cherry-pick "$branch_default_name"...branch1
* a6f4ca6d4b32c0d618ae8ae25dd762e7fe1350f9 3 -> 5
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --cherry-mark "$branch_default_name"...branch1
= 5ffdf4a3347fa76b14daec1fda22370cfc43cd57 (HEAD -> branch1) 3 -> 4
+ a6f4ca6d4b32c0d618ae8ae25dd762e7fe1350f9 3 -> 5
= dd75dd45c47ea45d839068bf519cd4f33c6ac79f 2 -> 3
= ab2eac4270ce934ce92c47818ef9c2bf3b2b6830 2 -> 3
= df887554949c04af3160e74f4cf0a4bfe2992130 1 -> 2
= 8af26b09e2fc914ebb1032ef7b2b3e5424694186 1 -> 2
= f08de7e82e56bac139d030b89aa384b987a56475 (master) 3 -> 4
= e205ef2e2f4e7ad14f68fc10adacf42c03cc2991 3 -> 4
= cbd53fdf5b11239c727df6578290764a8022bfb1 2 -> 3
= 3aa3cb046458c38551db906c7d8a1388c6520039 2 -> 3
= 2c6dcc47a535d6e51b389924dd425fd7bbd90326 1 -> 2
= 62d5b2e3f2ff27ac9c419d65fe1f02370eb0f0f1 1 -> 2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --graph --cherry-mark "$branch_default_name"...branch1
= 5ffdf4a3347fa76b14daec1fda22370cfc43cd57 (HEAD -> branch1) 3 -> 4
* a6f4ca6d4b32c0d618ae8ae25dd762e7fe1350f9 3 -> 5
= dd75dd45c47ea45d839068bf519cd4f33c6ac79f 2 -> 3
= ab2eac4270ce934ce92c47818ef9c2bf3b2b6830 2 -> 3
= df887554949c04af3160e74f4cf0a4bfe2992130 1 -> 2
\
= 8af26b09e2fc914ebb1032ef7b2b3e5424694186 1 -> 2
= f08de7e82e56bac139d030b89aa384b987a56475 (master) 3 -> 4
= e205ef2e2f4e7ad14f68fc10adacf42c03cc2991 3 -> 4
= cbd53fdf5b11239c727df6578290764a8022bfb1 2 -> 3
= 3aa3cb046458c38551db906c7d8a1388c6520039 2 -> 3
= 2c6dcc47a535d6e51b389924dd425fd7bbd90326 1 -> 2
= 62d5b2e3f2ff27ac9c419d65fe1f02370eb0f0f1 1 -> 2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --cherry-mark --boundary "$branch_default_name"...branch1
= 5ffdf4a3347fa76b14daec1fda22370cfc43cd57 (HEAD -> branch1) 3 -> 4
+ a6f4ca6d4b32c0d618ae8ae25dd762e7fe1350f9 3 -> 5
= dd75dd45c47ea45d839068bf519cd4f33c6ac79f 2 -> 3
= ab2eac4270ce934ce92c47818ef9c2bf3b2b6830 2 -> 3
= df887554949c04af3160e74f4cf0a4bfe2992130 1 -> 2
= 8af26b09e2fc914ebb1032ef7b2b3e5424694186 1 -> 2
= f08de7e82e56bac139d030b89aa384b987a56475 (master) 3 -> 4
= e205ef2e2f4e7ad14f68fc10adacf42c03cc2991 3 -> 4
= cbd53fdf5b11239c727df6578290764a8022bfb1 2 -> 3
= 3aa3cb046458c38551db906c7d8a1388c6520039 2 -> 3
= 2c6dcc47a535d6e51b389924dd425fd7bbd90326 1 -> 2
= 62d5b2e3f2ff27ac9c419d65fe1f02370eb0f0f1 1 -> 2
- 87c9633c3ed9d28c8b0e86b7fa2c9ea1279d266e 0 -> 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --graph --cherry-mark --boundary "$branch_default_name"...branch1
= 5ffdf4a3347fa76b14daec1fda22370cfc43cd57 (HEAD -> branch1) 3 -> 4
* a6f4ca6d4b32c0d618ae8ae25dd762e7fe1350f9 3 -> 5
= dd75dd45c47ea45d839068bf519cd4f33c6ac79f 2 -> 3
= ab2eac4270ce934ce92c47818ef9c2bf3b2b6830 2 -> 3
= df887554949c04af3160e74f4cf0a4bfe2992130 1 -> 2
= 8af26b09e2fc914ebb1032ef7b2b3e5424694186 1 -> 2
| = f08de7e82e56bac139d030b89aa384b987a56475 (master) 3 -> 4
| = e205ef2e2f4e7ad14f68fc10adacf42c03cc2991 3 -> 4
| = cbd53fdf5b11239c727df6578290764a8022bfb1 2 -> 3
| = 3aa3cb046458c38551db906c7d8a1388c6520039 2 -> 3
| = 2c6dcc47a535d6e51b389924dd425fd7bbd90326 1 -> 2
| = 62d5b2e3f2ff27ac9c419d65fe1f02370eb0f0f1 1 -> 2
|/
o 87c9633c3ed9d28c8b0e86b7fa2c9ea1279d266e 0 -> 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --left-only "$branch_default_name"...branch1
f08de7e82e56bac139d030b89aa384b987a56475 (master) 3 -> 4
e205ef2e2f4e7ad14f68fc10adacf42c03cc2991 3 -> 4
cbd53fdf5b11239c727df6578290764a8022bfb1 2 -> 3
3aa3cb046458c38551db906c7d8a1388c6520039 2 -> 3
2c6dcc47a535d6e51b389924dd425fd7bbd90326 1 -> 2
62d5b2e3f2ff27ac9c419d65fe1f02370eb0f0f1 1 -> 2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --graph --left-only "$branch_default_name"...branch1
* f08de7e82e56bac139d030b89aa384b987a56475 (master) 3 -> 4
* e205ef2e2f4e7ad14f68fc10adacf42c03cc2991 3 -> 4
* cbd53fdf5b11239c727df6578290764a8022bfb1 2 -> 3
* 3aa3cb046458c38551db906c7d8a1388c6520039 2 -> 3
* 2c6dcc47a535d6e51b389924dd425fd7bbd90326 1 -> 2
* 62d5b2e3f2ff27ac9c419d65fe1f02370eb0f0f1 1 -> 2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --right-only "$branch_default_name"...branch1
5ffdf4a3347fa76b14daec1fda22370cfc43cd57 (HEAD -> branch1) 3 -> 4
a6f4ca6d4b32c0d618ae8ae25dd762e7fe1350f9 3 -> 5
dd75dd45c47ea45d839068bf519cd4f33c6ac79f 2 -> 3
ab2eac4270ce934ce92c47818ef9c2bf3b2b6830 2 -> 3
df887554949c04af3160e74f4cf0a4bfe2992130 1 -> 2
8af26b09e2fc914ebb1032ef7b2b3e5424694186 1 -> 2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --graph --right-only "$branch_default_name"...branch1
* 5ffdf4a3347fa76b14daec1fda22370cfc43cd57 (HEAD -> branch1) 3 -> 4
* a6f4ca6d4b32c0d618ae8ae25dd762e7fe1350f9 3 -> 5
* dd75dd45c47ea45d839068bf519cd4f33c6ac79f 2 -> 3
* ab2eac4270ce934ce92c47818ef9c2bf3b2b6830 2 -> 3
* df887554949c04af3160e74f4cf0a4bfe2992130 1 -> 2
* 8af26b09e2fc914ebb1032ef7b2b3e5424694186 1 -> 2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --right-only --cherry-mark "$branch_default_name"...branch1
= 5ffdf4a3347fa76b14daec1fda22370cfc43cd57 (HEAD -> branch1) 3 -> 4
+ a6f4ca6d4b32c0d618ae8ae25dd762e7fe1350f9 3 -> 5
= dd75dd45c47ea45d839068bf519cd4f33c6ac79f 2 -> 3
= ab2eac4270ce934ce92c47818ef9c2bf3b2b6830 2 -> 3
= df887554949c04af3160e74f4cf0a4bfe2992130 1 -> 2
= 8af26b09e2fc914ebb1032ef7b2b3e5424694186 1 -> 2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --graph --right-only --cherry-mark "$branch_default_name"...branch1
= 5ffdf4a3347fa76b14daec1fda22370cfc43cd57 (HEAD -> branch1) 3 -> 4
* a6f4ca6d4b32c0d618ae8ae25dd762e7fe1350f9 3 -> 5
= dd75dd45c47ea45d839068bf519cd4f33c6ac79f 2 -> 3
= ab2eac4270ce934ce92c47818ef9c2bf3b2b6830 2 -> 3
= df887554949c04af3160e74f4cf0a4bfe2992130 1 -> 2
= 8af26b09e2fc914ebb1032ef7b2b3e5424694186 1 -> 2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=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) d038424] 1
jhcarl0814@jhcarl0814 UCRT64 $?=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 87586a4] 2
jhcarl0814@jhcarl0814 UCRT64 $?=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 d038424 1
[master 5682639] 3
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --graph tag2 tag3
* 87586a4f32dc1993683a9c0f9d68ec1264e99c67 (tag: tag2) 2
| * 5682639bc1c54131029bbd1930cfbb102e48d037 (tag: tag3) 3
|/
* d0384246088481c5ab4c4bfb82d2d9a3e71a88c8 (tag: tag1) 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --graph --maximal-only tag2 tag3
* 87586a4f32dc1993683a9c0f9d68ec1264e99c67 (tag: tag2) 2
* 5682639bc1c54131029bbd1930cfbb102e48d037 (tag: tag3) 3
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --graph tag2 tag3 tag4
* 329ac2674549106b785ac39bab6625e3b9513bbc (HEAD -> master, tag: tag4) 4
|\
| * 87586a4f32dc1993683a9c0f9d68ec1264e99c67 (tag: tag2) 2
* | 5682639bc1c54131029bbd1930cfbb102e48d037 (tag: tag3) 3
|/
* d0384246088481c5ab4c4bfb82d2d9a3e71a88c8 (tag: tag1) 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --graph --maximal-only tag2 tag3 tag4
* 329ac2674549106b785ac39bab6625e3b9513bbc (HEAD -> master, tag: tag4) 4
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ branch_default_name="$(git -C './repo' branch --show-current)"; echo "$branch_default_name"
master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master (root-commit) 5ca19a4] 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch branch1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master e94f999] 2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1; git -C './repo' commit --message="$((++number))"' (branch1)' --allow-empty
Switched to branch 'branch1'
[branch1 0bb7f4c] 3 (branch1)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --message="$((++number))"' (branch1)' "$branch_default_name"
Merge made by the 'ort' strategy.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout "$branch_default_name"; git -C './repo' commit --message="$((++number))" --allow-empty
Switched to branch 'master'
[master 368eeee] 5
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --message="$((++number))" branch1
Merge made by the 'ort' strategy.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1; git -C './repo' commit --message="$((++number))"' (branch1)' --allow-empty
Switched to branch 'branch1'
[branch1 b277bf4] 7 (branch1)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --message="$((++number))"' (branch1)' "$branch_default_name"
Merge made by the 'ort' strategy.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* a8bca75 - 2026-10-28 22:38 (1 second ago) 8 (branch1) - Han Jiang (HEAD -> refs/heads/branch1)
|\
| * 352aabd - 2026-10-28 22:38 (2 seconds ago) 6 - Han Jiang (refs/heads/master)
| |\
| * | 368eeee - 2026-10-28 22:38 (2 seconds ago) 5 - Han Jiang
* | | b277bf4 - 2026-10-28 22:38 (1 second ago) 7 (branch1) - Han Jiang
| |/
|/|
* | 3086606 - 2026-10-28 22:38 (3 seconds ago) 4 (branch1) - Han Jiang
|\|
| * e94f999 - 2026-10-28 22:38 (4 seconds ago) 2 - Han Jiang
* | 0bb7f4c - 2026-10-28 22:38 (3 seconds ago) 3 (branch1) - Han Jiang
|/
* 5ca19a4 - 2026-10-28 22:38 (5 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg "$branch_default_name"
* 352aabd - 2026-10-28 22:38 (2 seconds ago) 6 - Han Jiang (refs/heads/master)
|\
| * 3086606 - 2026-10-28 22:38 (3 seconds ago) 4 (branch1) - Han Jiang
| |\
| * | 0bb7f4c - 2026-10-28 22:38 (3 seconds ago) 3 (branch1) - Han Jiang
* | | 368eeee - 2026-10-28 22:38 (2 seconds ago) 5 - Han Jiang
| |/
|/|
* | e94f999 - 2026-10-28 22:38 (4 seconds ago) 2 - Han Jiang
|/
* 5ca19a4 - 2026-10-28 22:38 (5 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --first-parent "$branch_default_name"
* 352aabd - 2026-10-28 22:38 (3 seconds ago) 6 - Han Jiang (refs/heads/master)
* 368eeee - 2026-10-28 22:38 (3 seconds ago) 5 - Han Jiang
* e94f999 - 2026-10-28 22:38 (5 seconds ago) 2 - Han Jiang
* 5ca19a4 - 2026-10-28 22:38 (6 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg branch1.."$branch_default_name"
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --exclude-first-parent-only branch1.."$branch_default_name"
* 352aabd - 2026-10-28 22:38 (4 seconds ago) 6 - Han Jiang (refs/heads/master)
* 368eeee - 2026-10-28 22:38 (4 seconds ago) 5 - Han Jiang
* e94f999 - 2026-10-28 22:38 (6 seconds ago) 2 - Han Jiang
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg branch1
* a8bca75 - 2026-10-28 22:38 (3 seconds ago) 8 (branch1) - Han Jiang (HEAD -> refs/heads/branch1)
|\
| * 352aabd - 2026-10-28 22:38 (4 seconds ago) 6 - Han Jiang (refs/heads/master)
| |\
| * | 368eeee - 2026-10-28 22:38 (4 seconds ago) 5 - Han Jiang
* | | b277bf4 - 2026-10-28 22:38 (3 seconds ago) 7 (branch1) - Han Jiang
| |/
|/|
* | 3086606 - 2026-10-28 22:38 (5 seconds ago) 4 (branch1) - Han Jiang
|\|
| * e94f999 - 2026-10-28 22:38 (6 seconds ago) 2 - Han Jiang
* | 0bb7f4c - 2026-10-28 22:38 (5 seconds ago) 3 (branch1) - Han Jiang
|/
* 5ca19a4 - 2026-10-28 22:38 (7 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --first-parent branch1
* a8bca75 - 2026-10-28 22:38 (4 seconds ago) 8 (branch1) - Han Jiang (HEAD -> refs/heads/branch1)
* b277bf4 - 2026-10-28 22:38 (4 seconds ago) 7 (branch1) - Han Jiang
* 3086606 - 2026-10-28 22:38 (6 seconds ago) 4 (branch1) - Han Jiang
* 0bb7f4c - 2026-10-28 22:38 (6 seconds ago) 3 (branch1) - Han Jiang
* 5ca19a4 - 2026-10-28 22:38 (8 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg "$branch_default_name"..branch1
* a8bca75 - 2026-10-28 22:38 (4 seconds ago) 8 (branch1) - Han Jiang (HEAD -> refs/heads/branch1)
* b277bf4 - 2026-10-28 22:38 (4 seconds ago) 7 (branch1) - Han Jiang
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --exclude-first-parent-only "$branch_default_name"..branch1
* a8bca75 - 2026-10-28 22:38 (5 seconds ago) 8 (branch1) - Han Jiang (HEAD -> refs/heads/branch1)
* b277bf4 - 2026-10-28 22:38 (5 seconds ago) 7 (branch1) - Han Jiang
* 3086606 - 2026-10-28 22:38 (7 seconds ago) 4 (branch1) - Han Jiang
* 0bb7f4c - 2026-10-28 22:38 (7 seconds ago) 3 (branch1) - Han Jiang
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout "$branch_default_name"; git -C './repo' commit --message="$((++number))" --allow-empty
Switched to branch 'master'
[master d286026] 9
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --message="$((++number))" branch1
Merge made by the 'ort' strategy.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 0eb34c1 - 2026-10-28 22:38 (1 second ago) 10 - Han Jiang (HEAD -> refs/heads/master)
|\
| * a8bca75 - 2026-10-28 22:38 (7 seconds ago) 8 (branch1) - Han Jiang (refs/heads/branch1)
| |\
| * | b277bf4 - 2026-10-28 22:38 (7 seconds ago) 7 (branch1) - Han Jiang
* | | d286026 - 2026-10-28 22:38 (2 seconds ago) 9 - Han Jiang
| |/
|/|
* | 352aabd - 2026-10-28 22:38 (8 seconds ago) 6 - Han Jiang
|\|
| * 3086606 - 2026-10-28 22:38 (9 seconds ago) 4 (branch1) - Han Jiang
| |\
| * | 0bb7f4c - 2026-10-28 22:38 (9 seconds ago) 3 (branch1) - Han Jiang
* | | 368eeee - 2026-10-28 22:38 (8 seconds ago) 5 - Han Jiang
| |/
|/|
* | e94f999 - 2026-10-28 22:38 (10 seconds ago) 2 - Han Jiang
|/
* 5ca19a4 - 2026-10-28 22:38 (11 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg "$branch_default_name"
* 0eb34c1 - 2026-10-28 22:38 (1 second ago) 10 - Han Jiang (HEAD -> refs/heads/master)
|\
| * a8bca75 - 2026-10-28 22:38 (7 seconds ago) 8 (branch1) - Han Jiang (refs/heads/branch1)
| |\
| * | b277bf4 - 2026-10-28 22:38 (7 seconds ago) 7 (branch1) - Han Jiang
* | | d286026 - 2026-10-28 22:38 (2 seconds ago) 9 - Han Jiang
| |/
|/|
* | 352aabd - 2026-10-28 22:38 (8 seconds ago) 6 - Han Jiang
|\|
| * 3086606 - 2026-10-28 22:38 (9 seconds ago) 4 (branch1) - Han Jiang
| |\
| * | 0bb7f4c - 2026-10-28 22:38 (9 seconds ago) 3 (branch1) - Han Jiang
* | | 368eeee - 2026-10-28 22:38 (8 seconds ago) 5 - Han Jiang
| |/
|/|
* | e94f999 - 2026-10-28 22:38 (10 seconds ago) 2 - Han Jiang
|/
* 5ca19a4 - 2026-10-28 22:38 (11 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --first-parent "$branch_default_name"
* 0eb34c1 - 2026-10-28 22:38 (2 seconds ago) 10 - Han Jiang (HEAD -> refs/heads/master)
* d286026 - 2026-10-28 22:38 (3 seconds ago) 9 - Han Jiang
* 352aabd - 2026-10-28 22:38 (9 seconds ago) 6 - Han Jiang
* 368eeee - 2026-10-28 22:38 (9 seconds ago) 5 - Han Jiang
* e94f999 - 2026-10-28 22:38 (11 seconds ago) 2 - Han Jiang
* 5ca19a4 - 2026-10-28 22:38 (12 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg branch1.."$branch_default_name"
* 0eb34c1 - 2026-10-28 22:38 (2 seconds ago) 10 - Han Jiang (HEAD -> refs/heads/master)
* d286026 - 2026-10-28 22:38 (3 seconds ago) 9 - Han Jiang
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --exclude-first-parent-only branch1.."$branch_default_name"
* 0eb34c1 - 2026-10-28 22:38 (3 seconds ago) 10 - Han Jiang (HEAD -> refs/heads/master)
* d286026 - 2026-10-28 22:38 (4 seconds ago) 9 - Han Jiang
* 352aabd - 2026-10-28 22:38 (10 seconds ago) 6 - Han Jiang
* 368eeee - 2026-10-28 22:38 (10 seconds ago) 5 - Han Jiang
* e94f999 - 2026-10-28 22:38 (12 seconds ago) 2 - Han Jiang
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg branch1
* a8bca75 - 2026-10-28 22:38 (9 seconds ago) 8 (branch1) - Han Jiang (refs/heads/branch1)
|\
| * 352aabd - 2026-10-28 22:38 (10 seconds ago) 6 - Han Jiang
| |\
| * | 368eeee - 2026-10-28 22:38 (10 seconds ago) 5 - Han Jiang
* | | b277bf4 - 2026-10-28 22:38 (9 seconds ago) 7 (branch1) - Han Jiang
| |/
|/|
* | 3086606 - 2026-10-28 22:38 (11 seconds ago) 4 (branch1) - Han Jiang
|\|
| * e94f999 - 2026-10-28 22:38 (12 seconds ago) 2 - Han Jiang
* | 0bb7f4c - 2026-10-28 22:38 (11 seconds ago) 3 (branch1) - Han Jiang
|/
* 5ca19a4 - 2026-10-28 22:38 (13 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --first-parent branch1
* a8bca75 - 2026-10-28 22:38 (10 seconds ago) 8 (branch1) - Han Jiang (refs/heads/branch1)
* b277bf4 - 2026-10-28 22:38 (10 seconds ago) 7 (branch1) - Han Jiang
* 3086606 - 2026-10-28 22:38 (12 seconds ago) 4 (branch1) - Han Jiang
* 0bb7f4c - 2026-10-28 22:38 (12 seconds ago) 3 (branch1) - Han Jiang
* 5ca19a4 - 2026-10-28 22:38 (14 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg "$branch_default_name"..branch1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --exclude-first-parent-only "$branch_default_name"..branch1
* a8bca75 - 2026-10-28 22:38 (10 seconds ago) 8 (branch1) - Han Jiang (refs/heads/branch1)
* b277bf4 - 2026-10-28 22:38 (10 seconds ago) 7 (branch1) - Han Jiang
* 3086606 - 2026-10-28 22:38 (12 seconds ago) 4 (branch1) - Han Jiang
* 0bb7f4c - 2026-10-28 22:38 (12 seconds ago) 3 (branch1) - Han Jiang
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ branch_default_name="$(git -C './repo' branch --show-current)"; echo "$branch_default_name"
master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message='a' --allow-empty
[master (root-commit) 676060f] a
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message='b' --allow-empty
[branch1 3aee7fd] b
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout -b branch2
Switched to a new branch 'branch2'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message='d' --allow-empty
[branch2 aedd861] d
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message='e' --allow-empty
[branch2 0e0cb35] e
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1
Switched to branch 'branch1'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message='c' --allow-empty
[branch1 0efaa03] c
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --message='g' branch2
Merge made by the 'ort' strategy.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch2
Switched to branch 'branch2'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message='f' --allow-empty
[branch2 a6a8e50] f
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1
Switched to branch 'branch1'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message='h' --allow-empty
[branch1 b0b84b0] h
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --message='i' branch2
Merge made by the 'ort' strategy.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message='j' --allow-empty
[branch1 f9268a0] j
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout "$branch_default_name"
Switched to branch 'master'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message='k' --allow-empty
[master df46df3] k
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --message='l' branch1
Merge made by the 'ort' strategy.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message='m' --allow-empty
[master 72cd5ce] m
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg
* 72cd5ce - 2026-10-28 22:38 (1 second ago) m - Han Jiang (HEAD -> refs/heads/master)
* 79e7cff - 2026-10-28 22:38 (1 second ago) l - Han Jiang
|\
| * f9268a0 - 2026-10-28 22:38 (3 seconds ago) j - Han Jiang (refs/heads/branch1)
| * 07aa881 - 2026-10-28 22:38 (3 seconds ago) i - Han Jiang
| |\
| | * a6a8e50 - 2026-10-28 22:38 (5 seconds ago) f - Han Jiang (refs/heads/branch2)
| * | b0b84b0 - 2026-10-28 22:38 (4 seconds ago) h - Han Jiang
| * | f3a33dc - 2026-10-28 22:38 (6 seconds ago) g - Han Jiang
| |\|
| | * 0e0cb35 - 2026-10-28 22:38 (7 seconds ago) e - Han Jiang
| | * aedd861 - 2026-10-28 22:38 (8 seconds ago) d - Han Jiang
| * | 0efaa03 - 2026-10-28 22:38 (6 seconds ago) c - Han Jiang
| |/
| * 3aee7fd - 2026-10-28 22:38 (8 seconds ago) b - Han Jiang
* | df46df3 - 2026-10-28 22:38 (2 seconds ago) k - Han Jiang
|/
* 676060f - 2026-10-28 22:38 (9 seconds ago) a - Han Jiang
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --not :/'d' --not :/'m'
* 72cd5ce - 2026-10-28 22:38 (1 second ago) m - Han Jiang (HEAD -> refs/heads/master)
* 79e7cff - 2026-10-28 22:38 (1 second ago) l - Han Jiang
|\
| * f9268a0 - 2026-10-28 22:38 (3 seconds ago) j - Han Jiang (refs/heads/branch1)
| * 07aa881 - 2026-10-28 22:38 (3 seconds ago) i - Han Jiang
| |\
| | * a6a8e50 - 2026-10-28 22:38 (5 seconds ago) f - Han Jiang (refs/heads/branch2)
| * | b0b84b0 - 2026-10-28 22:38 (4 seconds ago) h - Han Jiang
| * | f3a33dc - 2026-10-28 22:38 (6 seconds ago) g - Han Jiang
| |\|
| | * 0e0cb35 - 2026-10-28 22:38 (7 seconds ago) e - Han Jiang
| * 0efaa03 - 2026-10-28 22:38 (6 seconds ago) c - Han Jiang
* df46df3 - 2026-10-28 22:38 (2 seconds ago) k - Han Jiang
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg :/'d'..:/'m'
* 72cd5ce - 2026-10-28 22:38 (2 seconds ago) m - Han Jiang (HEAD -> refs/heads/master)
* 79e7cff - 2026-10-28 22:38 (2 seconds ago) l - Han Jiang
|\
| * f9268a0 - 2026-10-28 22:38 (4 seconds ago) j - Han Jiang (refs/heads/branch1)
| * 07aa881 - 2026-10-28 22:38 (4 seconds ago) i - Han Jiang
| |\
| | * a6a8e50 - 2026-10-28 22:38 (6 seconds ago) f - Han Jiang (refs/heads/branch2)
| * | b0b84b0 - 2026-10-28 22:38 (5 seconds ago) h - Han Jiang
| * | f3a33dc - 2026-10-28 22:38 (7 seconds ago) g - Han Jiang
| |\|
| | * 0e0cb35 - 2026-10-28 22:38 (8 seconds ago) e - Han Jiang
| * 0efaa03 - 2026-10-28 22:38 (7 seconds ago) c - Han Jiang
* df46df3 - 2026-10-28 22:38 (3 seconds ago) k - Han Jiang
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --ancestry-path :/'d'..:/'m'
* 72cd5ce - 2026-10-28 22:38 (2 seconds ago) m - Han Jiang (HEAD -> refs/heads/master)
* 79e7cff - 2026-10-28 22:38 (2 seconds ago) l - Han Jiang
* f9268a0 - 2026-10-28 22:38 (4 seconds ago) j - Han Jiang (refs/heads/branch1)
* 07aa881 - 2026-10-28 22:38 (4 seconds ago) i - Han Jiang
|\
| * a6a8e50 - 2026-10-28 22:38 (6 seconds ago) f - Han Jiang (refs/heads/branch2)
* | b0b84b0 - 2026-10-28 22:38 (5 seconds ago) h - Han Jiang
* | f3a33dc - 2026-10-28 22:38 (7 seconds ago) g - Han Jiang
|/
* 0e0cb35 - 2026-10-28 22:38 (8 seconds ago) e - Han Jiang
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --not :/'d' :/'b' --not :/'m'
* 72cd5ce - 2026-10-28 22:38 (3 seconds ago) m - Han Jiang (HEAD -> refs/heads/master)
* 79e7cff - 2026-10-28 22:38 (3 seconds ago) l - Han Jiang
|\
| * f9268a0 - 2026-10-28 22:38 (5 seconds ago) j - Han Jiang (refs/heads/branch1)
| * 07aa881 - 2026-10-28 22:38 (5 seconds ago) i - Han Jiang
| |\
| | * a6a8e50 - 2026-10-28 22:38 (7 seconds ago) f - Han Jiang (refs/heads/branch2)
| * | b0b84b0 - 2026-10-28 22:38 (6 seconds ago) h - Han Jiang
| * | f3a33dc - 2026-10-28 22:38 (8 seconds ago) g - Han Jiang
| |\|
| | * 0e0cb35 - 2026-10-28 22:38 (9 seconds ago) e - Han Jiang
| * 0efaa03 - 2026-10-28 22:38 (8 seconds ago) c - Han Jiang
* df46df3 - 2026-10-28 22:38 (4 seconds ago) k - Han Jiang
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --ancestry-path --not :/'d' :/'b' --not :/'m'
* 72cd5ce - 2026-10-28 22:38 (3 seconds ago) m - Han Jiang (HEAD -> refs/heads/master)
* 79e7cff - 2026-10-28 22:38 (3 seconds ago) l - Han Jiang
* f9268a0 - 2026-10-28 22:38 (5 seconds ago) j - Han Jiang (refs/heads/branch1)
* 07aa881 - 2026-10-28 22:38 (5 seconds ago) i - Han Jiang
|\
| * a6a8e50 - 2026-10-28 22:38 (7 seconds ago) f - Han Jiang (refs/heads/branch2)
* | b0b84b0 - 2026-10-28 22:38 (6 seconds ago) h - Han Jiang
* | f3a33dc - 2026-10-28 22:38 (8 seconds ago) g - Han Jiang
|\|
| * 0e0cb35 - 2026-10-28 22:38 (9 seconds ago) e - Han Jiang
* 0efaa03 - 2026-10-28 22:38 (8 seconds ago) c - Han Jiang
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --ancestry-path=:/'d' --not :/'d' :/'b' --not :/'m'
* 72cd5ce - 2026-10-28 22:38 (4 seconds ago) m - Han Jiang (HEAD -> refs/heads/master)
* 79e7cff - 2026-10-28 22:38 (4 seconds ago) l - Han Jiang
* f9268a0 - 2026-10-28 22:38 (6 seconds ago) j - Han Jiang (refs/heads/branch1)
* 07aa881 - 2026-10-28 22:38 (6 seconds ago) i - Han Jiang
|\
| * a6a8e50 - 2026-10-28 22:38 (8 seconds ago) f - Han Jiang (refs/heads/branch2)
* | b0b84b0 - 2026-10-28 22:38 (7 seconds ago) h - Han Jiang
* | f3a33dc - 2026-10-28 22:38 (9 seconds ago) g - Han Jiang
|/
* 0e0cb35 - 2026-10-28 22:38 (10 seconds ago) e - Han Jiang
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --ancestry-path=:/'b' --not :/'d' :/'b' --not :/'m'
* 72cd5ce - 2026-10-28 22:38 (4 seconds ago) m - Han Jiang (HEAD -> refs/heads/master)
* 79e7cff - 2026-10-28 22:38 (4 seconds ago) l - Han Jiang
* f9268a0 - 2026-10-28 22:38 (6 seconds ago) j - Han Jiang (refs/heads/branch1)
* 07aa881 - 2026-10-28 22:38 (6 seconds ago) i - Han Jiang
* b0b84b0 - 2026-10-28 22:38 (7 seconds ago) h - Han Jiang
* f3a33dc - 2026-10-28 22:38 (9 seconds ago) g - Han Jiang
* 0efaa03 - 2026-10-28 22:38 (9 seconds ago) c - Han Jiang
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --ancestry-path=:/'d' --ancestry-path=:/'b' --not :/'d' :/'b' --not :/'m'
* 72cd5ce - 2026-10-28 22:38 (5 seconds ago) m - Han Jiang (HEAD -> refs/heads/master)
* 79e7cff - 2026-10-28 22:38 (5 seconds ago) l - Han Jiang
* f9268a0 - 2026-10-28 22:38 (7 seconds ago) j - Han Jiang (refs/heads/branch1)
* 07aa881 - 2026-10-28 22:38 (7 seconds ago) i - Han Jiang
|\
| * a6a8e50 - 2026-10-28 22:38 (9 seconds ago) f - Han Jiang (refs/heads/branch2)
* | b0b84b0 - 2026-10-28 22:38 (8 seconds ago) h - Han Jiang
* | f3a33dc - 2026-10-28 22:38 (10 seconds ago) g - Han Jiang
|\|
| * 0e0cb35 - 2026-10-28 22:38 (11 seconds ago) e - Han Jiang
* 0efaa03 - 2026-10-28 22:38 (10 seconds ago) c - Han Jiang
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --ancestry-path=:/'h' :/'d'..:/'m'
* 72cd5ce - 2026-10-28 22:38 (5 seconds ago) m - Han Jiang (HEAD -> refs/heads/master)
* 79e7cff - 2026-10-28 22:38 (5 seconds ago) l - Han Jiang
* f9268a0 - 2026-10-28 22:38 (7 seconds ago) j - Han Jiang (refs/heads/branch1)
* 07aa881 - 2026-10-28 22:38 (7 seconds ago) i - Han Jiang
* b0b84b0 - 2026-10-28 22:38 (8 seconds ago) h - Han Jiang
* f3a33dc - 2026-10-28 22:38 (10 seconds ago) g - Han Jiang
|\
| * 0e0cb35 - 2026-10-28 22:38 (11 seconds ago) e - Han Jiang
* 0efaa03 - 2026-10-28 22:38 (10 seconds ago) c - Han Jiang
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file1'; git -C './repo' add './file1'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) ce104a6] 1
1 file changed, 1 insertion(+)
create mode 100644 file1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master 155849e] 2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./repo/file1'; git -C './repo' add './file1'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
[master 81b6986] 3
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master 078a942] 4
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ mv './repo/file1' './repo/file2'; git -C './repo' add './file1' './file2'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
[master 41b23b2] 5
1 file changed, 0 insertions(+), 0 deletions(-)
rename file1 => file2 (100%)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master c5adcd4] 6
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log
commit c5adcd4c1bbd9a8ada9dd62f114343e1cb4b571a (HEAD -> master)
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Wed Oct 28 22:38:49 2026 +1300
6
commit 41b23b2cd98b3813ed14527c7a9f540eecd6d794
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Wed Oct 28 22:38:48 2026 +1300
5
commit 078a94223586a699d7ad861956394f6ef838c55c
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Wed Oct 28 22:38:48 2026 +1300
4
commit 81b6986f53da8c3e4ee6ee82ecb50174ba6ccbc7
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Wed Oct 28 22:38:47 2026 +1300
3
commit 155849ea740a36196f6d24621341b676b4c9417a
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Wed Oct 28 22:38:47 2026 +1300
2
commit ce104a62f7bf41d570a13cfe78e88174114d3224
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Wed Oct 28 22:38:46 2026 +1300
1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --follow 'file1'
fatal: ambiguous argument 'file1': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'
jhcarl0814@jhcarl0814 UCRT64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --follow 'file2'
commit 41b23b2cd98b3813ed14527c7a9f540eecd6d794
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Wed Oct 28 22:38:48 2026 +1300
5
commit 81b6986f53da8c3e4ee6ee82ecb50174ba6ccbc7
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Wed Oct 28 22:38:47 2026 +1300
3
commit ce104a62f7bf41d570a13cfe78e88174114d3224
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Wed Oct 28 22:38:46 2026 +1300
1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --follow -- 'file1'
commit 41b23b2cd98b3813ed14527c7a9f540eecd6d794
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Wed Oct 28 22:38:48 2026 +1300
5
commit 81b6986f53da8c3e4ee6ee82ecb50174ba6ccbc7
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Wed Oct 28 22:38:47 2026 +1300
3
commit ce104a62f7bf41d570a13cfe78e88174114d3224
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Wed Oct 28 22:38:46 2026 +1300
1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --follow -- 'file2'
commit 41b23b2cd98b3813ed14527c7a9f540eecd6d794
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Wed Oct 28 22:38:48 2026 +1300
5
commit 81b6986f53da8c3e4ee6ee82ecb50174ba6ccbc7
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Wed Oct 28 22:38:47 2026 +1300
3
commit ce104a62f7bf41d570a13cfe78e88174114d3224
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Wed Oct 28 22:38:46 2026 +1300
1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --graph
* commit c5adcd4c1bbd9a8ada9dd62f114343e1cb4b571a (HEAD -> master)
| Author: Han Jiang <jhcarl0814@gmail.com>
| Date: Wed Oct 28 22:38:49 2026 +1300
|
| 6
|
* commit 41b23b2cd98b3813ed14527c7a9f540eecd6d794
| Author: Han Jiang <jhcarl0814@gmail.com>
| Date: Wed Oct 28 22:38:48 2026 +1300
|
| 5
|
* commit 078a94223586a699d7ad861956394f6ef838c55c
| Author: Han Jiang <jhcarl0814@gmail.com>
| Date: Wed Oct 28 22:38:48 2026 +1300
|
| 4
|
* commit 81b6986f53da8c3e4ee6ee82ecb50174ba6ccbc7
| Author: Han Jiang <jhcarl0814@gmail.com>
| Date: Wed Oct 28 22:38:47 2026 +1300
|
| 3
|
* commit 155849ea740a36196f6d24621341b676b4c9417a
| Author: Han Jiang <jhcarl0814@gmail.com>
| Date: Wed Oct 28 22:38:47 2026 +1300
|
| 2
|
* commit ce104a62f7bf41d570a13cfe78e88174114d3224
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Wed Oct 28 22:38:46 2026 +1300
1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --graph --follow 'file2'
...
* commit 41b23b2cd98b3813ed14527c7a9f540eecd6d794
| Author: Han Jiang <jhcarl0814@gmail.com>
| Date: Wed Oct 28 22:38:48 2026 +1300
|
| 5
...
* commit 81b6986f53da8c3e4ee6ee82ecb50174ba6ccbc7
| Author: Han Jiang <jhcarl0814@gmail.com>
| Date: Wed Oct 28 22:38:47 2026 +1300
|
| 3
...
* commit ce104a62f7bf41d570a13cfe78e88174114d3224
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Wed Oct 28 22:38:46 2026 +1300
1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e 'a\n1' >'./repo/file1'; git -C './repo' add './file1'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 76c464e] 1
1 file changed, 2 insertions(+)
create mode 100644 file1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master ecf3c0e] 2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e 'a\n2' >'./repo/file1'; git -C './repo' add './file1'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file1', LF will be replaced by CRLF the next time Git touches it
[master 50b6247] 3
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master 2d03b13] 4
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ mv './repo/file1' './repo/file2'; git -C './repo' add './file1' './file2'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
[master 24db75f] 5
1 file changed, 0 insertions(+), 0 deletions(-)
rename file1 => file2 (100%)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master 9fe9f72] 6
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e '3\na' >'./repo/file2'; git -C './repo' add './file2'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
[master 1b0df9b] 7
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master d5b7f42] 8
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e '4\na' >'./repo/file2'; git -C './repo' add './file2'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file2', LF will be replaced by CRLF the next time Git touches it
[master 4d840e1] 9
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master 37ae0d9] 10
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log
commit 37ae0d94108c7b418310b995848eed3a272308cd (HEAD -> master)
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Wed Oct 28 22:39:02 2026 +1300
10
commit 4d840e14af099c59d9248e03f8e1862ea1c5b52e
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Wed Oct 28 22:39:02 2026 +1300
9
commit d5b7f4248dfb2f603425c38742f7844cf22fd3bb
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Wed Oct 28 22:39:01 2026 +1300
8
commit 1b0df9b47e651d0079d8b8b1db0fe424e32de25d
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Wed Oct 28 22:39:01 2026 +1300
7
commit 9fe9f72f967d5ad16438440ad5b0cff8b4ea3112
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Wed Oct 28 22:39:00 2026 +1300
6
commit 24db75fa54b96e6820cb933efcbfcdc4f8f7dd8e
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Wed Oct 28 22:38:59 2026 +1300
5
commit 2d03b137a703b87a16e6fd8d21626d54b433d9b8
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Wed Oct 28 22:38:59 2026 +1300
4
commit 50b62478183ac94064214196f1068de6f190508f
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Wed Oct 28 22:38:58 2026 +1300
3
commit ecf3c0eb5745799662ee6aa4124fd5181e247247
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Wed Oct 28 22:38:58 2026 +1300
2
commit 76c464e9a09b8a27d6ad6badd92eaddfa5f39eec
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Wed Oct 28 22:38:57 2026 +1300
1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log -L1,1:'./file2'
commit 4d840e14af099c59d9248e03f8e1862ea1c5b52e
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Wed Oct 28 22:39:02 2026 +1300
9
diff --git a/file2 b/file2
index 96fe923..e0c368e 100644
--- a/file2
+++ b/file2
@@ -1,1 +1,1 @@
-3
+4
commit 1b0df9b47e651d0079d8b8b1db0fe424e32de25d
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Wed Oct 28 22:39:01 2026 +1300
7
diff --git a/file2 b/file2
index e939544..96fe923 100644
--- a/file2
+++ b/file2
@@ -1,0 +1,1 @@
+3
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log -L2,2:'./file2'
commit 76c464e9a09b8a27d6ad6badd92eaddfa5f39eec
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Wed Oct 28 22:38:57 2026 +1300
1
diff --git a/file1 b/file1
new file mode 100644
index 0000000..38c94da
--- /dev/null
+++ b/file1
@@ -0,0 +1,1 @@
+a
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log -L1,2:'./file2'
commit 4d840e14af099c59d9248e03f8e1862ea1c5b52e
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Wed Oct 28 22:39:02 2026 +1300
9
diff --git a/file2 b/file2
index 96fe923..e0c368e 100644
--- a/file2
+++ b/file2
@@ -1,2 +1,2 @@
-3
+4
a
commit 1b0df9b47e651d0079d8b8b1db0fe424e32de25d
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Wed Oct 28 22:39:01 2026 +1300
7
diff --git a/file2 b/file2
index e939544..96fe923 100644
--- a/file2
+++ b/file2
@@ -1,2 +1,2 @@
+3
a
-2
commit 76c464e9a09b8a27d6ad6badd92eaddfa5f39eec
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Wed Oct 28 22:38:57 2026 +1300
1
diff --git a/file1 b/file1
new file mode 100644
index 0000000..38c94da
--- /dev/null
+++ b/file1
@@ -0,0 +1,1 @@
+a
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ branch_default_name="$(git -C './repo' branch --show-current)"; echo "$branch_default_name"
master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message='-' --allow-empty
[master (root-commit) b638d51] -
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e '0' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message='0'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master b1275b5] 0
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message='0' --allow-empty
[master b6b1eb5] 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message='1'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master 5b12010] 1
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message='1' --allow-empty
[master c0b379f] 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch "$branch_default_name"1; git -C './repo' branch "$branch_default_name"2; git -C './repo' branch branch11; git -C './repo' branch branch21; git -C './repo' branch branch51
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout "$branch_default_name"1
Switched to branch 'master1'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message='1 (^2)' --allow-empty
[master1 0d18ae3] 1 (^2)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message='1 (^2)' --allow-empty
[master1 1ca06e5] 1 (^2)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout "$branch_default_name"2
Switched to branch 'master2'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message='1 (^2)' --allow-empty
[master2 3c61115] 1 (^2)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e '2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message='2 (^2)'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master2 9fa299b] 2 (^2)
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message='2 (^2)' --allow-empty
[master2 6149bbf] 2 (^2)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch11
Switched to branch 'branch11'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message='1 (^1)' --allow-empty
[branch11 dc0cbfa] 1 (^1)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message='1 (^1)' --allow-empty
[branch11 0327755] 1 (^1)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch branch12
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --message='1 (== ^1) (== ^2)' "$branch_default_name"1
Merge made by the 'ort' strategy.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message='1' --allow-empty
[branch11 b0a11f5] 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch12; git -C './repo' branch branch31; git -C './repo' branch branch32; git -C './repo' branch branch33
Switched to branch 'branch12'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --no-commit "$branch_default_name"1; echo -e '2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message='2 (!= ^1) (!= ^2)'
Automatic merge went well; stopped before committing as requested
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch12 2aca217] 2 (!= ^1) (!= ^2)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message='2' --allow-empty
[branch12 af8d020] 2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch21
Switched to branch 'branch21'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message='1 (^1)' --allow-empty
[branch21 0785af1] 1 (^1)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e '2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message='2 (^1)'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch21 c782c3b] 2 (^1)
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message='2 (^1)' --allow-empty
[branch21 df5163a] 2 (^1)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch branch22; git -C './repo' branch branch23; git -C './repo' branch branch41; git -C './repo' branch branch42
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --message='2 (== ^1) (!= ^2)' "$branch_default_name"1
Merge made by the 'ort' strategy.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message='2' --allow-empty
[branch21 bcd003b] 2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch22
Switched to branch 'branch22'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --no-commit "$branch_default_name"1; echo -e '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message='1 (!= ^1) (== ^2)'
Automatic merge went well; stopped before committing as requested
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch22 7eca453] 1 (!= ^1) (== ^2)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message='1' --allow-empty
[branch22 e6cc669] 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch23
Switched to branch 'branch23'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --no-commit "$branch_default_name"1; echo -e '3' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message='3 (!= ^1) (!= ^2)'
Automatic merge went well; stopped before committing as requested
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch23 c0eb23b] 3 (!= ^1) (!= ^2)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message='3' --allow-empty
[branch23 79eb3bd] 3
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch31
Switched to branch 'branch31'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --message='2 (!= ^1) (== ^2)' "$branch_default_name"2
Merge made by the 'ort' strategy.
file | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message='2' --allow-empty
[branch31 ca517af] 2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch32
Switched to branch 'branch32'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --no-commit "$branch_default_name"2; echo -e '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message='1 (== ^1) (!= ^2)'
Automatic merge went well; stopped before committing as requested
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch32 6cd30e8] 1 (== ^1) (!= ^2)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message='1' --allow-empty
[branch32 ae86656] 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch33
Switched to branch 'branch33'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --no-commit "$branch_default_name"2; echo -e '3' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message='3 (!= ^1) (!= ^2)'
Automatic merge went well; stopped before committing as requested
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch33 551170a] 3 (!= ^1) (!= ^2)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message='3' --allow-empty
[branch33 3c99215] 3
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch41
Switched to branch 'branch41'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --message='2 (== ^1) (== ^2)' "$branch_default_name"2
Merge made by the 'ort' strategy.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message='2' --allow-empty
[branch41 f63d3ec] 2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch42
Switched to branch 'branch42'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --no-commit "$branch_default_name"2; echo -e '3' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message='3 (!= ^1) (!= ^2)'
Automatic merge went well; stopped before committing as requested
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch42 48f6b15] 3 (!= ^1) (!= ^2)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message='3' --allow-empty
[branch42 37cc424] 3
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch51
Switched to branch 'branch51'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message='1 (^1)' --allow-empty
[branch51 9e05b5d] 1 (^1)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e '3' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message='3 (^1)'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch51 e902e13] 3 (^1)
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message='3 (^1)' --allow-empty
[branch51 cd0d512] 3 (^1)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch branch52; git -C './repo' branch branch53
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge "$branch_default_name"2; echo -e '4' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message='4 (!= ^1) (!= ^2)'
Auto-merging file
CONFLICT (content): Merge conflict in file
Automatic merge failed; fix conflicts and then commit the result.
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch51 fa946ef] 4 (!= ^1) (!= ^2)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message='4' --allow-empty
[branch51 5ab7b7c] 4
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch52
Switched to branch 'branch52'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge "$branch_default_name"2; echo -e '3' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message='3 (== ^1) (!= ^2)'
Auto-merging file
CONFLICT (content): Merge conflict in file
Automatic merge failed; fix conflicts and then commit the result.
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch52 7c0f639] 3 (== ^1) (!= ^2)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message='3' --allow-empty
[branch52 cfb79b2] 3
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch53
Switched to branch 'branch53'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge "$branch_default_name"2; echo -e '2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message='2 (!= ^1) (== ^2)'
Auto-merging file
CONFLICT (content): Merge conflict in file
Automatic merge failed; fix conflicts and then commit the result.
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch53 f7326e9] 2 (!= ^1) (== ^2)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message='2' --allow-empty
[branch53 b62adfe] 2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --graph --all
* b62adfe (HEAD -> refs/heads/branch53) 2
* f7326e9 2 (!= ^1) (== ^2)
|\
| | * cfb79b2 (refs/heads/branch52) 3
| | * 7c0f639 3 (== ^1) (!= ^2)
| |/|
|/|/
| | * 5ab7b7c (refs/heads/branch51) 4
| | * fa946ef 4 (!= ^1) (!= ^2)
| |/|
|/|/
* | cd0d512 3 (^1)
* | e902e13 3 (^1)
* | 9e05b5d 1 (^1)
| | * 37cc424 (refs/heads/branch42) 3
| | * 48f6b15 3 (!= ^1) (!= ^2)
| | |\
| | |/
| |/|
| | | * f63d3ec (refs/heads/branch41) 2
| | | * 5a34d93 2 (== ^1) (== ^2)
| | |/|
| | |/
| |/|
| | | * 3c99215 (refs/heads/branch33) 3
| | | * 551170a 3 (!= ^1) (!= ^2)
| | | |\
| | |_|/
| |/| |
| | | | * ae86656 (refs/heads/branch32) 1
| | | | * 6cd30e8 1 (== ^1) (!= ^2)
| | | |/|
| | |_|/
| |/| |
| | | | * ca517af (refs/heads/branch31) 2
| | | | * 83758cd 2 (!= ^1) (== ^2)
| | | |/|
| | |_|/
| |/| |
| * | | 6149bbf (refs/heads/master2) 2 (^2)
| * | | 9fa299b 2 (^2)
| * | | 3c61115 1 (^2)
|/ / /
| | | * 79eb3bd (refs/heads/branch23) 3
| | | * c0eb23b 3 (!= ^1) (!= ^2)
| | |/|
| |/| |
| | | | * e6cc669 (refs/heads/branch22) 1
| | | | * 7eca453 1 (!= ^1) (== ^2)
| | |_|/|
| |/| |/
| | | | * bcd003b (refs/heads/branch21) 2
| | | | * ebe6a7c 2 (== ^1) (!= ^2)
| | |_|/|
| |/| |/
| * | | df5163a 2 (^1)
| * | | c782c3b 2 (^1)
| * | | 0785af1 1 (^1)
|/ / /
| | | * af8d020 (refs/heads/branch12) 2
| | | * 2aca217 2 (!= ^1) (!= ^2)
| | |/|
| |/|/
| | | * b0a11f5 (refs/heads/branch11) 1
| | | * fd6dbcf 1 (== ^1) (== ^2)
| | |/|
| |/|/
| | * 1ca06e5 (refs/heads/master1) 1 (^2)
| | * 0d18ae3 1 (^2)
| |/
|/|
| * 0327755 1 (^1)
| * dc0cbfa 1 (^1)
|/
* c0b379f (refs/heads/master) 1
* 5b12010 1
* b6b1eb5 0
* b1275b5 0
* b638d51 -
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --graph branch11
* b0a11f5 (refs/heads/branch11) 1
* fd6dbcf 1 (== ^1) (== ^2)
|\
| * 1ca06e5 (refs/heads/master1) 1 (^2)
| * 0d18ae3 1 (^2)
* | 0327755 1 (^1)
* | dc0cbfa 1 (^1)
|/
* c0b379f (refs/heads/master) 1
* 5b12010 1
* b6b1eb5 0
* b1275b5 0
* b638d51 -
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --graph branch41
* f63d3ec (refs/heads/branch41) 2
* 5a34d93 2 (== ^1) (== ^2)
|\
| * 6149bbf (refs/heads/master2) 2 (^2)
| * 9fa299b 2 (^2)
| * 3c61115 1 (^2)
* | df5163a 2 (^1)
* | c782c3b 2 (^1)
* | 0785af1 1 (^1)
|/
* c0b379f (refs/heads/master) 1
* 5b12010 1
* b6b1eb5 0
* b1275b5 0
* b638d51 -
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
(merge keep current branch's change)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --graph branch21
* bcd003b (refs/heads/branch21) 2
* ebe6a7c 2 (== ^1) (!= ^2)
|\
| * 1ca06e5 (refs/heads/master1) 1 (^2)
| * 0d18ae3 1 (^2)
* | df5163a 2 (^1)
* | c782c3b 2 (^1)
* | 0785af1 1 (^1)
|/
* c0b379f (refs/heads/master) 1
* 5b12010 1
* b6b1eb5 0
* b1275b5 0
* b638d51 -
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --graph branch52
* cfb79b2 (refs/heads/branch52) 3
* 7c0f639 3 (== ^1) (!= ^2)
|\
| * 6149bbf (refs/heads/master2) 2 (^2)
| * 9fa299b 2 (^2)
| * 3c61115 1 (^2)
* | cd0d512 3 (^1)
* | e902e13 3 (^1)
* | 9e05b5d 1 (^1)
|/
* c0b379f (refs/heads/master) 1
* 5b12010 1
* b6b1eb5 0
* b1275b5 0
* b638d51 -
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
(merge discard current branch's change)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --graph branch22
* e6cc669 (refs/heads/branch22) 1
* 7eca453 1 (!= ^1) (== ^2)
|\
| * 1ca06e5 (refs/heads/master1) 1 (^2)
| * 0d18ae3 1 (^2)
* | df5163a 2 (^1)
* | c782c3b 2 (^1)
* | 0785af1 1 (^1)
|/
* c0b379f (refs/heads/master) 1
* 5b12010 1
* b6b1eb5 0
* b1275b5 0
* b638d51 -
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --graph branch53
* b62adfe (HEAD -> refs/heads/branch53) 2
* f7326e9 2 (!= ^1) (== ^2)
|\
| * 6149bbf (refs/heads/master2) 2 (^2)
| * 9fa299b 2 (^2)
| * 3c61115 1 (^2)
* | cd0d512 3 (^1)
* | e902e13 3 (^1)
* | 9e05b5d 1 (^1)
|/
* c0b379f (refs/heads/master) 1
* 5b12010 1
* b6b1eb5 0
* b1275b5 0
* b638d51 -
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --graph branch51
* 5ab7b7c (refs/heads/branch51) 4
* fa946ef 4 (!= ^1) (!= ^2)
|\
| * 6149bbf (refs/heads/master2) 2 (^2)
| * 9fa299b 2 (^2)
| * 3c61115 1 (^2)
* | cd0d512 3 (^1)
* | e902e13 3 (^1)
* | 9e05b5d 1 (^1)
|/
* c0b379f (refs/heads/master) 1
* 5b12010 1
* b6b1eb5 0
* b1275b5 0
* b638d51 -
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
(merge pull in other branch's change)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --graph branch31
* ca517af (refs/heads/branch31) 2
* 83758cd 2 (!= ^1) (== ^2)
|\
| * 6149bbf (refs/heads/master2) 2 (^2)
| * 9fa299b 2 (^2)
| * 3c61115 1 (^2)
* | 0327755 1 (^1)
* | dc0cbfa 1 (^1)
|/
* c0b379f (refs/heads/master) 1
* 5b12010 1
* b6b1eb5 0
* b1275b5 0
* b638d51 -
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --graph branch53
* b62adfe (HEAD -> refs/heads/branch53) 2
* f7326e9 2 (!= ^1) (== ^2)
|\
| * 6149bbf (refs/heads/master2) 2 (^2)
| * 9fa299b 2 (^2)
| * 3c61115 1 (^2)
* | cd0d512 3 (^1)
* | e902e13 3 (^1)
* | 9e05b5d 1 (^1)
|/
* c0b379f (refs/heads/master) 1
* 5b12010 1
* b6b1eb5 0
* b1275b5 0
* b638d51 -
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
(merge discard other branch's change)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --graph branch32
* ae86656 (refs/heads/branch32) 1
* 6cd30e8 1 (== ^1) (!= ^2)
|\
| * 6149bbf (refs/heads/master2) 2 (^2)
| * 9fa299b 2 (^2)
| * 3c61115 1 (^2)
* | 0327755 1 (^1)
* | dc0cbfa 1 (^1)
|/
* c0b379f (refs/heads/master) 1
* 5b12010 1
* b6b1eb5 0
* b1275b5 0
* b638d51 -
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --graph branch52
* cfb79b2 (refs/heads/branch52) 3
* 7c0f639 3 (== ^1) (!= ^2)
|\
| * 6149bbf (refs/heads/master2) 2 (^2)
| * 9fa299b 2 (^2)
| * 3c61115 1 (^2)
* | cd0d512 3 (^1)
* | e902e13 3 (^1)
* | 9e05b5d 1 (^1)
|/
* c0b379f (refs/heads/master) 1
* 5b12010 1
* b6b1eb5 0
* b1275b5 0
* b638d51 -
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
commits are included if not TREESAME to any parent
merge commit is same to both parents, follow one of them
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --graph branch11 './file'
* 5b12010 1
* b1275b5 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --graph branch41 './file'
* c782c3b 2 (^1)
* 5b12010 1
* b1275b5 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --graph --dense branch11 './file'
* 5b12010 1
* b1275b5 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --graph --dense branch41 './file'
* c782c3b 2 (^1)
* 5b12010 1
* b1275b5 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --graph --sparse branch11 './file'
* b0a11f5 (refs/heads/branch11) 1
* fd6dbcf 1 (== ^1) (== ^2)
* 0327755 1 (^1)
* dc0cbfa 1 (^1)
* c0b379f (refs/heads/master) 1
* 5b12010 1
* b6b1eb5 0
* b1275b5 0
* b638d51 -
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --graph --sparse branch41 './file'
* f63d3ec (refs/heads/branch41) 2
* 5a34d93 2 (== ^1) (== ^2)
* df5163a 2 (^1)
* c782c3b 2 (^1)
* 0785af1 1 (^1)
* c0b379f (refs/heads/master) 1
* 5b12010 1
* b6b1eb5 0
* b1275b5 0
* b638d51 -
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
merge commit is same to one parent, follow this one
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --graph branch21 './file'
* c782c3b 2 (^1)
* 5b12010 1
* b1275b5 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --graph branch52 './file'
* e902e13 3 (^1)
* 5b12010 1
* b1275b5 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --graph --dense branch21 './file'
* c782c3b 2 (^1)
* 5b12010 1
* b1275b5 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --graph --dense branch52 './file'
* e902e13 3 (^1)
* 5b12010 1
* b1275b5 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --graph --sparse branch21 './file'
* bcd003b (refs/heads/branch21) 2
* ebe6a7c 2 (== ^1) (!= ^2)
* df5163a 2 (^1)
* c782c3b 2 (^1)
* 0785af1 1 (^1)
* c0b379f (refs/heads/master) 1
* 5b12010 1
* b6b1eb5 0
* b1275b5 0
* b638d51 -
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --graph --sparse branch52 './file'
* cfb79b2 (refs/heads/branch52) 3
* 7c0f639 3 (== ^1) (!= ^2)
* cd0d512 3 (^1)
* e902e13 3 (^1)
* 9e05b5d 1 (^1)
* c0b379f (refs/heads/master) 1
* 5b12010 1
* b6b1eb5 0
* b1275b5 0
* b638d51 -
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
merge commit is same to one parent, follow this one
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --graph branch22 './file'
* 5b12010 1
* b1275b5 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --graph branch53 './file'
* 9fa299b 2 (^2)
* 5b12010 1
* b1275b5 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --graph --dense branch22 './file'
* 5b12010 1
* b1275b5 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --graph --dense branch53 './file'
* 9fa299b 2 (^2)
* 5b12010 1
* b1275b5 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --graph --sparse branch22 './file'
* e6cc669 (refs/heads/branch22) 1
* 7eca453 1 (!= ^1) (== ^2)
* 1ca06e5 (refs/heads/master1) 1 (^2)
* 0d18ae3 1 (^2)
* c0b379f (refs/heads/master) 1
* 5b12010 1
* b6b1eb5 0
* b1275b5 0
* b638d51 -
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --graph --sparse branch53 './file'
* b62adfe (HEAD -> refs/heads/branch53) 2
* f7326e9 2 (!= ^1) (== ^2)
* 6149bbf (refs/heads/master2) 2 (^2)
* 9fa299b 2 (^2)
* 3c61115 1 (^2)
* c0b379f (refs/heads/master) 1
* 5b12010 1
* b6b1eb5 0
* b1275b5 0
* b638d51 -
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
merge commit isn't same to either of parents, follow both of them
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --graph branch51 './file'
* fa946ef 4 (!= ^1) (!= ^2)
|\
| * 9fa299b 2 (^2)
* | e902e13 3 (^1)
|/
* 5b12010 1
* b1275b5 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --graph --dense branch51 './file'
* fa946ef 4 (!= ^1) (!= ^2)
|\
| * 9fa299b 2 (^2)
* | e902e13 3 (^1)
|/
* 5b12010 1
* b1275b5 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --graph --sparse branch51 './file'
* 5ab7b7c (refs/heads/branch51) 4
* fa946ef 4 (!= ^1) (!= ^2)
|\
| * 6149bbf (refs/heads/master2) 2 (^2)
| * 9fa299b 2 (^2)
| * 3c61115 1 (^2)
* | cd0d512 3 (^1)
* | e902e13 3 (^1)
* | 9e05b5d 1 (^1)
|/
* c0b379f (refs/heads/master) 1
* 5b12010 1
* b6b1eb5 0
* b1275b5 0
* b638d51 -
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
merge commit is same to one parent, follow this one
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --graph branch31 './file'
* 9fa299b 2 (^2)
* 5b12010 1
* b1275b5 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --graph branch53 './file'
* 9fa299b 2 (^2)
* 5b12010 1
* b1275b5 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --graph --dense branch31 './file'
* 9fa299b 2 (^2)
* 5b12010 1
* b1275b5 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --graph --dense branch53 './file'
* 9fa299b 2 (^2)
* 5b12010 1
* b1275b5 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --graph --sparse branch31 './file'
* ca517af (refs/heads/branch31) 2
* 83758cd 2 (!= ^1) (== ^2)
* 6149bbf (refs/heads/master2) 2 (^2)
* 9fa299b 2 (^2)
* 3c61115 1 (^2)
* c0b379f (refs/heads/master) 1
* 5b12010 1
* b6b1eb5 0
* b1275b5 0
* b638d51 -
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --graph --sparse branch53 './file'
* b62adfe (HEAD -> refs/heads/branch53) 2
* f7326e9 2 (!= ^1) (== ^2)
* 6149bbf (refs/heads/master2) 2 (^2)
* 9fa299b 2 (^2)
* 3c61115 1 (^2)
* c0b379f (refs/heads/master) 1
* 5b12010 1
* b6b1eb5 0
* b1275b5 0
* b638d51 -
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
merge commit is same to one parent, follow this one
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --graph branch32 './file'
* 5b12010 1
* b1275b5 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --graph branch52 './file'
* e902e13 3 (^1)
* 5b12010 1
* b1275b5 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --graph --dense branch32 './file'
* 5b12010 1
* b1275b5 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --graph --dense branch52 './file'
* e902e13 3 (^1)
* 5b12010 1
* b1275b5 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --graph --sparse branch32 './file'
* ae86656 (refs/heads/branch32) 1
* 6cd30e8 1 (== ^1) (!= ^2)
* 0327755 1 (^1)
* dc0cbfa 1 (^1)
* c0b379f (refs/heads/master) 1
* 5b12010 1
* b6b1eb5 0
* b1275b5 0
* b638d51 -
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --graph --sparse branch52 './file'
* cfb79b2 (refs/heads/branch52) 3
* 7c0f639 3 (== ^1) (!= ^2)
* cd0d512 3 (^1)
* e902e13 3 (^1)
* 9e05b5d 1 (^1)
* c0b379f (refs/heads/master) 1
* 5b12010 1
* b6b1eb5 0
* b1275b5 0
* b638d51 -
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
follow all parents of a merge
commits are included if not TREESAME to some parent
commits are included if not TREESAME to some parent, so merge commits aren't always included
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history branch11 './file'
5b12010 1
b1275b5 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history branch41 './file'
c782c3b 2 (^1)
9fa299b 2 (^2)
5b12010 1
b1275b5 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --dense branch11 './file'
5b12010 1
b1275b5 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --dense branch41 './file'
c782c3b 2 (^1)
9fa299b 2 (^2)
5b12010 1
b1275b5 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --sparse branch11 './file'
b0a11f5 (refs/heads/branch11) 1
fd6dbcf 1 (== ^1) (== ^2)
0327755 1 (^1)
dc0cbfa 1 (^1)
1ca06e5 (refs/heads/master1) 1 (^2)
0d18ae3 1 (^2)
c0b379f (refs/heads/master) 1
5b12010 1
b6b1eb5 0
b1275b5 0
b638d51 -
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --sparse branch41 './file'
f63d3ec (refs/heads/branch41) 2
5a34d93 2 (== ^1) (== ^2)
df5163a 2 (^1)
c782c3b 2 (^1)
0785af1 1 (^1)
6149bbf (refs/heads/master2) 2 (^2)
9fa299b 2 (^2)
3c61115 1 (^2)
c0b379f (refs/heads/master) 1
5b12010 1
b6b1eb5 0
b1275b5 0
b638d51 -
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history branch21 './file'
ebe6a7c 2 (== ^1) (!= ^2)
c782c3b 2 (^1)
5b12010 1
b1275b5 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history branch52 './file'
7c0f639 3 (== ^1) (!= ^2)
e902e13 3 (^1)
9fa299b 2 (^2)
5b12010 1
b1275b5 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --dense branch21 './file'
ebe6a7c 2 (== ^1) (!= ^2)
c782c3b 2 (^1)
5b12010 1
b1275b5 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --dense branch52 './file'
7c0f639 3 (== ^1) (!= ^2)
e902e13 3 (^1)
9fa299b 2 (^2)
5b12010 1
b1275b5 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --sparse branch21 './file'
bcd003b (refs/heads/branch21) 2
ebe6a7c 2 (== ^1) (!= ^2)
df5163a 2 (^1)
c782c3b 2 (^1)
0785af1 1 (^1)
1ca06e5 (refs/heads/master1) 1 (^2)
0d18ae3 1 (^2)
c0b379f (refs/heads/master) 1
5b12010 1
b6b1eb5 0
b1275b5 0
b638d51 -
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --sparse branch52 './file'
cfb79b2 (refs/heads/branch52) 3
7c0f639 3 (== ^1) (!= ^2)
cd0d512 3 (^1)
e902e13 3 (^1)
9e05b5d 1 (^1)
6149bbf (refs/heads/master2) 2 (^2)
9fa299b 2 (^2)
3c61115 1 (^2)
c0b379f (refs/heads/master) 1
5b12010 1
b6b1eb5 0
b1275b5 0
b638d51 -
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history branch22 './file'
7eca453 1 (!= ^1) (== ^2)
c782c3b 2 (^1)
5b12010 1
b1275b5 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history branch53 './file'
f7326e9 2 (!= ^1) (== ^2)
e902e13 3 (^1)
9fa299b 2 (^2)
5b12010 1
b1275b5 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --dense branch22 './file'
7eca453 1 (!= ^1) (== ^2)
c782c3b 2 (^1)
5b12010 1
b1275b5 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --dense branch53 './file'
f7326e9 2 (!= ^1) (== ^2)
e902e13 3 (^1)
9fa299b 2 (^2)
5b12010 1
b1275b5 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --sparse branch22 './file'
e6cc669 (refs/heads/branch22) 1
7eca453 1 (!= ^1) (== ^2)
df5163a 2 (^1)
c782c3b 2 (^1)
0785af1 1 (^1)
1ca06e5 (refs/heads/master1) 1 (^2)
0d18ae3 1 (^2)
c0b379f (refs/heads/master) 1
5b12010 1
b6b1eb5 0
b1275b5 0
b638d51 -
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --sparse branch53 './file'
b62adfe (HEAD -> refs/heads/branch53) 2
f7326e9 2 (!= ^1) (== ^2)
cd0d512 3 (^1)
e902e13 3 (^1)
9e05b5d 1 (^1)
6149bbf (refs/heads/master2) 2 (^2)
9fa299b 2 (^2)
3c61115 1 (^2)
c0b379f (refs/heads/master) 1
5b12010 1
b6b1eb5 0
b1275b5 0
b638d51 -
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history branch51 './file'
fa946ef 4 (!= ^1) (!= ^2)
e902e13 3 (^1)
9fa299b 2 (^2)
5b12010 1
b1275b5 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --dense branch51 './file'
fa946ef 4 (!= ^1) (!= ^2)
e902e13 3 (^1)
9fa299b 2 (^2)
5b12010 1
b1275b5 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --sparse branch51 './file'
5ab7b7c (refs/heads/branch51) 4
fa946ef 4 (!= ^1) (!= ^2)
cd0d512 3 (^1)
e902e13 3 (^1)
9e05b5d 1 (^1)
6149bbf (refs/heads/master2) 2 (^2)
9fa299b 2 (^2)
3c61115 1 (^2)
c0b379f (refs/heads/master) 1
5b12010 1
b6b1eb5 0
b1275b5 0
b638d51 -
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history branch31 './file'
83758cd 2 (!= ^1) (== ^2)
9fa299b 2 (^2)
5b12010 1
b1275b5 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history branch53 './file'
f7326e9 2 (!= ^1) (== ^2)
e902e13 3 (^1)
9fa299b 2 (^2)
5b12010 1
b1275b5 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --dense branch31 './file'
83758cd 2 (!= ^1) (== ^2)
9fa299b 2 (^2)
5b12010 1
b1275b5 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --dense branch53 './file'
f7326e9 2 (!= ^1) (== ^2)
e902e13 3 (^1)
9fa299b 2 (^2)
5b12010 1
b1275b5 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --sparse branch31 './file'
ca517af (refs/heads/branch31) 2
83758cd 2 (!= ^1) (== ^2)
0327755 1 (^1)
dc0cbfa 1 (^1)
6149bbf (refs/heads/master2) 2 (^2)
9fa299b 2 (^2)
3c61115 1 (^2)
c0b379f (refs/heads/master) 1
5b12010 1
b6b1eb5 0
b1275b5 0
b638d51 -
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --sparse branch53 './file'
b62adfe (HEAD -> refs/heads/branch53) 2
f7326e9 2 (!= ^1) (== ^2)
cd0d512 3 (^1)
e902e13 3 (^1)
9e05b5d 1 (^1)
6149bbf (refs/heads/master2) 2 (^2)
9fa299b 2 (^2)
3c61115 1 (^2)
c0b379f (refs/heads/master) 1
5b12010 1
b6b1eb5 0
b1275b5 0
b638d51 -
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history branch32 './file'
6cd30e8 1 (== ^1) (!= ^2)
9fa299b 2 (^2)
5b12010 1
b1275b5 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history branch52 './file'
7c0f639 3 (== ^1) (!= ^2)
e902e13 3 (^1)
9fa299b 2 (^2)
5b12010 1
b1275b5 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --dense branch32 './file'
6cd30e8 1 (== ^1) (!= ^2)
9fa299b 2 (^2)
5b12010 1
b1275b5 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --dense branch52 './file'
7c0f639 3 (== ^1) (!= ^2)
e902e13 3 (^1)
9fa299b 2 (^2)
5b12010 1
b1275b5 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --sparse branch32 './file'
ae86656 (refs/heads/branch32) 1
6cd30e8 1 (== ^1) (!= ^2)
0327755 1 (^1)
dc0cbfa 1 (^1)
6149bbf (refs/heads/master2) 2 (^2)
9fa299b 2 (^2)
3c61115 1 (^2)
c0b379f (refs/heads/master) 1
5b12010 1
b6b1eb5 0
b1275b5 0
b638d51 -
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --sparse branch52 './file'
cfb79b2 (refs/heads/branch52) 3
7c0f639 3 (== ^1) (!= ^2)
cd0d512 3 (^1)
e902e13 3 (^1)
9e05b5d 1 (^1)
6149bbf (refs/heads/master2) 2 (^2)
9fa299b 2 (^2)
3c61115 1 (^2)
c0b379f (refs/heads/master) 1
5b12010 1
b6b1eb5 0
b1275b5 0
b638d51 -
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
follow all parents of a merge
non-merge commits are included if not TREESAME to parent; merge commits are always included
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --graph branch11 './file'
* fd6dbcf 1 (== ^1) (== ^2)
* 5b12010 1
* b1275b5 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --graph branch41 './file'
* 5a34d93 2 (== ^1) (== ^2)
|\
| * 9fa299b 2 (^2)
* | c782c3b 2 (^1)
|/
* 5b12010 1
* b1275b5 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --graph --dense branch11 './file'
* fd6dbcf 1 (== ^1) (== ^2)
* 5b12010 1
* b1275b5 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --graph --dense branch41 './file'
* 5a34d93 2 (== ^1) (== ^2)
|\
| * 9fa299b 2 (^2)
* | c782c3b 2 (^1)
|/
* 5b12010 1
* b1275b5 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --graph --sparse branch11 './file'
* b0a11f5 (refs/heads/branch11) 1
* fd6dbcf 1 (== ^1) (== ^2)
|\
| * 1ca06e5 (refs/heads/master1) 1 (^2)
| * 0d18ae3 1 (^2)
* | 0327755 1 (^1)
* | dc0cbfa 1 (^1)
|/
* c0b379f (refs/heads/master) 1
* 5b12010 1
* b6b1eb5 0
* b1275b5 0
* b638d51 -
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --graph --sparse branch41 './file'
* f63d3ec (refs/heads/branch41) 2
* 5a34d93 2 (== ^1) (== ^2)
|\
| * 6149bbf (refs/heads/master2) 2 (^2)
| * 9fa299b 2 (^2)
| * 3c61115 1 (^2)
* | df5163a 2 (^1)
* | c782c3b 2 (^1)
* | 0785af1 1 (^1)
|/
* c0b379f (refs/heads/master) 1
* 5b12010 1
* b6b1eb5 0
* b1275b5 0
* b638d51 -
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --graph branch21 './file'
* ebe6a7c 2 (== ^1) (!= ^2)
|\
* | c782c3b 2 (^1)
|/
* 5b12010 1
* b1275b5 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --graph branch52 './file'
* 7c0f639 3 (== ^1) (!= ^2)
|\
| * 9fa299b 2 (^2)
* | e902e13 3 (^1)
|/
* 5b12010 1
* b1275b5 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --graph --dense branch21 './file'
* ebe6a7c 2 (== ^1) (!= ^2)
|\
* | c782c3b 2 (^1)
|/
* 5b12010 1
* b1275b5 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --graph --dense branch52 './file'
* 7c0f639 3 (== ^1) (!= ^2)
|\
| * 9fa299b 2 (^2)
* | e902e13 3 (^1)
|/
* 5b12010 1
* b1275b5 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --graph --sparse branch21 './file'
* bcd003b (refs/heads/branch21) 2
* ebe6a7c 2 (== ^1) (!= ^2)
|\
| * 1ca06e5 (refs/heads/master1) 1 (^2)
| * 0d18ae3 1 (^2)
* | df5163a 2 (^1)
* | c782c3b 2 (^1)
* | 0785af1 1 (^1)
|/
* c0b379f (refs/heads/master) 1
* 5b12010 1
* b6b1eb5 0
* b1275b5 0
* b638d51 -
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --graph --sparse branch52 './file'
* cfb79b2 (refs/heads/branch52) 3
* 7c0f639 3 (== ^1) (!= ^2)
|\
| * 6149bbf (refs/heads/master2) 2 (^2)
| * 9fa299b 2 (^2)
| * 3c61115 1 (^2)
* | cd0d512 3 (^1)
* | e902e13 3 (^1)
* | 9e05b5d 1 (^1)
|/
* c0b379f (refs/heads/master) 1
* 5b12010 1
* b6b1eb5 0
* b1275b5 0
* b638d51 -
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --graph branch22 './file'
* 7eca453 1 (!= ^1) (== ^2)
|\
* | c782c3b 2 (^1)
|/
* 5b12010 1
* b1275b5 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --graph branch53 './file'
* f7326e9 2 (!= ^1) (== ^2)
|\
| * 9fa299b 2 (^2)
* | e902e13 3 (^1)
|/
* 5b12010 1
* b1275b5 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --graph --dense branch22 './file'
* 7eca453 1 (!= ^1) (== ^2)
|\
* | c782c3b 2 (^1)
|/
* 5b12010 1
* b1275b5 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --graph --dense branch53 './file'
* f7326e9 2 (!= ^1) (== ^2)
|\
| * 9fa299b 2 (^2)
* | e902e13 3 (^1)
|/
* 5b12010 1
* b1275b5 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --graph --sparse branch22 './file'
* e6cc669 (refs/heads/branch22) 1
* 7eca453 1 (!= ^1) (== ^2)
|\
| * 1ca06e5 (refs/heads/master1) 1 (^2)
| * 0d18ae3 1 (^2)
* | df5163a 2 (^1)
* | c782c3b 2 (^1)
* | 0785af1 1 (^1)
|/
* c0b379f (refs/heads/master) 1
* 5b12010 1
* b6b1eb5 0
* b1275b5 0
* b638d51 -
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --graph --sparse branch53 './file'
* b62adfe (HEAD -> refs/heads/branch53) 2
* f7326e9 2 (!= ^1) (== ^2)
|\
| * 6149bbf (refs/heads/master2) 2 (^2)
| * 9fa299b 2 (^2)
| * 3c61115 1 (^2)
* | cd0d512 3 (^1)
* | e902e13 3 (^1)
* | 9e05b5d 1 (^1)
|/
* c0b379f (refs/heads/master) 1
* 5b12010 1
* b6b1eb5 0
* b1275b5 0
* b638d51 -
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --graph branch51 './file'
* fa946ef 4 (!= ^1) (!= ^2)
|\
| * 9fa299b 2 (^2)
* | e902e13 3 (^1)
|/
* 5b12010 1
* b1275b5 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --graph --dense branch51 './file'
* fa946ef 4 (!= ^1) (!= ^2)
|\
| * 9fa299b 2 (^2)
* | e902e13 3 (^1)
|/
* 5b12010 1
* b1275b5 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --graph --sparse branch51 './file'
* 5ab7b7c (refs/heads/branch51) 4
* fa946ef 4 (!= ^1) (!= ^2)
|\
| * 6149bbf (refs/heads/master2) 2 (^2)
| * 9fa299b 2 (^2)
| * 3c61115 1 (^2)
* | cd0d512 3 (^1)
* | e902e13 3 (^1)
* | 9e05b5d 1 (^1)
|/
* c0b379f (refs/heads/master) 1
* 5b12010 1
* b6b1eb5 0
* b1275b5 0
* b638d51 -
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --graph branch31 './file'
* 83758cd 2 (!= ^1) (== ^2)
|\
| * 9fa299b 2 (^2)
|/
* 5b12010 1
* b1275b5 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --graph branch53 './file'
* f7326e9 2 (!= ^1) (== ^2)
|\
| * 9fa299b 2 (^2)
* | e902e13 3 (^1)
|/
* 5b12010 1
* b1275b5 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --graph --dense branch31 './file'
* 83758cd 2 (!= ^1) (== ^2)
|\
| * 9fa299b 2 (^2)
|/
* 5b12010 1
* b1275b5 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --graph --dense branch53 './file'
* f7326e9 2 (!= ^1) (== ^2)
|\
| * 9fa299b 2 (^2)
* | e902e13 3 (^1)
|/
* 5b12010 1
* b1275b5 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --graph --sparse branch31 './file'
* ca517af (refs/heads/branch31) 2
* 83758cd 2 (!= ^1) (== ^2)
|\
| * 6149bbf (refs/heads/master2) 2 (^2)
| * 9fa299b 2 (^2)
| * 3c61115 1 (^2)
* | 0327755 1 (^1)
* | dc0cbfa 1 (^1)
|/
* c0b379f (refs/heads/master) 1
* 5b12010 1
* b6b1eb5 0
* b1275b5 0
* b638d51 -
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --graph --sparse branch53 './file'
* b62adfe (HEAD -> refs/heads/branch53) 2
* f7326e9 2 (!= ^1) (== ^2)
|\
| * 6149bbf (refs/heads/master2) 2 (^2)
| * 9fa299b 2 (^2)
| * 3c61115 1 (^2)
* | cd0d512 3 (^1)
* | e902e13 3 (^1)
* | 9e05b5d 1 (^1)
|/
* c0b379f (refs/heads/master) 1
* 5b12010 1
* b6b1eb5 0
* b1275b5 0
* b638d51 -
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --graph branch32 './file'
* 6cd30e8 1 (== ^1) (!= ^2)
|\
| * 9fa299b 2 (^2)
|/
* 5b12010 1
* b1275b5 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --graph branch52 './file'
* 7c0f639 3 (== ^1) (!= ^2)
|\
| * 9fa299b 2 (^2)
* | e902e13 3 (^1)
|/
* 5b12010 1
* b1275b5 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --graph --dense branch32 './file'
* 6cd30e8 1 (== ^1) (!= ^2)
|\
| * 9fa299b 2 (^2)
|/
* 5b12010 1
* b1275b5 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --graph --dense branch52 './file'
* 7c0f639 3 (== ^1) (!= ^2)
|\
| * 9fa299b 2 (^2)
* | e902e13 3 (^1)
|/
* 5b12010 1
* b1275b5 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --graph --sparse branch32 './file'
* ae86656 (refs/heads/branch32) 1
* 6cd30e8 1 (== ^1) (!= ^2)
|\
| * 6149bbf (refs/heads/master2) 2 (^2)
| * 9fa299b 2 (^2)
| * 3c61115 1 (^2)
* | 0327755 1 (^1)
* | dc0cbfa 1 (^1)
|/
* c0b379f (refs/heads/master) 1
* 5b12010 1
* b6b1eb5 0
* b1275b5 0
* b638d51 -
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --graph --sparse branch52 './file'
* cfb79b2 (refs/heads/branch52) 3
* 7c0f639 3 (== ^1) (!= ^2)
|\
| * 6149bbf (refs/heads/master2) 2 (^2)
| * 9fa299b 2 (^2)
| * 3c61115 1 (^2)
* | cd0d512 3 (^1)
* | e902e13 3 (^1)
* | 9e05b5d 1 (^1)
|/
* c0b379f (refs/heads/master) 1
* 5b12010 1
* b6b1eb5 0
* b1275b5 0
* b638d51 -
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
transitive reduction, but if there are at least 1 TREESAME out edges then don't drop the last TREESAME out edge
if merge commit's number of !TREESAME out edges drops to 0 and number of TREESAME out edges drops to <= 1 then it is removed
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --simplify-merges --graph branch11 './file'
* 5b12010 1
* b1275b5 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --simplify-merges --graph branch41 './file'
* 5a34d93 2 (== ^1) (== ^2)
|\
| * 9fa299b 2 (^2)
* | c782c3b 2 (^1)
|/
* 5b12010 1
* b1275b5 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --simplify-merges --graph --dense branch11 './file'
* 5b12010 1
* b1275b5 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --simplify-merges --graph --dense branch41 './file'
* 5a34d93 2 (== ^1) (== ^2)
|\
| * 9fa299b 2 (^2)
* | c782c3b 2 (^1)
|/
* 5b12010 1
* b1275b5 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --simplify-merges --graph --sparse branch11 './file'
* b0a11f5 (refs/heads/branch11) 1
* fd6dbcf 1 (== ^1) (== ^2)
|\
| * 1ca06e5 (refs/heads/master1) 1 (^2)
| * 0d18ae3 1 (^2)
* | 0327755 1 (^1)
* | dc0cbfa 1 (^1)
|/
* c0b379f (refs/heads/master) 1
* 5b12010 1
* b6b1eb5 0
* b1275b5 0
* b638d51 -
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --simplify-merges --graph --sparse branch41 './file'
* f63d3ec (refs/heads/branch41) 2
* 5a34d93 2 (== ^1) (== ^2)
|\
| * 6149bbf (refs/heads/master2) 2 (^2)
| * 9fa299b 2 (^2)
| * 3c61115 1 (^2)
* | df5163a 2 (^1)
* | c782c3b 2 (^1)
* | 0785af1 1 (^1)
|/
* c0b379f (refs/heads/master) 1
* 5b12010 1
* b6b1eb5 0
* b1275b5 0
* b638d51 -
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
TREESAME parent is descendant of !TREESAME parent, so the out edge to !TREESAME parent is removed
if merge commit's number of !TREESAME out edges drops to 0 and number of TREESAME out edges drops to <= 1 then it is removed
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --simplify-merges --graph branch21 './file'
* c782c3b 2 (^1)
* 5b12010 1
* b1275b5 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --simplify-merges --graph branch52 './file'
* 7c0f639 3 (== ^1) (!= ^2)
|\
| * 9fa299b 2 (^2)
* | e902e13 3 (^1)
|/
* 5b12010 1
* b1275b5 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --simplify-merges --graph --dense branch21 './file'
* c782c3b 2 (^1)
* 5b12010 1
* b1275b5 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --simplify-merges --graph --dense branch52 './file'
* 7c0f639 3 (== ^1) (!= ^2)
|\
| * 9fa299b 2 (^2)
* | e902e13 3 (^1)
|/
* 5b12010 1
* b1275b5 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --simplify-merges --graph --sparse branch21 './file'
* bcd003b (refs/heads/branch21) 2
* ebe6a7c 2 (== ^1) (!= ^2)
|\
| * 1ca06e5 (refs/heads/master1) 1 (^2)
| * 0d18ae3 1 (^2)
* | df5163a 2 (^1)
* | c782c3b 2 (^1)
* | 0785af1 1 (^1)
|/
* c0b379f (refs/heads/master) 1
* 5b12010 1
* b6b1eb5 0
* b1275b5 0
* b638d51 -
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --simplify-merges --graph --sparse branch52 './file'
* cfb79b2 (refs/heads/branch52) 3
* 7c0f639 3 (== ^1) (!= ^2)
|\
| * 6149bbf (refs/heads/master2) 2 (^2)
| * 9fa299b 2 (^2)
| * 3c61115 1 (^2)
* | cd0d512 3 (^1)
* | e902e13 3 (^1)
* | 9e05b5d 1 (^1)
|/
* c0b379f (refs/heads/master) 1
* 5b12010 1
* b6b1eb5 0
* b1275b5 0
* b638d51 -
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
!TREESAME parent is descendant of TREESAME parent, but TREESAME parent is last one, the out edge to TREESAME parent isn't removed
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --simplify-merges --graph branch22 './file'
* 7eca453 1 (!= ^1) (== ^2)
|\
* | c782c3b 2 (^1)
|/
* 5b12010 1
* b1275b5 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --simplify-merges --graph branch53 './file'
* f7326e9 2 (!= ^1) (== ^2)
|\
| * 9fa299b 2 (^2)
* | e902e13 3 (^1)
|/
* 5b12010 1
* b1275b5 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --simplify-merges --graph --dense branch22 './file'
* 7eca453 1 (!= ^1) (== ^2)
|\
* | c782c3b 2 (^1)
|/
* 5b12010 1
* b1275b5 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --simplify-merges --graph --dense branch53 './file'
* f7326e9 2 (!= ^1) (== ^2)
|\
| * 9fa299b 2 (^2)
* | e902e13 3 (^1)
|/
* 5b12010 1
* b1275b5 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --simplify-merges --graph --sparse branch22 './file'
* e6cc669 (refs/heads/branch22) 1
* 7eca453 1 (!= ^1) (== ^2)
|\
| * 1ca06e5 (refs/heads/master1) 1 (^2)
| * 0d18ae3 1 (^2)
* | df5163a 2 (^1)
* | c782c3b 2 (^1)
* | 0785af1 1 (^1)
|/
* c0b379f (refs/heads/master) 1
* 5b12010 1
* b6b1eb5 0
* b1275b5 0
* b638d51 -
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --simplify-merges --graph --sparse branch53 './file'
* b62adfe (HEAD -> refs/heads/branch53) 2
* f7326e9 2 (!= ^1) (== ^2)
|\
| * 6149bbf (refs/heads/master2) 2 (^2)
| * 9fa299b 2 (^2)
| * 3c61115 1 (^2)
* | cd0d512 3 (^1)
* | e902e13 3 (^1)
* | 9e05b5d 1 (^1)
|/
* c0b379f (refs/heads/master) 1
* 5b12010 1
* b6b1eb5 0
* b1275b5 0
* b638d51 -
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --simplify-merges --graph branch51 './file'
* fa946ef 4 (!= ^1) (!= ^2)
|\
| * 9fa299b 2 (^2)
* | e902e13 3 (^1)
|/
* 5b12010 1
* b1275b5 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --simplify-merges --graph --dense branch51 './file'
* fa946ef 4 (!= ^1) (!= ^2)
|\
| * 9fa299b 2 (^2)
* | e902e13 3 (^1)
|/
* 5b12010 1
* b1275b5 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --simplify-merges --graph --sparse branch51 './file'
* 5ab7b7c (refs/heads/branch51) 4
* fa946ef 4 (!= ^1) (!= ^2)
|\
| * 6149bbf (refs/heads/master2) 2 (^2)
| * 9fa299b 2 (^2)
| * 3c61115 1 (^2)
* | cd0d512 3 (^1)
* | e902e13 3 (^1)
* | 9e05b5d 1 (^1)
|/
* c0b379f (refs/heads/master) 1
* 5b12010 1
* b6b1eb5 0
* b1275b5 0
* b638d51 -
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
TREESAME parent is descendant of !TREESAME parent, so the out edge to !TREESAME parent is removed
if merge commit's number of !TREESAME out edges drops to 0 and number of TREESAME out edges drops to <= 1 then it is removed
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --simplify-merges --graph branch31 './file'
* 9fa299b 2 (^2)
* 5b12010 1
* b1275b5 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --simplify-merges --graph branch53 './file'
* f7326e9 2 (!= ^1) (== ^2)
|\
| * 9fa299b 2 (^2)
* | e902e13 3 (^1)
|/
* 5b12010 1
* b1275b5 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --simplify-merges --graph --dense branch31 './file'
* 9fa299b 2 (^2)
* 5b12010 1
* b1275b5 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --simplify-merges --graph --dense branch53 './file'
* f7326e9 2 (!= ^1) (== ^2)
|\
| * 9fa299b 2 (^2)
* | e902e13 3 (^1)
|/
* 5b12010 1
* b1275b5 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --simplify-merges --graph --sparse branch31 './file'
* ca517af (refs/heads/branch31) 2
* 83758cd 2 (!= ^1) (== ^2)
|\
| * 6149bbf (refs/heads/master2) 2 (^2)
| * 9fa299b 2 (^2)
| * 3c61115 1 (^2)
* | 0327755 1 (^1)
* | dc0cbfa 1 (^1)
|/
* c0b379f (refs/heads/master) 1
* 5b12010 1
* b6b1eb5 0
* b1275b5 0
* b638d51 -
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --simplify-merges --graph --sparse branch53 './file'
* b62adfe (HEAD -> refs/heads/branch53) 2
* f7326e9 2 (!= ^1) (== ^2)
|\
| * 6149bbf (refs/heads/master2) 2 (^2)
| * 9fa299b 2 (^2)
| * 3c61115 1 (^2)
* | cd0d512 3 (^1)
* | e902e13 3 (^1)
* | 9e05b5d 1 (^1)
|/
* c0b379f (refs/heads/master) 1
* 5b12010 1
* b6b1eb5 0
* b1275b5 0
* b638d51 -
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
!TREESAME parent is descendant of TREESAME parent, but TREESAME parent is last one, the out edge to TREESAME parent isn't removed
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --simplify-merges --graph branch32 './file'
* 6cd30e8 1 (== ^1) (!= ^2)
|\
| * 9fa299b 2 (^2)
|/
* 5b12010 1
* b1275b5 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --simplify-merges --graph branch52 './file'
* 7c0f639 3 (== ^1) (!= ^2)
|\
| * 9fa299b 2 (^2)
* | e902e13 3 (^1)
|/
* 5b12010 1
* b1275b5 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --simplify-merges --graph --dense branch32 './file'
* 6cd30e8 1 (== ^1) (!= ^2)
|\
| * 9fa299b 2 (^2)
|/
* 5b12010 1
* b1275b5 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --simplify-merges --graph --dense branch52 './file'
* 7c0f639 3 (== ^1) (!= ^2)
|\
| * 9fa299b 2 (^2)
* | e902e13 3 (^1)
|/
* 5b12010 1
* b1275b5 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --simplify-merges --graph --sparse branch32 './file'
* ae86656 (refs/heads/branch32) 1
* 6cd30e8 1 (== ^1) (!= ^2)
|\
| * 6149bbf (refs/heads/master2) 2 (^2)
| * 9fa299b 2 (^2)
| * 3c61115 1 (^2)
* | 0327755 1 (^1)
* | dc0cbfa 1 (^1)
|/
* c0b379f (refs/heads/master) 1
* 5b12010 1
* b6b1eb5 0
* b1275b5 0
* b638d51 -
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --full-history --simplify-merges --graph --sparse branch52 './file'
* cfb79b2 (refs/heads/branch52) 3
* 7c0f639 3 (== ^1) (!= ^2)
|\
| * 6149bbf (refs/heads/master2) 2 (^2)
| * 9fa299b 2 (^2)
| * 3c61115 1 (^2)
* | cd0d512 3 (^1)
* | e902e13 3 (^1)
* | 9e05b5d 1 (^1)
|/
* c0b379f (refs/heads/master) 1
* 5b12010 1
* b6b1eb5 0
* b1275b5 0
* b638d51 -
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
non-merge commits are included if not TREESAME to parent; merge commits are included if not TREESAME to its first parent but TREESAME to a later parent
merge commit is same to both parents, follow one of them
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --show-pulls --graph branch11 './file'
* 5b12010 1
* b1275b5 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --show-pulls --graph branch41 './file'
* c782c3b 2 (^1)
* 5b12010 1
* b1275b5 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --show-pulls --graph --dense branch11 './file'
* 5b12010 1
* b1275b5 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --show-pulls --graph --dense branch41 './file'
* c782c3b 2 (^1)
* 5b12010 1
* b1275b5 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --show-pulls --graph --sparse branch11 './file'
* b0a11f5 (refs/heads/branch11) 1
* fd6dbcf 1 (== ^1) (== ^2)
* 0327755 1 (^1)
* dc0cbfa 1 (^1)
* c0b379f (refs/heads/master) 1
* 5b12010 1
* b6b1eb5 0
* b1275b5 0
* b638d51 -
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --show-pulls --graph --sparse branch41 './file'
* f63d3ec (refs/heads/branch41) 2
* 5a34d93 2 (== ^1) (== ^2)
* df5163a 2 (^1)
* c782c3b 2 (^1)
* 0785af1 1 (^1)
* c0b379f (refs/heads/master) 1
* 5b12010 1
* b6b1eb5 0
* b1275b5 0
* b638d51 -
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
merge commit is same to one parent, follow this one
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --show-pulls --graph branch21 './file'
* c782c3b 2 (^1)
* 5b12010 1
* b1275b5 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --show-pulls --graph branch52 './file'
* e902e13 3 (^1)
* 5b12010 1
* b1275b5 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --show-pulls --graph --dense branch21 './file'
* c782c3b 2 (^1)
* 5b12010 1
* b1275b5 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --show-pulls --graph --dense branch52 './file'
* e902e13 3 (^1)
* 5b12010 1
* b1275b5 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --show-pulls --graph --sparse branch21 './file'
* bcd003b (refs/heads/branch21) 2
* ebe6a7c 2 (== ^1) (!= ^2)
* df5163a 2 (^1)
* c782c3b 2 (^1)
* 0785af1 1 (^1)
* c0b379f (refs/heads/master) 1
* 5b12010 1
* b6b1eb5 0
* b1275b5 0
* b638d51 -
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --show-pulls --graph --sparse branch52 './file'
* cfb79b2 (refs/heads/branch52) 3
* 7c0f639 3 (== ^1) (!= ^2)
* cd0d512 3 (^1)
* e902e13 3 (^1)
* 9e05b5d 1 (^1)
* c0b379f (refs/heads/master) 1
* 5b12010 1
* b6b1eb5 0
* b1275b5 0
* b638d51 -
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
merge commit is same to one parent, follow this one
merge commits are included if not TREESAME to its first parent but TREESAME to a later parent
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --show-pulls --graph branch22 './file'
* 7eca453 1 (!= ^1) (== ^2)
* 5b12010 1
* b1275b5 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --show-pulls --graph branch53 './file'
* f7326e9 2 (!= ^1) (== ^2)
* 9fa299b 2 (^2)
* 5b12010 1
* b1275b5 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --show-pulls --graph --dense branch22 './file'
* 7eca453 1 (!= ^1) (== ^2)
* 5b12010 1
* b1275b5 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --show-pulls --graph --dense branch53 './file'
* f7326e9 2 (!= ^1) (== ^2)
* 9fa299b 2 (^2)
* 5b12010 1
* b1275b5 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --show-pulls --graph --sparse branch22 './file'
* e6cc669 (refs/heads/branch22) 1
* 7eca453 1 (!= ^1) (== ^2)
* 1ca06e5 (refs/heads/master1) 1 (^2)
* 0d18ae3 1 (^2)
* c0b379f (refs/heads/master) 1
* 5b12010 1
* b6b1eb5 0
* b1275b5 0
* b638d51 -
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --show-pulls --graph --sparse branch53 './file'
* b62adfe (HEAD -> refs/heads/branch53) 2
* f7326e9 2 (!= ^1) (== ^2)
* 6149bbf (refs/heads/master2) 2 (^2)
* 9fa299b 2 (^2)
* 3c61115 1 (^2)
* c0b379f (refs/heads/master) 1
* 5b12010 1
* b6b1eb5 0
* b1275b5 0
* b638d51 -
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
merge commit isn't same to either of parents, follow both of them
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --show-pulls --graph branch51 './file'
* fa946ef 4 (!= ^1) (!= ^2)
|\
| * 9fa299b 2 (^2)
* | e902e13 3 (^1)
|/
* 5b12010 1
* b1275b5 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --show-pulls --graph --dense branch51 './file'
* fa946ef 4 (!= ^1) (!= ^2)
|\
| * 9fa299b 2 (^2)
* | e902e13 3 (^1)
|/
* 5b12010 1
* b1275b5 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --show-pulls --graph --sparse branch51 './file'
* 5ab7b7c (refs/heads/branch51) 4
* fa946ef 4 (!= ^1) (!= ^2)
|\
| * 6149bbf (refs/heads/master2) 2 (^2)
| * 9fa299b 2 (^2)
| * 3c61115 1 (^2)
* | cd0d512 3 (^1)
* | e902e13 3 (^1)
* | 9e05b5d 1 (^1)
|/
* c0b379f (refs/heads/master) 1
* 5b12010 1
* b6b1eb5 0
* b1275b5 0
* b638d51 -
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
merge commit is same to one parent, follow this one
merge commits are included if not TREESAME to its first parent but TREESAME to a later parent
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --show-pulls --graph branch31 './file'
* 83758cd 2 (!= ^1) (== ^2)
* 9fa299b 2 (^2)
* 5b12010 1
* b1275b5 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --show-pulls --graph branch53 './file'
* f7326e9 2 (!= ^1) (== ^2)
* 9fa299b 2 (^2)
* 5b12010 1
* b1275b5 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --show-pulls --graph --dense branch31 './file'
* 83758cd 2 (!= ^1) (== ^2)
* 9fa299b 2 (^2)
* 5b12010 1
* b1275b5 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --show-pulls --graph --dense branch53 './file'
* f7326e9 2 (!= ^1) (== ^2)
* 9fa299b 2 (^2)
* 5b12010 1
* b1275b5 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --show-pulls --graph --sparse branch31 './file'
* ca517af (refs/heads/branch31) 2
* 83758cd 2 (!= ^1) (== ^2)
* 6149bbf (refs/heads/master2) 2 (^2)
* 9fa299b 2 (^2)
* 3c61115 1 (^2)
* c0b379f (refs/heads/master) 1
* 5b12010 1
* b6b1eb5 0
* b1275b5 0
* b638d51 -
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --show-pulls --graph --sparse branch53 './file'
* b62adfe (HEAD -> refs/heads/branch53) 2
* f7326e9 2 (!= ^1) (== ^2)
* 6149bbf (refs/heads/master2) 2 (^2)
* 9fa299b 2 (^2)
* 3c61115 1 (^2)
* c0b379f (refs/heads/master) 1
* 5b12010 1
* b6b1eb5 0
* b1275b5 0
* b638d51 -
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
merge commit is same to one parent, follow this one
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --show-pulls --graph branch32 './file'
* 5b12010 1
* b1275b5 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --show-pulls --graph branch52 './file'
* e902e13 3 (^1)
* 5b12010 1
* b1275b5 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --show-pulls --graph --dense branch32 './file'
* 5b12010 1
* b1275b5 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --show-pulls --graph --dense branch52 './file'
* e902e13 3 (^1)
* 5b12010 1
* b1275b5 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --show-pulls --graph --sparse branch32 './file'
* ae86656 (refs/heads/branch32) 1
* 6cd30e8 1 (== ^1) (!= ^2)
* 0327755 1 (^1)
* dc0cbfa 1 (^1)
* c0b379f (refs/heads/master) 1
* 5b12010 1
* b6b1eb5 0
* b1275b5 0
* b638d51 -
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --show-pulls --graph --sparse branch52 './file'
* cfb79b2 (refs/heads/branch52) 3
* 7c0f639 3 (== ^1) (!= ^2)
* cd0d512 3 (^1)
* e902e13 3 (^1)
* 9e05b5d 1 (^1)
* c0b379f (refs/heads/master) 1
* 5b12010 1
* b6b1eb5 0
* b1275b5 0
* b638d51 -
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
follow all parents of a merge
if merge commit's number of !TREESAME out edges drops to 0 and number of TREESAME out edges drops to <= 1 then it is removed
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --show-pulls --simplify-merges --graph branch11 './file'
* 5b12010 1
* b1275b5 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --show-pulls --simplify-merges --graph branch41 './file'
* 5a34d93 2 (== ^1) (== ^2)
|\
| * 9fa299b 2 (^2)
* | c782c3b 2 (^1)
|/
* 5b12010 1
* b1275b5 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --show-pulls --simplify-merges --graph --dense branch11 './file'
* 5b12010 1
* b1275b5 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --show-pulls --simplify-merges --graph --dense branch41 './file'
* 5a34d93 2 (== ^1) (== ^2)
|\
| * 9fa299b 2 (^2)
* | c782c3b 2 (^1)
|/
* 5b12010 1
* b1275b5 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --show-pulls --simplify-merges --graph --sparse branch11 './file'
* b0a11f5 (refs/heads/branch11) 1
* fd6dbcf 1 (== ^1) (== ^2)
|\
| * 1ca06e5 (refs/heads/master1) 1 (^2)
| * 0d18ae3 1 (^2)
* | 0327755 1 (^1)
* | dc0cbfa 1 (^1)
|/
* c0b379f (refs/heads/master) 1
* 5b12010 1
* b6b1eb5 0
* b1275b5 0
* b638d51 -
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --show-pulls --simplify-merges --graph --sparse branch41 './file'
* f63d3ec (refs/heads/branch41) 2
* 5a34d93 2 (== ^1) (== ^2)
|\
| * 6149bbf (refs/heads/master2) 2 (^2)
| * 9fa299b 2 (^2)
| * 3c61115 1 (^2)
* | df5163a 2 (^1)
* | c782c3b 2 (^1)
* | 0785af1 1 (^1)
|/
* c0b379f (refs/heads/master) 1
* 5b12010 1
* b6b1eb5 0
* b1275b5 0
* b638d51 -
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
TREESAME parent is descendant of !TREESAME parent, so the out edge to !TREESAME parent is removed
if merge commit's number of !TREESAME out edges drops to 0 and number of TREESAME out edges drops to <= 1 then it is removed
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --show-pulls --simplify-merges --graph branch21 './file'
* c782c3b 2 (^1)
* 5b12010 1
* b1275b5 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --show-pulls --simplify-merges --graph branch52 './file'
* 7c0f639 3 (== ^1) (!= ^2)
|\
| * 9fa299b 2 (^2)
* | e902e13 3 (^1)
|/
* 5b12010 1
* b1275b5 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --show-pulls --simplify-merges --graph --dense branch21 './file'
* c782c3b 2 (^1)
* 5b12010 1
* b1275b5 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --show-pulls --simplify-merges --graph --dense branch52 './file'
* 7c0f639 3 (== ^1) (!= ^2)
|\
| * 9fa299b 2 (^2)
* | e902e13 3 (^1)
|/
* 5b12010 1
* b1275b5 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --show-pulls --simplify-merges --graph --sparse branch21 './file'
* bcd003b (refs/heads/branch21) 2
* ebe6a7c 2 (== ^1) (!= ^2)
|\
| * 1ca06e5 (refs/heads/master1) 1 (^2)
| * 0d18ae3 1 (^2)
* | df5163a 2 (^1)
* | c782c3b 2 (^1)
* | 0785af1 1 (^1)
|/
* c0b379f (refs/heads/master) 1
* 5b12010 1
* b6b1eb5 0
* b1275b5 0
* b638d51 -
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --show-pulls --simplify-merges --graph --sparse branch52 './file'
* cfb79b2 (refs/heads/branch52) 3
* 7c0f639 3 (== ^1) (!= ^2)
|\
| * 6149bbf (refs/heads/master2) 2 (^2)
| * 9fa299b 2 (^2)
| * 3c61115 1 (^2)
* | cd0d512 3 (^1)
* | e902e13 3 (^1)
* | 9e05b5d 1 (^1)
|/
* c0b379f (refs/heads/master) 1
* 5b12010 1
* b6b1eb5 0
* b1275b5 0
* b638d51 -
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
!TREESAME parent is descendant of TREESAME parent, but TREESAME parent is last one, the out edge to TREESAME parent isn't removed
merge commits are included if not TREESAME to its first parent but TREESAME to a later parent
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --show-pulls --simplify-merges --graph branch22 './file'
* 7eca453 1 (!= ^1) (== ^2)
|\
* | c782c3b 2 (^1)
|/
* 5b12010 1
* b1275b5 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --show-pulls --simplify-merges --graph branch53 './file'
* f7326e9 2 (!= ^1) (== ^2)
|\
| * 9fa299b 2 (^2)
* | e902e13 3 (^1)
|/
* 5b12010 1
* b1275b5 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --show-pulls --simplify-merges --graph --dense branch22 './file'
* 7eca453 1 (!= ^1) (== ^2)
|\
* | c782c3b 2 (^1)
|/
* 5b12010 1
* b1275b5 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --show-pulls --simplify-merges --graph --dense branch53 './file'
* f7326e9 2 (!= ^1) (== ^2)
|\
| * 9fa299b 2 (^2)
* | e902e13 3 (^1)
|/
* 5b12010 1
* b1275b5 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --show-pulls --simplify-merges --graph --sparse branch22 './file'
* e6cc669 (refs/heads/branch22) 1
* 7eca453 1 (!= ^1) (== ^2)
|\
| * 1ca06e5 (refs/heads/master1) 1 (^2)
| * 0d18ae3 1 (^2)
* | df5163a 2 (^1)
* | c782c3b 2 (^1)
* | 0785af1 1 (^1)
|/
* c0b379f (refs/heads/master) 1
* 5b12010 1
* b6b1eb5 0
* b1275b5 0
* b638d51 -
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --show-pulls --simplify-merges --graph --sparse branch53 './file'
* b62adfe (HEAD -> refs/heads/branch53) 2
* f7326e9 2 (!= ^1) (== ^2)
|\
| * 6149bbf (refs/heads/master2) 2 (^2)
| * 9fa299b 2 (^2)
| * 3c61115 1 (^2)
* | cd0d512 3 (^1)
* | e902e13 3 (^1)
* | 9e05b5d 1 (^1)
|/
* c0b379f (refs/heads/master) 1
* 5b12010 1
* b6b1eb5 0
* b1275b5 0
* b638d51 -
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --show-pulls --simplify-merges --graph branch51 './file'
* fa946ef 4 (!= ^1) (!= ^2)
|\
| * 9fa299b 2 (^2)
* | e902e13 3 (^1)
|/
* 5b12010 1
* b1275b5 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --show-pulls --simplify-merges --graph --dense branch51 './file'
* fa946ef 4 (!= ^1) (!= ^2)
|\
| * 9fa299b 2 (^2)
* | e902e13 3 (^1)
|/
* 5b12010 1
* b1275b5 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --show-pulls --simplify-merges --graph --sparse branch51 './file'
* 5ab7b7c (refs/heads/branch51) 4
* fa946ef 4 (!= ^1) (!= ^2)
|\
| * 6149bbf (refs/heads/master2) 2 (^2)
| * 9fa299b 2 (^2)
| * 3c61115 1 (^2)
* | cd0d512 3 (^1)
* | e902e13 3 (^1)
* | 9e05b5d 1 (^1)
|/
* c0b379f (refs/heads/master) 1
* 5b12010 1
* b6b1eb5 0
* b1275b5 0
* b638d51 -
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
TREESAME parent is descendant of !TREESAME parent, so the out edge to !TREESAME parent is removed
if merge commit's number of !TREESAME out edges drops to 0 and number of TREESAME out edges drops to <= 1 then it is removed
merge commits are included if not TREESAME to its first parent but TREESAME to a later parent
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --show-pulls --simplify-merges --graph branch31 './file'
* 83758cd 2 (!= ^1) (== ^2)
* 9fa299b 2 (^2)
* 5b12010 1
* b1275b5 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --show-pulls --simplify-merges --graph branch53 './file'
* f7326e9 2 (!= ^1) (== ^2)
|\
| * 9fa299b 2 (^2)
* | e902e13 3 (^1)
|/
* 5b12010 1
* b1275b5 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --show-pulls --simplify-merges --graph --dense branch31 './file'
* 83758cd 2 (!= ^1) (== ^2)
* 9fa299b 2 (^2)
* 5b12010 1
* b1275b5 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --show-pulls --simplify-merges --graph --dense branch53 './file'
* f7326e9 2 (!= ^1) (== ^2)
|\
| * 9fa299b 2 (^2)
* | e902e13 3 (^1)
|/
* 5b12010 1
* b1275b5 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --show-pulls --simplify-merges --graph --sparse branch31 './file'
* ca517af (refs/heads/branch31) 2
* 83758cd 2 (!= ^1) (== ^2)
|\
| * 6149bbf (refs/heads/master2) 2 (^2)
| * 9fa299b 2 (^2)
| * 3c61115 1 (^2)
* | 0327755 1 (^1)
* | dc0cbfa 1 (^1)
|/
* c0b379f (refs/heads/master) 1
* 5b12010 1
* b6b1eb5 0
* b1275b5 0
* b638d51 -
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --show-pulls --simplify-merges --graph --sparse branch53 './file'
* b62adfe (HEAD -> refs/heads/branch53) 2
* f7326e9 2 (!= ^1) (== ^2)
|\
| * 6149bbf (refs/heads/master2) 2 (^2)
| * 9fa299b 2 (^2)
| * 3c61115 1 (^2)
* | cd0d512 3 (^1)
* | e902e13 3 (^1)
* | 9e05b5d 1 (^1)
|/
* c0b379f (refs/heads/master) 1
* 5b12010 1
* b6b1eb5 0
* b1275b5 0
* b638d51 -
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
!TREESAME parent is descendant of TREESAME parent, but TREESAME parent is last one, the out edge to TREESAME parent isn't removed
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --show-pulls --simplify-merges --graph branch32 './file'
* 6cd30e8 1 (== ^1) (!= ^2)
|\
| * 9fa299b 2 (^2)
|/
* 5b12010 1
* b1275b5 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --show-pulls --simplify-merges --graph branch52 './file'
* 7c0f639 3 (== ^1) (!= ^2)
|\
| * 9fa299b 2 (^2)
* | e902e13 3 (^1)
|/
* 5b12010 1
* b1275b5 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --show-pulls --simplify-merges --graph --dense branch32 './file'
* 6cd30e8 1 (== ^1) (!= ^2)
|\
| * 9fa299b 2 (^2)
|/
* 5b12010 1
* b1275b5 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --show-pulls --simplify-merges --graph --dense branch52 './file'
* 7c0f639 3 (== ^1) (!= ^2)
|\
| * 9fa299b 2 (^2)
* | e902e13 3 (^1)
|/
* 5b12010 1
* b1275b5 0
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --show-pulls --simplify-merges --graph --sparse branch32 './file'
* ae86656 (refs/heads/branch32) 1
* 6cd30e8 1 (== ^1) (!= ^2)
|\
| * 6149bbf (refs/heads/master2) 2 (^2)
| * 9fa299b 2 (^2)
| * 3c61115 1 (^2)
* | 0327755 1 (^1)
* | dc0cbfa 1 (^1)
|/
* c0b379f (refs/heads/master) 1
* 5b12010 1
* b6b1eb5 0
* b1275b5 0
* b638d51 -
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --format=oneline --abbrev-commit --show-pulls --simplify-merges --graph --sparse branch52 './file'
* cfb79b2 (refs/heads/branch52) 3
* 7c0f639 3 (== ^1) (!= ^2)
|\
| * 6149bbf (refs/heads/master2) 2 (^2)
| * 9fa299b 2 (^2)
| * 3c61115 1 (^2)
* | cd0d512 3 (^1)
* | e902e13 3 (^1)
* | 9e05b5d 1 (^1)
|/
* c0b379f (refs/heads/master) 1
* 5b12010 1
* b6b1eb5 0
* b1275b5 0
* b638d51 -
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))" --allow-empty; git -C './server/repo.git' branch branch1; git -C './server/repo.git' tag tag1
[master (root-commit) 3d06007] 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ branch_default_name="$(git -C './client/repo' branch --show-current)"; echo "$branch_default_name"
master
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch
remote: Enumerating objects: 2, done.
remote: Counting objects: 100% (2/2), done.
remote: Total 2 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (2/2), 139 bytes | 23.00 KiB/s, done.
From file:///test_git/server/repo
* [new branch] branch1 -> server/branch1
* [new branch] master -> server/master
* [new tag] tag1 -> tag1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' log
fatal: your current branch 'master' does not have any commits yet
jhcarl0814@jhcarl0814 UCRT64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' checkout "$branch_default_name"
branch 'master' set up to track 'server/master'.
Already on 'master'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' update-ref 'refs/heads2/branch' HEAD
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' log
commit 3d06007b4e80cd36a6eee881003978720ac9ec58 (HEAD -> master, tag: tag1, server/master, server/branch1, server/HEAD)
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Wed Oct 28 22:43:51 2026 +1300
1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' log --decorate-refs='*2*'
commit 3d06007b4e80cd36a6eee881003978720ac9ec58 (refs/heads2/branch)
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Wed Oct 28 22:43:51 2026 +1300
1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' log --decorate-refs='*'
commit 3d06007b4e80cd36a6eee881003978720ac9ec58 (tag: tag1, server/master, server/branch1, server/HEAD, refs/heads2/branch, master)
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Wed Oct 28 22:43:51 2026 +1300
1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' log --decorate-refs='*' --decorate-refs='HEAD'
commit 3d06007b4e80cd36a6eee881003978720ac9ec58 (HEAD -> master, tag: tag1, server/master, server/branch1, server/HEAD, refs/heads2/branch)
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Wed Oct 28 22:43:51 2026 +1300
1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' log --clear-decorations
commit 3d06007b4e80cd36a6eee881003978720ac9ec58 (HEAD -> master, tag: tag1, server/master, server/branch1, server/HEAD, refs/heads2/branch)
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Wed Oct 28 22:43:51 2026 +1300
1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' log --decorate=no
commit 3d06007b4e80cd36a6eee881003978720ac9ec58
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Wed Oct 28 22:43:51 2026 +1300
1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' log --decorate=no --clear-decorations
commit 3d06007b4e80cd36a6eee881003978720ac9ec58
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Wed Oct 28 22:43:51 2026 +1300
1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' log --decorate=short
commit 3d06007b4e80cd36a6eee881003978720ac9ec58 (HEAD -> master, tag: tag1, server/master, server/branch1, server/HEAD)
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Wed Oct 28 22:43:51 2026 +1300
1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' log --decorate=short --clear-decorations
commit 3d06007b4e80cd36a6eee881003978720ac9ec58 (HEAD -> master, tag: tag1, server/master, server/branch1, server/HEAD, refs/heads2/branch)
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Wed Oct 28 22:43:51 2026 +1300
1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' log --decorate=full
commit 3d06007b4e80cd36a6eee881003978720ac9ec58 (HEAD -> refs/heads/master, tag: refs/tags/tag1, refs/remotes/server/master, refs/remotes/server/branch1, refs/remotes/server/HEAD)
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Wed Oct 28 22:43:51 2026 +1300
1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' log --decorate=full --clear-decorations
commit 3d06007b4e80cd36a6eee881003978720ac9ec58 (HEAD -> refs/heads/master, tag: refs/tags/tag1, refs/remotes/server/master, refs/remotes/server/branch1, refs/remotes/server/HEAD, refs/heads2/branch)
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Wed Oct 28 22:43:51 2026 +1300
1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e '1\n\n1\n\n1\n\n1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) a33cdbe] 1
1 file changed, 7 insertions(+)
create mode 100644 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch branch2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout -b branch1; echo -e '2\n\n1\n\n2\n\n1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
Switched to a new branch 'branch1'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch1 b06c55e] 2
1 file changed, 2 insertions(+), 2 deletions(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch2; echo -e '3\n\n2\n\n1\n\n1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
Switched to branch 'branch2'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch2 1458337] 3
1 file changed, 2 insertions(+), 2 deletions(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1
Switched to branch 'branch1'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --patch
* b06c55e - 2026-10-28 22:44 (2 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/branch1)
|
| diff --git a/file b/file
| index 84ca93e..eafc5bc 100644
| --- a/file
| +++ b/file
| @@ -1,7 +1,7 @@
| -1
| +2
|
| 1
|
| -1
| +2
|
| 1
* a33cdbe - 2026-10-28 22:44 (3 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..84ca93e
--- /dev/null
+++ b/file
@@ -0,0 +1,7 @@
+1
+
+1
+
+1
+
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --message="$((++number))" branch2
Auto-merging file
CONFLICT (content): Merge conflict in file
Automatic merge failed; fix conflicts and then commit the result.
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo -e '4\n\n2\n\n2\n\n1' >'./repo/file'; git -C './repo' add './file'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --no-edit
[branch1 c1ab649] 4
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --patch
* c1ab649 - 2026-10-28 22:44 (1 second ago) 4 - Han Jiang (HEAD -> refs/heads/branch1)
|\
| * 1458337 - 2026-10-28 22:44 (3 seconds ago) 3 - Han Jiang (refs/heads/branch2)
| |
| | diff --git a/file b/file
| | index 84ca93e..358639a 100644
| | --- a/file
| | +++ b/file
| | @@ -1,6 +1,6 @@
| | -1
| | +3
| |
| | -1
| | +2
| |
| | 1
| |
* | b06c55e - 2026-10-28 22:44 (4 seconds ago) 2 - Han Jiang
|/
|
| diff --git a/file b/file
| index 84ca93e..eafc5bc 100644
| --- a/file
| +++ b/file
| @@ -1,7 +1,7 @@
| -1
| +2
|
| 1
|
| -1
| +2
|
| 1
* a33cdbe - 2026-10-28 22:44 (5 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..84ca93e
--- /dev/null
+++ b/file
@@ -0,0 +1,7 @@
+1
+
+1
+
+1
+
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --patch --diff-merges=off
* c1ab649 - 2026-10-28 22:44 (1 second ago) 4 - Han Jiang (HEAD -> refs/heads/branch1)
|\
| * 1458337 - 2026-10-28 22:44 (3 seconds ago) 3 - Han Jiang (refs/heads/branch2)
| |
| | diff --git a/file b/file
| | index 84ca93e..358639a 100644
| | --- a/file
| | +++ b/file
| | @@ -1,6 +1,6 @@
| | -1
| | +3
| |
| | -1
| | +2
| |
| | 1
| |
* | b06c55e - 2026-10-28 22:44 (4 seconds ago) 2 - Han Jiang
|/
|
| diff --git a/file b/file
| index 84ca93e..eafc5bc 100644
| --- a/file
| +++ b/file
| @@ -1,7 +1,7 @@
| -1
| +2
|
| 1
|
| -1
| +2
|
| 1
* a33cdbe - 2026-10-28 22:44 (5 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..84ca93e
--- /dev/null
+++ b/file
@@ -0,0 +1,7 @@
+1
+
+1
+
+1
+
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --patch --diff-merges=first-parent
* c1ab649 - 2026-10-28 22:44 (2 seconds ago) 4 - Han Jiang (HEAD -> refs/heads/branch1)
|\
| |
| | diff --git a/file b/file
| | index eafc5bc..c09337f 100644
| | --- a/file
| | +++ b/file
| | @@ -1,6 +1,6 @@
| | -2
| | +4
| |
| | -1
| | +2
| |
| | 2
| |
| * 1458337 - 2026-10-28 22:44 (4 seconds ago) 3 - Han Jiang (refs/heads/branch2)
| |
| | diff --git a/file b/file
| | index 84ca93e..358639a 100644
| | --- a/file
| | +++ b/file
| | @@ -1,6 +1,6 @@
| | -1
| | +3
| |
| | -1
| | +2
| |
| | 1
| |
* | b06c55e - 2026-10-28 22:44 (5 seconds ago) 2 - Han Jiang
|/
|
| diff --git a/file b/file
| index 84ca93e..eafc5bc 100644
| --- a/file
| +++ b/file
| @@ -1,7 +1,7 @@
| -1
| +2
|
| 1
|
| -1
| +2
|
| 1
* a33cdbe - 2026-10-28 22:44 (6 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..84ca93e
--- /dev/null
+++ b/file
@@ -0,0 +1,7 @@
+1
+
+1
+
+1
+
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --patch --diff-merges=separate
* c1ab649 - 2026-10-28 22:44 (2 seconds ago) 4 - Han Jiang (HEAD -> refs/heads/branch1)
|\
| |
| | diff --git a/file b/file
| | index eafc5bc..c09337f 100644
| | --- a/file
| | +++ b/file
| | @@ -1,6 +1,6 @@
| | -2
| | +4
| |
| | -1
| | +2
| |
| | 2
| |
| | c1ab649 - 2026-10-28 22:44 (2 seconds ago) 4 - Han Jiang (HEAD -> refs/heads/branch1)
| |
| | diff --git a/file b/file
| | index 358639a..c09337f 100644
| | --- a/file
| | +++ b/file
| | @@ -1,7 +1,7 @@
| | -3
| | +4
| |
| | 2
| |
| | -1
| | +2
| |
| | 1
| * 1458337 - 2026-10-28 22:44 (4 seconds ago) 3 - Han Jiang (refs/heads/branch2)
| |
| | diff --git a/file b/file
| | index 84ca93e..358639a 100644
| | --- a/file
| | +++ b/file
| | @@ -1,6 +1,6 @@
| | -1
| | +3
| |
| | -1
| | +2
| |
| | 1
| |
* | b06c55e - 2026-10-28 22:44 (5 seconds ago) 2 - Han Jiang
|/
|
| diff --git a/file b/file
| index 84ca93e..eafc5bc 100644
| --- a/file
| +++ b/file
| @@ -1,7 +1,7 @@
| -1
| +2
|
| 1
|
| -1
| +2
|
| 1
* a33cdbe - 2026-10-28 22:44 (6 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..84ca93e
--- /dev/null
+++ b/file
@@ -0,0 +1,7 @@
+1
+
+1
+
+1
+
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --patch --diff-merges=combined
* c1ab649 - 2026-10-28 22:44 (3 seconds ago) 4 - Han Jiang (HEAD -> refs/heads/branch1)
|\
| |
| | diff --combined file
| | index eafc5bc,358639a..c09337f
| | --- a/file
| | +++ b/file
| | @@@ -1,7 -1,7 +1,7 @@@
| | - 2
| | -3
| | ++4
| |
| | - 1
| | + 2
| |
| | -1
| | +2
| |
| | 1
| * 1458337 - 2026-10-28 22:44 (5 seconds ago) 3 - Han Jiang (refs/heads/branch2)
| |
| | diff --git a/file b/file
| | index 84ca93e..358639a 100644
| | --- a/file
| | +++ b/file
| | @@ -1,6 +1,6 @@
| | -1
| | +3
| |
| | -1
| | +2
| |
| | 1
| |
* | b06c55e - 2026-10-28 22:44 (6 seconds ago) 2 - Han Jiang
|/
|
| diff --git a/file b/file
| index 84ca93e..eafc5bc 100644
| --- a/file
| +++ b/file
| @@ -1,7 +1,7 @@
| -1
| +2
|
| 1
|
| -1
| +2
|
| 1
* a33cdbe - 2026-10-28 22:44 (7 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..84ca93e
--- /dev/null
+++ b/file
@@ -0,0 +1,7 @@
+1
+
+1
+
+1
+
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --patch --diff-merges=combined --combined-all-paths
* c1ab649 - 2026-10-28 22:44 (3 seconds ago) 4 - Han Jiang (HEAD -> refs/heads/branch1)
|\
| |
| | diff --combined file
| | index eafc5bc,358639a..c09337f
| | --- a/file
| | --- a/file
| | +++ b/file
| | @@@ -1,7 -1,7 +1,7 @@@
| | - 2
| | -3
| | ++4
| |
| | - 1
| | + 2
| |
| | -1
| | +2
| |
| | 1
| * 1458337 - 2026-10-28 22:44 (5 seconds ago) 3 - Han Jiang (refs/heads/branch2)
| |
| | diff --git a/file b/file
| | index 84ca93e..358639a 100644
| | --- a/file
| | +++ b/file
| | @@ -1,6 +1,6 @@
| | -1
| | +3
| |
| | -1
| | +2
| |
| | 1
| |
* | b06c55e - 2026-10-28 22:44 (6 seconds ago) 2 - Han Jiang
|/
|
| diff --git a/file b/file
| index 84ca93e..eafc5bc 100644
| --- a/file
| +++ b/file
| @@ -1,7 +1,7 @@
| -1
| +2
|
| 1
|
| -1
| +2
|
| 1
* a33cdbe - 2026-10-28 22:44 (7 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..84ca93e
--- /dev/null
+++ b/file
@@ -0,0 +1,7 @@
+1
+
+1
+
+1
+
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --patch --diff-merges=dense-combined
* c1ab649 - 2026-10-28 22:44 (4 seconds ago) 4 - Han Jiang (HEAD -> refs/heads/branch1)
|\
| |
| | diff --cc file
| | index eafc5bc,358639a..c09337f
| | --- a/file
| | +++ b/file
| | @@@ -1,7 -1,7 +1,7 @@@
| | - 2
| | -3
| | ++4
| |
| | - 1
| | + 2
| |
| | -1
| | +2
| |
| | 1
| * 1458337 - 2026-10-28 22:44 (6 seconds ago) 3 - Han Jiang (refs/heads/branch2)
| |
| | diff --git a/file b/file
| | index 84ca93e..358639a 100644
| | --- a/file
| | +++ b/file
| | @@ -1,6 +1,6 @@
| | -1
| | +3
| |
| | -1
| | +2
| |
| | 1
| |
* | b06c55e - 2026-10-28 22:44 (7 seconds ago) 2 - Han Jiang
|/
|
| diff --git a/file b/file
| index 84ca93e..eafc5bc 100644
| --- a/file
| +++ b/file
| @@ -1,7 +1,7 @@
| -1
| +2
|
| 1
|
| -1
| +2
|
| 1
* a33cdbe - 2026-10-28 22:44 (8 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..84ca93e
--- /dev/null
+++ b/file
@@ -0,0 +1,7 @@
+1
+
+1
+
+1
+
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --patch --diff-merges=dense-combined --unified=1
* c1ab649 - 2026-10-28 22:44 (4 seconds ago) 4 - Han Jiang (HEAD -> refs/heads/branch1)
|\
| |
| | diff --cc file
| | index eafc5bc,358639a..c09337f
| | --- a/file
| | +++ b/file
| | @@@ -1,2 -1,2 +1,2 @@@
| | - 2
| | -3
| | ++4
| |
| * 1458337 - 2026-10-28 22:44 (6 seconds ago) 3 - Han Jiang (refs/heads/branch2)
| |
| | diff --git a/file b/file
| | index 84ca93e..358639a 100644
| | --- a/file
| | +++ b/file
| | @@ -1,4 +1,4 @@
| | -1
| | +3
| |
| | -1
| | +2
| |
* | b06c55e - 2026-10-28 22:44 (7 seconds ago) 2 - Han Jiang
|/
|
| diff --git a/file b/file
| index 84ca93e..eafc5bc 100644
| --- a/file
| +++ b/file
| @@ -1,2 +1,2 @@
| -1
| +2
|
| @@ -4,3 +4,3 @@
|
| -1
| +2
|
* a33cdbe - 2026-10-28 22:44 (8 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..84ca93e
--- /dev/null
+++ b/file
@@ -0,0 +1,7 @@
+1
+
+1
+
+1
+
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --patch --diff-merges=dense-combined --unified=1 --combined-all-paths
* c1ab649 - 2026-10-28 22:44 (5 seconds ago) 4 - Han Jiang (HEAD -> refs/heads/branch1)
|\
| |
| | diff --cc file
| | index eafc5bc,358639a..c09337f
| | --- a/file
| | --- a/file
| | +++ b/file
| | @@@ -1,2 -1,2 +1,2 @@@
| | - 2
| | -3
| | ++4
| |
| * 1458337 - 2026-10-28 22:44 (7 seconds ago) 3 - Han Jiang (refs/heads/branch2)
| |
| | diff --git a/file b/file
| | index 84ca93e..358639a 100644
| | --- a/file
| | +++ b/file
| | @@ -1,4 +1,4 @@
| | -1
| | +3
| |
| | -1
| | +2
| |
* | b06c55e - 2026-10-28 22:44 (8 seconds ago) 2 - Han Jiang
|/
|
| diff --git a/file b/file
| index 84ca93e..eafc5bc 100644
| --- a/file
| +++ b/file
| @@ -1,2 +1,2 @@
| -1
| +2
|
| @@ -4,3 +4,3 @@
|
| -1
| +2
|
* a33cdbe - 2026-10-28 22:44 (9 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..84ca93e
--- /dev/null
+++ b/file
@@ -0,0 +1,7 @@
+1
+
+1
+
+1
+
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --patch --diff-merges=remerge
* c1ab649 - 2026-10-28 22:44 (5 seconds ago) 4 - Han Jiang (HEAD -> refs/heads/branch1)
|\
| |
| | diff --git a/file b/file
| | remerge CONFLICT (content): Merge conflict in file
| | index 32b166d..c09337f 100644
| | --- a/file
| | +++ b/file
| | @@ -1,8 +1,4 @@
| | -<<<<<<< b06c55e (2)
| | -2
| | -=======
| | -3
| | ->>>>>>> 1458337 (3)
| | +4
| |
| | 2
| |
| * 1458337 - 2026-10-28 22:44 (7 seconds ago) 3 - Han Jiang (refs/heads/branch2)
| |
| | diff --git a/file b/file
| | index 84ca93e..358639a 100644
| | --- a/file
| | +++ b/file
| | @@ -1,6 +1,6 @@
| | -1
| | +3
| |
| | -1
| | +2
| |
| | 1
| |
* | b06c55e - 2026-10-28 22:44 (8 seconds ago) 2 - Han Jiang
|/
|
| diff --git a/file b/file
| index 84ca93e..eafc5bc 100644
| --- a/file
| +++ b/file
| @@ -1,7 +1,7 @@
| -1
| +2
|
| 1
|
| -1
| +2
|
| 1
* a33cdbe - 2026-10-28 22:44 (9 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..84ca93e
--- /dev/null
+++ b/file
@@ -0,0 +1,7 @@
+1
+
+1
+
+1
+
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) c0b04a9] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch branch2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout -b branch1; echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))" --allow-empty
Switched to a new branch 'branch1'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch1 812445f] 2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch2; echo '2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
Switched to branch 'branch2'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch2 c2214eb] 3
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1
Switched to branch 'branch1'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --patch
* 812445f - 2026-10-28 22:44 (2 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/branch1)
* c0b04a9 - 2026-10-28 22:44 (3 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --message="$((++number))" branch2
Merge made by the 'ort' strategy.
file | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --patch
* 334eedb - 2026-10-28 22:44 (1 second ago) 4 - Han Jiang (HEAD -> refs/heads/branch1)
|\
| * c2214eb - 2026-10-28 22:44 (2 seconds ago) 3 - Han Jiang (refs/heads/branch2)
| |
| | diff --git a/file b/file
| | index d00491f..0cfbf08 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -1
| | +2
* | 812445f - 2026-10-28 22:44 (3 seconds ago) 2 - Han Jiang
|/
* c0b04a9 - 2026-10-28 22:44 (4 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --patch --diff-merges=off
* 334eedb - 2026-10-28 22:44 (1 second ago) 4 - Han Jiang (HEAD -> refs/heads/branch1)
|\
| * c2214eb - 2026-10-28 22:44 (2 seconds ago) 3 - Han Jiang (refs/heads/branch2)
| |
| | diff --git a/file b/file
| | index d00491f..0cfbf08 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -1
| | +2
* | 812445f - 2026-10-28 22:44 (3 seconds ago) 2 - Han Jiang
|/
* c0b04a9 - 2026-10-28 22:44 (4 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --patch --diff-merges=first-parent
* 334eedb - 2026-10-28 22:44 (2 seconds ago) 4 - Han Jiang (HEAD -> refs/heads/branch1)
|\
| |
| | diff --git a/file b/file
| | index d00491f..0cfbf08 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -1
| | +2
| * c2214eb - 2026-10-28 22:44 (3 seconds ago) 3 - Han Jiang (refs/heads/branch2)
| |
| | diff --git a/file b/file
| | index d00491f..0cfbf08 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -1
| | +2
* | 812445f - 2026-10-28 22:44 (4 seconds ago) 2 - Han Jiang
|/
* c0b04a9 - 2026-10-28 22:44 (5 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --patch --diff-merges=separate
* 334eedb - 2026-10-28 22:44 (2 seconds ago) 4 - Han Jiang (HEAD -> refs/heads/branch1)
|\
| |
| | diff --git a/file b/file
| | index d00491f..0cfbf08 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -1
| | +2
| * c2214eb - 2026-10-28 22:44 (3 seconds ago) 3 - Han Jiang (refs/heads/branch2)
| |
| | diff --git a/file b/file
| | index d00491f..0cfbf08 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -1
| | +2
* | 812445f - 2026-10-28 22:44 (4 seconds ago) 2 - Han Jiang
|/
* c0b04a9 - 2026-10-28 22:44 (5 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --patch --diff-merges=combined
* 334eedb - 2026-10-28 22:44 (3 seconds ago) 4 - Han Jiang (HEAD -> refs/heads/branch1)
|\
| |
| * c2214eb - 2026-10-28 22:44 (4 seconds ago) 3 - Han Jiang (refs/heads/branch2)
| |
| | diff --git a/file b/file
| | index d00491f..0cfbf08 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -1
| | +2
* | 812445f - 2026-10-28 22:44 (5 seconds ago) 2 - Han Jiang
|/
* c0b04a9 - 2026-10-28 22:44 (6 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --patch --diff-merges=combined --combined-all-paths
* 334eedb - 2026-10-28 22:44 (3 seconds ago) 4 - Han Jiang (HEAD -> refs/heads/branch1)
|\
| |
| * c2214eb - 2026-10-28 22:44 (4 seconds ago) 3 - Han Jiang (refs/heads/branch2)
| |
| | diff --git a/file b/file
| | index d00491f..0cfbf08 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -1
| | +2
* | 812445f - 2026-10-28 22:44 (5 seconds ago) 2 - Han Jiang
|/
* c0b04a9 - 2026-10-28 22:44 (6 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --patch --diff-merges=dense-combined
* 334eedb - 2026-10-28 22:44 (4 seconds ago) 4 - Han Jiang (HEAD -> refs/heads/branch1)
|\
| |
| * c2214eb - 2026-10-28 22:44 (5 seconds ago) 3 - Han Jiang (refs/heads/branch2)
| |
| | diff --git a/file b/file
| | index d00491f..0cfbf08 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -1
| | +2
* | 812445f - 2026-10-28 22:44 (6 seconds ago) 2 - Han Jiang
|/
* c0b04a9 - 2026-10-28 22:44 (7 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --patch --diff-merges=dense-combined --combined-all-paths
* 334eedb - 2026-10-28 22:44 (4 seconds ago) 4 - Han Jiang (HEAD -> refs/heads/branch1)
|\
| |
| * c2214eb - 2026-10-28 22:44 (5 seconds ago) 3 - Han Jiang (refs/heads/branch2)
| |
| | diff --git a/file b/file
| | index d00491f..0cfbf08 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -1
| | +2
* | 812445f - 2026-10-28 22:44 (6 seconds ago) 2 - Han Jiang
|/
* c0b04a9 - 2026-10-28 22:44 (7 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --patch --diff-merges=remerge
* 334eedb - 2026-10-28 22:44 (5 seconds ago) 4 - Han Jiang (HEAD -> refs/heads/branch1)
|\
| * c2214eb - 2026-10-28 22:44 (6 seconds ago) 3 - Han Jiang (refs/heads/branch2)
| |
| | diff --git a/file b/file
| | index d00491f..0cfbf08 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -1
| | +2
* | 812445f - 2026-10-28 22:44 (7 seconds ago) 2 - Han Jiang
|/
* c0b04a9 - 2026-10-28 22:44 (8 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 5245604] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' branch branch2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout -b branch1; echo '2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
Switched to a new branch 'branch1'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch1 89008db] 2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch2; echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))" --allow-empty
Switched to branch 'branch2'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch2 9337da2] 3
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1
Switched to branch 'branch1'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --patch
* 89008db - 2026-10-28 22:44 (2 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/branch1)
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 5245604 - 2026-10-28 22:44 (3 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --message="$((++number))" branch2
Merge made by the 'ort' strategy.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --patch
* 5d1df48 - 2026-10-28 22:44 (1 second ago) 4 - Han Jiang (HEAD -> refs/heads/branch1)
|\
| * 9337da2 - 2026-10-28 22:44 (2 seconds ago) 3 - Han Jiang (refs/heads/branch2)
* | 89008db - 2026-10-28 22:44 (3 seconds ago) 2 - Han Jiang
|/
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 5245604 - 2026-10-28 22:44 (4 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --patch --diff-merges=off
* 5d1df48 - 2026-10-28 22:44 (1 second ago) 4 - Han Jiang (HEAD -> refs/heads/branch1)
|\
| * 9337da2 - 2026-10-28 22:44 (2 seconds ago) 3 - Han Jiang (refs/heads/branch2)
* | 89008db - 2026-10-28 22:44 (3 seconds ago) 2 - Han Jiang
|/
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 5245604 - 2026-10-28 22:44 (4 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --patch --diff-merges=first-parent
* 5d1df48 - 2026-10-28 22:44 (2 seconds ago) 4 - Han Jiang (HEAD -> refs/heads/branch1)
|\
| * 9337da2 - 2026-10-28 22:44 (3 seconds ago) 3 - Han Jiang (refs/heads/branch2)
* | 89008db - 2026-10-28 22:44 (4 seconds ago) 2 - Han Jiang
|/
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 5245604 - 2026-10-28 22:44 (5 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --patch --diff-merges=separate
* 5d1df48 - 2026-10-28 22:44 (2 seconds ago) 4 - Han Jiang (HEAD -> refs/heads/branch1)
|\
| |
| | diff --git a/file b/file
| | index d00491f..0cfbf08 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -1
| | +2
| * 9337da2 - 2026-10-28 22:44 (3 seconds ago) 3 - Han Jiang (refs/heads/branch2)
* | 89008db - 2026-10-28 22:44 (4 seconds ago) 2 - Han Jiang
|/
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 5245604 - 2026-10-28 22:44 (5 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --patch --diff-merges=combined
* 5d1df48 - 2026-10-28 22:44 (3 seconds ago) 4 - Han Jiang (HEAD -> refs/heads/branch1)
|\
| |
| * 9337da2 - 2026-10-28 22:44 (4 seconds ago) 3 - Han Jiang (refs/heads/branch2)
* | 89008db - 2026-10-28 22:44 (5 seconds ago) 2 - Han Jiang
|/
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 5245604 - 2026-10-28 22:44 (6 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --patch --diff-merges=combined --combined-all-paths
* 5d1df48 - 2026-10-28 22:44 (3 seconds ago) 4 - Han Jiang (HEAD -> refs/heads/branch1)
|\
| |
| * 9337da2 - 2026-10-28 22:44 (4 seconds ago) 3 - Han Jiang (refs/heads/branch2)
* | 89008db - 2026-10-28 22:44 (5 seconds ago) 2 - Han Jiang
|/
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 5245604 - 2026-10-28 22:44 (6 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --patch --diff-merges=dense-combined
* 5d1df48 - 2026-10-28 22:44 (4 seconds ago) 4 - Han Jiang (HEAD -> refs/heads/branch1)
|\
| |
| * 9337da2 - 2026-10-28 22:44 (5 seconds ago) 3 - Han Jiang (refs/heads/branch2)
* | 89008db - 2026-10-28 22:44 (6 seconds ago) 2 - Han Jiang
|/
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 5245604 - 2026-10-28 22:44 (7 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --patch --diff-merges=dense-combined --combined-all-paths
* 5d1df48 - 2026-10-28 22:44 (4 seconds ago) 4 - Han Jiang (HEAD -> refs/heads/branch1)
|\
| |
| * 9337da2 - 2026-10-28 22:44 (5 seconds ago) 3 - Han Jiang (refs/heads/branch2)
* | 89008db - 2026-10-28 22:44 (6 seconds ago) 2 - Han Jiang
|/
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 5245604 - 2026-10-28 22:44 (7 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --patch --diff-merges=remerge
* 5d1df48 - 2026-10-28 22:44 (4 seconds ago) 4 - Han Jiang (HEAD -> refs/heads/branch1)
|\
| * 9337da2 - 2026-10-28 22:44 (5 seconds ago) 3 - Han Jiang (refs/heads/branch2)
* | 89008db - 2026-10-28 22:44 (6 seconds ago) 2 - Han Jiang
|/
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 5245604 - 2026-10-28 22:44 (7 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"; git -C './repo' branch branch2
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 58a33f7] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout -b branch1; echo '2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
Switched to a new branch 'branch1'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch1 d202d19] 2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch2; echo '3' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
Switched to branch 'branch2'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch2 8369a92] 3
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1
Switched to branch 'branch1'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* 8369a92 - 2026-10-28 22:44 (1 second ago) 3 - Han Jiang (refs/heads/branch2)
|
| diff --git a/file b/file
| index d00491f..00750ed 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +3
| * d202d19 - 2026-10-28 22:44 (2 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/branch1)
|/
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 58a33f7 - 2026-10-28 22:44 (2 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --message="$((++number))" branch2
Auto-merging file
CONFLICT (content): Merge conflict in file
Automatic merge failed; fix conflicts and then commit the result.
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* 8369a92 - 2026-10-28 22:44 (2 seconds ago) 3 - Han Jiang (refs/heads/branch2)
|
| diff --git a/file b/file
| index d00491f..00750ed 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +3
| * d202d19 - 2026-10-28 22:44 (3 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/branch1)
|/
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 58a33f7 - 2026-10-28 22:44 (3 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 d00491fd7e5bb6fa28c517a0bb32b8b506539d4d 1 file
100644 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f 2 file
100644 00750edc07d6415dcc07ae0351e9397b0222b7ba 3 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch branch1
You have unmerged paths.
(fix conflicts and run "git commit")
(use "git merge --abort" to abort the merge)
Unmerged paths:
(use "git add <file>..." to mark resolution)
both modified: file
* Unmerged path file
no changes added to commit (use "git add" and/or "git commit -a")
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show :1:file
1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show :2:file
2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show :3:file
3
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show "$(git -C './repo' merge-base MERGE_HEAD HEAD)":file
1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show HEAD:file
2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show MERGE_HEAD:file
3
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show AUTO_MERGE:file
<<<<<<< HEAD
2
=======
3
>>>>>>> branch2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff
diff --cc file
index 0cfbf08,00750ed..0000000
--- a/file
+++ b/file
@@@ -1,1 -1,1 +1,5 @@@
++<<<<<<< HEAD
+2
++=======
+ 3
++>>>>>>> branch2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --base
* Unmerged path file
diff --git a/file b/file
index d00491f..79f797c 100644
--- a/file
+++ b/file
@@ -1 +1,5 @@
-1
+<<<<<<< HEAD
+2
+=======
+3
+>>>>>>> branch2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff "$(git -C './repo' merge-base MERGE_HEAD HEAD)"
diff --git a/file b/file
index d00491f..79f797c 100644
--- a/file
+++ b/file
@@ -1 +1,5 @@
-1
+<<<<<<< HEAD
+2
+=======
+3
+>>>>>>> branch2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --ours
* Unmerged path file
diff --git a/file b/file
index 0cfbf08..79f797c 100644
--- a/file
+++ b/file
@@ -1 +1,5 @@
+<<<<<<< HEAD
2
+=======
+3
+>>>>>>> branch2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff HEAD
diff --git a/file b/file
index 0cfbf08..79f797c 100644
--- a/file
+++ b/file
@@ -1 +1,5 @@
+<<<<<<< HEAD
2
+=======
+3
+>>>>>>> branch2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --theirs
* Unmerged path file
diff --git a/file b/file
index 00750ed..79f797c 100644
--- a/file
+++ b/file
@@ -1 +1,5 @@
+<<<<<<< HEAD
+2
+=======
3
+>>>>>>> branch2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff MERGE_HEAD
diff --git a/file b/file
index 00750ed..79f797c 100644
--- a/file
+++ b/file
@@ -1 +1,5 @@
+<<<<<<< HEAD
+2
+=======
3
+>>>>>>> branch2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff AUTO_MERGE
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --abort
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* 8369a92 - 2026-10-28 22:44 (12 seconds ago) 3 - Han Jiang (refs/heads/branch2)
|
| diff --git a/file b/file
| index d00491f..00750ed 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +3
| * d202d19 - 2026-10-28 22:44 (13 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/branch1)
|/
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 58a33f7 - 2026-10-28 22:44 (13 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f 0 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch branch1
nothing to commit, working tree clean
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"; git -C './repo' branch branch2
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) cff7a45] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout -b branch1; echo '2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
Switched to a new branch 'branch1'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch1 bf53ad6] 2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch2; echo '3' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
Switched to branch 'branch2'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch2 90e2598] 3
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1
Switched to branch 'branch1'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* 90e2598 - 2026-10-28 22:45 (1 second ago) 3 - Han Jiang (refs/heads/branch2)
|
| diff --git a/file b/file
| index d00491f..00750ed 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +3
| * bf53ad6 - 2026-10-28 22:45 (2 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/branch1)
|/
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* cff7a45 - 2026-10-28 22:45 (2 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --message="$((++number))" branch2
Auto-merging file
CONFLICT (content): Merge conflict in file
Automatic merge failed; fix conflicts and then commit the result.
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* 90e2598 - 2026-10-28 22:45 (3 seconds ago) 3 - Han Jiang (refs/heads/branch2)
|
| diff --git a/file b/file
| index d00491f..00750ed 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +3
| * bf53ad6 - 2026-10-28 22:45 (4 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/branch1)
|/
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* cff7a45 - 2026-10-28 22:45 (4 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 d00491fd7e5bb6fa28c517a0bb32b8b506539d4d 1 file
100644 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f 2 file
100644 00750edc07d6415dcc07ae0351e9397b0222b7ba 3 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch branch1
You have unmerged paths.
(fix conflicts and run "git commit")
(use "git merge --abort" to abort the merge)
Unmerged paths:
(use "git add <file>..." to mark resolution)
both modified: file
* Unmerged path file
no changes added to commit (use "git add" and/or "git commit -a")
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show :1:file
1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show :2:file
2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show :3:file
3
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show "$(git -C './repo' merge-base MERGE_HEAD HEAD)":file
1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show HEAD:file
2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show MERGE_HEAD:file
3
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show AUTO_MERGE:file
<<<<<<< HEAD
2
=======
3
>>>>>>> branch2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff
diff --cc file
index 0cfbf08,00750ed..0000000
--- a/file
+++ b/file
@@@ -1,1 -1,1 +1,5 @@@
++<<<<<<< HEAD
+2
++=======
+ 3
++>>>>>>> branch2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --base
* Unmerged path file
diff --git a/file b/file
index d00491f..79f797c 100644
--- a/file
+++ b/file
@@ -1 +1,5 @@
-1
+<<<<<<< HEAD
+2
+=======
+3
+>>>>>>> branch2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff "$(git -C './repo' merge-base MERGE_HEAD HEAD)"
diff --git a/file b/file
index d00491f..79f797c 100644
--- a/file
+++ b/file
@@ -1 +1,5 @@
-1
+<<<<<<< HEAD
+2
+=======
+3
+>>>>>>> branch2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --ours
* Unmerged path file
diff --git a/file b/file
index 0cfbf08..79f797c 100644
--- a/file
+++ b/file
@@ -1 +1,5 @@
+<<<<<<< HEAD
2
+=======
+3
+>>>>>>> branch2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff HEAD
diff --git a/file b/file
index 0cfbf08..79f797c 100644
--- a/file
+++ b/file
@@ -1 +1,5 @@
+<<<<<<< HEAD
2
+=======
+3
+>>>>>>> branch2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --theirs
* Unmerged path file
diff --git a/file b/file
index 00750ed..79f797c 100644
--- a/file
+++ b/file
@@ -1 +1,5 @@
+<<<<<<< HEAD
+2
+=======
3
+>>>>>>> branch2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff MERGE_HEAD
diff --git a/file b/file
index 00750ed..79f797c 100644
--- a/file
+++ b/file
@@ -1 +1,5 @@
+<<<<<<< HEAD
+2
+=======
3
+>>>>>>> branch2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff AUTO_MERGE
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --quit
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* 90e2598 - 2026-10-28 22:45 (12 seconds ago) 3 - Han Jiang (refs/heads/branch2)
|
| diff --git a/file b/file
| index d00491f..00750ed 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +3
| * bf53ad6 - 2026-10-28 22:45 (13 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/branch1)
|/
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* cff7a45 - 2026-10-28 22:45 (13 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 d00491fd7e5bb6fa28c517a0bb32b8b506539d4d 1 file
100644 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f 2 file
100644 00750edc07d6415dcc07ae0351e9397b0222b7ba 3 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch branch1
Unmerged paths:
(use "git restore --staged <file>..." to unstage)
(use "git add <file>..." to mark resolution)
both modified: file
* Unmerged path file
no changes added to commit (use "git add" and/or "git commit -a")
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show :1:file
1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show :2:file
2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show :3:file
3
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show "$(git -C './repo' merge-base MERGE_HEAD HEAD)":file
fatal: Not a valid object name MERGE_HEAD
fatal: path 'file' is in the index, but not at stage 0
hint: Did you mean ':1:file'?
jhcarl0814@jhcarl0814 UCRT64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show HEAD:file
2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show MERGE_HEAD:file
fatal: invalid object name 'MERGE_HEAD'.
jhcarl0814@jhcarl0814 UCRT64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show AUTO_MERGE:file
fatal: invalid object name 'AUTO_MERGE'.
jhcarl0814@jhcarl0814 UCRT64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"; git -C './repo' branch branch2
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 3dacecc] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout -b branch1; echo '2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
Switched to a new branch 'branch1'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch1 00b1900] 2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch2; echo '3' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
Switched to branch 'branch2'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch2 149b422] 3
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1
Switched to branch 'branch1'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* 149b422 - 2026-10-28 22:45 (1 second ago) 3 - Han Jiang (refs/heads/branch2)
|
| diff --git a/file b/file
| index d00491f..00750ed 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +3
| * 00b1900 - 2026-10-28 22:45 (2 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/branch1)
|/
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 3dacecc - 2026-10-28 22:45 (3 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --message="$((++number))" branch2
Auto-merging file
CONFLICT (content): Merge conflict in file
Automatic merge failed; fix conflicts and then commit the result.
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* 149b422 - 2026-10-28 22:45 (2 seconds ago) 3 - Han Jiang (refs/heads/branch2)
|
| diff --git a/file b/file
| index d00491f..00750ed 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +3
| * 00b1900 - 2026-10-28 22:45 (3 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/branch1)
|/
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 3dacecc - 2026-10-28 22:45 (4 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 d00491fd7e5bb6fa28c517a0bb32b8b506539d4d 1 file
100644 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f 2 file
100644 00750edc07d6415dcc07ae0351e9397b0222b7ba 3 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch branch1
You have unmerged paths.
(fix conflicts and run "git commit")
(use "git merge --abort" to abort the merge)
Unmerged paths:
(use "git add <file>..." to mark resolution)
both modified: file
* Unmerged path file
no changes added to commit (use "git add" and/or "git commit -a")
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show :1:file
1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show :2:file
2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show :3:file
3
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show "$(git -C './repo' merge-base MERGE_HEAD HEAD)":file
1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show HEAD:file
2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show MERGE_HEAD:file
3
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show AUTO_MERGE:file
<<<<<<< HEAD
2
=======
3
>>>>>>> branch2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff
diff --cc file
index 0cfbf08,00750ed..0000000
--- a/file
+++ b/file
@@@ -1,1 -1,1 +1,5 @@@
++<<<<<<< HEAD
+2
++=======
+ 3
++>>>>>>> branch2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --base
* Unmerged path file
diff --git a/file b/file
index d00491f..79f797c 100644
--- a/file
+++ b/file
@@ -1 +1,5 @@
-1
+<<<<<<< HEAD
+2
+=======
+3
+>>>>>>> branch2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff "$(git -C './repo' merge-base MERGE_HEAD HEAD)"
diff --git a/file b/file
index d00491f..79f797c 100644
--- a/file
+++ b/file
@@ -1 +1,5 @@
-1
+<<<<<<< HEAD
+2
+=======
+3
+>>>>>>> branch2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --ours
* Unmerged path file
diff --git a/file b/file
index 0cfbf08..79f797c 100644
--- a/file
+++ b/file
@@ -1 +1,5 @@
+<<<<<<< HEAD
2
+=======
+3
+>>>>>>> branch2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff HEAD
diff --git a/file b/file
index 0cfbf08..79f797c 100644
--- a/file
+++ b/file
@@ -1 +1,5 @@
+<<<<<<< HEAD
2
+=======
+3
+>>>>>>> branch2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --theirs
* Unmerged path file
diff --git a/file b/file
index 00750ed..79f797c 100644
--- a/file
+++ b/file
@@ -1 +1,5 @@
+<<<<<<< HEAD
+2
+=======
3
+>>>>>>> branch2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff MERGE_HEAD
diff --git a/file b/file
index 00750ed..79f797c 100644
--- a/file
+++ b/file
@@ -1 +1,5 @@
+<<<<<<< HEAD
+2
+=======
3
+>>>>>>> branch2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff AUTO_MERGE
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '4' >'./repo/file'; git -C './repo' add './file'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' -c 'core.editor=:' merge --continue
[branch1 3cc7268] 4
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch --diff-merges=separate
* 3cc7268 - 2026-10-28 22:45 (0 seconds ago) 4 - Han Jiang (HEAD -> refs/heads/branch1)
|\
| |
| | diff --git a/file b/file
| | index 0cfbf08..b8626c4 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -2
| | +4
| | 3cc7268 - 2026-10-28 22:45 (0 seconds ago) 4 - Han Jiang (HEAD -> refs/heads/branch1)
| |
| | diff --git a/file b/file
| | index 00750ed..b8626c4 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -3
| | +4
| * 149b422 - 2026-10-28 22:45 (12 seconds ago) 3 - Han Jiang (refs/heads/branch2)
| |
| | diff --git a/file b/file
| | index d00491f..00750ed 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -1
| | +3
* | 00b1900 - 2026-10-28 22:45 (13 seconds ago) 2 - Han Jiang
|/
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 3dacecc - 2026-10-28 22:45 (14 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 b8626c4cff2849624fb67f87cd0ad72b163671ad 0 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch branch1
nothing to commit, working tree clean
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"; git -C './repo' branch branch2
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) bf0dd6f] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout -b branch1; echo '2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
Switched to a new branch 'branch1'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch1 8041664] 2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch2; echo '3' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
Switched to branch 'branch2'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch2 1098592] 3
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1
Switched to branch 'branch1'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* 1098592 - 2026-10-28 22:45 (1 second ago) 3 - Han Jiang (refs/heads/branch2)
|
| diff --git a/file b/file
| index d00491f..00750ed 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +3
| * 8041664 - 2026-10-28 22:45 (2 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/branch1)
|/
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* bf0dd6f - 2026-10-28 22:45 (3 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --message="$((++number))" branch2
Auto-merging file
CONFLICT (content): Merge conflict in file
Automatic merge failed; fix conflicts and then commit the result.
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* 1098592 - 2026-10-28 22:45 (2 seconds ago) 3 - Han Jiang (refs/heads/branch2)
|
| diff --git a/file b/file
| index d00491f..00750ed 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +3
| * 8041664 - 2026-10-28 22:45 (3 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/branch1)
|/
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* bf0dd6f - 2026-10-28 22:45 (4 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 d00491fd7e5bb6fa28c517a0bb32b8b506539d4d 1 file
100644 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f 2 file
100644 00750edc07d6415dcc07ae0351e9397b0222b7ba 3 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch branch1
You have unmerged paths.
(fix conflicts and run "git commit")
(use "git merge --abort" to abort the merge)
Unmerged paths:
(use "git add <file>..." to mark resolution)
both modified: file
* Unmerged path file
no changes added to commit (use "git add" and/or "git commit -a")
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show :1:file
1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show :2:file
2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show :3:file
3
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show "$(git -C './repo' merge-base MERGE_HEAD HEAD)":file
1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show HEAD:file
2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show MERGE_HEAD:file
3
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show AUTO_MERGE:file
<<<<<<< HEAD
2
=======
3
>>>>>>> branch2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff
diff --cc file
index 0cfbf08,00750ed..0000000
--- a/file
+++ b/file
@@@ -1,1 -1,1 +1,5 @@@
++<<<<<<< HEAD
+2
++=======
+ 3
++>>>>>>> branch2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --base
* Unmerged path file
diff --git a/file b/file
index d00491f..79f797c 100644
--- a/file
+++ b/file
@@ -1 +1,5 @@
-1
+<<<<<<< HEAD
+2
+=======
+3
+>>>>>>> branch2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff "$(git -C './repo' merge-base MERGE_HEAD HEAD)"
diff --git a/file b/file
index d00491f..79f797c 100644
--- a/file
+++ b/file
@@ -1 +1,5 @@
-1
+<<<<<<< HEAD
+2
+=======
+3
+>>>>>>> branch2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --ours
* Unmerged path file
diff --git a/file b/file
index 0cfbf08..79f797c 100644
--- a/file
+++ b/file
@@ -1 +1,5 @@
+<<<<<<< HEAD
2
+=======
+3
+>>>>>>> branch2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff HEAD
diff --git a/file b/file
index 0cfbf08..79f797c 100644
--- a/file
+++ b/file
@@ -1 +1,5 @@
+<<<<<<< HEAD
2
+=======
+3
+>>>>>>> branch2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --theirs
* Unmerged path file
diff --git a/file b/file
index 00750ed..79f797c 100644
--- a/file
+++ b/file
@@ -1 +1,5 @@
+<<<<<<< HEAD
+2
+=======
3
+>>>>>>> branch2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff MERGE_HEAD
diff --git a/file b/file
index 00750ed..79f797c 100644
--- a/file
+++ b/file
@@ -1 +1,5 @@
+<<<<<<< HEAD
+2
+=======
3
+>>>>>>> branch2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff AUTO_MERGE
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '4' >'./repo/file'; git -C './repo' add './file'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --no-edit
[branch1 764917e] 4
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch --diff-merges=separate
* 764917e - 2026-10-28 22:45 (1 second ago) 4 - Han Jiang (HEAD -> refs/heads/branch1)
|\
| |
| | diff --git a/file b/file
| | index 0cfbf08..b8626c4 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -2
| | +4
| | 764917e - 2026-10-28 22:45 (1 second ago) 4 - Han Jiang (HEAD -> refs/heads/branch1)
| |
| | diff --git a/file b/file
| | index 00750ed..b8626c4 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -3
| | +4
| * 1098592 - 2026-10-28 22:45 (12 seconds ago) 3 - Han Jiang (refs/heads/branch2)
| |
| | diff --git a/file b/file
| | index d00491f..00750ed 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -1
| | +3
* | 8041664 - 2026-10-28 22:45 (13 seconds ago) 2 - Han Jiang
|/
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* bf0dd6f - 2026-10-28 22:45 (14 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 b8626c4cff2849624fb67f87cd0ad72b163671ad 0 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch branch1
nothing to commit, working tree clean
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"; git -C './repo' branch branch2
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 61644c4] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout -b branch1; echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))" --allow-empty
Switched to a new branch 'branch1'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch1 2102c43] 2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch2; echo '2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
Switched to branch 'branch2'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch2 eb093c3] 3
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1
Switched to branch 'branch1'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* eb093c3 - 2026-10-28 22:46 (1 second ago) 3 - Han Jiang (refs/heads/branch2)
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
| * 2102c43 - 2026-10-28 22:46 (2 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/branch1)
|/
* 61644c4 - 2026-10-28 22:46 (3 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --message="$((++number))" branch2
Merge made by the 'ort' strategy.
file | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch --diff-merges=separate
* 5a05026 - 2026-10-28 22:46 (0 seconds ago) 4 - Han Jiang (HEAD -> refs/heads/branch1)
|\
| |
| | diff --git a/file b/file
| | index d00491f..0cfbf08 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -1
| | +2
| * eb093c3 - 2026-10-28 22:46 (2 seconds ago) 3 - Han Jiang (refs/heads/branch2)
| |
| | diff --git a/file b/file
| | index d00491f..0cfbf08 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -1
| | +2
* | 2102c43 - 2026-10-28 22:46 (3 seconds ago) 2 - Han Jiang
|/
* 61644c4 - 2026-10-28 22:46 (4 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch branch1
nothing to commit, working tree clean
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ branch_default_name="$(git -C './repo' branch --show-current)"; echo "$branch_default_name"
master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"; git -C './repo' branch branch1
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 9cb60f1] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master 4178fa2] 2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1
Switched to branch 'branch1'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* 4178fa2 - 2026-10-28 22:46 (1 second ago) 2 - Han Jiang (refs/heads/master)
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 9cb60f1 - 2026-10-28 22:46 (2 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/branch1)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --message="$((++number))" "$branch_default_name"
Updating 9cb60f1..4178fa2
Fast-forward (no commit created; -m option ignored)
file | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* 4178fa2 - 2026-10-28 22:46 (1 second ago) 2 - Han Jiang (HEAD -> refs/heads/branch1, refs/heads/master)
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 9cb60f1 - 2026-10-28 22:46 (2 seconds ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch branch1
nothing to commit, working tree clean
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"; git -C './repo' branch branch1
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) ae33df5] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master 974e5ef] 2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* 974e5ef - 2026-10-28 22:46 (1 second ago) 2 - Han Jiang (HEAD -> refs/heads/master)
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* ae33df5 - 2026-10-28 22:46 (1 second ago) 1 - Han Jiang (refs/heads/branch1)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --message="$((++number))" branch1
Already up to date.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* 974e5ef - 2026-10-28 22:46 (2 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* ae33df5 - 2026-10-28 22:46 (2 seconds ago) 1 - Han Jiang (refs/heads/branch1)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
nothing to commit, working tree clean
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty; git -C './repo' branch branch2
[master (root-commit) 01c94e0] 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout -b branch1; git -C './repo' commit --message="$((++number))" --allow-empty
Switched to a new branch 'branch1'
[branch1 6367f79] 2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch2; git -C './repo' commit --message="$((++number))" --allow-empty
Switched to branch 'branch2'
[branch2 eec25a6] 3
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1
Switched to branch 'branch1'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 6367f79 - 2026-10-28 22:46 (1 second ago) 2 - Han Jiang (HEAD -> refs/heads/branch1)
| * eec25a6 - 2026-10-28 22:46 (1 second ago) 3 - Han Jiang (refs/heads/branch2)
|/
* 01c94e0 - 2026-10-28 22:46 (2 seconds ago) 1 - Han Jiang (refs/heads/master)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --message="$((++number))" --ff-only branch2
hint: Diverging branches can't be fast-forwarded, you need to either:
hint:
hint: git merge --no-ff
hint:
hint: or:
hint:
hint: git rebase
hint:
hint: Disable this message with "git config set advice.diverging false"
fatal: Not possible to fast-forward, aborting.
jhcarl0814@jhcarl0814 UCRT64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 6367f79 - 2026-10-28 22:46 (2 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/branch1)
| * eec25a6 - 2026-10-28 22:46 (2 seconds ago) 3 - Han Jiang (refs/heads/branch2)
|/
* 01c94e0 - 2026-10-28 22:46 (3 seconds ago) 1 - Han Jiang (refs/heads/master)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ branch_default_name="$(git -C './repo' branch --show-current)"; echo "$branch_default_name"
master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty; git -C './repo' branch branch1
[master (root-commit) 05d56e6] 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master 0c9b566] 2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1
Switched to branch 'branch1'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 0c9b566 - 2026-10-28 22:46 (1 second ago) 2 - Han Jiang (refs/heads/master)
* 05d56e6 - 2026-10-28 22:46 (2 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/branch1)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --message="$((++number))" --ff-only "$branch_default_name"
Updating 05d56e6..0c9b566
Fast-forward (no commit created; -m option ignored)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 0c9b566 - 2026-10-28 22:46 (2 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/branch1, refs/heads/master)
* 05d56e6 - 2026-10-28 22:46 (3 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty; git -C './repo' branch branch1
[master (root-commit) 24dbbaa] 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master 77be2b7] 2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 77be2b7 - 2026-10-28 22:46 (1 second ago) 2 - Han Jiang (HEAD -> refs/heads/master)
* 24dbbaa - 2026-10-28 22:46 (2 seconds ago) 1 - Han Jiang (refs/heads/branch1)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --message="$((++number))" --ff-only branch1
Already up to date.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 77be2b7 - 2026-10-28 22:46 (2 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
* 24dbbaa - 2026-10-28 22:46 (3 seconds ago) 1 - Han Jiang (refs/heads/branch1)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty; git -C './repo' branch branch2
[master (root-commit) 7fca818] 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout -b branch1; git -C './repo' commit --message="$((++number))" --allow-empty
Switched to a new branch 'branch1'
[branch1 7b20acb] 2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch2; git -C './repo' commit --message="$((++number))" --allow-empty
Switched to branch 'branch2'
[branch2 95a47c3] 3
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1
Switched to branch 'branch1'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 95a47c3 - 2026-10-28 22:47 (1 second ago) 3 - Han Jiang (refs/heads/branch2)
| * 7b20acb - 2026-10-28 22:47 (2 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/branch1)
|/
* 7fca818 - 2026-10-28 22:47 (3 seconds ago) 1 - Han Jiang (refs/heads/master)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --message="$((++number))" --no-ff branch2
Merge made by the 'ort' strategy.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 60592c2 - 2026-10-28 22:47 (0 seconds ago) 4 - Han Jiang (HEAD -> refs/heads/branch1)
|\
| * 95a47c3 - 2026-10-28 22:47 (1 second ago) 3 - Han Jiang (refs/heads/branch2)
* | 7b20acb - 2026-10-28 22:47 (2 seconds ago) 2 - Han Jiang
|/
* 7fca818 - 2026-10-28 22:47 (3 seconds ago) 1 - Han Jiang (refs/heads/master)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ branch_default_name="$(git -C './repo' branch --show-current)"; echo "$branch_default_name"
master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty; git -C './repo' branch branch1
[master (root-commit) 73bc93a] 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master 24bf98f] 2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1
Switched to branch 'branch1'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 24bf98f - 2026-10-28 22:47 (1 second ago) 2 - Han Jiang (refs/heads/master)
* 73bc93a - 2026-10-28 22:47 (2 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/branch1)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --message="$((++number))" --no-ff "$branch_default_name"
Merge made by the 'ort' strategy.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 1310bfb - 2026-10-28 22:47 (1 second ago) 3 - Han Jiang (HEAD -> refs/heads/branch1)
|\
| * 24bf98f - 2026-10-28 22:47 (2 seconds ago) 2 - Han Jiang (refs/heads/master)
|/
* 73bc93a - 2026-10-28 22:47 (3 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty; git -C './repo' branch branch1
[master (root-commit) 5bcda78] 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master 5f9c088] 2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 5f9c088 - 2026-10-28 22:47 (1 second ago) 2 - Han Jiang (HEAD -> refs/heads/master)
* 5bcda78 - 2026-10-28 22:47 (1 second ago) 1 - Han Jiang (refs/heads/branch1)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --message="$((++number))" --no-ff branch1
Already up to date.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 5f9c088 - 2026-10-28 22:47 (2 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
* 5bcda78 - 2026-10-28 22:47 (2 seconds ago) 1 - Han Jiang (refs/heads/branch1)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty; git -C './repo' branch branch2
[master (root-commit) b605dcf] 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout -b branch1; git -C './repo' commit --message="$((++number))" --allow-empty
Switched to a new branch 'branch1'
[branch1 abfa110] 2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch2; git -C './repo' commit --message="$((++number))" --allow-empty
Switched to branch 'branch2'
[branch2 159cfd5] 3
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1
Switched to branch 'branch1'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 159cfd5 - 2026-10-28 22:47 (1 second ago) 3 - Han Jiang (refs/heads/branch2)
| * abfa110 - 2026-10-28 22:47 (2 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/branch1)
|/
* b605dcf - 2026-10-28 22:47 (3 seconds ago) 1 - Han Jiang (refs/heads/master)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --message="$((++number))" --ff branch2
Merge made by the 'ort' strategy.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 5529b47 - 2026-10-28 22:47 (1 second ago) 4 - Han Jiang (HEAD -> refs/heads/branch1)
|\
| * 159cfd5 - 2026-10-28 22:47 (2 seconds ago) 3 - Han Jiang (refs/heads/branch2)
* | abfa110 - 2026-10-28 22:47 (3 seconds ago) 2 - Han Jiang
|/
* b605dcf - 2026-10-28 22:47 (4 seconds ago) 1 - Han Jiang (refs/heads/master)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ branch_default_name="$(git -C './repo' branch --show-current)"; echo "$branch_default_name"
master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty; git -C './repo' branch branch1
[master (root-commit) 74a699a] 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master a5216e9] 2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1
Switched to branch 'branch1'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* a5216e9 - 2026-10-28 22:47 (1 second ago) 2 - Han Jiang (refs/heads/master)
* 74a699a - 2026-10-28 22:47 (1 second ago) 1 - Han Jiang (HEAD -> refs/heads/branch1)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --message="$((++number))" --ff "$branch_default_name"
Updating 74a699a..a5216e9
Fast-forward (no commit created; -m option ignored)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* a5216e9 - 2026-10-28 22:47 (2 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/branch1, refs/heads/master)
* 74a699a - 2026-10-28 22:47 (2 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty; git -C './repo' branch branch1
[master (root-commit) cb8d67f] 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty
[master 79fc3ec] 2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 79fc3ec - 2026-10-28 22:47 (1 second ago) 2 - Han Jiang (HEAD -> refs/heads/master)
* cb8d67f - 2026-10-28 22:47 (1 second ago) 1 - Han Jiang (refs/heads/branch1)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --message="$((++number))" --ff branch1
Already up to date.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all
* 79fc3ec - 2026-10-28 22:47 (2 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
* cb8d67f - 2026-10-28 22:47 (2 seconds ago) 1 - Han Jiang (refs/heads/branch1)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file_conflict'; git -C './repo' add './file_conflict'; git -C './repo' commit --message="$((++number))"; git -C './repo' branch branch2
warning: in the working copy of 'file_conflict', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) c444b87] 1
1 file changed, 1 insertion(+)
create mode 100644 file_conflict
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout -b branch1; echo 'file' >'./repo/.gitignore'; git -C './repo' add './.gitignore'; echo '2' >'./repo/file_conflict'; git -C './repo' add './file_conflict'; git -C './repo' commit --message="$((++number))"
Switched to a new branch 'branch1'
warning: in the working copy of '.gitignore', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file_conflict', LF will be replaced by CRLF the next time Git touches it
[branch1 c9e1b25] 2
2 files changed, 2 insertions(+), 1 deletion(-)
create mode 100644 .gitignore
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch2; echo '1' >'./repo/file'; git -C './repo' add './file'; echo '3' >'./repo/file_conflict'; git -C './repo' add './file_conflict'; git -C './repo' commit --message="$((++number))"
Switched to branch 'branch2'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'file_conflict', LF will be replaced by CRLF the next time Git touches it
[branch2 8229bfa] 3
2 files changed, 2 insertions(+), 1 deletion(-)
create mode 100644 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1
Switched to branch 'branch1'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./repo/file';
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* 8229bfa - 2026-10-28 22:47 (1 second ago) 3 - Han Jiang (refs/heads/branch2)
|
| diff --git a/file b/file
| new file mode 100644
| index 0000000..d00491f
| --- /dev/null
| +++ b/file
| @@ -0,0 +1 @@
| +1
| diff --git a/file_conflict b/file_conflict
| index d00491f..00750ed 100644
| --- a/file_conflict
| +++ b/file_conflict
| @@ -1 +1 @@
| -1
| +3
| * c9e1b25 - 2026-10-28 22:47 (2 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/branch1)
|/
|
| diff --git a/.gitignore b/.gitignore
| new file mode 100644
| index 0000000..f73f309
| --- /dev/null
| +++ b/.gitignore
| @@ -0,0 +1 @@
| +file
| diff --git a/file_conflict b/file_conflict
| index d00491f..0cfbf08 100644
| --- a/file_conflict
| +++ b/file_conflict
| @@ -1 +1 @@
| -1
| +2
* c444b87 - 2026-10-28 22:47 (3 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file_conflict b/file_conflict
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file_conflict
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch branch1
nothing to commit, working tree clean
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './repo/file'
./repo/file -/0o100/regular file rw-r--r--/0o644
1 2\n
2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --message="$((++number))" --no-overwrite-ignore branch2
Auto-merging file_conflict
CONFLICT (content): Merge conflict in file_conflict
Automatic merge failed; fix conflicts and then commit the result.
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* 8229bfa - 2026-10-28 22:47 (4 seconds ago) 3 - Han Jiang (refs/heads/branch2)
|
| diff --git a/file b/file
| new file mode 100644
| index 0000000..d00491f
| --- /dev/null
| +++ b/file
| @@ -0,0 +1 @@
| +1
| diff --git a/file_conflict b/file_conflict
| index d00491f..00750ed 100644
| --- a/file_conflict
| +++ b/file_conflict
| @@ -1 +1 @@
| -1
| +3
| * c9e1b25 - 2026-10-28 22:47 (5 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/branch1)
|/
|
| diff --git a/.gitignore b/.gitignore
| new file mode 100644
| index 0000000..f73f309
| --- /dev/null
| +++ b/.gitignore
| @@ -0,0 +1 @@
| +file
| diff --git a/file_conflict b/file_conflict
| index d00491f..0cfbf08 100644
| --- a/file_conflict
| +++ b/file_conflict
| @@ -1 +1 @@
| -1
| +2
* c444b87 - 2026-10-28 22:47 (6 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file_conflict b/file_conflict
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file_conflict
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch branch1
You have unmerged paths.
(fix conflicts and run "git commit")
(use "git merge --abort" to abort the merge)
Changes to be committed:
new file: file
Unmerged paths:
(use "git add <file>..." to mark resolution)
both modified: file_conflict
Changes to be committed:
diff --git c/file i/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ i/file
@@ -0,0 +1 @@
+1
* Unmerged path file_conflict
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './repo/file'
./repo/file -/0o100/regular file rw-r--r--/0o644
1 1\r\n
2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty; git -C './repo' branch branch2
[master (root-commit) 655fa70] 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout -b branch1; echo 'file' >'./repo/.gitignore'; git -C './repo' add './.gitignore'; git -C './repo' commit --message="$((++number))"
Switched to a new branch 'branch1'
warning: in the working copy of '.gitignore', LF will be replaced by CRLF the next time Git touches it
[branch1 db49a03] 2
1 file changed, 1 insertion(+)
create mode 100644 .gitignore
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch2; echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
Switched to branch 'branch2'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch2 0438e31] 3
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1
Switched to branch 'branch1'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./repo/file';
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* db49a03 - 2026-10-28 22:47 (2 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/branch1)
|
| diff --git a/.gitignore b/.gitignore
| new file mode 100644
| index 0000000..f73f309
| --- /dev/null
| +++ b/.gitignore
| @@ -0,0 +1 @@
| +file
| * 0438e31 - 2026-10-28 22:47 (2 seconds ago) 3 - Han Jiang (refs/heads/branch2)
|/
|
| diff --git a/file b/file
| new file mode 100644
| index 0000000..d00491f
| --- /dev/null
| +++ b/file
| @@ -0,0 +1 @@
| +1
* 655fa70 - 2026-10-28 22:47 (3 seconds ago) 1 - Han Jiang (refs/heads/master)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch branch1
nothing to commit, working tree clean
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './repo/file'
./repo/file -/0o100/regular file rw-r--r--/0o644
1 2\n
2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --message="$((++number))" --no-overwrite-ignore branch2
Merge made by the 'ort' strategy.
file | 1 +
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch --diff-merges=separate
* e8ec777 - 2026-10-28 22:48 (0 seconds ago) 4 - Han Jiang (HEAD -> refs/heads/branch1)
|\
| |
| | diff --git a/file b/file
| | new file mode 100644
| | index 0000000..d00491f
| | --- /dev/null
| | +++ b/file
| | @@ -0,0 +1 @@
| | +1
| | e8ec777 - 2026-10-28 22:48 (0 seconds ago) 4 - Han Jiang (HEAD -> refs/heads/branch1)
| |
| | diff --git a/.gitignore b/.gitignore
| | new file mode 100644
| | index 0000000..f73f309
| | --- /dev/null
| | +++ b/.gitignore
| | @@ -0,0 +1 @@
| | +file
| * 0438e31 - 2026-10-28 22:47 (4 seconds ago) 3 - Han Jiang (refs/heads/branch2)
| |
| | diff --git a/file b/file
| | new file mode 100644
| | index 0000000..d00491f
| | --- /dev/null
| | +++ b/file
| | @@ -0,0 +1 @@
| | +1
* | db49a03 - 2026-10-28 22:47 (4 seconds ago) 2 - Han Jiang
|/
|
| diff --git a/.gitignore b/.gitignore
| new file mode 100644
| index 0000000..f73f309
| --- /dev/null
| +++ b/.gitignore
| @@ -0,0 +1 @@
| +file
* 655fa70 - 2026-10-28 22:47 (5 seconds ago) 1 - Han Jiang (refs/heads/master)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch branch1
nothing to commit, working tree clean
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './repo/file'
./repo/file -/0o100/regular file rw-r--r--/0o644
1 1\r\n
2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ branch_default_name="$(git -C './repo' branch --show-current)"; echo "$branch_default_name"
master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo 'file' >'./repo/.gitignore'; git -C './repo' add './.gitignore'; git -C './repo' commit --message="$((++number))"; git -C './repo' branch branch1
warning: in the working copy of '.gitignore', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 31a5736] 1
1 file changed, 1 insertion(+)
create mode 100644 .gitignore
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ rm './repo/.gitignore'; git -C './repo' add './.gitignore'; echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master bc06184] 2
2 files changed, 1 insertion(+), 1 deletion(-)
delete mode 100644 .gitignore
create mode 100644 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1
Switched to branch 'branch1'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./repo/file';
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* bc06184 - 2026-10-28 22:48 (1 second ago) 2 - Han Jiang (refs/heads/master)
|
| diff --git a/.gitignore b/.gitignore
| deleted file mode 100644
| index f73f309..0000000
| --- a/.gitignore
| +++ /dev/null
| @@ -1 +0,0 @@
| -file
| diff --git a/file b/file
| new file mode 100644
| index 0000000..d00491f
| --- /dev/null
| +++ b/file
| @@ -0,0 +1 @@
| +1
* 31a5736 - 2026-10-28 22:48 (2 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/branch1)
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..f73f309
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch branch1
nothing to commit, working tree clean
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './repo/file'
./repo/file -/0o100/regular file rw-r--r--/0o644
1 2\n
2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --message="$((++number))" --no-overwrite-ignore "$branch_default_name"
Updating 31a5736..bc06184
error: The following untracked working tree files would be overwritten by merge:
file
Please move or remove them before you merge.
Aborting
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* bc06184 - 2026-10-28 22:48 (4 seconds ago) 2 - Han Jiang (refs/heads/master)
|
| diff --git a/.gitignore b/.gitignore
| deleted file mode 100644
| index f73f309..0000000
| --- a/.gitignore
| +++ /dev/null
| @@ -1 +0,0 @@
| -file
| diff --git a/file b/file
| new file mode 100644
| index 0000000..d00491f
| --- /dev/null
| +++ b/file
| @@ -0,0 +1 @@
| +1
* 31a5736 - 2026-10-28 22:48 (5 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/branch1)
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..f73f309
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch branch1
nothing to commit, working tree clean
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ treex './repo/file'
./repo/file -/0o100/regular file rw-r--r--/0o644
1 2\n
2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
--squash record conflicts in AUTO_MERGE and index and working tree, doesn't record commits in $GIT_DIR/MERGE_HEAD; use git commit to create non-merge commit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"; git -C './repo' branch branch2
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) edcb3e4] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout -b branch1; echo '2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
Switched to a new branch 'branch1'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch1 7339932] 2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch2; echo '3' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
Switched to branch 'branch2'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch2 cef304a] 3
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1
Switched to branch 'branch1'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* cef304a - 2026-10-28 22:48 (1 second ago) 3 - Han Jiang (refs/heads/branch2)
|
| diff --git a/file b/file
| index d00491f..00750ed 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +3
| * 7339932 - 2026-10-28 22:48 (2 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/branch1)
|/
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* edcb3e4 - 2026-10-28 22:48 (2 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --message="$((++number))" --squash branch2
Auto-merging file
CONFLICT (content): Merge conflict in file
Squash commit -- not updating HEAD
Automatic merge failed; fix conflicts and then commit the result.
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* cef304a - 2026-10-28 22:48 (2 seconds ago) 3 - Han Jiang (refs/heads/branch2)
|
| diff --git a/file b/file
| index d00491f..00750ed 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +3
| * 7339932 - 2026-10-28 22:48 (3 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/branch1)
|/
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* edcb3e4 - 2026-10-28 22:48 (3 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 d00491fd7e5bb6fa28c517a0bb32b8b506539d4d 1 file
100644 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f 2 file
100644 00750edc07d6415dcc07ae0351e9397b0222b7ba 3 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch branch1
Unmerged paths:
(use "git restore --staged <file>..." to unstage)
(use "git add <file>..." to mark resolution)
both modified: file
* Unmerged path file
no changes added to commit (use "git add" and/or "git commit -a")
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show :1:file
1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show :2:file
2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show :3:file
3
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show "$(git -C './repo' merge-base MERGE_HEAD HEAD)":file
fatal: Not a valid object name MERGE_HEAD
fatal: path 'file' is in the index, but not at stage 0
hint: Did you mean ':1:file'?
jhcarl0814@jhcarl0814 UCRT64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show HEAD:file
2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show MERGE_HEAD:file
fatal: invalid object name 'MERGE_HEAD'.
jhcarl0814@jhcarl0814 UCRT64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show AUTO_MERGE:file
<<<<<<< HEAD
2
=======
3
>>>>>>> branch2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '4' >'./repo/file'; git -C './repo' add './file'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' -c 'core.editor=:' merge --continue
fatal: There is no merge in progress (MERGE_HEAD missing).
jhcarl0814@jhcarl0814 UCRT64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))"
[branch1 f1fc4b9] 5
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* f1fc4b9 - 2026-10-28 22:48 (1 second ago) 5 - Han Jiang (HEAD -> refs/heads/branch1)
|
| diff --git a/file b/file
| index 0cfbf08..b8626c4 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -2
| +4
* 7339932 - 2026-10-28 22:48 (10 seconds ago) 2 - Han Jiang
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
| * cef304a - 2026-10-28 22:48 (9 seconds ago) 3 - Han Jiang (refs/heads/branch2)
|/
|
| diff --git a/file b/file
| index d00491f..00750ed 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +3
* edcb3e4 - 2026-10-28 22:48 (10 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
--no-commit record conflicts in AUTO_MERGE and index and working tree, record commits in $GIT_DIR/MERGE_HEAD; use git merge --continue or git commit to create merge commit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"; git -C './repo' branch branch2
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 29a1cc5] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout -b branch1; echo '2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
Switched to a new branch 'branch1'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch1 8819278] 2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch2; echo '3' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
Switched to branch 'branch2'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch2 6008a76] 3
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1
Switched to branch 'branch1'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* 6008a76 - 2026-10-28 22:48 (1 second ago) 3 - Han Jiang (refs/heads/branch2)
|
| diff --git a/file b/file
| index d00491f..00750ed 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +3
| * 8819278 - 2026-10-28 22:48 (2 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/branch1)
|/
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 29a1cc5 - 2026-10-28 22:48 (2 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --message="$((++number))" --no-commit branch2
Auto-merging file
CONFLICT (content): Merge conflict in file
Automatic merge failed; fix conflicts and then commit the result.
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* 6008a76 - 2026-10-28 22:48 (2 seconds ago) 3 - Han Jiang (refs/heads/branch2)
|
| diff --git a/file b/file
| index d00491f..00750ed 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +3
| * 8819278 - 2026-10-28 22:48 (3 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/branch1)
|/
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 29a1cc5 - 2026-10-28 22:48 (3 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 d00491fd7e5bb6fa28c517a0bb32b8b506539d4d 1 file
100644 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f 2 file
100644 00750edc07d6415dcc07ae0351e9397b0222b7ba 3 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch branch1
You have unmerged paths.
(fix conflicts and run "git commit")
(use "git merge --abort" to abort the merge)
Unmerged paths:
(use "git add <file>..." to mark resolution)
both modified: file
* Unmerged path file
no changes added to commit (use "git add" and/or "git commit -a")
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show :1:file
1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show :2:file
2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show :3:file
3
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show "$(git -C './repo' merge-base MERGE_HEAD HEAD)":file
1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show HEAD:file
2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show MERGE_HEAD:file
3
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show AUTO_MERGE:file
<<<<<<< HEAD
2
=======
3
>>>>>>> branch2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '4' >'./repo/file'; git -C './repo' add './file'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' -c 'core.editor=:' merge --continue
[branch1 42af0e8] 4
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch --diff-merges=separate
* 42af0e8 - 2026-10-28 22:48 (1 second ago) 4 - Han Jiang (HEAD -> refs/heads/branch1)
|\
| |
| | diff --git a/file b/file
| | index 0cfbf08..b8626c4 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -2
| | +4
| | 42af0e8 - 2026-10-28 22:48 (1 second ago) 4 - Han Jiang (HEAD -> refs/heads/branch1)
| |
| | diff --git a/file b/file
| | index 00750ed..b8626c4 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -3
| | +4
| * 6008a76 - 2026-10-28 22:48 (9 seconds ago) 3 - Han Jiang (refs/heads/branch2)
| |
| | diff --git a/file b/file
| | index d00491f..00750ed 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -1
| | +3
* | 8819278 - 2026-10-28 22:48 (10 seconds ago) 2 - Han Jiang
|/
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 29a1cc5 - 2026-10-28 22:48 (10 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
--squash record merge result in index and working tree, doesn't create merge commit, doesn't record commits in $GIT_DIR/MERGE_HEAD; use git commit to create non-merge commit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"; git -C './repo' branch branch2
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 8c090cd] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout -b branch1; echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))" --allow-empty
Switched to a new branch 'branch1'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch1 af9e375] 2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch2; echo '2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
Switched to branch 'branch2'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch2 b915813] 3
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1
Switched to branch 'branch1'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* b915813 - 2026-10-28 22:48 (1 second ago) 3 - Han Jiang (refs/heads/branch2)
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
| * af9e375 - 2026-10-28 22:48 (2 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/branch1)
|/
* 8c090cd - 2026-10-28 22:48 (3 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --message="$((++number))" --squash branch2
Squash commit -- not updating HEAD
Automatic merge went well; stopped before committing as requested
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* b915813 - 2026-10-28 22:48 (2 seconds ago) 3 - Han Jiang (refs/heads/branch2)
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
| * af9e375 - 2026-10-28 22:48 (3 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/branch1)
|/
* 8c090cd - 2026-10-28 22:48 (4 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch branch1
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
modified: file
Changes to be committed:
diff --git c/file i/file
index d00491f..0cfbf08 100644
--- c/file
+++ i/file
@@ -1 +1 @@
-1
+2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show "$(git -C './repo' merge-base MERGE_HEAD HEAD)":file
fatal: Not a valid object name MERGE_HEAD
2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show HEAD:file
1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show MERGE_HEAD:file
fatal: invalid object name 'MERGE_HEAD'.
jhcarl0814@jhcarl0814 UCRT64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show AUTO_MERGE:file
2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' -c 'core.editor=:' merge --continue
fatal: There is no merge in progress (MERGE_HEAD missing).
jhcarl0814@jhcarl0814 UCRT64 $?=128 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))"
[branch1 bde2e7c] 5
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* bde2e7c - 2026-10-28 22:48 (0 seconds ago) 5 - Han Jiang (HEAD -> refs/heads/branch1)
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* af9e375 - 2026-10-28 22:48 (7 seconds ago) 2 - Han Jiang
| * b915813 - 2026-10-28 22:48 (6 seconds ago) 3 - Han Jiang (refs/heads/branch2)
|/
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 8c090cd - 2026-10-28 22:48 (8 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
--no-commit record merge result in index and working tree, doesn't create merge commit, record commits in $GIT_DIR/MERGE_HEAD; use git merge --continue or git commit to create merge commit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"; git -C './repo' branch branch2
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) cc982f8] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout -b branch1; echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))" --allow-empty
Switched to a new branch 'branch1'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch1 a9a116b] 2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch2; echo '2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
Switched to branch 'branch2'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch2 95a0bef] 3
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1
Switched to branch 'branch1'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* 95a0bef - 2026-10-28 22:49 (1 second ago) 3 - Han Jiang (refs/heads/branch2)
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
| * a9a116b - 2026-10-28 22:49 (2 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/branch1)
|/
* cc982f8 - 2026-10-28 22:49 (3 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --message="$((++number))" --no-commit branch2
Automatic merge went well; stopped before committing as requested
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* 95a0bef - 2026-10-28 22:49 (2 seconds ago) 3 - Han Jiang (refs/heads/branch2)
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
| * a9a116b - 2026-10-28 22:49 (3 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/branch1)
|/
* cc982f8 - 2026-10-28 22:49 (4 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch branch1
All conflicts fixed but you are still merging.
(use "git commit" to conclude merge)
Changes to be committed:
modified: file
Changes to be committed:
diff --git c/file i/file
index d00491f..0cfbf08 100644
--- c/file
+++ i/file
@@ -1 +1 @@
-1
+2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show "$(git -C './repo' merge-base MERGE_HEAD HEAD)":file
1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show HEAD:file
1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show MERGE_HEAD:file
2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show AUTO_MERGE:file
2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' -c 'core.editor=:' merge --continue
[branch1 b8c0650] 4
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch --diff-merges=separate
* b8c0650 - 2026-10-28 22:49 (1 second ago) 4 - Han Jiang (HEAD -> refs/heads/branch1)
|\
| |
| | diff --git a/file b/file
| | index d00491f..0cfbf08 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -1
| | +2
| * 95a0bef - 2026-10-28 22:49 (6 seconds ago) 3 - Han Jiang (refs/heads/branch2)
| |
| | diff --git a/file b/file
| | index d00491f..0cfbf08 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -1
| | +2
* | a9a116b - 2026-10-28 22:49 (7 seconds ago) 2 - Han Jiang
|/
* cc982f8 - 2026-10-28 22:49 (8 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
--squash fast-forward index and working tree but not HEAD
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ branch_default_name="$(git -C './repo' branch --show-current)"; echo "$branch_default_name"
master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"; git -C './repo' branch branch1
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) e38b64f] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master c71e361] 2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1
Switched to branch 'branch1'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* c71e361 - 2026-10-28 22:49 (1 second ago) 2 - Han Jiang (refs/heads/master)
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* e38b64f - 2026-10-28 22:49 (2 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/branch1)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --message="$((++number))" --squash "$branch_default_name"
Updating e38b64f..c71e361
Fast-forward (no commit created; -m option ignored)
Squash commit -- not updating HEAD
file | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* c71e361 - 2026-10-28 22:49 (2 seconds ago) 2 - Han Jiang (refs/heads/master)
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* e38b64f - 2026-10-28 22:49 (3 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/branch1)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch branch1
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
modified: file
Changes to be committed:
diff --git c/file i/file
index d00491f..0cfbf08 100644
--- c/file
+++ i/file
@@ -1 +1 @@
-1
+2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
--no-commit has no effect on fast-forward, fast-forward completes as normal
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ branch_default_name="$(git -C './repo' branch --show-current)"; echo "$branch_default_name"
master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"; git -C './repo' branch branch1
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 4ff1e3c] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master d1c34da] 2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1
Switched to branch 'branch1'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* d1c34da - 2026-10-28 22:49 (1 second ago) 2 - Han Jiang (refs/heads/master)
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 4ff1e3c - 2026-10-28 22:49 (2 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/branch1)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --message="$((++number))" --no-commit "$branch_default_name"
Updating 4ff1e3c..d1c34da
Fast-forward (no commit created; -m option ignored)
file | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* d1c34da - 2026-10-28 22:49 (2 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/branch1, refs/heads/master)
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 4ff1e3c - 2026-10-28 22:49 (3 seconds ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch branch1
nothing to commit, working tree clean
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
--squash no op
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"; git -C './repo' branch branch1
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 7f7f990] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master e29cfff] 2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* e29cfff - 2026-10-28 22:49 (0 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 7f7f990 - 2026-10-28 22:49 (1 second ago) 1 - Han Jiang (refs/heads/branch1)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --message="$((++number))" --squash branch1
Already up to date. (nothing to squash)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* e29cfff - 2026-10-28 22:49 (1 second ago) 2 - Han Jiang (HEAD -> refs/heads/master)
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 7f7f990 - 2026-10-28 22:49 (2 seconds ago) 1 - Han Jiang (refs/heads/branch1)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
nothing to commit, working tree clean
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
--no-commit no op
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"; git -C './repo' branch branch1
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) d26ce0c] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master 3828621] 2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* 3828621 - 2026-10-28 22:49 (1 second ago) 2 - Han Jiang (HEAD -> refs/heads/master)
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* d26ce0c - 2026-10-28 22:49 (1 second ago) 1 - Han Jiang (refs/heads/branch1)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --message="$((++number))" --no-commit branch1
Already up to date.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* 3828621 - 2026-10-28 22:49 (2 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* d26ce0c - 2026-10-28 22:49 (2 seconds ago) 1 - Han Jiang (refs/heads/branch1)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch master
nothing to commit, working tree clean
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' config set --local 'rerere.enabled' 'true'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"; git -C './repo' branch branch2
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) b84a85f] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout -b branch1; echo '2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
Switched to a new branch 'branch1'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch1 b39e7b5] 2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch2; echo '3' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
Switched to branch 'branch2'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch2 a0cea0e] 3
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1
Switched to branch 'branch1'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* a0cea0e - 2026-10-28 22:49 (1 second ago) 3 - Han Jiang (refs/heads/branch2)
|
| diff --git a/file b/file
| index d00491f..00750ed 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +3
| * b39e7b5 - 2026-10-28 22:49 (2 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/branch1)
|/
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* b84a85f - 2026-10-28 22:49 (3 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --message="$((++number))" branch2
Auto-merging file
CONFLICT (content): Merge conflict in file
Recorded preimage for 'file'
Automatic merge failed; fix conflicts and then commit the result.
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff
diff --cc file
index 0cfbf08,00750ed..0000000
--- a/file
+++ b/file
@@@ -1,1 -1,1 +1,5 @@@
++<<<<<<< HEAD
+2
++=======
+ 3
++>>>>>>> branch2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '4' >'./repo/file'; git -C './repo' add './file'; git -C './repo' -c 'core.editor=:' merge --continue
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
Recorded resolution for 'file'.
[branch1 0308d1e] 4
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch --diff-merges=separate
* 0308d1e - 2026-10-28 22:49 (0 seconds ago) 4 - Han Jiang (HEAD -> refs/heads/branch1)
|\
| |
| | diff --git a/file b/file
| | index 0cfbf08..b8626c4 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -2
| | +4
| | 0308d1e - 2026-10-28 22:49 (0 seconds ago) 4 - Han Jiang (HEAD -> refs/heads/branch1)
| |
| | diff --git a/file b/file
| | index 00750ed..b8626c4 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -3
| | +4
| * a0cea0e - 2026-10-28 22:49 (3 seconds ago) 3 - Han Jiang (refs/heads/branch2)
| |
| | diff --git a/file b/file
| | index d00491f..00750ed 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -1
| | +3
* | b39e7b5 - 2026-10-28 22:49 (4 seconds ago) 2 - Han Jiang
|/
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* b84a85f - 2026-10-28 22:49 (5 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' reset --hard HEAD^1
HEAD is now at b39e7b5 2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* a0cea0e - 2026-10-28 22:49 (4 seconds ago) 3 - Han Jiang (refs/heads/branch2)
|
| diff --git a/file b/file
| index d00491f..00750ed 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +3
| * b39e7b5 - 2026-10-28 22:49 (5 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/branch1)
|/
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* b84a85f - 2026-10-28 22:49 (6 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --message="$((++number))" branch2
Auto-merging file
CONFLICT (content): Merge conflict in file
Resolved 'file' using previous resolution.
Automatic merge failed; fix conflicts and then commit the result.
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
diff --cc file
index 0cfbf08,00750ed..0000000
--- a/file
+++ b/file
@@@ -1,1 -1,1 +1,1 @@@
- 2
-3
++4
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* a0cea0e - 2026-10-28 22:49 (6 seconds ago) 3 - Han Jiang (refs/heads/branch2)
|
| diff --git a/file b/file
| index d00491f..00750ed 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +3
| * b39e7b5 - 2026-10-28 22:49 (7 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/branch1)
|/
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* b84a85f - 2026-10-28 22:49 (8 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 d00491fd7e5bb6fa28c517a0bb32b8b506539d4d 1 file
100644 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f 2 file
100644 00750edc07d6415dcc07ae0351e9397b0222b7ba 3 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch branch1
You have unmerged paths.
(fix conflicts and run "git commit")
(use "git merge --abort" to abort the merge)
Unmerged paths:
(use "git add <file>..." to mark resolution)
both modified: file
* Unmerged path file
no changes added to commit (use "git add" and/or "git commit -a")
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' config set --local 'rerere.enabled' 'true'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"; git -C './repo' branch branch2
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 131247a] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout -b branch1; echo '2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
Switched to a new branch 'branch1'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch1 c1f6188] 2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch2; echo '3' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
Switched to branch 'branch2'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch2 455189d] 3
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1
Switched to branch 'branch1'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* c1f6188 - 2026-10-28 22:50 (1 second ago) 2 - Han Jiang (HEAD -> refs/heads/branch1)
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
| * 455189d - 2026-10-28 22:50 (1 second ago) 3 - Han Jiang (refs/heads/branch2)
|/
|
| diff --git a/file b/file
| index d00491f..00750ed 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +3
* 131247a - 2026-10-28 22:50 (2 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --message="$((++number))" branch2
Auto-merging file
CONFLICT (content): Merge conflict in file
Recorded preimage for 'file'
Automatic merge failed; fix conflicts and then commit the result.
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff
diff --cc file
index 0cfbf08,00750ed..0000000
--- a/file
+++ b/file
@@@ -1,1 -1,1 +1,5 @@@
++<<<<<<< HEAD
+2
++=======
+ 3
++>>>>>>> branch2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '4' >'./repo/file'; git -C './repo' add './file'; git -C './repo' -c 'core.editor=:' merge --continue
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
Recorded resolution for 'file'.
[branch1 d0129a3] 4
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch --diff-merges=separate
* d0129a3 - 2026-10-28 22:50 (0 seconds ago) 4 - Han Jiang (HEAD -> refs/heads/branch1)
|\
| |
| | diff --git a/file b/file
| | index 0cfbf08..b8626c4 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -2
| | +4
| | d0129a3 - 2026-10-28 22:50 (0 seconds ago) 4 - Han Jiang (HEAD -> refs/heads/branch1)
| |
| | diff --git a/file b/file
| | index 00750ed..b8626c4 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -3
| | +4
| * 455189d - 2026-10-28 22:50 (3 seconds ago) 3 - Han Jiang (refs/heads/branch2)
| |
| | diff --git a/file b/file
| | index d00491f..00750ed 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -1
| | +3
* | c1f6188 - 2026-10-28 22:50 (3 seconds ago) 2 - Han Jiang
|/
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 131247a - 2026-10-28 22:50 (4 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' reset --hard HEAD^1
HEAD is now at c1f6188 2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* c1f6188 - 2026-10-28 22:50 (4 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/branch1)
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
| * 455189d - 2026-10-28 22:50 (4 seconds ago) 3 - Han Jiang (refs/heads/branch2)
|/
|
| diff --git a/file b/file
| index d00491f..00750ed 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +3
* 131247a - 2026-10-28 22:50 (5 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --message="$((++number))" --rerere-autoupdate branch2
Auto-merging file
CONFLICT (content): Merge conflict in file
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
Staged 'file' using previous resolution.
Automatic merge failed; fix conflicts and then commit the result.
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* c1f6188 - 2026-10-28 22:50 (6 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/branch1)
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
| * 455189d - 2026-10-28 22:50 (6 seconds ago) 3 - Han Jiang (refs/heads/branch2)
|/
|
| diff --git a/file b/file
| index d00491f..00750ed 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +3
* 131247a - 2026-10-28 22:50 (7 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 b8626c4cff2849624fb67f87cd0ad72b163671ad 0 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch branch1
All conflicts fixed but you are still merging.
(use "git commit" to conclude merge)
Changes to be committed:
modified: file
Changes to be committed:
diff --git c/file i/file
index 0cfbf08..b8626c4 100644
--- c/file
+++ i/file
@@ -1 +1 @@
-2
+4
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))"$'\n'"$((++number))"$'\n'"$((++number))" --allow-empty; git -C './repo' branch branch2
[master (root-commit) 4ab5a42] 1 2 3
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout -b branch1; git -C './repo' commit --message="$((++number))"$'\n'"$((++number))"$'\n'"$((++number))" --allow-empty
Switched to a new branch 'branch1'
[branch1 8fb9caf] 4 5 6
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch2; git -C './repo' commit --message="$((++number))"$'\n'"$((++number))"$'\n'"$((++number))" --allow-empty; git -C './repo' commit --message="$((++number))"$'\n'"$((++number))"$'\n'"$((++number))" --allow-empty
Switched to branch 'branch2'
[branch2 0828db0] 7 8 9
[branch2 4b422fc] 10 11 12
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1
Switched to branch 'branch1'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --graph --decorate=full --all
* commit 4b422fcebf80ac45904f8b1667bf7b5cea5afbfa (refs/heads/branch2)
| Author: Han Jiang <jhcarl0814@gmail.com>
| Date: Wed Oct 28 22:50:16 2026 +1300
|
| 10
| 11
| 12
|
* commit 0828db030328a36fed41150f25d53de66aa83010
| Author: Han Jiang <jhcarl0814@gmail.com>
| Date: Wed Oct 28 22:50:16 2026 +1300
|
| 7
| 8
| 9
|
| * commit 8fb9caf51ea617b212e043447039c87bf08b28ec (HEAD -> refs/heads/branch1)
|/ Author: Han Jiang <jhcarl0814@gmail.com>
| Date: Wed Oct 28 22:50:15 2026 +1300
|
| 4
| 5
| 6
|
* commit 4ab5a424041a64f365b56cf98deb6c752cefed51 (refs/heads/master)
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Wed Oct 28 22:50:14 2026 +1300
1
2
3
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --message="$((++number))" --log=1 branch2
Merge made by the 'ort' strategy.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --graph --decorate=full --all
* commit ffe6a33714b5247d9913099e3d443269853a7e2c (HEAD -> refs/heads/branch1)
|\ Merge: 8fb9caf 4b422fc
| | Author: Han Jiang <jhcarl0814@gmail.com>
| | Date: Wed Oct 28 22:50:17 2026 +1300
| |
| | 13
| |
| | * branch2: (2 commits)
| | 10 11 12
| | ...
| |
| * commit 4b422fcebf80ac45904f8b1667bf7b5cea5afbfa (refs/heads/branch2)
| | Author: Han Jiang <jhcarl0814@gmail.com>
| | Date: Wed Oct 28 22:50:16 2026 +1300
| |
| | 10
| | 11
| | 12
| |
| * commit 0828db030328a36fed41150f25d53de66aa83010
| | Author: Han Jiang <jhcarl0814@gmail.com>
| | Date: Wed Oct 28 22:50:16 2026 +1300
| |
| | 7
| | 8
| | 9
| |
* | commit 8fb9caf51ea617b212e043447039c87bf08b28ec
|/ Author: Han Jiang <jhcarl0814@gmail.com>
| Date: Wed Oct 28 22:50:15 2026 +1300
|
| 4
| 5
| 6
|
* commit 4ab5a424041a64f365b56cf98deb6c752cefed51 (refs/heads/master)
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Wed Oct 28 22:50:14 2026 +1300
1
2
3
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))"$'\n'"$((++number))"$'\n'"$((++number))" --allow-empty; git -C './repo' branch branch2
[master (root-commit) ced6555] 1 2 3
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout -b branch1; git -C './repo' commit --message="$((++number))"$'\n'"$((++number))"$'\n'"$((++number))" --allow-empty
Switched to a new branch 'branch1'
[branch1 e63b2ae] 4 5 6
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch2; git -C './repo' commit --message="$((++number))"$'\n'"$((++number))"$'\n'"$((++number))" --allow-empty; git -C './repo' commit --message="$((++number))"$'\n'"$((++number))"$'\n'"$((++number))" --allow-empty
Switched to branch 'branch2'
[branch2 f47ba52] 7 8 9
[branch2 3ea04d0] 10 11 12
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1
Switched to branch 'branch1'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --graph --decorate=full --all
* commit 3ea04d0d28c9f783845574051138edb5fad16295 (refs/heads/branch2)
| Author: Han Jiang <jhcarl0814@gmail.com>
| Date: Wed Oct 28 22:50:24 2026 +1300
|
| 10
| 11
| 12
|
* commit f47ba5268506ead5cda71e3a572ab068c90b8ffc
| Author: Han Jiang <jhcarl0814@gmail.com>
| Date: Wed Oct 28 22:50:24 2026 +1300
|
| 7
| 8
| 9
|
| * commit e63b2ae5401509d80189dd2cdd0c29f265f158bb (HEAD -> refs/heads/branch1)
|/ Author: Han Jiang <jhcarl0814@gmail.com>
| Date: Wed Oct 28 22:50:23 2026 +1300
|
| 4
| 5
| 6
|
* commit ced6555ba51e49cb0ee1824b51cb0ba2f01cd9e7 (refs/heads/master)
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Wed Oct 28 22:50:22 2026 +1300
1
2
3
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --message="$((++number))" --log branch2
Merge made by the 'ort' strategy.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' log --graph --decorate=full --all
* commit 9d771e997605454343fd03a98cf6c0c45c537b12 (HEAD -> refs/heads/branch1)
|\ Merge: e63b2ae 3ea04d0
| | Author: Han Jiang <jhcarl0814@gmail.com>
| | Date: Wed Oct 28 22:50:26 2026 +1300
| |
| | 13
| |
| | * branch2:
| | 10 11 12
| | 7 8 9
| |
| * commit 3ea04d0d28c9f783845574051138edb5fad16295 (refs/heads/branch2)
| | Author: Han Jiang <jhcarl0814@gmail.com>
| | Date: Wed Oct 28 22:50:24 2026 +1300
| |
| | 10
| | 11
| | 12
| |
| * commit f47ba5268506ead5cda71e3a572ab068c90b8ffc
| | Author: Han Jiang <jhcarl0814@gmail.com>
| | Date: Wed Oct 28 22:50:24 2026 +1300
| |
| | 7
| | 8
| | 9
| |
* | commit e63b2ae5401509d80189dd2cdd0c29f265f158bb
|/ Author: Han Jiang <jhcarl0814@gmail.com>
| Date: Wed Oct 28 22:50:23 2026 +1300
|
| 4
| 5
| 6
|
* commit ced6555ba51e49cb0ee1824b51cb0ba2f01cd9e7 (refs/heads/master)
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Wed Oct 28 22:50:22 2026 +1300
1
2
3
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"; git -C './repo' branch branch2
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 3c18847] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout -b branch1; echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))" --allow-empty
Switched to a new branch 'branch1'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch1 5b63950] 2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch2; echo '2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
Switched to branch 'branch2'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch2 8ac5d89] 3
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1
Switched to branch 'branch1'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* 5b63950 - 2026-10-28 22:50 (1 second ago) 2 - Han Jiang (HEAD -> refs/heads/branch1)
| * 8ac5d89 - 2026-10-28 22:50 (1 second ago) 3 - Han Jiang (refs/heads/branch2)
|/
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 3c18847 - 2026-10-28 22:50 (2 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --message="$((++number))" --stat branch2
Merge made by the 'ort' strategy.
file | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch --diff-merges=separate
* 78c8e03 - 2026-10-28 22:50 (0 seconds ago) 4 - Han Jiang (HEAD -> refs/heads/branch1)
|\
| |
| | diff --git a/file b/file
| | index d00491f..0cfbf08 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -1
| | +2
| * 8ac5d89 - 2026-10-28 22:50 (2 seconds ago) 3 - Han Jiang (refs/heads/branch2)
| |
| | diff --git a/file b/file
| | index d00491f..0cfbf08 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -1
| | +2
* | 5b63950 - 2026-10-28 22:50 (2 seconds ago) 2 - Han Jiang
|/
* 3c18847 - 2026-10-28 22:50 (3 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch branch1
nothing to commit, working tree clean
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"; git -C './repo' branch branch2
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 4cf707c] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout -b branch1; echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))" --allow-empty
Switched to a new branch 'branch1'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch1 41e3baa] 2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch2; echo '2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
Switched to branch 'branch2'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch2 30a8893] 3
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1
Switched to branch 'branch1'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* 41e3baa - 2026-10-28 22:50 (1 second ago) 2 - Han Jiang (HEAD -> refs/heads/branch1)
| * 30a8893 - 2026-10-28 22:50 (1 second ago) 3 - Han Jiang (refs/heads/branch2)
|/
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 4cf707c - 2026-10-28 22:50 (2 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --message="$((++number))" --no-stat branch2
Merge made by the 'ort' strategy.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch --diff-merges=separate
* de13a2d - 2026-10-28 22:50 (0 seconds ago) 4 - Han Jiang (HEAD -> refs/heads/branch1)
|\
| |
| | diff --git a/file b/file
| | index d00491f..0cfbf08 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -1
| | +2
| * 30a8893 - 2026-10-28 22:50 (2 seconds ago) 3 - Han Jiang (refs/heads/branch2)
| |
| | diff --git a/file b/file
| | index d00491f..0cfbf08 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -1
| | +2
* | 41e3baa - 2026-10-28 22:50 (2 seconds ago) 2 - Han Jiang
|/
* 4cf707c - 2026-10-28 22:50 (3 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch branch1
nothing to commit, working tree clean
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ branch_default_name="$(git -C './repo' branch --show-current)"; echo "$branch_default_name"
master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"; git -C './repo' branch branch1
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 7c7f738] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master 848c53b] 2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1
Switched to branch 'branch1'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* 848c53b - 2026-10-28 22:50 (1 second ago) 2 - Han Jiang (refs/heads/master)
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 7c7f738 - 2026-10-28 22:50 (2 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/branch1)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --message="$((++number))" --stat "$branch_default_name"
Updating 7c7f738..848c53b
Fast-forward (no commit created; -m option ignored)
file | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* 848c53b - 2026-10-28 22:50 (2 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/branch1, refs/heads/master)
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 7c7f738 - 2026-10-28 22:50 (3 seconds ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch branch1
nothing to commit, working tree clean
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ branch_default_name="$(git -C './repo' branch --show-current)"; echo "$branch_default_name"
master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"; git -C './repo' branch branch1
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 4ec8d6b] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master 548d84e] 2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1
Switched to branch 'branch1'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* 548d84e - 2026-10-28 22:50 (1 second ago) 2 - Han Jiang (refs/heads/master)
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 4ec8d6b - 2026-10-28 22:50 (1 second ago) 1 - Han Jiang (HEAD -> refs/heads/branch1)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --message="$((++number))" --no-stat "$branch_default_name"
Updating 4ec8d6b..548d84e
Fast-forward (no commit created; -m option ignored)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* 548d84e - 2026-10-28 22:50 (2 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/branch1, refs/heads/master)
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 4ec8d6b - 2026-10-28 22:50 (2 seconds ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
On branch branch1
nothing to commit, working tree clean
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"; git -C './repo' branch branch2
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 6babd92] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout -b branch1; echo '2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
Switched to a new branch 'branch1'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch1 eab2e6c] 2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch2; echo '3' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
Switched to branch 'branch2'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch2 50089e6] 3
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1
Switched to branch 'branch1'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* 50089e6 - 2026-10-28 22:51 (1 second ago) 3 - Han Jiang (refs/heads/branch2)
|
| diff --git a/file b/file
| index d00491f..00750ed 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +3
| * eab2e6c - 2026-10-28 22:51 (2 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/branch1)
|/
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 6babd92 - 2026-10-28 22:51 (2 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' rebase branch2 branch1
Auto-merging file
CONFLICT (content): Merge conflict in file
error: could not apply eab2e6c... 2
hint: Resolve all conflicts manually, mark them as resolved with
hint: "git add/rm <conflicted_files>", then run "git rebase --continue".
hint: You can instead skip this commit: run "git rebase --skip".
hint: To abort and get back to the state before "git rebase", run "git rebase --abort".
hint: Disable this message with "git config set advice.mergeConflict false"
Could not apply eab2e6c... # 2
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* 50089e6 - 2026-10-28 22:51 (2 seconds ago) 3 - Han Jiang (HEAD, refs/heads/branch2)
|
| diff --git a/file b/file
| index d00491f..00750ed 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +3
| * eab2e6c - 2026-10-28 22:51 (3 seconds ago) 2 - Han Jiang (refs/heads/branch1)
|/
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 6babd92 - 2026-10-28 22:51 (3 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' ls-files --stage --others
100644 d00491fd7e5bb6fa28c517a0bb32b8b506539d4d 1 file
100644 00750edc07d6415dcc07ae0351e9397b0222b7ba 2 file
100644 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f 3 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status --verbose --verbose
interactive rebase in progress; onto 50089e6
Last command done (1 command done):
pick eab2e6c # 2
No commands remaining.
You are currently rebasing branch 'branch1' on '50089e6'.
(fix conflicts and then run "git rebase --continue")
(use "git rebase --skip" to skip this patch)
(use "git rebase --abort" to check out the original branch)
Unmerged paths:
(use "git restore --staged <file>..." to unstage)
(use "git add <file>..." to mark resolution)
both modified: file
* Unmerged path file
no changes added to commit (use "git add" and/or "git commit -a")
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show :1:file
1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show :2:file
3
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show :3:file
2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show REBASE_HEAD
commit eab2e6c81d0af084a38635bc84840c4755048053 (branch1)
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Wed Oct 28 22:51:42 2026 +1300
2
diff --git a/file b/file
index d00491f..0cfbf08 100644
--- a/file
+++ b/file
@@ -1 +1 @@
-1
+2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' rebase --show-current-patch
commit eab2e6c81d0af084a38635bc84840c4755048053 (branch1)
Author: Han Jiang <jhcarl0814@gmail.com>
Date: Wed Oct 28 22:51:42 2026 +1300
2
diff --git a/file b/file
index d00491f..0cfbf08 100644
--- a/file
+++ b/file
@@ -1 +1 @@
-1
+2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show REBASE_HEAD~1:file
1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show HEAD:file
3
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show REBASE_HEAD:file
2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' show AUTO_MERGE:file
<<<<<<< HEAD
3
=======
2
>>>>>>> eab2e6c (2)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff
diff --cc file
index 00750ed,0cfbf08..0000000
--- a/file
+++ b/file
@@@ -1,1 -1,1 +1,5 @@@
++<<<<<<< HEAD
+3
++=======
+ 2
++>>>>>>> eab2e6c (2)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --base
* Unmerged path file
diff --git a/file b/file
index d00491f..217e448 100644
--- a/file
+++ b/file
@@ -1 +1,5 @@
-1
+<<<<<<< HEAD
+3
+=======
+2
+>>>>>>> eab2e6c (2)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff REBASE_HEAD~1
diff --git a/file b/file
index d00491f..217e448 100644
--- a/file
+++ b/file
@@ -1 +1,5 @@
-1
+<<<<<<< HEAD
+3
+=======
+2
+>>>>>>> eab2e6c (2)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --ours
* Unmerged path file
diff --git a/file b/file
index 00750ed..217e448 100644
--- a/file
+++ b/file
@@ -1 +1,5 @@
+<<<<<<< HEAD
3
+=======
+2
+>>>>>>> eab2e6c (2)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff HEAD
diff --git a/file b/file
index 00750ed..217e448 100644
--- a/file
+++ b/file
@@ -1 +1,5 @@
+<<<<<<< HEAD
3
+=======
+2
+>>>>>>> eab2e6c (2)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff --theirs
* Unmerged path file
diff --git a/file b/file
index 0cfbf08..217e448 100644
--- a/file
+++ b/file
@@ -1 +1,5 @@
+<<<<<<< HEAD
+3
+=======
2
+>>>>>>> eab2e6c (2)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff REBASE_HEAD
diff --git a/file b/file
index 0cfbf08..217e448 100644
--- a/file
+++ b/file
@@ -1 +1,5 @@
+<<<<<<< HEAD
+3
+=======
2
+>>>>>>> eab2e6c (2)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' diff AUTO_MERGE
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./file'; git --git-dir='./server/repo.git' --work-tree='.' add './file'; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 5cedb30] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./file'; git --git-dir='./server/repo.git' --work-tree='.' add './file'; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master 646e24b] 2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --all --patch
* 646e24b - 2026-10-28 22:52 (1 second ago) 2 - Han Jiang (HEAD -> refs/heads/master)
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 5cedb30 - 2026-10-28 22:52 (1 second ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '3' >'./client/repo/file'; git -C './client/repo' add './file'; git -C './client/repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master ba67099] 3
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all --patch
* ba67099 - 2026-10-28 22:52 (1 second ago) 3 - Han Jiang (HEAD -> refs/heads/master)
|
| diff --git a/file b/file
| index 0cfbf08..00750ed 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -2
| +3
* 646e24b - 2026-10-28 22:52 (3 seconds ago) 2 - Han Jiang (refs/remotes/origin/master, refs/remotes/origin/HEAD)
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 5cedb30 - 2026-10-28 22:52 (3 seconds ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' reset --soft HEAD~1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '4' >'./file'; git --git-dir='./server/repo.git' --work-tree='.' add './file'; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master d70ec33] 4
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --all --patch
* d70ec33 - 2026-10-28 22:52 (1 second ago) 4 - Han Jiang (HEAD -> refs/heads/master)
|
| diff --git a/file b/file
| index d00491f..b8626c4 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +4
* 5cedb30 - 2026-10-28 22:52 (5 seconds ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch --all
remote: Enumerating objects: 5, done.
remote: Counting objects: 100% (5/5), done.
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (3/3), 210 bytes | 26.00 KiB/s, done.
From C:/Program Files/Git/test_git/client/../server/repo
+ 646e24b...d70ec33 master -> origin/master (forced update)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all --patch
* d70ec33 - 2026-10-28 22:52 (2 seconds ago) 4 - Han Jiang (refs/remotes/origin/master, refs/remotes/origin/HEAD)
|
| diff --git a/file b/file
| index d00491f..b8626c4 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +4
| * ba67099 - 2026-10-28 22:52 (4 seconds ago) 3 - Han Jiang (HEAD -> refs/heads/master)
| |
| | diff --git a/file b/file
| | index 0cfbf08..00750ed 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -2
| | +3
| * 646e24b - 2026-10-28 22:52 (6 seconds ago) 2 - Han Jiang
|/
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 5cedb30 - 2026-10-28 22:52 (6 seconds ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' -c 'core.editor=cat' rebase --no-fork-point --interactive
hint: Waiting for your editor to close the file... pick 646e24b # 2
pick ba67099 # 3
# Rebase d70ec33..ba67099 onto d70ec33 (2 commands)
#
# Commands:
# p, pick <commit> = use commit
# r, reword <commit> = use commit, but edit the commit message
# e, edit <commit> = use commit, but stop for amending
# s, squash <commit> = use commit, but meld into previous commit
# f, fixup [-C | -c] <commit> = like "squash" but keep only the previous
# commit's log message, unless -C is used, in which case
# keep only this commit's message; -c is same as -C but
# opens the editor
# x, exec <command> = run command (the rest of the line) using shell
# b, break = stop here (continue rebase later with 'git rebase --continue')
# d, drop <commit> = remove commit
# l, label <label> = label current HEAD with a name
# t, reset <label> = reset HEAD to a label
# m, merge [-C <commit> | -c <commit>] <label> [# <oneline>]
# create a merge commit using the original merge commit's
# message (or the oneline, if no original merge commit was
# specified); use -c <commit> to reword the commit message
# u, update-ref <ref> = track a placeholder for the <ref> to be updated
# to this position in the new commits. The <ref> is
# updated at the end of the rebase
#
# These lines can be re-ordered; they are executed from top to bottom.
#
# If you remove a line here THAT COMMIT WILL BE LOST.
#
# However, if you remove everything, the rebase will be aborted.
#
Auto-merging file
CONFLICT (content): Merge conflict in file
error: could not apply 646e24b... 2
hint: Resolve all conflicts manually, mark them as resolved with
hint: "git add/rm <conflicted_files>", then run "git rebase --continue".
hint: You can instead skip this commit: run "git rebase --skip".
hint: To abort and get back to the state before "git rebase", run "git rebase --abort".
hint: Disable this message with "git config set advice.mergeConflict false"
Could not apply 646e24b... # 2
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all --patch
* d70ec33 - 2026-10-28 22:52 (3 seconds ago) 4 - Han Jiang (HEAD, refs/remotes/origin/master, refs/remotes/origin/HEAD)
|
| diff --git a/file b/file
| index d00491f..b8626c4 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +4
| * ba67099 - 2026-10-28 22:52 (5 seconds ago) 3 - Han Jiang (refs/heads/master)
| |
| | diff --git a/file b/file
| | index 0cfbf08..00750ed 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -2
| | +3
| * 646e24b - 2026-10-28 22:52 (7 seconds ago) 2 - Han Jiang
|/
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 5cedb30 - 2026-10-28 22:52 (7 seconds ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' rebase --skip
Auto-merging file
CONFLICT (content): Merge conflict in file
error: could not apply ba67099... 3
hint: Resolve all conflicts manually, mark them as resolved with
hint: "git add/rm <conflicted_files>", then run "git rebase --continue".
hint: You can instead skip this commit: run "git rebase --skip".
hint: To abort and get back to the state before "git rebase", run "git rebase --abort".
hint: Disable this message with "git config set advice.mergeConflict false"
Could not apply ba67099... # 3
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '5' >'./client/repo/file'; git -C './client/repo' add './file'; git -C './client/repo' -c 'core.editor=:' rebase --continue
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[detached HEAD 0096815] 3
1 file changed, 1 insertion(+), 1 deletion(-)
Successfully rebased and updated refs/heads/master.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all --patch
* 0096815 - 2026-10-28 22:52 (7 seconds ago) 3 - Han Jiang (HEAD -> refs/heads/master)
|
| diff --git a/file b/file
| index b8626c4..7ed6ff8 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -4
| +5
* d70ec33 - 2026-10-28 22:52 (5 seconds ago) 4 - Han Jiang (refs/remotes/origin/master, refs/remotes/origin/HEAD)
|
| diff --git a/file b/file
| index d00491f..b8626c4 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +4
* 5cedb30 - 2026-10-28 22:52 (9 seconds ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./file'; git --git-dir='./server/repo.git' --work-tree='.' add './file'; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) b224035] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./file'; git --git-dir='./server/repo.git' --work-tree='.' add './file'; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master 8cd001f] 2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --all --patch
* 8cd001f - 2026-10-28 22:52 (1 second ago) 2 - Han Jiang (HEAD -> refs/heads/master)
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* b224035 - 2026-10-28 22:52 (1 second ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ branch_default_name="$(git -C './client/repo' branch --show-current)"; echo "$branch_default_name"
master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '3' >'./client/repo/file'; git -C './client/repo' add './file'; git -C './client/repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master 807c4bd] 3
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all --patch
* 807c4bd - 2026-10-28 22:52 (0 seconds ago) 3 - Han Jiang (HEAD -> refs/heads/master)
|
| diff --git a/file b/file
| index 0cfbf08..00750ed 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -2
| +3
* 8cd001f - 2026-10-28 22:52 (3 seconds ago) 2 - Han Jiang (refs/remotes/origin/master, refs/remotes/origin/HEAD)
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* b224035 - 2026-10-28 22:52 (3 seconds ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' reset --soft HEAD~1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '4' >'./file'; git --git-dir='./server/repo.git' --work-tree='.' add './file'; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master c4db62d] 4
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --all --patch
* c4db62d - 2026-10-28 22:52 (0 seconds ago) 4 - Han Jiang (HEAD -> refs/heads/master)
|
| diff --git a/file b/file
| index d00491f..b8626c4 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +4
* b224035 - 2026-10-28 22:52 (5 seconds ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch --all
remote: Enumerating objects: 5, done.
remote: Counting objects: 100% (5/5), done.
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (3/3), 211 bytes | 17.00 KiB/s, done.
From C:/Program Files/Git/test_git/client/../server/repo
+ 8cd001f...c4db62d master -> origin/master (forced update)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all --patch
* c4db62d - 2026-10-28 22:52 (1 second ago) 4 - Han Jiang (refs/remotes/origin/master, refs/remotes/origin/HEAD)
|
| diff --git a/file b/file
| index d00491f..b8626c4 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +4
| * 807c4bd - 2026-10-28 22:52 (3 seconds ago) 3 - Han Jiang (HEAD -> refs/heads/master)
| |
| | diff --git a/file b/file
| | index 0cfbf08..00750ed 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -2
| | +3
| * 8cd001f - 2026-10-28 22:52 (6 seconds ago) 2 - Han Jiang
|/
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* b224035 - 2026-10-28 22:52 (6 seconds ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' -c 'core.editor=cat' rebase --onto=HEAD@{upstream} --interactive "$(git -C './client/repo' merge-base --fork-point HEAD@{upstream} HEAD)" HEAD
hint: Waiting for your editor to close the file... pick 807c4bd # 3
# Rebase 8cd001f..807c4bd onto c4db62d (1 command)
#
# Commands:
# p, pick <commit> = use commit
# r, reword <commit> = use commit, but edit the commit message
# e, edit <commit> = use commit, but stop for amending
# s, squash <commit> = use commit, but meld into previous commit
# f, fixup [-C | -c] <commit> = like "squash" but keep only the previous
# commit's log message, unless -C is used, in which case
# keep only this commit's message; -c is same as -C but
# opens the editor
# x, exec <command> = run command (the rest of the line) using shell
# b, break = stop here (continue rebase later with 'git rebase --continue')
# d, drop <commit> = remove commit
# l, label <label> = label current HEAD with a name
# t, reset <label> = reset HEAD to a label
# m, merge [-C <commit> | -c <commit>] <label> [# <oneline>]
# create a merge commit using the original merge commit's
# message (or the oneline, if no original merge commit was
# specified); use -c <commit> to reword the commit message
# u, update-ref <ref> = track a placeholder for the <ref> to be updated
# to this position in the new commits. The <ref> is
# updated at the end of the rebase
#
# These lines can be re-ordered; they are executed from top to bottom.
#
# If you remove a line here THAT COMMIT WILL BE LOST.
#
# However, if you remove everything, the rebase will be aborted.
#
Auto-merging file
CONFLICT (content): Merge conflict in file
error: could not apply 807c4bd... 3
hint: Resolve all conflicts manually, mark them as resolved with
hint: "git add/rm <conflicted_files>", then run "git rebase --continue".
hint: You can instead skip this commit: run "git rebase --skip".
hint: To abort and get back to the state before "git rebase", run "git rebase --abort".
hint: Disable this message with "git config set advice.mergeConflict false"
Could not apply 807c4bd... # 3
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all --patch
* c4db62d - 2026-10-28 22:52 (3 seconds ago) 4 - Han Jiang (HEAD, refs/remotes/origin/master, refs/remotes/origin/HEAD)
|
| diff --git a/file b/file
| index d00491f..b8626c4 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +4
| * 807c4bd - 2026-10-28 22:52 (5 seconds ago) 3 - Han Jiang (refs/heads/master)
| |
| | diff --git a/file b/file
| | index 0cfbf08..00750ed 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -2
| | +3
| * 8cd001f - 2026-10-28 22:52 (8 seconds ago) 2 - Han Jiang
|/
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* b224035 - 2026-10-28 22:52 (8 seconds ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '5' >'./client/repo/file'; git -C './client/repo' add './file'; git -C './client/repo' -c 'core.editor=:' rebase --continue
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[detached HEAD 94ec91b] 3
1 file changed, 1 insertion(+), 1 deletion(-)
Successfully rebased and updated detached HEAD.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all --patch
* 94ec91b - 2026-10-28 22:52 (6 seconds ago) 3 - Han Jiang (HEAD)
|
| diff --git a/file b/file
| index b8626c4..7ed6ff8 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -4
| +5
* c4db62d - 2026-10-28 22:52 (4 seconds ago) 4 - Han Jiang (refs/remotes/origin/master, refs/remotes/origin/HEAD)
|
| diff --git a/file b/file
| index d00491f..b8626c4 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +4
| * 807c4bd - 2026-10-28 22:52 (6 seconds ago) 3 - Han Jiang (refs/heads/master)
| |
| | diff --git a/file b/file
| | index 0cfbf08..00750ed 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -2
| | +3
| * 8cd001f - 2026-10-28 22:52 (9 seconds ago) 2 - Han Jiang
|/
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* b224035 - 2026-10-28 22:52 (9 seconds ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' checkout -B "$branch_default_name"
Switched to and reset branch 'master'
Your branch is ahead of 'origin/master' by 1 commit.
(use "git push" to publish your local commits)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all --patch
* 94ec91b - 2026-10-28 22:52 (7 seconds ago) 3 - Han Jiang (HEAD -> refs/heads/master)
|
| diff --git a/file b/file
| index b8626c4..7ed6ff8 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -4
| +5
* c4db62d - 2026-10-28 22:52 (5 seconds ago) 4 - Han Jiang (refs/remotes/origin/master, refs/remotes/origin/HEAD)
|
| diff --git a/file b/file
| index d00491f..b8626c4 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +4
* b224035 - 2026-10-28 22:52 (10 seconds ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./file'; git --git-dir='./server/repo.git' --work-tree='.' add './file'; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 9b036e8] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./file'; git --git-dir='./server/repo.git' --work-tree='.' add './file'; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master 8e26a4a] 2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --all --patch
* 8e26a4a - 2026-10-28 22:52 (1 second ago) 2 - Han Jiang (HEAD -> refs/heads/master)
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 9b036e8 - 2026-10-28 22:52 (1 second ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '3' >'./client/repo/file'; git -C './client/repo' add './file'; git -C './client/repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master 323cb88] 3
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all --patch
* 323cb88 - 2026-10-28 22:52 (1 second ago) 3 - Han Jiang (HEAD -> refs/heads/master)
|
| diff --git a/file b/file
| index 0cfbf08..00750ed 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -2
| +3
* 8e26a4a - 2026-10-28 22:52 (3 seconds ago) 2 - Han Jiang (refs/remotes/origin/master, refs/remotes/origin/HEAD)
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 9b036e8 - 2026-10-28 22:52 (3 seconds ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' reset --soft HEAD~1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '4' >'./file'; git --git-dir='./server/repo.git' --work-tree='.' add './file'; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master f4d8f22] 4
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --all --patch
* f4d8f22 - 2026-10-28 22:52 (1 second ago) 4 - Han Jiang (HEAD -> refs/heads/master)
|
| diff --git a/file b/file
| index d00491f..b8626c4 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +4
* 9b036e8 - 2026-10-28 22:52 (5 seconds ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch --all
remote: Enumerating objects: 5, done.
remote: Counting objects: 100% (5/5), done.
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (3/3), 210 bytes | 23.00 KiB/s, done.
From C:/Program Files/Git/test_git/client/../server/repo
+ 8e26a4a...f4d8f22 master -> origin/master (forced update)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all --patch
* f4d8f22 - 2026-10-28 22:52 (2 seconds ago) 4 - Han Jiang (refs/remotes/origin/master, refs/remotes/origin/HEAD)
|
| diff --git a/file b/file
| index d00491f..b8626c4 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +4
| * 323cb88 - 2026-10-28 22:52 (4 seconds ago) 3 - Han Jiang (HEAD -> refs/heads/master)
| |
| | diff --git a/file b/file
| | index 0cfbf08..00750ed 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -2
| | +3
| * 8e26a4a - 2026-10-28 22:52 (6 seconds ago) 2 - Han Jiang
|/
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 9b036e8 - 2026-10-28 22:52 (6 seconds ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' -c 'core.editor=cat' rebase --onto=HEAD@{upstream} --interactive "$(git -C './client/repo' merge-base --fork-point HEAD@{upstream} HEAD)" "$(git -C './client/repo' branch --show-current)"
hint: Waiting for your editor to close the file... pick 323cb88 # 3
# Rebase 8e26a4a..323cb88 onto f4d8f22 (1 command)
#
# Commands:
# p, pick <commit> = use commit
# r, reword <commit> = use commit, but edit the commit message
# e, edit <commit> = use commit, but stop for amending
# s, squash <commit> = use commit, but meld into previous commit
# f, fixup [-C | -c] <commit> = like "squash" but keep only the previous
# commit's log message, unless -C is used, in which case
# keep only this commit's message; -c is same as -C but
# opens the editor
# x, exec <command> = run command (the rest of the line) using shell
# b, break = stop here (continue rebase later with 'git rebase --continue')
# d, drop <commit> = remove commit
# l, label <label> = label current HEAD with a name
# t, reset <label> = reset HEAD to a label
# m, merge [-C <commit> | -c <commit>] <label> [# <oneline>]
# create a merge commit using the original merge commit's
# message (or the oneline, if no original merge commit was
# specified); use -c <commit> to reword the commit message
# u, update-ref <ref> = track a placeholder for the <ref> to be updated
# to this position in the new commits. The <ref> is
# updated at the end of the rebase
#
# These lines can be re-ordered; they are executed from top to bottom.
#
# If you remove a line here THAT COMMIT WILL BE LOST.
#
# However, if you remove everything, the rebase will be aborted.
#
Auto-merging file
CONFLICT (content): Merge conflict in file
error: could not apply 323cb88... 3
hint: Resolve all conflicts manually, mark them as resolved with
hint: "git add/rm <conflicted_files>", then run "git rebase --continue".
hint: You can instead skip this commit: run "git rebase --skip".
hint: To abort and get back to the state before "git rebase", run "git rebase --abort".
hint: Disable this message with "git config set advice.mergeConflict false"
Could not apply 323cb88... # 3
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all --patch
* f4d8f22 - 2026-10-28 22:52 (3 seconds ago) 4 - Han Jiang (HEAD, refs/remotes/origin/master, refs/remotes/origin/HEAD)
|
| diff --git a/file b/file
| index d00491f..b8626c4 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +4
| * 323cb88 - 2026-10-28 22:52 (5 seconds ago) 3 - Han Jiang (refs/heads/master)
| |
| | diff --git a/file b/file
| | index 0cfbf08..00750ed 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -2
| | +3
| * 8e26a4a - 2026-10-28 22:52 (7 seconds ago) 2 - Han Jiang
|/
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 9b036e8 - 2026-10-28 22:52 (7 seconds ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '5' >'./client/repo/file'; git -C './client/repo' add './file'; git -C './client/repo' -c 'core.editor=:' rebase --continue
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[detached HEAD d8bb090] 3
1 file changed, 1 insertion(+), 1 deletion(-)
Successfully rebased and updated refs/heads/master.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all --patch
* d8bb090 - 2026-10-28 22:52 (7 seconds ago) 3 - Han Jiang (HEAD -> refs/heads/master)
|
| diff --git a/file b/file
| index b8626c4..7ed6ff8 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -4
| +5
* f4d8f22 - 2026-10-28 22:52 (5 seconds ago) 4 - Han Jiang (refs/remotes/origin/master, refs/remotes/origin/HEAD)
|
| diff --git a/file b/file
| index d00491f..b8626c4 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +4
* 9b036e8 - 2026-10-28 22:52 (9 seconds ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./file'; git --git-dir='./server/repo.git' --work-tree='.' add './file'; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 229113d] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./file'; git --git-dir='./server/repo.git' --work-tree='.' add './file'; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master f9841ce] 2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --all --patch
* f9841ce - 2026-10-28 22:52 (1 second ago) 2 - Han Jiang (HEAD -> refs/heads/master)
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 229113d - 2026-10-28 22:52 (1 second ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '3' >'./client/repo/file'; git -C './client/repo' add './file'; git -C './client/repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master dad6401] 3
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all --patch
* dad6401 - 2026-10-28 22:52 (1 second ago) 3 - Han Jiang (HEAD -> refs/heads/master)
|
| diff --git a/file b/file
| index 0cfbf08..00750ed 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -2
| +3
* f9841ce - 2026-10-28 22:52 (3 seconds ago) 2 - Han Jiang (refs/remotes/origin/master, refs/remotes/origin/HEAD)
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 229113d - 2026-10-28 22:52 (3 seconds ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' reset --soft HEAD~1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '4' >'./file'; git --git-dir='./server/repo.git' --work-tree='.' add './file'; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master f77aa26] 4
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --all --patch
* f77aa26 - 2026-10-28 22:52 (1 second ago) 4 - Han Jiang (HEAD -> refs/heads/master)
|
| diff --git a/file b/file
| index d00491f..b8626c4 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +4
* 229113d - 2026-10-28 22:52 (5 seconds ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch --all
remote: Enumerating objects: 5, done.
remote: Counting objects: 100% (5/5), done.
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (3/3), 210 bytes | 17.00 KiB/s, done.
From C:/Program Files/Git/test_git/client/../server/repo
+ f9841ce...f77aa26 master -> origin/master (forced update)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all --patch
* f77aa26 - 2026-10-28 22:52 (2 seconds ago) 4 - Han Jiang (refs/remotes/origin/master, refs/remotes/origin/HEAD)
|
| diff --git a/file b/file
| index d00491f..b8626c4 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +4
| * dad6401 - 2026-10-28 22:52 (4 seconds ago) 3 - Han Jiang (HEAD -> refs/heads/master)
| |
| | diff --git a/file b/file
| | index 0cfbf08..00750ed 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -2
| | +3
| * f9841ce - 2026-10-28 22:52 (6 seconds ago) 2 - Han Jiang
|/
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 229113d - 2026-10-28 22:52 (6 seconds ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' -c 'core.editor=sed --in-place -- '\''1d'\''' rebase --keep-base --no-fork-point --interactive
Auto-merging file
CONFLICT (content): Merge conflict in file
error: could not apply dad6401... 3
hint: Resolve all conflicts manually, mark them as resolved with
hint: "git add/rm <conflicted_files>", then run "git rebase --continue".
hint: You can instead skip this commit: run "git rebase --skip".
hint: To abort and get back to the state before "git rebase", run "git rebase --abort".
hint: Disable this message with "git config set advice.mergeConflict false"
Could not apply dad6401... # 3
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all --patch
* f77aa26 - 2026-10-28 22:52 (3 seconds ago) 4 - Han Jiang (refs/remotes/origin/master, refs/remotes/origin/HEAD)
|
| diff --git a/file b/file
| index d00491f..b8626c4 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +4
| * dad6401 - 2026-10-28 22:52 (5 seconds ago) 3 - Han Jiang (refs/heads/master)
| |
| | diff --git a/file b/file
| | index 0cfbf08..00750ed 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -2
| | +3
| * f9841ce - 2026-10-28 22:52 (7 seconds ago) 2 - Han Jiang
|/
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 229113d - 2026-10-28 22:52 (7 seconds ago) 1 - Han Jiang (HEAD)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '5' >'./client/repo/file'; git -C './client/repo' add './file'; git -C './client/repo' -c 'core.editor=:' rebase --continue
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[detached HEAD 1f44807] 3
1 file changed, 1 insertion(+), 1 deletion(-)
Successfully rebased and updated refs/heads/master.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all --patch
* 1f44807 - 2026-10-28 22:52 (6 seconds ago) 3 - Han Jiang (HEAD -> refs/heads/master)
|
| diff --git a/file b/file
| index d00491f..7ed6ff8 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +5
| * f77aa26 - 2026-10-28 22:52 (4 seconds ago) 4 - Han Jiang (refs/remotes/origin/master, refs/remotes/origin/HEAD)
|/
|
| diff --git a/file b/file
| index d00491f..b8626c4 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +4
* 229113d - 2026-10-28 22:52 (8 seconds ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./file'; git --git-dir='./server/repo.git' --work-tree='.' add './file'; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) d81bfb8] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./file'; git --git-dir='./server/repo.git' --work-tree='.' add './file'; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master d0ae3bf] 2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --all --patch
* d0ae3bf - 2026-10-28 22:52 (0 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* d81bfb8 - 2026-10-28 22:52 (1 second ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '3' >'./client/repo/file'; git -C './client/repo' add './file'; git -C './client/repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master 97856c4] 3
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all --patch
* 97856c4 - 2026-10-28 22:52 (0 seconds ago) 3 - Han Jiang (HEAD -> refs/heads/master)
|
| diff --git a/file b/file
| index 0cfbf08..00750ed 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -2
| +3
* d0ae3bf - 2026-10-28 22:52 (2 seconds ago) 2 - Han Jiang (refs/remotes/origin/master, refs/remotes/origin/HEAD)
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* d81bfb8 - 2026-10-28 22:52 (3 seconds ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' reset --soft HEAD~1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '4' >'./file'; git --git-dir='./server/repo.git' --work-tree='.' add './file'; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master f2ae988] 4
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --all --patch
* f2ae988 - 2026-10-28 22:53 (0 seconds ago) 4 - Han Jiang (HEAD -> refs/heads/master)
|
| diff --git a/file b/file
| index d00491f..b8626c4 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +4
* d81bfb8 - 2026-10-28 22:52 (5 seconds ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch --all
remote: Enumerating objects: 5, done.
remote: Counting objects: 100% (5/5), done.
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (3/3), 212 bytes | 19.00 KiB/s, done.
From C:/Program Files/Git/test_git/client/../server/repo
+ d0ae3bf...f2ae988 master -> origin/master (forced update)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all --patch
* f2ae988 - 2026-10-28 22:53 (2 seconds ago) 4 - Han Jiang (refs/remotes/origin/master, refs/remotes/origin/HEAD)
|
| diff --git a/file b/file
| index d00491f..b8626c4 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +4
| * 97856c4 - 2026-10-28 22:52 (4 seconds ago) 3 - Han Jiang (HEAD -> refs/heads/master)
| |
| | diff --git a/file b/file
| | index 0cfbf08..00750ed 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -2
| | +3
| * d0ae3bf - 2026-10-28 22:52 (6 seconds ago) 2 - Han Jiang
|/
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* d81bfb8 - 2026-10-28 22:52 (7 seconds ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' -c 'core.editor=cat' rebase --fork-point --interactive
hint: Waiting for your editor to close the file... pick 97856c4 # 3
# Rebase f2ae988..97856c4 onto f2ae988 (1 command)
#
# Commands:
# p, pick <commit> = use commit
# r, reword <commit> = use commit, but edit the commit message
# e, edit <commit> = use commit, but stop for amending
# s, squash <commit> = use commit, but meld into previous commit
# f, fixup [-C | -c] <commit> = like "squash" but keep only the previous
# commit's log message, unless -C is used, in which case
# keep only this commit's message; -c is same as -C but
# opens the editor
# x, exec <command> = run command (the rest of the line) using shell
# b, break = stop here (continue rebase later with 'git rebase --continue')
# d, drop <commit> = remove commit
# l, label <label> = label current HEAD with a name
# t, reset <label> = reset HEAD to a label
# m, merge [-C <commit> | -c <commit>] <label> [# <oneline>]
# create a merge commit using the original merge commit's
# message (or the oneline, if no original merge commit was
# specified); use -c <commit> to reword the commit message
# u, update-ref <ref> = track a placeholder for the <ref> to be updated
# to this position in the new commits. The <ref> is
# updated at the end of the rebase
#
# These lines can be re-ordered; they are executed from top to bottom.
#
# If you remove a line here THAT COMMIT WILL BE LOST.
#
# However, if you remove everything, the rebase will be aborted.
#
Auto-merging file
CONFLICT (content): Merge conflict in file
error: could not apply 97856c4... 3
hint: Resolve all conflicts manually, mark them as resolved with
hint: "git add/rm <conflicted_files>", then run "git rebase --continue".
hint: You can instead skip this commit: run "git rebase --skip".
hint: To abort and get back to the state before "git rebase", run "git rebase --abort".
hint: Disable this message with "git config set advice.mergeConflict false"
Could not apply 97856c4... # 3
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all --patch
* f2ae988 - 2026-10-28 22:53 (3 seconds ago) 4 - Han Jiang (HEAD, refs/remotes/origin/master, refs/remotes/origin/HEAD)
|
| diff --git a/file b/file
| index d00491f..b8626c4 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +4
| * 97856c4 - 2026-10-28 22:52 (5 seconds ago) 3 - Han Jiang (refs/heads/master)
| |
| | diff --git a/file b/file
| | index 0cfbf08..00750ed 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -2
| | +3
| * d0ae3bf - 2026-10-28 22:52 (7 seconds ago) 2 - Han Jiang
|/
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* d81bfb8 - 2026-10-28 22:52 (8 seconds ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '5' >'./client/repo/file'; git -C './client/repo' add './file'; git -C './client/repo' -c 'core.editor=:' rebase --continue
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[detached HEAD 61ca159] 3
1 file changed, 1 insertion(+), 1 deletion(-)
Successfully rebased and updated refs/heads/master.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all --patch
* 61ca159 - 2026-10-28 22:52 (6 seconds ago) 3 - Han Jiang (HEAD -> refs/heads/master)
|
| diff --git a/file b/file
| index b8626c4..7ed6ff8 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -4
| +5
* f2ae988 - 2026-10-28 22:53 (4 seconds ago) 4 - Han Jiang (refs/remotes/origin/master, refs/remotes/origin/HEAD)
|
| diff --git a/file b/file
| index d00491f..b8626c4 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +4
* d81bfb8 - 2026-10-28 22:52 (9 seconds ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./file'; git --git-dir='./server/repo.git' --work-tree='.' add './file'; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 6beac6b] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./file'; git --git-dir='./server/repo.git' --work-tree='.' add './file'; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master 7167f50] 2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --all --patch
* 7167f50 - 2026-10-28 22:53 (0 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 6beac6b - 2026-10-28 22:53 (1 second ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '3' >'./client/repo/file'; git -C './client/repo' add './file'; git -C './client/repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master e23a3ee] 3
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all --patch
* e23a3ee - 2026-10-28 22:53 (0 seconds ago) 3 - Han Jiang (HEAD -> refs/heads/master)
|
| diff --git a/file b/file
| index 0cfbf08..00750ed 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -2
| +3
* 7167f50 - 2026-10-28 22:53 (2 seconds ago) 2 - Han Jiang (refs/remotes/origin/master, refs/remotes/origin/HEAD)
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 6beac6b - 2026-10-28 22:53 (3 seconds ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' reset --soft HEAD~1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '4' >'./file'; git --git-dir='./server/repo.git' --work-tree='.' add './file'; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master d437d29] 4
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --all --patch
* d437d29 - 2026-10-28 22:53 (1 second ago) 4 - Han Jiang (HEAD -> refs/heads/master)
|
| diff --git a/file b/file
| index d00491f..b8626c4 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +4
* 6beac6b - 2026-10-28 22:53 (5 seconds ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch --all
remote: Enumerating objects: 5, done.
remote: Counting objects: 100% (5/5), done.
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (3/3), 211 bytes | 17.00 KiB/s, done.
From C:/Program Files/Git/test_git/client/../server/repo
+ 7167f50...d437d29 master -> origin/master (forced update)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' branch collect_my_changes_into_this_branch
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all --patch
* d437d29 - 2026-10-28 22:53 (3 seconds ago) 4 - Han Jiang (refs/remotes/origin/master, refs/remotes/origin/HEAD)
|
| diff --git a/file b/file
| index d00491f..b8626c4 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +4
| * e23a3ee - 2026-10-28 22:53 (4 seconds ago) 3 - Han Jiang (HEAD -> refs/heads/master, refs/heads/collect_my_changes_into_this_branch)
| |
| | diff --git a/file b/file
| | index 0cfbf08..00750ed 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -2
| | +3
| * 7167f50 - 2026-10-28 22:53 (6 seconds ago) 2 - Han Jiang
|/
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 6beac6b - 2026-10-28 22:53 (7 seconds ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' -c 'core.editor=cat' rebase --fork-point --onto=HEAD@{upstream}...HEAD --interactive HEAD@{upstream} collect_my_changes_into_this_branch
hint: Waiting for your editor to close the file... pick e23a3ee # 3
# Rebase d437d29..e23a3ee onto 6beac6b (1 command)
#
# Commands:
# p, pick <commit> = use commit
# r, reword <commit> = use commit, but edit the commit message
# e, edit <commit> = use commit, but stop for amending
# s, squash <commit> = use commit, but meld into previous commit
# f, fixup [-C | -c] <commit> = like "squash" but keep only the previous
# commit's log message, unless -C is used, in which case
# keep only this commit's message; -c is same as -C but
# opens the editor
# x, exec <command> = run command (the rest of the line) using shell
# b, break = stop here (continue rebase later with 'git rebase --continue')
# d, drop <commit> = remove commit
# l, label <label> = label current HEAD with a name
# t, reset <label> = reset HEAD to a label
# m, merge [-C <commit> | -c <commit>] <label> [# <oneline>]
# create a merge commit using the original merge commit's
# message (or the oneline, if no original merge commit was
# specified); use -c <commit> to reword the commit message
# u, update-ref <ref> = track a placeholder for the <ref> to be updated
# to this position in the new commits. The <ref> is
# updated at the end of the rebase
#
# These lines can be re-ordered; they are executed from top to bottom.
#
# If you remove a line here THAT COMMIT WILL BE LOST.
#
# However, if you remove everything, the rebase will be aborted.
#
Auto-merging file
CONFLICT (content): Merge conflict in file
error: could not apply e23a3ee... 3
hint: Resolve all conflicts manually, mark them as resolved with
hint: "git add/rm <conflicted_files>", then run "git rebase --continue".
hint: You can instead skip this commit: run "git rebase --skip".
hint: To abort and get back to the state before "git rebase", run "git rebase --abort".
hint: Disable this message with "git config set advice.mergeConflict false"
Could not apply e23a3ee... # 3
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all --patch
* d437d29 - 2026-10-28 22:53 (4 seconds ago) 4 - Han Jiang (refs/remotes/origin/master, refs/remotes/origin/HEAD)
|
| diff --git a/file b/file
| index d00491f..b8626c4 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +4
| * e23a3ee - 2026-10-28 22:53 (5 seconds ago) 3 - Han Jiang (refs/heads/master, refs/heads/collect_my_changes_into_this_branch)
| |
| | diff --git a/file b/file
| | index 0cfbf08..00750ed 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -2
| | +3
| * 7167f50 - 2026-10-28 22:53 (7 seconds ago) 2 - Han Jiang
|/
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 6beac6b - 2026-10-28 22:53 (8 seconds ago) 1 - Han Jiang (HEAD)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '5' >'./client/repo/file'; git -C './client/repo' add './file'; git -C './client/repo' -c 'core.editor=:' rebase --continue
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[detached HEAD 12f2e76] 3
1 file changed, 1 insertion(+), 1 deletion(-)
Successfully rebased and updated refs/heads/collect_my_changes_into_this_branch.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all --patch
* 12f2e76 - 2026-10-28 22:53 (6 seconds ago) 3 - Han Jiang (HEAD -> refs/heads/collect_my_changes_into_this_branch)
|
| diff --git a/file b/file
| index d00491f..7ed6ff8 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +5
| * d437d29 - 2026-10-28 22:53 (5 seconds ago) 4 - Han Jiang (refs/remotes/origin/master, refs/remotes/origin/HEAD)
|/
|
| diff --git a/file b/file
| index d00491f..b8626c4 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +4
| * e23a3ee - 2026-10-28 22:53 (6 seconds ago) 3 - Han Jiang (refs/heads/master)
| |
| | diff --git a/file b/file
| | index 0cfbf08..00750ed 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -2
| | +3
| * 7167f50 - 2026-10-28 22:53 (8 seconds ago) 2 - Han Jiang
|/
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 6beac6b - 2026-10-28 22:53 (9 seconds ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./file'; git --git-dir='./server/repo.git' --work-tree='.' add './file'; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) d026c55] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./file'; git --git-dir='./server/repo.git' --work-tree='.' add './file'; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master b0d8ee1] 2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --all --patch
* b0d8ee1 - 2026-10-28 22:53 (0 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/master)
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* d026c55 - 2026-10-28 22:53 (1 second ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '3' >'./client/repo/file'; git -C './client/repo' add './file'; git -C './client/repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master b4ea35c] 3
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all --patch
* b4ea35c - 2026-10-28 22:53 (0 seconds ago) 3 - Han Jiang (HEAD -> refs/heads/master)
|
| diff --git a/file b/file
| index 0cfbf08..00750ed 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -2
| +3
* b0d8ee1 - 2026-10-28 22:53 (2 seconds ago) 2 - Han Jiang (refs/remotes/origin/master, refs/remotes/origin/HEAD)
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* d026c55 - 2026-10-28 22:53 (3 seconds ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' reset --soft HEAD~1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '4' >'./file'; git --git-dir='./server/repo.git' --work-tree='.' add './file'; git --git-dir='./server/repo.git' --work-tree='.' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master e40f27b] 4
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --all --patch
* e40f27b - 2026-10-28 22:53 (1 second ago) 4 - Han Jiang (HEAD -> refs/heads/master)
|
| diff --git a/file b/file
| index d00491f..b8626c4 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +4
* d026c55 - 2026-10-28 22:53 (5 seconds ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' fetch --all
remote: Enumerating objects: 5, done.
remote: Counting objects: 100% (5/5), done.
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (3/3), 211 bytes | 16.00 KiB/s, done.
From C:/Program Files/Git/test_git/client/../server/repo
+ b0d8ee1...e40f27b master -> origin/master (forced update)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all --patch
* e40f27b - 2026-10-28 22:53 (2 seconds ago) 4 - Han Jiang (refs/remotes/origin/master, refs/remotes/origin/HEAD)
|
| diff --git a/file b/file
| index d00491f..b8626c4 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +4
| * b4ea35c - 2026-10-28 22:53 (3 seconds ago) 3 - Han Jiang (HEAD -> refs/heads/master)
| |
| | diff --git a/file b/file
| | index 0cfbf08..00750ed 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -2
| | +3
| * b0d8ee1 - 2026-10-28 22:53 (5 seconds ago) 2 - Han Jiang
|/
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* d026c55 - 2026-10-28 22:53 (6 seconds ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' -c 'core.editor=cat' rebase --fork-point --keep-base --interactive
hint: Waiting for your editor to close the file... pick b4ea35c # 3
# Rebase d026c55..b4ea35c onto d026c55 (1 command)
#
# Commands:
# p, pick <commit> = use commit
# r, reword <commit> = use commit, but edit the commit message
# e, edit <commit> = use commit, but stop for amending
# s, squash <commit> = use commit, but meld into previous commit
# f, fixup [-C | -c] <commit> = like "squash" but keep only the previous
# commit's log message, unless -C is used, in which case
# keep only this commit's message; -c is same as -C but
# opens the editor
# x, exec <command> = run command (the rest of the line) using shell
# b, break = stop here (continue rebase later with 'git rebase --continue')
# d, drop <commit> = remove commit
# l, label <label> = label current HEAD with a name
# t, reset <label> = reset HEAD to a label
# m, merge [-C <commit> | -c <commit>] <label> [# <oneline>]
# create a merge commit using the original merge commit's
# message (or the oneline, if no original merge commit was
# specified); use -c <commit> to reword the commit message
# u, update-ref <ref> = track a placeholder for the <ref> to be updated
# to this position in the new commits. The <ref> is
# updated at the end of the rebase
#
# These lines can be re-ordered; they are executed from top to bottom.
#
# If you remove a line here THAT COMMIT WILL BE LOST.
#
# However, if you remove everything, the rebase will be aborted.
#
Auto-merging file
CONFLICT (content): Merge conflict in file
error: could not apply b4ea35c... 3
hint: Resolve all conflicts manually, mark them as resolved with
hint: "git add/rm <conflicted_files>", then run "git rebase --continue".
hint: You can instead skip this commit: run "git rebase --skip".
hint: To abort and get back to the state before "git rebase", run "git rebase --abort".
hint: Disable this message with "git config set advice.mergeConflict false"
Could not apply b4ea35c... # 3
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all --patch
* e40f27b - 2026-10-28 22:53 (3 seconds ago) 4 - Han Jiang (refs/remotes/origin/master, refs/remotes/origin/HEAD)
|
| diff --git a/file b/file
| index d00491f..b8626c4 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +4
| * b4ea35c - 2026-10-28 22:53 (4 seconds ago) 3 - Han Jiang (refs/heads/master)
| |
| | diff --git a/file b/file
| | index 0cfbf08..00750ed 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -2
| | +3
| * b0d8ee1 - 2026-10-28 22:53 (6 seconds ago) 2 - Han Jiang
|/
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* d026c55 - 2026-10-28 22:53 (7 seconds ago) 1 - Han Jiang (HEAD)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '5' >'./client/repo/file'; git -C './client/repo' add './file'; git -C './client/repo' -c 'core.editor=:' rebase --continue
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[detached HEAD 997a8f9] 3
1 file changed, 1 insertion(+), 1 deletion(-)
Successfully rebased and updated refs/heads/master.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client/repo' lg --all --patch
* 997a8f9 - 2026-10-28 22:53 (6 seconds ago) 3 - Han Jiang (HEAD -> refs/heads/master)
|
| diff --git a/file b/file
| index d00491f..7ed6ff8 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +5
| * e40f27b - 2026-10-28 22:53 (5 seconds ago) 4 - Han Jiang (refs/remotes/origin/master, refs/remotes/origin/HEAD)
|/
|
| diff --git a/file b/file
| index d00491f..b8626c4 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +4
* d026c55 - 2026-10-28 22:53 (9 seconds ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"; git -C './repo' branch branch2
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 788df69] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout -b branch1; echo '2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
Switched to a new branch 'branch1'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch1 25a1293] 2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch2; echo '3' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
Switched to branch 'branch2'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch2 4a1ce03] 3
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1
Switched to branch 'branch1'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --message="$((++number))" branch2
Auto-merging file
CONFLICT (content): Merge conflict in file
Automatic merge failed; fix conflicts and then commit the result.
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '4' >'./repo/file'; git -C './repo' add './file'; git -C './repo' -c 'core.editor=:' merge --continue
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch1 8ae4ddf] 4
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch --diff-merges=separate
* 8ae4ddf - 2026-10-28 22:53 (0 seconds ago) 4 - Han Jiang (HEAD -> refs/heads/branch1)
|\
| |
| | diff --git a/file b/file
| | index 0cfbf08..b8626c4 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -2
| | +4
| | 8ae4ddf - 2026-10-28 22:53 (0 seconds ago) 4 - Han Jiang (HEAD -> refs/heads/branch1)
| |
| | diff --git a/file b/file
| | index 00750ed..b8626c4 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -3
| | +4
| * 4a1ce03 - 2026-10-28 22:53 (2 seconds ago) 3 - Han Jiang (refs/heads/branch2)
| |
| | diff --git a/file b/file
| | index d00491f..00750ed 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -1
| | +3
* | 25a1293 - 2026-10-28 22:53 (2 seconds ago) 2 - Han Jiang
|/
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 788df69 - 2026-10-28 22:53 (3 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' -c 'core.editor=cat' rebase --root --interactive
hint: Waiting for your editor to close the file... pick 788df69 # 1
pick 25a1293 # 2
pick 4a1ce03 # 3
# Rebase 8ae4ddf onto 6cd4b6f (3 commands)
#
# Commands:
# p, pick <commit> = use commit
# r, reword <commit> = use commit, but edit the commit message
# e, edit <commit> = use commit, but stop for amending
# s, squash <commit> = use commit, but meld into previous commit
# f, fixup [-C | -c] <commit> = like "squash" but keep only the previous
# commit's log message, unless -C is used, in which case
# keep only this commit's message; -c is same as -C but
# opens the editor
# x, exec <command> = run command (the rest of the line) using shell
# b, break = stop here (continue rebase later with 'git rebase --continue')
# d, drop <commit> = remove commit
# l, label <label> = label current HEAD with a name
# t, reset <label> = reset HEAD to a label
# m, merge [-C <commit> | -c <commit>] <label> [# <oneline>]
# create a merge commit using the original merge commit's
# message (or the oneline, if no original merge commit was
# specified); use -c <commit> to reword the commit message
# u, update-ref <ref> = track a placeholder for the <ref> to be updated
# to this position in the new commits. The <ref> is
# updated at the end of the rebase
#
# These lines can be re-ordered; they are executed from top to bottom.
#
# If you remove a line here THAT COMMIT WILL BE LOST.
#
# However, if you remove everything, the rebase will be aborted.
#
Auto-merging file
CONFLICT (content): Merge conflict in file
error: could not apply 4a1ce03... 3
hint: Resolve all conflicts manually, mark them as resolved with
hint: "git add/rm <conflicted_files>", then run "git rebase --continue".
hint: You can instead skip this commit: run "git rebase --skip".
hint: To abort and get back to the state before "git rebase", run "git rebase --abort".
hint: Disable this message with "git config set advice.mergeConflict false"
Could not apply 4a1ce03... # 3
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch --diff-merges=separate
* 8ae4ddf - 2026-10-28 22:53 (2 seconds ago) 4 - Han Jiang (refs/heads/branch1)
|\
| |
| | diff --git a/file b/file
| | index 0cfbf08..b8626c4 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -2
| | +4
| | 8ae4ddf - 2026-10-28 22:53 (2 seconds ago) 4 - Han Jiang (refs/heads/branch1)
| |
| | diff --git a/file b/file
| | index 00750ed..b8626c4 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -3
| | +4
| * 4a1ce03 - 2026-10-28 22:53 (4 seconds ago) 3 - Han Jiang (refs/heads/branch2)
| |
| | diff --git a/file b/file
| | index d00491f..00750ed 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -1
| | +3
* | 25a1293 - 2026-10-28 22:53 (4 seconds ago) 2 - Han Jiang (HEAD)
|/
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 788df69 - 2026-10-28 22:53 (5 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '5' >'./repo/file'; git -C './repo' add './file'; git -C './repo' -c 'core.editor=:' rebase --continue
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[detached HEAD 9d637b0] 3
1 file changed, 1 insertion(+), 1 deletion(-)
Successfully rebased and updated refs/heads/branch1.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch --diff-merges=separate
* 9d637b0 - 2026-10-28 22:53 (5 seconds ago) 3 - Han Jiang (HEAD -> refs/heads/branch1)
|
| diff --git a/file b/file
| index 0cfbf08..7ed6ff8 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -2
| +5
* 25a1293 - 2026-10-28 22:53 (5 seconds ago) 2 - Han Jiang
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
| * 4a1ce03 - 2026-10-28 22:53 (5 seconds ago) 3 - Han Jiang (refs/heads/branch2)
|/
|
| diff --git a/file b/file
| index d00491f..00750ed 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +3
* 788df69 - 2026-10-28 22:53 (6 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"; git -C './repo' branch branch2
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 0e5a68b] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout -b branch1; echo '2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
Switched to a new branch 'branch1'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch1 efb91ac] 2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch2; echo '3' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
Switched to branch 'branch2'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch2 c284c38] 3
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1
Switched to branch 'branch1'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --message="$((++number))" branch2
Auto-merging file
CONFLICT (content): Merge conflict in file
Automatic merge failed; fix conflicts and then commit the result.
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '4' >'./repo/file'; git -C './repo' add './file'; git -C './repo' -c 'core.editor=:' merge --continue
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch1 8a649ff] 4
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch --diff-merges=separate
* 8a649ff - 2026-10-28 22:53 (0 seconds ago) 4 - Han Jiang (HEAD -> refs/heads/branch1)
|\
| |
| | diff --git a/file b/file
| | index 0cfbf08..b8626c4 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -2
| | +4
| | 8a649ff - 2026-10-28 22:53 (0 seconds ago) 4 - Han Jiang (HEAD -> refs/heads/branch1)
| |
| | diff --git a/file b/file
| | index 00750ed..b8626c4 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -3
| | +4
| * c284c38 - 2026-10-28 22:53 (2 seconds ago) 3 - Han Jiang (refs/heads/branch2)
| |
| | diff --git a/file b/file
| | index d00491f..00750ed 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -1
| | +3
* | efb91ac - 2026-10-28 22:53 (3 seconds ago) 2 - Han Jiang
|/
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 0e5a68b - 2026-10-28 22:53 (3 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' -c 'core.editor=cat' rebase --root --rebase-merges --interactive
hint: Waiting for your editor to close the file... label onto
# Branch branch2
reset [new root]
pick 0e5a68b # 1
label branch-point
pick c284c38 # 3
label branch2
reset branch-point # 1
pick efb91ac # 2
merge -C 8a649ff branch2 # 4
# Rebase 8a649ff onto 0f4e17b (9 commands)
#
# Commands:
# p, pick <commit> = use commit
# r, reword <commit> = use commit, but edit the commit message
# e, edit <commit> = use commit, but stop for amending
# s, squash <commit> = use commit, but meld into previous commit
# f, fixup [-C | -c] <commit> = like "squash" but keep only the previous
# commit's log message, unless -C is used, in which case
# keep only this commit's message; -c is same as -C but
# opens the editor
# x, exec <command> = run command (the rest of the line) using shell
# b, break = stop here (continue rebase later with 'git rebase --continue')
# d, drop <commit> = remove commit
# l, label <label> = label current HEAD with a name
# t, reset <label> = reset HEAD to a label
# m, merge [-C <commit> | -c <commit>] <label> [# <oneline>]
# create a merge commit using the original merge commit's
# message (or the oneline, if no original merge commit was
# specified); use -c <commit> to reword the commit message
# u, update-ref <ref> = track a placeholder for the <ref> to be updated
# to this position in the new commits. The <ref> is
# updated at the end of the rebase
#
# These lines can be re-ordered; they are executed from top to bottom.
#
# If you remove a line here THAT COMMIT WILL BE LOST.
#
# However, if you remove everything, the rebase will be aborted.
#
Successfully rebased and updated refs/heads/branch1.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch --diff-merges=separate
* 8a649ff - 2026-10-28 22:53 (2 seconds ago) 4 - Han Jiang (HEAD -> refs/heads/branch1)
|\
| |
| | diff --git a/file b/file
| | index 0cfbf08..b8626c4 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -2
| | +4
| | 8a649ff - 2026-10-28 22:53 (2 seconds ago) 4 - Han Jiang (HEAD -> refs/heads/branch1)
| |
| | diff --git a/file b/file
| | index 00750ed..b8626c4 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -3
| | +4
| * c284c38 - 2026-10-28 22:53 (4 seconds ago) 3 - Han Jiang (refs/heads/branch2)
| |
| | diff --git a/file b/file
| | index d00491f..00750ed 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -1
| | +3
* | efb91ac - 2026-10-28 22:53 (5 seconds ago) 2 - Han Jiang
|/
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 0e5a68b - 2026-10-28 22:53 (5 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"; git -C './repo' branch branch1
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) fc8e910] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout --orphan branch2; echo '2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
Switched to a new branch 'branch2'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch2 (root-commit) 97f29be] 2
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1
Switched to branch 'branch1'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --message="$((++number))" --allow-unrelated-histories branch2
Auto-merging file
CONFLICT (add/add): Merge conflict in file
Automatic merge failed; fix conflicts and then commit the result.
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '3' >'./repo/file'; git -C './repo' add './file'; git -C './repo' -c 'core.editor=:' merge --continue
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch1 7e614ef] 3
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch --diff-merges=separate
* 7e614ef - 2026-10-28 22:54 (0 seconds ago) 3 - Han Jiang (HEAD -> refs/heads/branch1)
|\
| |
| | diff --git a/file b/file
| | index d00491f..00750ed 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -1
| | +3
| | 7e614ef - 2026-10-28 22:54 (0 seconds ago) 3 - Han Jiang (HEAD -> refs/heads/branch1)
| |
| | diff --git a/file b/file
| | index 0cfbf08..00750ed 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -2
| | +3
| * 97f29be - 2026-10-28 22:53 (2 seconds ago) 2 - Han Jiang (refs/heads/branch2)
|
| diff --git a/file b/file
| new file mode 100644
| index 0000000..0cfbf08
| --- /dev/null
| +++ b/file
| @@ -0,0 +1 @@
| +2
* fc8e910 - 2026-10-28 22:53 (3 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' -c 'core.editor=cat' rebase --root --interactive
hint: Waiting for your editor to close the file... pick fc8e910 # 1
pick 97f29be # 2
# Rebase 7e614ef onto dc580ad (2 commands)
#
# Commands:
# p, pick <commit> = use commit
# r, reword <commit> = use commit, but edit the commit message
# e, edit <commit> = use commit, but stop for amending
# s, squash <commit> = use commit, but meld into previous commit
# f, fixup [-C | -c] <commit> = like "squash" but keep only the previous
# commit's log message, unless -C is used, in which case
# keep only this commit's message; -c is same as -C but
# opens the editor
# x, exec <command> = run command (the rest of the line) using shell
# b, break = stop here (continue rebase later with 'git rebase --continue')
# d, drop <commit> = remove commit
# l, label <label> = label current HEAD with a name
# t, reset <label> = reset HEAD to a label
# m, merge [-C <commit> | -c <commit>] <label> [# <oneline>]
# create a merge commit using the original merge commit's
# message (or the oneline, if no original merge commit was
# specified); use -c <commit> to reword the commit message
# u, update-ref <ref> = track a placeholder for the <ref> to be updated
# to this position in the new commits. The <ref> is
# updated at the end of the rebase
#
# These lines can be re-ordered; they are executed from top to bottom.
#
# If you remove a line here THAT COMMIT WILL BE LOST.
#
# However, if you remove everything, the rebase will be aborted.
#
Auto-merging file
CONFLICT (add/add): Merge conflict in file
error: could not apply 97f29be... 2
hint: Resolve all conflicts manually, mark them as resolved with
hint: "git add/rm <conflicted_files>", then run "git rebase --continue".
hint: You can instead skip this commit: run "git rebase --skip".
hint: To abort and get back to the state before "git rebase", run "git rebase --abort".
hint: Disable this message with "git config set advice.mergeConflict false"
Could not apply 97f29be... # 2
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch --diff-merges=separate
* 7e614ef - 2026-10-28 22:54 (1 second ago) 3 - Han Jiang (refs/heads/branch1)
|\
| |
| | diff --git a/file b/file
| | index d00491f..00750ed 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -1
| | +3
| | 7e614ef - 2026-10-28 22:54 (1 second ago) 3 - Han Jiang (refs/heads/branch1)
| |
| | diff --git a/file b/file
| | index 0cfbf08..00750ed 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -2
| | +3
| * 97f29be - 2026-10-28 22:53 (3 seconds ago) 2 - Han Jiang (refs/heads/branch2)
|
| diff --git a/file b/file
| new file mode 100644
| index 0000000..0cfbf08
| --- /dev/null
| +++ b/file
| @@ -0,0 +1 @@
| +2
* fc8e910 - 2026-10-28 22:53 (4 seconds ago) 1 - Han Jiang (HEAD, refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '4' >'./repo/file'; git -C './repo' add './file'; git -C './repo' -c 'core.editor=:' rebase --continue
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[detached HEAD d43bcd4] 2
1 file changed, 1 insertion(+), 1 deletion(-)
Successfully rebased and updated refs/heads/branch1.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch --diff-merges=separate
* d43bcd4 - 2026-10-28 22:53 (5 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/branch1)
|
| diff --git a/file b/file
| index d00491f..b8626c4 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +4
\
* fc8e910 - 2026-10-28 22:53 (6 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
* 97f29be - 2026-10-28 22:53 (5 seconds ago) 2 - Han Jiang (refs/heads/branch2)
diff --git a/file b/file
new file mode 100644
index 0000000..0cfbf08
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"; git -C './repo' branch branch1
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) a592449] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout --orphan branch2; echo '2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
Switched to a new branch 'branch2'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch2 (root-commit) f828a1e] 2
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1
Switched to branch 'branch1'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --message="$((++number))" --allow-unrelated-histories branch2
Auto-merging file
CONFLICT (add/add): Merge conflict in file
Automatic merge failed; fix conflicts and then commit the result.
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '3' >'./repo/file'; git -C './repo' add './file'; git -C './repo' -c 'core.editor=:' merge --continue
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch1 6aff905] 3
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch --diff-merges=separate
* 6aff905 - 2026-10-28 22:54 (1 second ago) 3 - Han Jiang (HEAD -> refs/heads/branch1)
|\
| |
| | diff --git a/file b/file
| | index d00491f..00750ed 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -1
| | +3
| | 6aff905 - 2026-10-28 22:54 (1 second ago) 3 - Han Jiang (HEAD -> refs/heads/branch1)
| |
| | diff --git a/file b/file
| | index 0cfbf08..00750ed 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -2
| | +3
| * f828a1e - 2026-10-28 22:54 (3 seconds ago) 2 - Han Jiang (refs/heads/branch2)
|
| diff --git a/file b/file
| new file mode 100644
| index 0000000..0cfbf08
| --- /dev/null
| +++ b/file
| @@ -0,0 +1 @@
| +2
* a592449 - 2026-10-28 22:54 (4 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' -c 'core.editor=cat' rebase --root --rebase-merges --interactive
hint: Waiting for your editor to close the file... label onto
# Branch branch2
reset [new root]
pick f828a1e # 2
label branch2
reset [new root]
pick a592449 # 1
merge -C 6aff905 branch2 # 3
# Rebase 6aff905 onto 50ebfe4 (7 commands)
#
# Commands:
# p, pick <commit> = use commit
# r, reword <commit> = use commit, but edit the commit message
# e, edit <commit> = use commit, but stop for amending
# s, squash <commit> = use commit, but meld into previous commit
# f, fixup [-C | -c] <commit> = like "squash" but keep only the previous
# commit's log message, unless -C is used, in which case
# keep only this commit's message; -c is same as -C but
# opens the editor
# x, exec <command> = run command (the rest of the line) using shell
# b, break = stop here (continue rebase later with 'git rebase --continue')
# d, drop <commit> = remove commit
# l, label <label> = label current HEAD with a name
# t, reset <label> = reset HEAD to a label
# m, merge [-C <commit> | -c <commit>] <label> [# <oneline>]
# create a merge commit using the original merge commit's
# message (or the oneline, if no original merge commit was
# specified); use -c <commit> to reword the commit message
# u, update-ref <ref> = track a placeholder for the <ref> to be updated
# to this position in the new commits. The <ref> is
# updated at the end of the rebase
#
# These lines can be re-ordered; they are executed from top to bottom.
#
# If you remove a line here THAT COMMIT WILL BE LOST.
#
# However, if you remove everything, the rebase will be aborted.
#
Successfully rebased and updated refs/heads/branch1.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch --diff-merges=separate
* 6aff905 - 2026-10-28 22:54 (2 seconds ago) 3 - Han Jiang (HEAD -> refs/heads/branch1)
|\
| |
| | diff --git a/file b/file
| | index d00491f..00750ed 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -1
| | +3
| | 6aff905 - 2026-10-28 22:54 (2 seconds ago) 3 - Han Jiang (HEAD -> refs/heads/branch1)
| |
| | diff --git a/file b/file
| | index 0cfbf08..00750ed 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -2
| | +3
| * f828a1e - 2026-10-28 22:54 (4 seconds ago) 2 - Han Jiang (refs/heads/branch2)
|
| diff --git a/file b/file
| new file mode 100644
| index 0000000..0cfbf08
| --- /dev/null
| +++ b/file
| @@ -0,0 +1 @@
| +2
* a592449 - 2026-10-28 22:54 (5 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"; git -C './repo' branch branch2
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 2c5a54f] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout -b branch1; echo '2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
Switched to a new branch 'branch1'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch1 c208872] 2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch2; echo '3' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
Switched to branch 'branch2'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch2 554e036] 3
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1
Switched to branch 'branch1'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --message="$((++number))" branch2
Auto-merging file
CONFLICT (content): Merge conflict in file
Automatic merge failed; fix conflicts and then commit the result.
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '4' >'./repo/file'; git -C './repo' add './file'; git -C './repo' -c 'core.editor=:' merge --continue
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch1 36d08b5] 4
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout --orphan branch3; echo '5' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
Switched to a new branch 'branch3'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch3 (root-commit) 5f14a02] 5
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1
Switched to branch 'branch1'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch --diff-merges=separate
* 5f14a02 - 2026-10-28 22:54 (1 second ago) 5 - Han Jiang (refs/heads/branch3)
diff --git a/file b/file
new file mode 100644
index 0000000..7ed6ff8
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+5
* 36d08b5 - 2026-10-28 22:54 (2 seconds ago) 4 - Han Jiang (HEAD -> refs/heads/branch1)
|\
| |
| | diff --git a/file b/file
| | index 0cfbf08..b8626c4 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -2
| | +4
| | 36d08b5 - 2026-10-28 22:54 (2 seconds ago) 4 - Han Jiang (HEAD -> refs/heads/branch1)
| |
| | diff --git a/file b/file
| | index 00750ed..b8626c4 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -3
| | +4
| * 554e036 - 2026-10-28 22:54 (4 seconds ago) 3 - Han Jiang (refs/heads/branch2)
| |
| | diff --git a/file b/file
| | index d00491f..00750ed 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -1
| | +3
* | c208872 - 2026-10-28 22:54 (5 seconds ago) 2 - Han Jiang
|/
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 2c5a54f - 2026-10-28 22:54 (6 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' -c 'core.editor=cat' rebase --onto=branch3 --root --interactive
hint: Waiting for your editor to close the file... pick 2c5a54f # 1
pick c208872 # 2
pick 554e036 # 3
# Rebase 36d08b5 onto 5f14a02 (3 commands)
#
# Commands:
# p, pick <commit> = use commit
# r, reword <commit> = use commit, but edit the commit message
# e, edit <commit> = use commit, but stop for amending
# s, squash <commit> = use commit, but meld into previous commit
# f, fixup [-C | -c] <commit> = like "squash" but keep only the previous
# commit's log message, unless -C is used, in which case
# keep only this commit's message; -c is same as -C but
# opens the editor
# x, exec <command> = run command (the rest of the line) using shell
# b, break = stop here (continue rebase later with 'git rebase --continue')
# d, drop <commit> = remove commit
# l, label <label> = label current HEAD with a name
# t, reset <label> = reset HEAD to a label
# m, merge [-C <commit> | -c <commit>] <label> [# <oneline>]
# create a merge commit using the original merge commit's
# message (or the oneline, if no original merge commit was
# specified); use -c <commit> to reword the commit message
# u, update-ref <ref> = track a placeholder for the <ref> to be updated
# to this position in the new commits. The <ref> is
# updated at the end of the rebase
#
# These lines can be re-ordered; they are executed from top to bottom.
#
# If you remove a line here THAT COMMIT WILL BE LOST.
#
# However, if you remove everything, the rebase will be aborted.
#
Auto-merging file
CONFLICT (add/add): Merge conflict in file
error: could not apply 2c5a54f... 1
hint: Resolve all conflicts manually, mark them as resolved with
hint: "git add/rm <conflicted_files>", then run "git rebase --continue".
hint: You can instead skip this commit: run "git rebase --skip".
hint: To abort and get back to the state before "git rebase", run "git rebase --abort".
hint: Disable this message with "git config set advice.mergeConflict false"
Could not apply 2c5a54f... # 1
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch --diff-merges=separate
* 5f14a02 - 2026-10-28 22:54 (2 seconds ago) 5 - Han Jiang (HEAD, refs/heads/branch3)
diff --git a/file b/file
new file mode 100644
index 0000000..7ed6ff8
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+5
* 36d08b5 - 2026-10-28 22:54 (3 seconds ago) 4 - Han Jiang (refs/heads/branch1)
|\
| |
| | diff --git a/file b/file
| | index 0cfbf08..b8626c4 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -2
| | +4
| | 36d08b5 - 2026-10-28 22:54 (3 seconds ago) 4 - Han Jiang (refs/heads/branch1)
| |
| | diff --git a/file b/file
| | index 00750ed..b8626c4 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -3
| | +4
| * 554e036 - 2026-10-28 22:54 (5 seconds ago) 3 - Han Jiang (refs/heads/branch2)
| |
| | diff --git a/file b/file
| | index d00491f..00750ed 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -1
| | +3
* | c208872 - 2026-10-28 22:54 (6 seconds ago) 2 - Han Jiang
|/
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 2c5a54f - 2026-10-28 22:54 (7 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '6' >'./repo/file'; git -C './repo' add './file'; git -C './repo' -c 'core.editor=:' rebase --continue
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[detached HEAD 50e72f5] 1
1 file changed, 1 insertion(+), 1 deletion(-)
Auto-merging file
CONFLICT (content): Merge conflict in file
error: could not apply c208872... 2
hint: Resolve all conflicts manually, mark them as resolved with
hint: "git add/rm <conflicted_files>", then run "git rebase --continue".
hint: You can instead skip this commit: run "git rebase --skip".
hint: To abort and get back to the state before "git rebase", run "git rebase --abort".
hint: Disable this message with "git config set advice.mergeConflict false"
Could not apply c208872... # 2
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '7' >'./repo/file'; git -C './repo' add './file'; git -C './repo' -c 'core.editor=:' rebase --continue
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[detached HEAD 3a97707] 2
1 file changed, 1 insertion(+), 1 deletion(-)
Auto-merging file
CONFLICT (content): Merge conflict in file
error: could not apply 554e036... 3
hint: Resolve all conflicts manually, mark them as resolved with
hint: "git add/rm <conflicted_files>", then run "git rebase --continue".
hint: You can instead skip this commit: run "git rebase --skip".
hint: To abort and get back to the state before "git rebase", run "git rebase --abort".
hint: Disable this message with "git config set advice.mergeConflict false"
Could not apply 554e036... # 3
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '8' >'./repo/file'; git -C './repo' add './file'; git -C './repo' -c 'core.editor=:' rebase --continue
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[detached HEAD 4434b8f] 3
1 file changed, 1 insertion(+), 1 deletion(-)
Successfully rebased and updated refs/heads/branch1.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch --diff-merges=separate
* 4434b8f - 2026-10-28 22:54 (7 seconds ago) 3 - Han Jiang (HEAD -> refs/heads/branch1)
|
| diff --git a/file b/file
| index 7f8f011..45a4fb7 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -7
| +8
* 3a97707 - 2026-10-28 22:54 (8 seconds ago) 2 - Han Jiang
|
| diff --git a/file b/file
| index 1e8b314..7f8f011 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -6
| +7
* 50e72f5 - 2026-10-28 22:54 (9 seconds ago) 1 - Han Jiang
|
| diff --git a/file b/file
| index 7ed6ff8..1e8b314 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -5
| +6
\
* 5f14a02 - 2026-10-28 22:54 (4 seconds ago) 5 - Han Jiang (refs/heads/branch3)
diff --git a/file b/file
new file mode 100644
index 0000000..7ed6ff8
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+5
* 554e036 - 2026-10-28 22:54 (7 seconds ago) 3 - Han Jiang (refs/heads/branch2)
|
| diff --git a/file b/file
| index d00491f..00750ed 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +3
* 2c5a54f - 2026-10-28 22:54 (9 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"; git -C './repo' branch branch2
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) fd0715b] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout -b branch1; echo '2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
Switched to a new branch 'branch1'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch1 bb3dfa5] 2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch2; echo '3' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
Switched to branch 'branch2'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch2 94dd086] 3
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1
Switched to branch 'branch1'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --message="$((++number))" branch2
Auto-merging file
CONFLICT (content): Merge conflict in file
Automatic merge failed; fix conflicts and then commit the result.
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '4' >'./repo/file'; git -C './repo' add './file'; git -C './repo' -c 'core.editor=:' merge --continue
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch1 64ccf01] 4
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout --orphan branch3; echo '5' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
Switched to a new branch 'branch3'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch3 (root-commit) 95936e7] 5
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1
Switched to branch 'branch1'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch --diff-merges=separate
* 95936e7 - 2026-10-28 22:54 (1 second ago) 5 - Han Jiang (refs/heads/branch3)
diff --git a/file b/file
new file mode 100644
index 0000000..7ed6ff8
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+5
* 64ccf01 - 2026-10-28 22:54 (2 seconds ago) 4 - Han Jiang (HEAD -> refs/heads/branch1)
|\
| |
| | diff --git a/file b/file
| | index 0cfbf08..b8626c4 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -2
| | +4
| | 64ccf01 - 2026-10-28 22:54 (2 seconds ago) 4 - Han Jiang (HEAD -> refs/heads/branch1)
| |
| | diff --git a/file b/file
| | index 00750ed..b8626c4 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -3
| | +4
| * 94dd086 - 2026-10-28 22:54 (3 seconds ago) 3 - Han Jiang (refs/heads/branch2)
| |
| | diff --git a/file b/file
| | index d00491f..00750ed 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -1
| | +3
* | bb3dfa5 - 2026-10-28 22:54 (4 seconds ago) 2 - Han Jiang
|/
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* fd0715b - 2026-10-28 22:54 (5 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' -c 'core.editor=cat' rebase --onto=branch3 --root --rebase-merges --interactive
hint: Waiting for your editor to close the file... label onto
# Branch branch2
reset onto
pick fd0715b # 1
label branch-point
pick 94dd086 # 3
label branch2
reset branch-point # 1
pick bb3dfa5 # 2
merge -C 64ccf01 branch2 # 4
# Rebase 64ccf01 onto 95936e7 (9 commands)
#
# Commands:
# p, pick <commit> = use commit
# r, reword <commit> = use commit, but edit the commit message
# e, edit <commit> = use commit, but stop for amending
# s, squash <commit> = use commit, but meld into previous commit
# f, fixup [-C | -c] <commit> = like "squash" but keep only the previous
# commit's log message, unless -C is used, in which case
# keep only this commit's message; -c is same as -C but
# opens the editor
# x, exec <command> = run command (the rest of the line) using shell
# b, break = stop here (continue rebase later with 'git rebase --continue')
# d, drop <commit> = remove commit
# l, label <label> = label current HEAD with a name
# t, reset <label> = reset HEAD to a label
# m, merge [-C <commit> | -c <commit>] <label> [# <oneline>]
# create a merge commit using the original merge commit's
# message (or the oneline, if no original merge commit was
# specified); use -c <commit> to reword the commit message
# u, update-ref <ref> = track a placeholder for the <ref> to be updated
# to this position in the new commits. The <ref> is
# updated at the end of the rebase
#
# These lines can be re-ordered; they are executed from top to bottom.
#
# If you remove a line here THAT COMMIT WILL BE LOST.
#
# However, if you remove everything, the rebase will be aborted.
#
Auto-merging file
CONFLICT (add/add): Merge conflict in file
error: could not apply fd0715b... 1
hint: Resolve all conflicts manually, mark them as resolved with
hint: "git add/rm <conflicted_files>", then run "git rebase --continue".
hint: You can instead skip this commit: run "git rebase --skip".
hint: To abort and get back to the state before "git rebase", run "git rebase --abort".
hint: Disable this message with "git config set advice.mergeConflict false"
Could not apply fd0715b... # 1
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch --diff-merges=separate
* 95936e7 - 2026-10-28 22:54 (2 seconds ago) 5 - Han Jiang (HEAD, refs/heads/branch3)
diff --git a/file b/file
new file mode 100644
index 0000000..7ed6ff8
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+5
* 64ccf01 - 2026-10-28 22:54 (3 seconds ago) 4 - Han Jiang (refs/heads/branch1)
|\
| |
| | diff --git a/file b/file
| | index 0cfbf08..b8626c4 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -2
| | +4
| | 64ccf01 - 2026-10-28 22:54 (3 seconds ago) 4 - Han Jiang (refs/heads/branch1)
| |
| | diff --git a/file b/file
| | index 00750ed..b8626c4 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -3
| | +4
| * 94dd086 - 2026-10-28 22:54 (4 seconds ago) 3 - Han Jiang (refs/heads/branch2)
| |
| | diff --git a/file b/file
| | index d00491f..00750ed 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -1
| | +3
* | bb3dfa5 - 2026-10-28 22:54 (5 seconds ago) 2 - Han Jiang
|/
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* fd0715b - 2026-10-28 22:54 (6 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '6' >'./repo/file'; git -C './repo' add './file'; git -C './repo' -c 'core.editor=:' rebase --continue
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[detached HEAD 2f5d66b] 1
1 file changed, 1 insertion(+), 1 deletion(-)
Auto-merging file
CONFLICT (content): Merge conflict in file
error: could not apply 94dd086... 3
hint: Resolve all conflicts manually, mark them as resolved with
hint: "git add/rm <conflicted_files>", then run "git rebase --continue".
hint: You can instead skip this commit: run "git rebase --skip".
hint: To abort and get back to the state before "git rebase", run "git rebase --abort".
hint: Disable this message with "git config set advice.mergeConflict false"
Could not apply 94dd086... # 3
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '8' >'./repo/file'; git -C './repo' add './file'; git -C './repo' -c 'core.editor=:' rebase --continue
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[detached HEAD 34a567d] 3
1 file changed, 1 insertion(+), 1 deletion(-)
Auto-merging file
CONFLICT (content): Merge conflict in file
error: could not apply bb3dfa5... 2
hint: Resolve all conflicts manually, mark them as resolved with
hint: "git add/rm <conflicted_files>", then run "git rebase --continue".
hint: You can instead skip this commit: run "git rebase --skip".
hint: To abort and get back to the state before "git rebase", run "git rebase --abort".
hint: Disable this message with "git config set advice.mergeConflict false"
Could not apply bb3dfa5... # 2
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '7' >'./repo/file'; git -C './repo' add './file'; git -C './repo' -c 'core.editor=:' rebase --continue
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[detached HEAD c32ab55] 2
1 file changed, 1 insertion(+), 1 deletion(-)
Auto-merging file
CONFLICT (content): Merge conflict in file
Could not apply 64ccf01... branch2 # 4
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '9' >'./repo/file'; git -C './repo' add './file'; git -C './repo' -c 'core.editor=:' rebase --continue
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[detached HEAD 2be4ab9] 4
Successfully rebased and updated refs/heads/branch1.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch --diff-merges=separate
* 2be4ab9 - 2026-10-28 22:54 (7 seconds ago) 4 - Han Jiang (HEAD -> refs/heads/branch1)
|\
| |
| | diff --git a/file b/file
| | index 7f8f011..ec63514 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -7
| | +9
| | 2be4ab9 - 2026-10-28 22:54 (7 seconds ago) 4 - Han Jiang (HEAD -> refs/heads/branch1)
| |
| | diff --git a/file b/file
| | index 45a4fb7..ec63514 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -8
| | +9
| * 34a567d - 2026-10-28 22:54 (8 seconds ago) 3 - Han Jiang
| |
| | diff --git a/file b/file
| | index 1e8b314..45a4fb7 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -6
| | +8
* | c32ab55 - 2026-10-28 22:54 (9 seconds ago) 2 - Han Jiang
|/
|
| diff --git a/file b/file
| index 1e8b314..7f8f011 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -6
| +7
* 2f5d66b - 2026-10-28 22:54 (10 seconds ago) 1 - Han Jiang
|
| diff --git a/file b/file
| index 7ed6ff8..1e8b314 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -5
| +6
\
* 95936e7 - 2026-10-28 22:54 (6 seconds ago) 5 - Han Jiang (refs/heads/branch3)
diff --git a/file b/file
new file mode 100644
index 0000000..7ed6ff8
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+5
* 94dd086 - 2026-10-28 22:54 (8 seconds ago) 3 - Han Jiang (refs/heads/branch2)
|
| diff --git a/file b/file
| index d00491f..00750ed 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +3
* fd0715b - 2026-10-28 22:54 (10 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"; git -C './repo' branch branch1
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 34c6869] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout --orphan branch2; echo '2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
Switched to a new branch 'branch2'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch2 (root-commit) 019d18c] 2
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1
Switched to branch 'branch1'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --message="$((++number))" --allow-unrelated-histories branch2
Auto-merging file
CONFLICT (add/add): Merge conflict in file
Automatic merge failed; fix conflicts and then commit the result.
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '3' >'./repo/file'; git -C './repo' add './file'; git -C './repo' -c 'core.editor=:' merge --continue
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch1 141286a] 3
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout --orphan branch3; echo '4' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
Switched to a new branch 'branch3'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch3 (root-commit) 34c7d6e] 4
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1
Switched to branch 'branch1'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch --diff-merges=separate
* 34c7d6e - 2026-10-28 22:54 (1 second ago) 4 - Han Jiang (refs/heads/branch3)
diff --git a/file b/file
new file mode 100644
index 0000000..b8626c4
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+4
* 141286a - 2026-10-28 22:54 (2 seconds ago) 3 - Han Jiang (HEAD -> refs/heads/branch1)
|\
| |
| | diff --git a/file b/file
| | index d00491f..00750ed 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -1
| | +3
| | 141286a - 2026-10-28 22:54 (2 seconds ago) 3 - Han Jiang (HEAD -> refs/heads/branch1)
| |
| | diff --git a/file b/file
| | index 0cfbf08..00750ed 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -2
| | +3
| * 019d18c - 2026-10-28 22:54 (4 seconds ago) 2 - Han Jiang (refs/heads/branch2)
|
| diff --git a/file b/file
| new file mode 100644
| index 0000000..0cfbf08
| --- /dev/null
| +++ b/file
| @@ -0,0 +1 @@
| +2
* 34c6869 - 2026-10-28 22:54 (5 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' -c 'core.editor=cat' rebase --onto=branch3 --root --interactive
hint: Waiting for your editor to close the file... pick 34c6869 # 1
pick 019d18c # 2
# Rebase 141286a onto 34c7d6e (2 commands)
#
# Commands:
# p, pick <commit> = use commit
# r, reword <commit> = use commit, but edit the commit message
# e, edit <commit> = use commit, but stop for amending
# s, squash <commit> = use commit, but meld into previous commit
# f, fixup [-C | -c] <commit> = like "squash" but keep only the previous
# commit's log message, unless -C is used, in which case
# keep only this commit's message; -c is same as -C but
# opens the editor
# x, exec <command> = run command (the rest of the line) using shell
# b, break = stop here (continue rebase later with 'git rebase --continue')
# d, drop <commit> = remove commit
# l, label <label> = label current HEAD with a name
# t, reset <label> = reset HEAD to a label
# m, merge [-C <commit> | -c <commit>] <label> [# <oneline>]
# create a merge commit using the original merge commit's
# message (or the oneline, if no original merge commit was
# specified); use -c <commit> to reword the commit message
# u, update-ref <ref> = track a placeholder for the <ref> to be updated
# to this position in the new commits. The <ref> is
# updated at the end of the rebase
#
# These lines can be re-ordered; they are executed from top to bottom.
#
# If you remove a line here THAT COMMIT WILL BE LOST.
#
# However, if you remove everything, the rebase will be aborted.
#
Auto-merging file
CONFLICT (add/add): Merge conflict in file
error: could not apply 34c6869... 1
hint: Resolve all conflicts manually, mark them as resolved with
hint: "git add/rm <conflicted_files>", then run "git rebase --continue".
hint: You can instead skip this commit: run "git rebase --skip".
hint: To abort and get back to the state before "git rebase", run "git rebase --abort".
hint: Disable this message with "git config set advice.mergeConflict false"
Could not apply 34c6869... # 1
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch --diff-merges=separate
* 34c7d6e - 2026-10-28 22:54 (2 seconds ago) 4 - Han Jiang (HEAD, refs/heads/branch3)
diff --git a/file b/file
new file mode 100644
index 0000000..b8626c4
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+4
* 141286a - 2026-10-28 22:54 (3 seconds ago) 3 - Han Jiang (refs/heads/branch1)
|\
| |
| | diff --git a/file b/file
| | index d00491f..00750ed 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -1
| | +3
| | 141286a - 2026-10-28 22:54 (3 seconds ago) 3 - Han Jiang (refs/heads/branch1)
| |
| | diff --git a/file b/file
| | index 0cfbf08..00750ed 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -2
| | +3
| * 019d18c - 2026-10-28 22:54 (5 seconds ago) 2 - Han Jiang (refs/heads/branch2)
|
| diff --git a/file b/file
| new file mode 100644
| index 0000000..0cfbf08
| --- /dev/null
| +++ b/file
| @@ -0,0 +1 @@
| +2
* 34c6869 - 2026-10-28 22:54 (6 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '5' >'./repo/file'; git -C './repo' add './file'; git -C './repo' -c 'core.editor=:' rebase --continue
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[detached HEAD ff30dd2] 1
1 file changed, 1 insertion(+), 1 deletion(-)
Auto-merging file
CONFLICT (add/add): Merge conflict in file
error: could not apply 019d18c... 2
hint: Resolve all conflicts manually, mark them as resolved with
hint: "git add/rm <conflicted_files>", then run "git rebase --continue".
hint: You can instead skip this commit: run "git rebase --skip".
hint: To abort and get back to the state before "git rebase", run "git rebase --abort".
hint: Disable this message with "git config set advice.mergeConflict false"
Could not apply 019d18c... # 2
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '6' >'./repo/file'; git -C './repo' add './file'; git -C './repo' -c 'core.editor=:' rebase --continue
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[detached HEAD e9eddcf] 2
1 file changed, 1 insertion(+), 1 deletion(-)
Successfully rebased and updated refs/heads/branch1.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch --diff-merges=separate
* e9eddcf - 2026-10-28 22:54 (7 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/branch1)
|
| diff --git a/file b/file
| index 7ed6ff8..1e8b314 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -5
| +6
* ff30dd2 - 2026-10-28 22:54 (8 seconds ago) 1 - Han Jiang
|
| diff --git a/file b/file
| index b8626c4..7ed6ff8 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -4
| +5
* 34c7d6e - 2026-10-28 22:54 (4 seconds ago) 4 - Han Jiang (refs/heads/branch3)
diff --git a/file b/file
new file mode 100644
index 0000000..b8626c4
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+4
* 019d18c - 2026-10-28 22:54 (7 seconds ago) 2 - Han Jiang (refs/heads/branch2)
diff --git a/file b/file
new file mode 100644
index 0000000..0cfbf08
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+2
* 34c6869 - 2026-10-28 22:54 (8 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"; git -C './repo' branch branch1
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 6673186] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout --orphan branch2; echo '2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
Switched to a new branch 'branch2'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch2 (root-commit) dc84284] 2
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1
Switched to branch 'branch1'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --message="$((++number))" --allow-unrelated-histories branch2
Auto-merging file
CONFLICT (add/add): Merge conflict in file
Automatic merge failed; fix conflicts and then commit the result.
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '3' >'./repo/file'; git -C './repo' add './file'; git -C './repo' -c 'core.editor=:' merge --continue
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch1 24c4bb4] 3
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout --orphan branch3; echo '4' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
Switched to a new branch 'branch3'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch3 (root-commit) 45c189b] 4
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1
Switched to branch 'branch1'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch --diff-merges=separate
* 45c189b - 2026-10-28 22:55 (1 second ago) 4 - Han Jiang (refs/heads/branch3)
diff --git a/file b/file
new file mode 100644
index 0000000..b8626c4
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+4
* 24c4bb4 - 2026-10-28 22:55 (2 seconds ago) 3 - Han Jiang (HEAD -> refs/heads/branch1)
|\
| |
| | diff --git a/file b/file
| | index d00491f..00750ed 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -1
| | +3
| | 24c4bb4 - 2026-10-28 22:55 (2 seconds ago) 3 - Han Jiang (HEAD -> refs/heads/branch1)
| |
| | diff --git a/file b/file
| | index 0cfbf08..00750ed 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -2
| | +3
| * dc84284 - 2026-10-28 22:54 (3 seconds ago) 2 - Han Jiang (refs/heads/branch2)
|
| diff --git a/file b/file
| new file mode 100644
| index 0000000..0cfbf08
| --- /dev/null
| +++ b/file
| @@ -0,0 +1 @@
| +2
* 6673186 - 2026-10-28 22:54 (4 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' -c 'core.editor=cat' rebase --onto=branch3 --root --rebase-merges --interactive
hint: Waiting for your editor to close the file... label onto
# Branch branch2
reset onto
pick dc84284 # 2
label branch2
reset onto
pick 6673186 # 1
merge -C 24c4bb4 branch2 # 3
# Rebase 24c4bb4 onto 45c189b (7 commands)
#
# Commands:
# p, pick <commit> = use commit
# r, reword <commit> = use commit, but edit the commit message
# e, edit <commit> = use commit, but stop for amending
# s, squash <commit> = use commit, but meld into previous commit
# f, fixup [-C | -c] <commit> = like "squash" but keep only the previous
# commit's log message, unless -C is used, in which case
# keep only this commit's message; -c is same as -C but
# opens the editor
# x, exec <command> = run command (the rest of the line) using shell
# b, break = stop here (continue rebase later with 'git rebase --continue')
# d, drop <commit> = remove commit
# l, label <label> = label current HEAD with a name
# t, reset <label> = reset HEAD to a label
# m, merge [-C <commit> | -c <commit>] <label> [# <oneline>]
# create a merge commit using the original merge commit's
# message (or the oneline, if no original merge commit was
# specified); use -c <commit> to reword the commit message
# u, update-ref <ref> = track a placeholder for the <ref> to be updated
# to this position in the new commits. The <ref> is
# updated at the end of the rebase
#
# These lines can be re-ordered; they are executed from top to bottom.
#
# If you remove a line here THAT COMMIT WILL BE LOST.
#
# However, if you remove everything, the rebase will be aborted.
#
Auto-merging file
CONFLICT (add/add): Merge conflict in file
error: could not apply dc84284... 2
hint: Resolve all conflicts manually, mark them as resolved with
hint: "git add/rm <conflicted_files>", then run "git rebase --continue".
hint: You can instead skip this commit: run "git rebase --skip".
hint: To abort and get back to the state before "git rebase", run "git rebase --abort".
hint: Disable this message with "git config set advice.mergeConflict false"
Could not apply dc84284... # 2
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch --diff-merges=separate
* 45c189b - 2026-10-28 22:55 (2 seconds ago) 4 - Han Jiang (HEAD, refs/heads/branch3)
diff --git a/file b/file
new file mode 100644
index 0000000..b8626c4
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+4
* 24c4bb4 - 2026-10-28 22:55 (3 seconds ago) 3 - Han Jiang (refs/heads/branch1)
|\
| |
| | diff --git a/file b/file
| | index d00491f..00750ed 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -1
| | +3
| | 24c4bb4 - 2026-10-28 22:55 (3 seconds ago) 3 - Han Jiang (refs/heads/branch1)
| |
| | diff --git a/file b/file
| | index 0cfbf08..00750ed 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -2
| | +3
| * dc84284 - 2026-10-28 22:54 (4 seconds ago) 2 - Han Jiang (refs/heads/branch2)
|
| diff --git a/file b/file
| new file mode 100644
| index 0000000..0cfbf08
| --- /dev/null
| +++ b/file
| @@ -0,0 +1 @@
| +2
* 6673186 - 2026-10-28 22:54 (5 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '6' >'./repo/file'; git -C './repo' add './file'; git -C './repo' -c 'core.editor=:' rebase --continue
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[detached HEAD 24b6eba] 2
1 file changed, 1 insertion(+), 1 deletion(-)
Auto-merging file
CONFLICT (add/add): Merge conflict in file
error: could not apply 6673186... 1
hint: Resolve all conflicts manually, mark them as resolved with
hint: "git add/rm <conflicted_files>", then run "git rebase --continue".
hint: You can instead skip this commit: run "git rebase --skip".
hint: To abort and get back to the state before "git rebase", run "git rebase --abort".
hint: Disable this message with "git config set advice.mergeConflict false"
Could not apply 6673186... # 1
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '5' >'./repo/file'; git -C './repo' add './file'; git -C './repo' -c 'core.editor=:' rebase --continue
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[detached HEAD 64b94c4] 1
1 file changed, 1 insertion(+), 1 deletion(-)
Auto-merging file
CONFLICT (content): Merge conflict in file
Could not apply 24c4bb4... branch2 # 3
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '7' >'./repo/file'; git -C './repo' add './file'; git -C './repo' -c 'core.editor=:' rebase --continue
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[detached HEAD 0d091f7] 3
Successfully rebased and updated refs/heads/branch1.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch --diff-merges=separate
* 0d091f7 - 2026-10-28 22:55 (5 seconds ago) 3 - Han Jiang (HEAD -> refs/heads/branch1)
|\
| |
| | diff --git a/file b/file
| | index 7ed6ff8..7f8f011 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -5
| | +7
| | 0d091f7 - 2026-10-28 22:55 (5 seconds ago) 3 - Han Jiang (HEAD -> refs/heads/branch1)
| |
| | diff --git a/file b/file
| | index 1e8b314..7f8f011 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -6
| | +7
| * 24b6eba - 2026-10-28 22:54 (6 seconds ago) 2 - Han Jiang
| |
| | diff --git a/file b/file
| | index b8626c4..1e8b314 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -4
| | +6
* | 64b94c4 - 2026-10-28 22:54 (7 seconds ago) 1 - Han Jiang
|/
|
| diff --git a/file b/file
| index b8626c4..7ed6ff8 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -4
| +5
* 45c189b - 2026-10-28 22:55 (4 seconds ago) 4 - Han Jiang (refs/heads/branch3)
diff --git a/file b/file
new file mode 100644
index 0000000..b8626c4
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+4
* dc84284 - 2026-10-28 22:54 (6 seconds ago) 2 - Han Jiang (refs/heads/branch2)
diff --git a/file b/file
new file mode 100644
index 0000000..0cfbf08
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+2
* 6673186 - 2026-10-28 22:54 (7 seconds ago) 1 - Han Jiang (refs/heads/master)
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ branch_default_name="$(git -C './repo' branch --show-current)"; echo "$branch_default_name"
master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"; git -C './repo' branch branch1
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) 225d333] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"; git -C './repo' branch branch2
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master f7f062a] 2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '3' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master 0f62c58] 3
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1; echo '4' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
Switched to branch 'branch1'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch1 f7890fa] 4
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch2; echo '5' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
Switched to branch 'branch2'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch2 f184e2f] 5
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1
Switched to branch 'branch1'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --message="$((++number))" branch2
Auto-merging file
CONFLICT (content): Merge conflict in file
Automatic merge failed; fix conflicts and then commit the result.
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '6' >'./repo/file'; git -C './repo' add './file'; git -C './repo' -c 'core.editor=:' merge --continue
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch1 bc89096] 6
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout --orphan branch3; echo '7' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
Switched to a new branch 'branch3'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch3 (root-commit) 6f3aeab] 7
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1
Switched to branch 'branch1'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --message="$((++number))" --allow-unrelated-histories branch3
Auto-merging file
CONFLICT (add/add): Merge conflict in file
Automatic merge failed; fix conflicts and then commit the result.
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '8' >'./repo/file'; git -C './repo' add './file'; git -C './repo' -c 'core.editor=:' merge --continue
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch1 a96561b] 8
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch --diff-merges=separate
* a96561b - 2026-10-28 22:55 (0 seconds ago) 8 - Han Jiang (HEAD -> refs/heads/branch1)
|\
| |
| | diff --git a/file b/file
| | index 1e8b314..45a4fb7 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -6
| | +8
| | a96561b - 2026-10-28 22:55 (0 seconds ago) 8 - Han Jiang (HEAD -> refs/heads/branch1)
| |
| | diff --git a/file b/file
| | index 7f8f011..45a4fb7 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -7
| | +8
| * 6f3aeab - 2026-10-28 22:55 (2 seconds ago) 7 - Han Jiang (refs/heads/branch3)
|
| diff --git a/file b/file
| new file mode 100644
| index 0000000..7f8f011
| --- /dev/null
| +++ b/file
| @@ -0,0 +1 @@
| +7
* bc89096 - 2026-10-28 22:55 (2 seconds ago) 6 - Han Jiang
|\
| |
| | diff --git a/file b/file
| | index b8626c4..1e8b314 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -4
| | +6
| | bc89096 - 2026-10-28 22:55 (2 seconds ago) 6 - Han Jiang
| |
| | diff --git a/file b/file
| | index 7ed6ff8..1e8b314 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -5
| | +6
| * f184e2f - 2026-10-28 22:55 (4 seconds ago) 5 - Han Jiang (refs/heads/branch2)
| |
| | diff --git a/file b/file
| | index 0cfbf08..7ed6ff8 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -2
| | +5
* | f7890fa - 2026-10-28 22:55 (5 seconds ago) 4 - Han Jiang
| |
| | diff --git a/file b/file
| | index d00491f..b8626c4 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -1
| | +4
| | * 0f62c58 - 2026-10-28 22:55 (6 seconds ago) 3 - Han Jiang (refs/heads/master)
| |/
| |
| | diff --git a/file b/file
| | index 0cfbf08..00750ed 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -2
| | +3
| * f7f062a - 2026-10-28 22:55 (6 seconds ago) 2 - Han Jiang
|/
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 225d333 - 2026-10-28 22:55 (7 seconds ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' -c 'core.editor=cat' rebase --interactive "$branch_default_name" branch1
hint: Waiting for your editor to close the file... pick f7890fa # 4
pick f184e2f # 5
pick 6f3aeab # 7
# Rebase 0f62c58..a96561b onto 0f62c58 (3 commands)
#
# Commands:
# p, pick <commit> = use commit
# r, reword <commit> = use commit, but edit the commit message
# e, edit <commit> = use commit, but stop for amending
# s, squash <commit> = use commit, but meld into previous commit
# f, fixup [-C | -c] <commit> = like "squash" but keep only the previous
# commit's log message, unless -C is used, in which case
# keep only this commit's message; -c is same as -C but
# opens the editor
# x, exec <command> = run command (the rest of the line) using shell
# b, break = stop here (continue rebase later with 'git rebase --continue')
# d, drop <commit> = remove commit
# l, label <label> = label current HEAD with a name
# t, reset <label> = reset HEAD to a label
# m, merge [-C <commit> | -c <commit>] <label> [# <oneline>]
# create a merge commit using the original merge commit's
# message (or the oneline, if no original merge commit was
# specified); use -c <commit> to reword the commit message
# u, update-ref <ref> = track a placeholder for the <ref> to be updated
# to this position in the new commits. The <ref> is
# updated at the end of the rebase
#
# These lines can be re-ordered; they are executed from top to bottom.
#
# If you remove a line here THAT COMMIT WILL BE LOST.
#
# However, if you remove everything, the rebase will be aborted.
#
Auto-merging file
CONFLICT (content): Merge conflict in file
error: could not apply f7890fa... 4
hint: Resolve all conflicts manually, mark them as resolved with
hint: "git add/rm <conflicted_files>", then run "git rebase --continue".
hint: You can instead skip this commit: run "git rebase --skip".
hint: To abort and get back to the state before "git rebase", run "git rebase --abort".
hint: Disable this message with "git config set advice.mergeConflict false"
Could not apply f7890fa... # 4
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch --diff-merges=separate
* a96561b - 2026-10-28 22:55 (1 second ago) 8 - Han Jiang (refs/heads/branch1)
|\
| |
| | diff --git a/file b/file
| | index 1e8b314..45a4fb7 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -6
| | +8
| | a96561b - 2026-10-28 22:55 (1 second ago) 8 - Han Jiang (refs/heads/branch1)
| |
| | diff --git a/file b/file
| | index 7f8f011..45a4fb7 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -7
| | +8
| * 6f3aeab - 2026-10-28 22:55 (3 seconds ago) 7 - Han Jiang (refs/heads/branch3)
|
| diff --git a/file b/file
| new file mode 100644
| index 0000000..7f8f011
| --- /dev/null
| +++ b/file
| @@ -0,0 +1 @@
| +7
* bc89096 - 2026-10-28 22:55 (3 seconds ago) 6 - Han Jiang
|\
| |
| | diff --git a/file b/file
| | index b8626c4..1e8b314 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -4
| | +6
| | bc89096 - 2026-10-28 22:55 (3 seconds ago) 6 - Han Jiang
| |
| | diff --git a/file b/file
| | index 7ed6ff8..1e8b314 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -5
| | +6
| * f184e2f - 2026-10-28 22:55 (5 seconds ago) 5 - Han Jiang (refs/heads/branch2)
| |
| | diff --git a/file b/file
| | index 0cfbf08..7ed6ff8 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -2
| | +5
* | f7890fa - 2026-10-28 22:55 (6 seconds ago) 4 - Han Jiang
| |
| | diff --git a/file b/file
| | index d00491f..b8626c4 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -1
| | +4
| | * 0f62c58 - 2026-10-28 22:55 (7 seconds ago) 3 - Han Jiang (HEAD, refs/heads/master)
| |/
| |
| | diff --git a/file b/file
| | index 0cfbf08..00750ed 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -2
| | +3
| * f7f062a - 2026-10-28 22:55 (7 seconds ago) 2 - Han Jiang
|/
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 225d333 - 2026-10-28 22:55 (8 seconds ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '9' >'./repo/file'; git -C './repo' add './file'; git -C './repo' -c 'core.editor=:' rebase --continue
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[detached HEAD b0f6899] 4
1 file changed, 1 insertion(+), 1 deletion(-)
Auto-merging file
CONFLICT (content): Merge conflict in file
error: could not apply f184e2f... 5
hint: Resolve all conflicts manually, mark them as resolved with
hint: "git add/rm <conflicted_files>", then run "git rebase --continue".
hint: You can instead skip this commit: run "git rebase --skip".
hint: To abort and get back to the state before "git rebase", run "git rebase --abort".
hint: Disable this message with "git config set advice.mergeConflict false"
Could not apply f184e2f... # 5
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '10' >'./repo/file'; git -C './repo' add './file'; git -C './repo' -c 'core.editor=:' rebase --continue
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[detached HEAD a5f9325] 5
1 file changed, 1 insertion(+), 1 deletion(-)
Auto-merging file
CONFLICT (add/add): Merge conflict in file
error: could not apply 6f3aeab... 7
hint: Resolve all conflicts manually, mark them as resolved with
hint: "git add/rm <conflicted_files>", then run "git rebase --continue".
hint: You can instead skip this commit: run "git rebase --skip".
hint: To abort and get back to the state before "git rebase", run "git rebase --abort".
hint: Disable this message with "git config set advice.mergeConflict false"
Could not apply 6f3aeab... # 7
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '11' >'./repo/file'; git -C './repo' add './file'; git -C './repo' -c 'core.editor=:' rebase --continue
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[detached HEAD 579b697] 7
1 file changed, 1 insertion(+), 1 deletion(-)
Successfully rebased and updated refs/heads/branch1.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch --diff-merges=separate
* 579b697 - 2026-10-28 22:55 (6 seconds ago) 7 - Han Jiang (HEAD -> refs/heads/branch1)
|
| diff --git a/file b/file
| index f599e28..b4de394 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -10
| +11
* a5f9325 - 2026-10-28 22:55 (8 seconds ago) 5 - Han Jiang
|
| diff --git a/file b/file
| index ec63514..f599e28 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -9
| +10
* b0f6899 - 2026-10-28 22:55 (9 seconds ago) 4 - Han Jiang
|
| diff --git a/file b/file
| index 00750ed..ec63514 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -3
| +9
* 0f62c58 - 2026-10-28 22:55 (10 seconds ago) 3 - Han Jiang (refs/heads/master)
|
| diff --git a/file b/file
| index 0cfbf08..00750ed 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -2
| +3
| * 6f3aeab - 2026-10-28 22:55 (6 seconds ago) 7 - Han Jiang (refs/heads/branch3)
|
| diff --git a/file b/file
| new file mode 100644
| index 0000000..7f8f011
| --- /dev/null
| +++ b/file
| @@ -0,0 +1 @@
| +7
| * f184e2f - 2026-10-28 22:55 (8 seconds ago) 5 - Han Jiang (refs/heads/branch2)
|/
|
| diff --git a/file b/file
| index 0cfbf08..7ed6ff8 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -2
| +5
* f7f062a - 2026-10-28 22:55 (10 seconds ago) 2 - Han Jiang
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* 225d333 - 2026-10-28 22:55 (11 seconds ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ branch_default_name="$(git -C './repo' branch --show-current)"; echo "$branch_default_name"
master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"; git -C './repo' branch branch1
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) d2c78e3] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"; git -C './repo' branch branch2
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master 15bd5b8] 2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '3' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master 7092034] 3
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1; echo '4' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
Switched to branch 'branch1'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch1 6244196] 4
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch2; echo '5' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
Switched to branch 'branch2'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch2 bc8890f] 5
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1
Switched to branch 'branch1'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --message="$((++number))" branch2
Auto-merging file
CONFLICT (content): Merge conflict in file
Automatic merge failed; fix conflicts and then commit the result.
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '6' >'./repo/file'; git -C './repo' add './file'; git -C './repo' -c 'core.editor=:' merge --continue
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch1 28d7559] 6
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout --orphan branch3; echo '7' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
Switched to a new branch 'branch3'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch3 (root-commit) 4567b24] 7
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1
Switched to branch 'branch1'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --message="$((++number))" --allow-unrelated-histories branch3
Auto-merging file
CONFLICT (add/add): Merge conflict in file
Automatic merge failed; fix conflicts and then commit the result.
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '8' >'./repo/file'; git -C './repo' add './file'; git -C './repo' -c 'core.editor=:' merge --continue
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch1 4757096] 8
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch --diff-merges=separate
* 4757096 - 2026-10-28 22:55 (1 second ago) 8 - Han Jiang (HEAD -> refs/heads/branch1)
|\
| |
| | diff --git a/file b/file
| | index 1e8b314..45a4fb7 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -6
| | +8
| | 4757096 - 2026-10-28 22:55 (1 second ago) 8 - Han Jiang (HEAD -> refs/heads/branch1)
| |
| | diff --git a/file b/file
| | index 7f8f011..45a4fb7 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -7
| | +8
| * 4567b24 - 2026-10-28 22:55 (2 seconds ago) 7 - Han Jiang (refs/heads/branch3)
|
| diff --git a/file b/file
| new file mode 100644
| index 0000000..7f8f011
| --- /dev/null
| +++ b/file
| @@ -0,0 +1 @@
| +7
* 28d7559 - 2026-10-28 22:55 (3 seconds ago) 6 - Han Jiang
|\
| |
| | diff --git a/file b/file
| | index b8626c4..1e8b314 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -4
| | +6
| | 28d7559 - 2026-10-28 22:55 (3 seconds ago) 6 - Han Jiang
| |
| | diff --git a/file b/file
| | index 7ed6ff8..1e8b314 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -5
| | +6
| * bc8890f - 2026-10-28 22:55 (5 seconds ago) 5 - Han Jiang (refs/heads/branch2)
| |
| | diff --git a/file b/file
| | index 0cfbf08..7ed6ff8 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -2
| | +5
* | 6244196 - 2026-10-28 22:55 (5 seconds ago) 4 - Han Jiang
| |
| | diff --git a/file b/file
| | index d00491f..b8626c4 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -1
| | +4
| | * 7092034 - 2026-10-28 22:55 (6 seconds ago) 3 - Han Jiang (refs/heads/master)
| |/
| |
| | diff --git a/file b/file
| | index 0cfbf08..00750ed 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -2
| | +3
| * 15bd5b8 - 2026-10-28 22:55 (7 seconds ago) 2 - Han Jiang
|/
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* d2c78e3 - 2026-10-28 22:55 (8 seconds ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' -c 'core.editor=cat' rebase --interactive --rebase-merges=no-rebase-cousins "$branch_default_name" branch1
hint: Waiting for your editor to close the file... label onto
# Branch branch2
reset onto
pick bc8890f # 5
label branch2
# Branch branch3
reset [new root]
pick 4567b24 # 7
label branch3
reset d2c78e3 # 1
pick 6244196 # 4
merge -C 28d7559 branch2 # 6
merge -C 4757096 branch3 # 8
# Rebase 7092034..4757096 onto 7092034 (11 commands)
#
# Commands:
# p, pick <commit> = use commit
# r, reword <commit> = use commit, but edit the commit message
# e, edit <commit> = use commit, but stop for amending
# s, squash <commit> = use commit, but meld into previous commit
# f, fixup [-C | -c] <commit> = like "squash" but keep only the previous
# commit's log message, unless -C is used, in which case
# keep only this commit's message; -c is same as -C but
# opens the editor
# x, exec <command> = run command (the rest of the line) using shell
# b, break = stop here (continue rebase later with 'git rebase --continue')
# d, drop <commit> = remove commit
# l, label <label> = label current HEAD with a name
# t, reset <label> = reset HEAD to a label
# m, merge [-C <commit> | -c <commit>] <label> [# <oneline>]
# create a merge commit using the original merge commit's
# message (or the oneline, if no original merge commit was
# specified); use -c <commit> to reword the commit message
# u, update-ref <ref> = track a placeholder for the <ref> to be updated
# to this position in the new commits. The <ref> is
# updated at the end of the rebase
#
# These lines can be re-ordered; they are executed from top to bottom.
#
# If you remove a line here THAT COMMIT WILL BE LOST.
#
# However, if you remove everything, the rebase will be aborted.
#
Auto-merging file
CONFLICT (content): Merge conflict in file
error: could not apply bc8890f... 5
hint: Resolve all conflicts manually, mark them as resolved with
hint: "git add/rm <conflicted_files>", then run "git rebase --continue".
hint: You can instead skip this commit: run "git rebase --skip".
hint: To abort and get back to the state before "git rebase", run "git rebase --abort".
hint: Disable this message with "git config set advice.mergeConflict false"
Could not apply bc8890f... # 5
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '9' >'./repo/file'; git -C './repo' add './file'; git -C './repo' -c 'core.editor=:' rebase --continue
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[detached HEAD 60ad88a] 5
1 file changed, 1 insertion(+), 1 deletion(-)
Auto-merging file
CONFLICT (content): Merge conflict in file
Could not apply 28d7559... branch2 # 6
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '10' >'./repo/file'; git -C './repo' add './file'; git -C './repo' -c 'core.editor=:' rebase --continue
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[detached HEAD 16fca75] 6
Auto-merging file
CONFLICT (add/add): Merge conflict in file
Could not apply 4757096... branch3 # 8
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '11' >'./repo/file'; git -C './repo' add './file'; git -C './repo' -c 'core.editor=:' rebase --continue
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[detached HEAD 3032dfb] 8
Successfully rebased and updated refs/heads/branch1.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch --diff-merges=separate
* 3032dfb - 2026-10-28 22:55 (4 seconds ago) 8 - Han Jiang (HEAD -> refs/heads/branch1)
|\
| |
| | diff --git a/file b/file
| | index f599e28..b4de394 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -10
| | +11
| | 3032dfb - 2026-10-28 22:55 (4 seconds ago) 8 - Han Jiang (HEAD -> refs/heads/branch1)
| |
| | diff --git a/file b/file
| | index 7f8f011..b4de394 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -7
| | +11
| * 4567b24 - 2026-10-28 22:55 (5 seconds ago) 7 - Han Jiang (refs/heads/branch3)
|
| diff --git a/file b/file
| new file mode 100644
| index 0000000..7f8f011
| --- /dev/null
| +++ b/file
| @@ -0,0 +1 @@
| +7
* 16fca75 - 2026-10-28 22:55 (6 seconds ago) 6 - Han Jiang
|\
| |
| | diff --git a/file b/file
| | index b8626c4..f599e28 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -4
| | +10
| | 16fca75 - 2026-10-28 22:55 (6 seconds ago) 6 - Han Jiang
| |
| | diff --git a/file b/file
| | index ec63514..f599e28 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -9
| | +10
| * 60ad88a - 2026-10-28 22:55 (8 seconds ago) 5 - Han Jiang
| |
| | diff --git a/file b/file
| | index 00750ed..ec63514 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -3
| | +9
| * 7092034 - 2026-10-28 22:55 (9 seconds ago) 3 - Han Jiang (refs/heads/master)
| |
| | diff --git a/file b/file
| | index 0cfbf08..00750ed 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -2
| | +3
* | 6244196 - 2026-10-28 22:55 (8 seconds ago) 4 - Han Jiang
| |
| | diff --git a/file b/file
| | index d00491f..b8626c4 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -1
| | +4
| | * bc8890f - 2026-10-28 22:55 (8 seconds ago) 5 - Han Jiang (refs/heads/branch2)
| |/
| |
| | diff --git a/file b/file
| | index 0cfbf08..7ed6ff8 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -2
| | +5
| * 15bd5b8 - 2026-10-28 22:55 (10 seconds ago) 2 - Han Jiang
|/
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* d2c78e3 - 2026-10-28 22:55 (11 seconds ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ branch_default_name="$(git -C './repo' branch --show-current)"; echo "$branch_default_name"
master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '1' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"; git -C './repo' branch branch1
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) cc78d50] 1
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '2' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"; git -C './repo' branch branch2
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master 2bf62a2] 2
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '3' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[master 10c5c04] 3
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1; echo '4' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
Switched to branch 'branch1'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch1 1fa8332] 4
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch2; echo '5' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
Switched to branch 'branch2'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch2 22491b3] 5
1 file changed, 1 insertion(+), 1 deletion(-)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1
Switched to branch 'branch1'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --message="$((++number))" branch2
Auto-merging file
CONFLICT (content): Merge conflict in file
Automatic merge failed; fix conflicts and then commit the result.
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '6' >'./repo/file'; git -C './repo' add './file'; git -C './repo' -c 'core.editor=:' merge --continue
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch1 a6c9d7c] 6
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout --orphan branch3; echo '7' >'./repo/file'; git -C './repo' add './file'; git -C './repo' commit --message="$((++number))"
Switched to a new branch 'branch3'
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch3 (root-commit) de5000b] 7
1 file changed, 1 insertion(+)
create mode 100644 file
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1
Switched to branch 'branch1'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' merge --message="$((++number))" --allow-unrelated-histories branch3
Auto-merging file
CONFLICT (add/add): Merge conflict in file
Automatic merge failed; fix conflicts and then commit the result.
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '8' >'./repo/file'; git -C './repo' add './file'; git -C './repo' -c 'core.editor=:' merge --continue
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[branch1 572b7e8] 8
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch --diff-merges=separate
* 572b7e8 - 2026-10-28 22:55 (0 seconds ago) 8 - Han Jiang (HEAD -> refs/heads/branch1)
|\
| |
| | diff --git a/file b/file
| | index 1e8b314..45a4fb7 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -6
| | +8
| | 572b7e8 - 2026-10-28 22:55 (0 seconds ago) 8 - Han Jiang (HEAD -> refs/heads/branch1)
| |
| | diff --git a/file b/file
| | index 7f8f011..45a4fb7 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -7
| | +8
| * de5000b - 2026-10-28 22:55 (2 seconds ago) 7 - Han Jiang (refs/heads/branch3)
|
| diff --git a/file b/file
| new file mode 100644
| index 0000000..7f8f011
| --- /dev/null
| +++ b/file
| @@ -0,0 +1 @@
| +7
* a6c9d7c - 2026-10-28 22:55 (3 seconds ago) 6 - Han Jiang
|\
| |
| | diff --git a/file b/file
| | index b8626c4..1e8b314 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -4
| | +6
| | a6c9d7c - 2026-10-28 22:55 (3 seconds ago) 6 - Han Jiang
| |
| | diff --git a/file b/file
| | index 7ed6ff8..1e8b314 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -5
| | +6
| * 22491b3 - 2026-10-28 22:55 (4 seconds ago) 5 - Han Jiang (refs/heads/branch2)
| |
| | diff --git a/file b/file
| | index 0cfbf08..7ed6ff8 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -2
| | +5
* | 1fa8332 - 2026-10-28 22:55 (5 seconds ago) 4 - Han Jiang
| |
| | diff --git a/file b/file
| | index d00491f..b8626c4 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -1
| | +4
| | * 10c5c04 - 2026-10-28 22:55 (6 seconds ago) 3 - Han Jiang (refs/heads/master)
| |/
| |
| | diff --git a/file b/file
| | index 0cfbf08..00750ed 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -2
| | +3
| * 2bf62a2 - 2026-10-28 22:55 (7 seconds ago) 2 - Han Jiang
|/
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* cc78d50 - 2026-10-28 22:55 (7 seconds ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' -c 'core.editor=cat' rebase --interactive --rebase-merges=rebase-cousins "$branch_default_name" branch1
hint: Waiting for your editor to close the file... label onto
# Branch branch2
reset onto
pick 22491b3 # 5
label branch2
# Branch branch3
reset onto
pick de5000b # 7
label branch3
reset onto
pick 1fa8332 # 4
merge -C a6c9d7c branch2 # 6
merge -C 572b7e8 branch3 # 8
# Rebase 10c5c04..572b7e8 onto 10c5c04 (11 commands)
#
# Commands:
# p, pick <commit> = use commit
# r, reword <commit> = use commit, but edit the commit message
# e, edit <commit> = use commit, but stop for amending
# s, squash <commit> = use commit, but meld into previous commit
# f, fixup [-C | -c] <commit> = like "squash" but keep only the previous
# commit's log message, unless -C is used, in which case
# keep only this commit's message; -c is same as -C but
# opens the editor
# x, exec <command> = run command (the rest of the line) using shell
# b, break = stop here (continue rebase later with 'git rebase --continue')
# d, drop <commit> = remove commit
# l, label <label> = label current HEAD with a name
# t, reset <label> = reset HEAD to a label
# m, merge [-C <commit> | -c <commit>] <label> [# <oneline>]
# create a merge commit using the original merge commit's
# message (or the oneline, if no original merge commit was
# specified); use -c <commit> to reword the commit message
# u, update-ref <ref> = track a placeholder for the <ref> to be updated
# to this position in the new commits. The <ref> is
# updated at the end of the rebase
#
# These lines can be re-ordered; they are executed from top to bottom.
#
# If you remove a line here THAT COMMIT WILL BE LOST.
#
# However, if you remove everything, the rebase will be aborted.
#
Auto-merging file
CONFLICT (content): Merge conflict in file
error: could not apply 22491b3... 5
hint: Resolve all conflicts manually, mark them as resolved with
hint: "git add/rm <conflicted_files>", then run "git rebase --continue".
hint: You can instead skip this commit: run "git rebase --skip".
hint: To abort and get back to the state before "git rebase", run "git rebase --abort".
hint: Disable this message with "git config set advice.mergeConflict false"
Could not apply 22491b3... # 5
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '10' >'./repo/file'; git -C './repo' add './file'; git -C './repo' -c 'core.editor=:' rebase --continue
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[detached HEAD 8b8af81] 5
1 file changed, 1 insertion(+), 1 deletion(-)
Auto-merging file
CONFLICT (add/add): Merge conflict in file
error: could not apply de5000b... 7
hint: Resolve all conflicts manually, mark them as resolved with
hint: "git add/rm <conflicted_files>", then run "git rebase --continue".
hint: You can instead skip this commit: run "git rebase --skip".
hint: To abort and get back to the state before "git rebase", run "git rebase --abort".
hint: Disable this message with "git config set advice.mergeConflict false"
Could not apply de5000b... # 7
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '12' >'./repo/file'; git -C './repo' add './file'; git -C './repo' -c 'core.editor=:' rebase --continue
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[detached HEAD 1722697] 7
1 file changed, 1 insertion(+), 1 deletion(-)
Auto-merging file
CONFLICT (content): Merge conflict in file
error: could not apply 1fa8332... 4
hint: Resolve all conflicts manually, mark them as resolved with
hint: "git add/rm <conflicted_files>", then run "git rebase --continue".
hint: You can instead skip this commit: run "git rebase --skip".
hint: To abort and get back to the state before "git rebase", run "git rebase --abort".
hint: Disable this message with "git config set advice.mergeConflict false"
Could not apply 1fa8332... # 4
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '9' >'./repo/file'; git -C './repo' add './file'; git -C './repo' -c 'core.editor=:' rebase --continue
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[detached HEAD db0e14c] 4
1 file changed, 1 insertion(+), 1 deletion(-)
Auto-merging file
CONFLICT (content): Merge conflict in file
Could not apply a6c9d7c... branch2 # 6
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '11' >'./repo/file'; git -C './repo' add './file'; git -C './repo' -c 'core.editor=:' rebase --continue
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[detached HEAD 1544c9f] 6
Auto-merging file
CONFLICT (content): Merge conflict in file
Could not apply 572b7e8... branch3 # 8
jhcarl0814@jhcarl0814 UCRT64 $?=1 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ echo '13' >'./repo/file'; git -C './repo' add './file'; git -C './repo' -c 'core.editor=:' rebase --continue
warning: in the working copy of 'file', LF will be replaced by CRLF the next time Git touches it
[detached HEAD 3588383] 8
Successfully rebased and updated refs/heads/branch1.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch --diff-merges=separate
* 3588383 - 2026-10-28 22:55 (5 seconds ago) 8 - Han Jiang (HEAD -> refs/heads/branch1)
|\
| |
| | diff --git a/file b/file
| | index b4de394..b1bd38b 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -11
| | +13
| | 3588383 - 2026-10-28 22:55 (5 seconds ago) 8 - Han Jiang (HEAD -> refs/heads/branch1)
| |
| | diff --git a/file b/file
| | index 48082f7..b1bd38b 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -12
| | +13
| * 1722697 - 2026-10-28 22:55 (7 seconds ago) 7 - Han Jiang
| |
| | diff --git a/file b/file
| | index 00750ed..48082f7 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -3
| | +12
* | 1544c9f - 2026-10-28 22:55 (8 seconds ago) 6 - Han Jiang
|\ \
| | |
| | | diff --git a/file b/file
| | | index ec63514..b4de394 100644
| | | --- a/file
| | | +++ b/file
| | | @@ -1 +1 @@
| | | -9
| | | +11
| | | 1544c9f - 2026-10-28 22:55 (8 seconds ago) 6 - Han Jiang
| | |
| | | diff --git a/file b/file
| | | index f599e28..b4de394 100644
| | | --- a/file
| | | +++ b/file
| | | @@ -1 +1 @@
| | | -10
| | | +11
| * | 8b8af81 - 2026-10-28 22:55 (9 seconds ago) 5 - Han Jiang
| |/
| |
| | diff --git a/file b/file
| | index 00750ed..f599e28 100644
| | --- a/file
| | +++ b/file
| | @@ -1 +1 @@
| | -3
| | +10
* / db0e14c - 2026-10-28 22:55 (10 seconds ago) 4 - Han Jiang
|/
|
| diff --git a/file b/file
| index 00750ed..ec63514 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -3
| +9
* 10c5c04 - 2026-10-28 22:55 (11 seconds ago) 3 - Han Jiang (refs/heads/master)
|
| diff --git a/file b/file
| index 0cfbf08..00750ed 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -2
| +3
| * de5000b - 2026-10-28 22:55 (7 seconds ago) 7 - Han Jiang (refs/heads/branch3)
|
| diff --git a/file b/file
| new file mode 100644
| index 0000000..7f8f011
| --- /dev/null
| +++ b/file
| @@ -0,0 +1 @@
| +7
| * 22491b3 - 2026-10-28 22:55 (9 seconds ago) 5 - Han Jiang (refs/heads/branch2)
|/
|
| diff --git a/file b/file
| index 0cfbf08..7ed6ff8 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -2
| +5
* 2bf62a2 - 2026-10-28 22:55 (12 seconds ago) 2 - Han Jiang
|
| diff --git a/file b/file
| index d00491f..0cfbf08 100644
| --- a/file
| +++ b/file
| @@ -1 +1 @@
| -1
| +2
* cc78d50 - 2026-10-28 22:55 (12 seconds ago) 1 - Han Jiang
diff --git a/file b/file
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/file
@@ -0,0 +1 @@
+1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty; git -C './repo' branch branch3; git -C './repo' tag tag1; git -C './repo' branch branch2
[master (root-commit) b15e507] 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout -b branch1; git -C './repo' commit --message="$((++number))" --allow-empty; git -C './repo' branch branch4; git -C './repo' tag tag2
Switched to a new branch 'branch1'
[branch1 2b8a1f0] 2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch2; git -C './repo' commit --message="$((++number))" --allow-empty; git -C './repo' branch branch5; git -C './repo' tag tag3
Switched to branch 'branch2'
[branch2 f72627e] 3
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1
Switched to branch 'branch1'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* f72627e - 2026-10-28 22:56 (1 second ago) 3 - Han Jiang (tag: refs/tags/tag3, refs/heads/branch5, refs/heads/branch2)
| * 2b8a1f0 - 2026-10-28 22:56 (2 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/branch1, tag: refs/tags/tag2, refs/heads/branch4)
|/
* b15e507 - 2026-10-28 22:56 (3 seconds ago) 1 - Han Jiang (tag: refs/tags/tag1, refs/heads/master, refs/heads/branch3)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' rebase branch2 branch1
Successfully rebased and updated refs/heads/branch1.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* bef0617 - 2026-10-28 22:56 (3 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/branch1)
* f72627e - 2026-10-28 22:56 (2 seconds ago) 3 - Han Jiang (tag: refs/tags/tag3, refs/heads/branch5,
refs/heads/branch2)
| * 2b8a1f0 - 2026-10-28 22:56 (3 seconds ago) 2 - Han Jiang (tag: refs/tags/tag2, refs/heads/branch4)
|/
* b15e507 - 2026-10-28 22:56 (4 seconds ago) 1 - Han Jiang (tag: refs/tags/tag1, refs/heads/master, refs/heads/branch3)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' commit --message="$((++number))" --allow-empty; git -C './repo' branch branch3; git -C './repo' tag tag1; git -C './repo' branch branch2
[master (root-commit) 9ad268e] 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout -b branch1; git -C './repo' commit --message="$((++number))" --allow-empty; git -C './repo' branch branch41; git -C './repo' branch branch42; git -C './repo' tag tag2
Switched to a new branch 'branch1'
[branch1 1d17b6e] 2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch2; git -C './repo' commit --message="$((++number))" --allow-empty; git -C './repo' branch branch5; git -C './repo' tag tag3
Switched to branch 'branch2'
[branch2 36265c3] 3
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' checkout branch1
Switched to branch 'branch1'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' worktree add '../worktree' branch41
Preparing worktree (checking out 'branch41')
HEAD is now at 1d17b6e 2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* 1d17b6e - 2026-10-28 22:56 (2 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/branch1, tag: refs/tags/tag2, refs/heads/branch42, refs/heads/branch41)
| * 36265c3 - 2026-10-28 22:56 (2 seconds ago) 3 - Han Jiang (tag: refs/tags/tag3, refs/heads/branch5, refs/heads/branch2)
|/
* 9ad268e - 2026-10-28 22:56 (3 seconds ago) 1 - Han Jiang (tag: refs/tags/tag1, refs/heads/master, refs/heads/branch3)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' rebase --update-refs branch2 branch1
Successfully rebased and updated refs/heads/branch1.
Updated the following refs with --update-refs:
refs/heads/branch42
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' lg --all --patch
* 60aa43b - 2026-10-28 22:56 (3 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/branch1, refs/heads/branch42)
* 36265c3 - 2026-10-28 22:56 (3 seconds ago) 3 - Han Jiang (tag: refs/tags/tag3, refs/heads/branch5,
refs/heads/branch2)
| * 1d17b6e - 2026-10-28 22:56 (3 seconds ago) 2 - Han Jiang (tag: refs/tags/tag2, refs/heads/branch41)
|/
* 9ad268e - 2026-10-28 22:56 (4 seconds ago) 1 - Han Jiang (tag: refs/tags/tag1, refs/heads/master, refs/heads/branch3)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/ %cd%=C:\Program Files\Git
$ git help
usage: git [-v | --version] [-h | --help] [-C <path>] [-c <name>=<value>]
[--exec-path[=<path>]] [--html-path] [--man-path] [--info-path]
[-p | --paginate | -P | --no-pager] [--no-replace-objects] [--no-lazy-fetch]
[--no-optional-locks] [--no-advice] [--bare] [--git-dir=<path>]
[--work-tree=<path>] [--namespace=<name>] [--config-env=<name>=<envvar>]
<command> [<args>]
These are common Git commands used in various situations:
start a working area (see also: git help tutorial)
clone Clone a repository into a new directory
init Create an empty Git repository or reinitialize an existing one
work on the current change (see also: git help everyday)
add Add file contents to the index
mv Move or rename a file, a directory, or a symlink
restore Restore working tree files
rm Remove files from the working tree and from the index
examine the history and state (see also: git help revisions)
bisect Use binary search to find the commit that introduced a bug
diff Show changes between commits, commit and working tree, etc
grep Print lines matching a pattern
log Show commit logs
show Show various types of objects
status Show the working tree status
grow, mark and tweak your common history
backfill Download missing objects in a partial clone
branch List, create, or delete branches
commit Record changes to the repository
history EXPERIMENTAL: Rewrite history
merge Join two or more development histories together
rebase Reapply commits on top of another base tip
reset Set `HEAD` or the index to a known state
switch Switch branches
tag Create, list, delete or verify tags
collaborate (see also: git help workflows)
fetch Download objects and refs from another repository
pull Fetch from and integrate with another repository or a local branch
push Update remote refs along with associated objects
'git help -a' and 'git help -g' list available subcommands and some
concept guides. See 'git help <command>' or 'git help <concept>'
to read about a specific subcommand or concept.
See 'git help git' for an overview of the system.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/ %cd%=C:\Program Files\Git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 DEPRECATED: 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
format-rev EXPERIMENTAL: Pretty format revisions on demand
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 metadata 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
url-parse Parse and extract git URL components
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
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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/ %cd%=C:\Program Files\Git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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/ucrt64/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
format-rev show
fsck show-branch
fsck-objects show-index
fsmonitor--daemon show-ref
gc sparse-checkout
get-tar-commit-id stage
grep stash
gui status
gui--askpass stripspace
gui--askyesno submodule
gui.tcl submodule--helper
hash-object subtree
help survey
history switch
hook symbolic-ref
http-backend tag
http-fetch unpack-file
http-push unpack-objects
imap-send update
index-pack update-index
init update-ref
init-db update-server-info
interpret-trailers upload-archive
last-modified upload-archive--writer
log upload-pack
ls-files url-parse
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
credential-helper-selector update-git-for-windows
'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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/ %cd%=C:\Program Files\Git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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
datamodel Git's core data model
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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/ %cd%=C:\Program Files\Git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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.pushRepoLooksLikeRef
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>.deleteMerged
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.configLockTimeout
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.followRemoteHEAD
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.<event>.enabled
hook.<event>.jobs
hook.<friendly-name>.command
hook.<friendly-name>.enabled
hook.<friendly-name>.event
hook.<friendly-name>.parallel
hook.jobs
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.graphIndent
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.acceptFromServerUrl
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>.advertisedAs
remote.<name>.fetch
remote.<name>.followRemoteHEAD
remote.<name>.mirror
remote.<name>.negotiationInclude
remote.<name>.negotiationRestrict
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.midxNewLayerThreshold
repack.midxSplitFactor
repack.packKeptObjects
repack.updateServerInfo
repack.useDeltaBaseOffset
repack.useDeltaIslands
repack.writeBitmaps
replay.refAction
repo.structure.*
rerere.autoUpdate
rerere.enabled
revert.reference
safe.bareRepository
safe.directory
sendemail.<identity>.<config>
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.<url>.*
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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/ %cd%=C:\Program Files\Git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/ %cd%=C:\Program Files\Git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/ %cd%=C:\Program Files\Git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/ %cd%=C:\Program Files\Git
$ git --exec-path="abc" --exec-path
abc
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/ %cd%=C:\Program Files\Git
$ git --exec-path="123" --exec-path
123
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/ %cd%=C:\Program Files\Git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/ %cd%=C:\Program Files\Git
$ git -c section.key=value config get section.key
value
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/ %cd%=C:\Program Files\Git
$ git -c section.key=value1 -c section.key=value2 config get section.key
value2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/ %cd%=C:\Program Files\Git
$ git -c section.key=value1 -c section.key=value2 config get --all section.key
value1
value2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/ %cd%=C:\Program Files\Git
$ git -c section.key -c section.key= -c section.key=value3 config get --all section.key
value3
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/ %cd%=C:\Program Files\Git
$ git -c section.key -c section.key= -c section.key=value3 config get --type=bool --all section.key
fatal: bad boolean config value 'value3' for 'section.key'
jhcarl0814@jhcarl0814 UCRT64 $?=128 $!= $OLDPWD=/ $PWD=/ %cd%=C:\Program Files\Git
$ git -c section.key -c section.key= -c section.key=nO -c section.key=oFf -c section.key=fAlSe -c section.key=0 -c section.key=yEs -c section.key=oN -c section.key=tRuE -c section.key=1 config get --type=bool --all section.key
true
false
false
false
false
false
true
true
true
true
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/ %cd%=C:\Program Files\Git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/ %cd%=C:\Program Files\Git
$ git --config-env=section.key config get section.key
fatal: invalid config format: section.key
jhcarl0814@jhcarl0814 UCRT64 $?=128 $!= $OLDPWD=/ $PWD=/ %cd%=C:\Program Files\Git
$ git --config-env=section.key= config get section.key
fatal: missing environment variable name for configuration 'section.key'
jhcarl0814@jhcarl0814 UCRT64 $?=128 $!= $OLDPWD=/ $PWD=/ %cd%=C:\Program Files\Git
$ git --config-env=section.key=ENV_VAR1 config get section.key
fatal: missing environment variable 'ENV_VAR1' for configuration 'section.key'
jhcarl0814@jhcarl0814 UCRT64 $?=128 $!= $OLDPWD=/ $PWD=/ %cd%=C:\Program Files\Git
$ ENV_VAR1= git --config-env=section.key=ENV_VAR1 config get section.key
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/ %cd%=C:\Program Files\Git
$ ENV_VAR1=value git --config-env=section.key=ENV_VAR1 config get section.key
value
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/ %cd%=C:\Program Files\Git
$ ENV_VAR1=value1 ENV_VAR2=value2 git --config-env=section.key=ENV_VAR1 --config-env=section.key=ENV_VAR2 config get section.key
value2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/ %cd%=C:\Program Files\Git
$ ENV_VAR1=value1 ENV_VAR2=value2 git --config-env=section.key=ENV_VAR1 --config-env=section.key=ENV_VAR2 config get --all section.key
value1
value2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/ %cd%=C:\Program Files\Git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/test_git $PWD=/test_git/repo2 %cd%=C:\Program Files\Git\test_git\repo2
$ cd '../repo1'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/test_git/repo2 $PWD=/test_git/repo1 %cd%=C:\Program Files\Git\test_git\repo1
$ git init
Initialized empty Git repository in C:/Program Files/Git/test_git/repo1/.git/
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/test_git/repo2 $PWD=/test_git/repo1 %cd%=C:\Program Files\Git\test_git\repo1 (refs/heads/master)
$ git status
On branch master
No commits yet
nothing to commit (create/copy files and use "git add" to track)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/test_git/repo2 $PWD=/test_git/repo1 %cd%=C:\Program Files\Git\test_git\repo1 (refs/heads/master)
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/test_git $PWD=/test_git/repo2 %cd%=C:\Program Files\Git\test_git\repo2
$ git -C '../repo1' init
Initialized empty Git repository in C:/Program Files/Git/test_git/repo1/.git/
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/test_git $PWD=/test_git/repo2 %cd%=C:\Program Files\Git\test_git\repo2
$ git -C '../repo1' status
On branch master
No commits yet
nothing to commit (create/copy files and use "git add" to track)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/test_git $PWD=/test_git/repo2 %cd%=C:\Program Files\Git\test_git\repo2
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo1' init; git -C './repo2' init
Initialized empty Git repository in C:/Program Files/Git/test_git/repo1/.git/
Initialized empty Git repository in C:/Program Files/Git/test_git/repo2/.git/
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ mkdir --parents -- './repo1/dir' './repo2/dir'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ touch -- './repo1/file11' './repo1/file12' './repo1/dir/file13' './repo1/dir/file14' './repo2/file21' './repo2/file22' './repo2/dir/file23' './repo2/dir/file24'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo1' add './file11' './dir/file13'; git -C './repo2' add './file21' './dir/file23';
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ cd './repo1/dir'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/test_git $PWD=/test_git/repo1/dir %cd%=C:\Program Files\Git\test_git\repo1\dir (refs/heads/master)
$ git rev-parse --path-format=absolute --absolute-git-dir --git-common-dir --show-toplevel
C:/Program Files/Git/test_git/repo1/.git
C:/Program Files/Git/test_git/repo1/.git
C:/Program Files/Git/test_git/repo1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/test_git $PWD=/test_git/repo1/dir %cd%=C:\Program Files\Git\test_git\repo1\dir (refs/heads/master)
$ git status
On branch master
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: file13
new file: ../file11
Untracked files:
(use "git add <file>..." to include in what will be committed)
file14
../file12
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/test_git $PWD=/test_git/repo1/dir %cd%=C:\Program Files\Git\test_git\repo1\dir (refs/heads/master)
$ git status '.'
On branch master
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: file13
Untracked files:
(use "git add <file>..." to include in what will be committed)
file14
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/test_git $PWD=/test_git/repo1/dir %cd%=C:\Program Files\Git\test_git\repo1\dir (refs/heads/master)
$ cd '../../repo2/dir'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/test_git/repo1/dir $PWD=/test_git/repo2/dir %cd%=C:\Program Files\Git\test_git\repo2\dir (refs/heads/master)
$ git --git-dir '../../repo1/.git' rev-parse --path-format=absolute --absolute-git-dir --git-common-dir --show-toplevel
C:/Program Files/Git/test_git/repo1/.git
C:/Program Files/Git/test_git/repo1/.git
C:/Program Files/Git/test_git/repo2/dir
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/test_git/repo1/dir $PWD=/test_git/repo2/dir %cd%=C:\Program Files\Git\test_git\repo2\dir (refs/heads/master)
$ git --git-dir '../../repo1/.git' status
On branch master
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: dir/file13
new file: file11
Changes not staged for commit:
(use "git add/rm <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
deleted: dir/file13
deleted: file11
Untracked files:
(use "git add <file>..." to include in what will be committed)
file23
file24
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/test_git/repo1/dir $PWD=/test_git/repo2/dir %cd%=C:\Program Files\Git\test_git\repo2\dir (refs/heads/master)
$ git --git-dir '../../repo1/.git' status '.'
On branch master
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: dir/file13
new file: file11
Changes not staged for commit:
(use "git add/rm <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
deleted: dir/file13
deleted: file11
Untracked files:
(use "git add <file>..." to include in what will be committed)
file23
file24
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/test_git/repo1/dir $PWD=/test_git/repo2/dir %cd%=C:\Program Files\Git\test_git\repo2\dir (refs/heads/master)
$ git --git-dir '../../repo1/.git' --work-tree '../../repo1' rev-parse --path-format=absolute --absolute-git-dir --git-common-dir --show-toplevel
C:/Program Files/Git/test_git/repo1/.git
C:/Program Files/Git/test_git/repo1/.git
C:/Program Files/Git/test_git/repo1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/test_git/repo1/dir $PWD=/test_git/repo2/dir %cd%=C:\Program Files\Git\test_git\repo2\dir (refs/heads/master)
$ git --git-dir '../../repo1/.git' --work-tree '../../repo1' status
On branch master
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: dir/file13
new file: file11
Untracked files:
(use "git add <file>..." to include in what will be committed)
dir/file14
file12
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/test_git/repo1/dir $PWD=/test_git/repo2/dir %cd%=C:\Program Files\Git\test_git\repo2\dir (refs/heads/master)
$ git --git-dir '../../repo1/.git' --work-tree '../../repo1' status '.'
On branch master
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: dir/file13
new file: file11
Untracked files:
(use "git add <file>..." to include in what will be committed)
dir/file14
file12
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/test_git/repo1/dir $PWD=/test_git/repo2/dir %cd%=C:\Program Files\Git\test_git\repo2\dir (refs/heads/master)
$ git -C '..' --git-dir '../repo1/.git' --work-tree '../repo1' rev-parse --path-format=absolute --absolute-git-dir --git-common-dir --show-toplevel
C:/Program Files/Git/test_git/repo1/.git
C:/Program Files/Git/test_git/repo1/.git
C:/Program Files/Git/test_git/repo1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/test_git/repo1/dir $PWD=/test_git/repo2/dir %cd%=C:\Program Files\Git\test_git\repo2\dir (refs/heads/master)
$ git -C '..' --git-dir '../repo1/.git' --work-tree '../repo1' status
On branch master
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: dir/file13
new file: file11
Untracked files:
(use "git add <file>..." to include in what will be committed)
dir/file14
file12
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/test_git/repo1/dir $PWD=/test_git/repo2/dir %cd%=C:\Program Files\Git\test_git\repo2\dir (refs/heads/master)
$ git -C '..' --git-dir '../repo1/.git' --work-tree '../repo1' status '.'
On branch master
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: dir/file13
new file: file11
Untracked files:
(use "git add <file>..." to include in what will be committed)
dir/file14
file12
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/test_git/repo1/dir $PWD=/test_git/repo2/dir %cd%=C:\Program Files\Git\test_git\repo2\dir (refs/heads/master)
$ git -C '..' -C '../repo1' -C './dir' --git-dir '../.git' --work-tree '..' rev-parse --path-format=absolute --absolute-git-dir --git-common-dir --show-toplevel
C:/Program Files/Git/test_git/repo1/.git
C:/Program Files/Git/test_git/repo1/.git
C:/Program Files/Git/test_git/repo1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/test_git/repo1/dir $PWD=/test_git/repo2/dir %cd%=C:\Program Files\Git\test_git\repo2\dir (refs/heads/master)
$ git -C '..' -C '../repo1' -C './dir' --git-dir '../.git' --work-tree '..' status
On branch master
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: file13
new file: ../file11
Untracked files:
(use "git add <file>..." to include in what will be committed)
file14
../file12
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/test_git/repo1/dir $PWD=/test_git/repo2/dir %cd%=C:\Program Files\Git\test_git\repo2\dir (refs/heads/master)
$ git -C '..' -C '../repo1' -C './dir' --git-dir '../.git' --work-tree '..' status '.'
On branch master
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: file13
Untracked files:
(use "git add <file>..." to include in what will be committed)
file14
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/test_git/repo1/dir $PWD=/test_git/repo2/dir %cd%=C:\Program Files\Git\test_git\repo2\dir (refs/heads/master)
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client1' clone 'file://'"$(realpath './server/repo.git')" 'repo'
Cloning into 'repo'...
warning: You appear to have cloned an empty repository.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client1/repo' remote --verbose show
origin file:///test_git/server/repo.git (fetch)
origin file:///test_git/server/repo.git (push)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client1/repo' branch --list --all --verbose --verbose
jhcarl0814@jhcarl0814 UCRT64 $?=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) fe0097a] 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client1/repo' fetch origin
remote: Enumerating objects: 2, done.
remote: Counting objects: 100% (2/2), done.
remote: Total 2 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (2/2), 138 bytes | 17.00 KiB/s, done.
From file:///test_git/server/repo
* [new branch] master -> origin/master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client1/repo' branch --list --all --verbose --verbose
remotes/origin/HEAD -> origin/master
remotes/origin/master fe0097a 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ branch_remote_default_path="$(git -C './client1/repo' symbolic-ref 'refs/remotes/origin/HEAD')"; echo "$branch_remote_default_path"
refs/remotes/origin/master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ branch_remote_default_name="${branch_remote_default_path#'refs/remotes/origin/'}"; echo "$branch_remote_default_name"
master
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client1/repo' checkout "$branch_remote_default_name"
branch 'master' set up to track 'origin/master'.
Already on 'master'
Your branch is up to date with 'origin/master'.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client1/repo' branch --list --all --verbose --verbose
* master fe0097a [origin/master] 1
remotes/origin/HEAD -> origin/master
remotes/origin/master fe0097a 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client1/repo' checkout -b tests
Switched to a new branch 'tests'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client1/repo' commit --message="$((++number))" --allow-empty
[tests 5bb39cb] 2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client1/repo' --namespace='client1' push origin tests
Enumerating objects: 1, done.
Counting objects: 100% (1/1), done.
Writing objects: 100% (1/1), 178 bytes | 178.00 KiB/s, done.
Total 1 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
To file:///test_git/server/repo.git
* [new branch] tests -> tests
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client1/repo' lg --all
* 5bb39cb - 2026-10-28 22:57 (2 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/tests, refs/remotes/origin/tests)
* fe0097a - 2026-10-28 22:57 (6 seconds ago) 1 - Han Jiang (refs/remotes/origin/master, refs/remotes/origin/HEAD, refs/heads/master)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client2' clone 'file://'"$(realpath './server/repo.git')" 'repo'
Cloning into 'repo'...
remote: Enumerating objects: 2, done.
remote: Counting objects: 100% (2/2), done.
remote: Total 2 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Receiving objects: 100% (2/2), done.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client2/repo' branch --list --all --verbose --verbose
* master fe0097a [origin/master] 1
remotes/origin/HEAD -> origin/master
remotes/origin/master fe0097a 1
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client2/repo' checkout -b tests
Switched to a new branch 'tests'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client2/repo' commit --message="$((++number))" --allow-empty
[tests 5330cc6] 3
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client2/repo' --namespace='client2' push origin tests
Enumerating objects: 1, done.
Counting objects: 100% (1/1), done.
Writing objects: 100% (1/1), 178 bytes | 178.00 KiB/s, done.
Total 1 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
To file:///test_git/server/repo.git
* [new branch] tests -> tests
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client2/repo' lg --all
* 5330cc6 - 2026-10-28 22:57 (2 seconds ago) 3 - Han Jiang (HEAD -> refs/heads/tests, refs/remotes/origin/tests)
* fe0097a - 2026-10-28 22:57 (10 seconds ago) 1 - Han Jiang (refs/remotes/origin/master, refs/remotes/origin/HEAD, refs/heads/master)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client1/repo' show-ref --head
5bb39cb94a2d22dfc902e4c917e5f898696de5c2 HEAD
fe0097a7274274e8e4c82d6dee0c8cdcec15bcea refs/heads/master
5bb39cb94a2d22dfc902e4c917e5f898696de5c2 refs/heads/tests
fe0097a7274274e8e4c82d6dee0c8cdcec15bcea refs/remotes/origin/HEAD
fe0097a7274274e8e4c82d6dee0c8cdcec15bcea refs/remotes/origin/master
5bb39cb94a2d22dfc902e4c917e5f898696de5c2 refs/remotes/origin/tests
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './client2/repo' show-ref --head
5330cc6a2e111fb0c410c9016d1671f7fe267887 HEAD
fe0097a7274274e8e4c82d6dee0c8cdcec15bcea refs/heads/master
5330cc6a2e111fb0c410c9016d1671f7fe267887 refs/heads/tests
fe0097a7274274e8e4c82d6dee0c8cdcec15bcea refs/remotes/origin/HEAD
fe0097a7274274e8e4c82d6dee0c8cdcec15bcea refs/remotes/origin/master
5330cc6a2e111fb0c410c9016d1671f7fe267887 refs/remotes/origin/tests
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' show-ref --head
fe0097a7274274e8e4c82d6dee0c8cdcec15bcea HEAD
fe0097a7274274e8e4c82d6dee0c8cdcec15bcea refs/heads/master
5bb39cb94a2d22dfc902e4c917e5f898696de5c2 refs/namespaces/client1/refs/heads/tests
5330cc6a2e111fb0c410c9016d1671f7fe267887 refs/namespaces/client2/refs/heads/tests
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './server/repo.git' lg --all --clear-decorations
* 5330cc6 - 2026-10-28 22:57 (4 seconds ago) 3 - Han Jiang (refs/namespaces/client2/refs/heads/tests)
| * 5bb39cb - 2026-10-28 22:57 (8 seconds ago) 2 - Han Jiang (refs/namespaces/client1/refs/heads/tests)
|/
* fe0097a - 2026-10-28 22:57 (12 seconds ago) 1 - Han Jiang (HEAD -> refs/heads/master)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git ls-remote --symref 'file://'"$(realpath './server/repo.git')"
ref: refs/heads/master HEAD
fe0097a7274274e8e4c82d6dee0c8cdcec15bcea HEAD
fe0097a7274274e8e4c82d6dee0c8cdcec15bcea refs/heads/master
5bb39cb94a2d22dfc902e4c917e5f898696de5c2 refs/namespaces/client1/refs/heads/tests
5330cc6a2e111fb0c410c9016d1671f7fe267887 refs/namespaces/client2/refs/heads/tests
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './tester11' --namespace='client1' clone --branch tests 'file://'"$(realpath './server/repo.git')" 'repo'
Cloning into 'repo'...
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 3 (delta 1), reused 0 (delta 0), pack-reused 0 (from 0)
Receiving objects: 100% (3/3), done.
Resolving deltas: 100% (1/1), done.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './tester11/repo' branch --list --all --verbose --verbose
* tests 5bb39cb [origin/tests] 2
remotes/origin/tests 5bb39cb 2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './tester11/repo' lg --all
* 5bb39cb - 2026-10-28 22:57 (10 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/tests, refs/remotes/origin/tests)
* fe0097a - 2026-10-28 22:57 (14 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ IFS= read -rd '' windows_path < <(cygpath --windows "$(realpath './server/repo.git')" | awk --characters-as-bytes --assign BINMODE='rw' '
> BEGIN {
> RS = "\r\n|\n|\r";
> FS = "";
> }
> {
> for(i = 1; i <= NF; ++i) {
> if($i == "%")
> printf("%%%%");
> else if($i == " ")
> printf("%% ");
> else
> printf("%s", $i);
> }
> printf("%s", RT);
> }
> '); echo "$windows_path"
C:\Program% Files\Git\test_git\server\repo.git
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!=123186 $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './tester12' -c protocol.ext.allow=always clone --branch tests ext::'git --namespace=client1 %s '"${windows_path%?}" 'repo'
Cloning into 'repo'...
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 3 (delta 1), reused 0 (delta 0), pack-reused 0 (from 0)
Receiving objects: 100% (3/3), done.
Resolving deltas: 100% (1/1), done.
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!=123186 $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './tester12/repo' branch --list --all --verbose --verbose
* tests 5bb39cb [origin/tests] 2
remotes/origin/tests 5bb39cb 2
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!=123186 $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './tester12/repo' lg --all
* 5bb39cb - 2026-10-28 22:57 (12 seconds ago) 2 - Han Jiang (HEAD -> refs/heads/tests, refs/remotes/origin/tests)
* fe0097a - 2026-10-28 22:57 (16 seconds ago) 1 - Han Jiang
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!=123186 $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit
jhcarl0814@jhcarl0814 UCRT64 $?=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 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ touch -- './repo/abcd' './repo/ab*cd'
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status
On branch master
No commits yet
Untracked files:
(use "git add <file>..." to include in what will be committed)
abcd
"ab\357\200\252cd"
nothing added to commit but untracked files present (use "git add" to track)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status 'abcd'
On branch master
No commits yet
Untracked files:
(use "git add <file>..." to include in what will be committed)
abcd
nothing added to commit but untracked files present (use "git add" to track)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status 'ab*cd'
On branch master
No commits yet
Untracked files:
(use "git add <file>..." to include in what will be committed)
abcd
"ab\357\200\252cd"
nothing added to commit but untracked files present (use "git add" to track)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' status $'ab\357\200\252cd'
On branch master
No commits yet
Untracked files:
(use "git add <file>..." to include in what will be committed)
"ab\357\200\252cd"
nothing added to commit but untracked files present (use "git add" to track)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' --literal-pathspecs status 'abcd'
On branch master
No commits yet
Untracked files:
(use "git add <file>..." to include in what will be committed)
abcd
nothing added to commit but untracked files present (use "git add" to track)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' --literal-pathspecs status 'ab*cd'
On branch master
No commits yet
nothing to commit (create/copy files and use "git add" to track)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' --literal-pathspecs status $'ab\357\200\252cd'
On branch master
No commits yet
Untracked files:
(use "git add <file>..." to include in what will be committed)
"ab\357\200\252cd"
nothing added to commit but untracked files present (use "git add" to track)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' --glob-pathspecs status 'abcd'
On branch master
No commits yet
Untracked files:
(use "git add <file>..." to include in what will be committed)
abcd
nothing added to commit but untracked files present (use "git add" to track)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' --glob-pathspecs status 'ab*cd'
On branch master
No commits yet
Untracked files:
(use "git add <file>..." to include in what will be committed)
abcd
"ab\357\200\252cd"
nothing added to commit but untracked files present (use "git add" to track)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' --glob-pathspecs status $'ab\357\200\252cd'
On branch master
No commits yet
Untracked files:
(use "git add <file>..." to include in what will be committed)
"ab\357\200\252cd"
nothing added to commit but untracked files present (use "git add" to track)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' --noglob-pathspecs status 'abcd'
On branch master
No commits yet
Untracked files:
(use "git add <file>..." to include in what will be committed)
abcd
nothing added to commit but untracked files present (use "git add" to track)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' --noglob-pathspecs status 'ab*cd'
On branch master
No commits yet
nothing to commit (create/copy files and use "git add" to track)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' --noglob-pathspecs status $'ab\357\200\252cd'
On branch master
No commits yet
Untracked files:
(use "git add <file>..." to include in what will be committed)
"ab\357\200\252cd"
nothing added to commit but untracked files present (use "git add" to track)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' --icase-pathspecs status 'Abcd'
On branch master
No commits yet
Untracked files:
(use "git add <file>..." to include in what will be committed)
abcd
nothing added to commit but untracked files present (use "git add" to track)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' --icase-pathspecs status 'Ab*cd'
On branch master
No commits yet
Untracked files:
(use "git add <file>..." to include in what will be committed)
abcd
"ab\357\200\252cd"
nothing added to commit but untracked files present (use "git add" to track)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ git -C './repo' --icase-pathspecs status $'Ab\357\200\252cd'
On branch master
No commits yet
Untracked files:
(use "git add <file>..." to include in what will be committed)
"ab\357\200\252cd"
nothing added to commit but untracked files present (use "git add" to track)
jhcarl0814@jhcarl0814 UCRT64 $?=0 $!= $OLDPWD=/ $PWD=/test_git %cd%=C:\Program Files\Git\test_git
$ exit