Bug: Hierarchical Aliases no longer work in 2.54.0
- From
- Grossfeld, Michael <michael.grossfeld@amd.com>
- Date
- Apr 23, 2026, 18:19 UTC
- Message-ID
- <PH7PR12MB73313034573C59C73F821BBFE52A2@PH7PR12MB7331.namprd12.prod.outlook.com>
Hello all! Seeing this issue on 2.54.0 and it didn't look like anyone had reported it yet.
> What did you do before the bug happened? (Steps to reproduce your issue)
Attempting to use the hierarchical alias "pull.sub", which was working in 2.53.0, is no longer working in 2.54.0. It returns the following error: "git: 'pull.sub' is not a git command. See 'git --help'."
> What did you expect to happen? (Expected behavior)
The git alias should have firsted pulled, then updated submodules recursively.
> What happened instead? (Actual behavior)
It reports the following error: "git: 'pull.sub' is not a git command. See 'git --help'."
> What's different between what you expected and what actually happened?
git 2.53.0 to git 2.54.0.
> Anything else you want to add:
The alias was defined in my gitconfig as in 2.53.0, and remains this way:
[alias "pull"]
sub = "!f() { git pull origin --recurse-submodules=no --ff-only; echo Updating Submodules...; git submodule update --recursive --jobs=16 --progress; }; f"It was written via this command:
git config --global alias.pull.sub '!f() { git pull origin --recurse-submodules=no --ff-only -p; echo Updating Submodules...; git submodule update --recursive --jobs=16; }; f'Trying to do the following (with .command):
git config --global alias.pull.sub.command '!f() { git pull origin --recurse-submodules=no --ff-only -p; echo Updating Submodules...; git submodule update --recursive --jobs=16; }; f'Results in a section of the gitconfig that looks like this:
[alias "pull.sub"]
command = "!f() { git pull origin --recurse-submodules=no --ff-only -p; echo Updating Submodules...; git submodule update --recursive --jobs=16; }; f"[System Info] git version: git version 2.54.0.windows.1 cpu: x86_64 built from commit: 2b8a3ab140826ac423c2845ef81d4c6ac4f7bf3c sizeof-long: 4 sizeof-size_t: 8 shell-path: D:/git-sdk-64-build-installers/usr/bin/sh rust: disabled feature: fsmonitor--daemon gettext: enabled libcurl: 8.19.0 OpenSSL: OpenSSL 3.5.6 7 Apr 2026 zlib: 1.3.2 SHA-1: SHA1_DC SHA-256: SHA256_BLK default-ref-format: files default-hash: sha1 uname: Windows 10.0 26200 compiler info: gnuc: 15.2 libc info: no libc information available $SHELL (typically, interactive shell): D:\develop\tools\Git\usr\bin\bash.exe
Thanks for the help!
Michael Grossfeld AMD