Hi, Our customer has found a possible issue when switching branches. Output redirection character `>` is not escaped properly when switching/checking out to different branch. Steps to reproduce: 1. Create a new branch and switch back to master ``` $ git switch -C 'issue#1234>/tmp/dangerfile' Switched to a new branch 'issue#1234>/tmp/dangerfile' $ git switch master ``` 2. Try to switch to the created branch with using auto-completion ``` git switch i<TAB> $ git switch issue#1234>/tmp/dangerfile fatal: invalid reference: issue#1234 ``` 3. Verify that the /tmp/dangerfile has been created ``` $ ls /tmp/dangerfile /tmp/dangerfile ``` Internal interpretation of the created branch: └── refs ├── heads │ ├── issue#1234> │ │ └── tmp │ │ └── dangerfile Tested on Fedora 42 with git-2.49. I've found out that this behavior happens only when using Bash. Zsh properly escapes the characters when creating and switching to the branch. Git shouldn't be tricked into creating a file when the user is switching branches. I'm not entirely sure where the issue lies in the code, so I'm not attaching any patch fixing this. -- Ondřej Pohořelský Software Engineer Red Hat opohorel@xxxxxxxxxx