Git别名cd到工作树目录或 checkout 分支

hfyxw5xn  于 12个月前  发布在  Git
关注(0)|答案(1)|浏览(152)

即使我已经 checkout 了工作树中的一个分支,我也需要git checkout来工作。根据我的需求,更改到该目录是理想的。不需要在shell命令行上更改目录,所以git alias原则上应该可以工作。

q8l4jmvw

q8l4jmvw1#

结果是git checkout有一个--ignore-other-worktrees选项可以做到这一点。这不会将目录更改为工作树目录,但它对我来说同样有效。
上下文:我的.gitconfig中有git cp-donate别名,我需要它在使用工作树的repos中工作:

[alias]
        cp-donate = "!f() { \
            set -eu; \
            if [ $# -lt 1 ]; then \
                echo Usage: git cp-donate BRANCH \\[CHERRY-PICK-ARGS\\] 1>&2; \
                return 1; \
            fi; \
            branch=$1; shift; \
            git checkout --ignore-other-worktrees \"$branch\"; git pull; \
            if [ $# -ge 2 ]; then git cherry-pick \"$@\"; fi; \
            git push; git checkout --ignore-other-worktrees -; git rebase --autosquash \"$branch\"; \
        }; f"

字符串

相关问题