即使我已经 checkout 了工作树中的一个分支,我也需要git checkout来工作。根据我的需求,更改到该目录是理想的。不需要在shell命令行上更改目录,所以git alias原则上应该可以工作。
q8l4jmvw1#
结果是git checkout有一个--ignore-other-worktrees选项可以做到这一点。这不会将目录更改为工作树目录,但它对我来说同样有效。上下文:我的.gitconfig中有git cp-donate别名,我需要它在使用工作树的repos中工作:
git checkout
--ignore-other-worktrees
.gitconfig
git cp-donate
[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"
字符串
1条答案
按热度按时间q8l4jmvw1#
结果是
git checkout
有一个--ignore-other-worktrees
选项可以做到这一点。这不会将目录更改为工作树目录,但它对我来说同样有效。上下文:我的
.gitconfig
中有git cp-donate
别名,我需要它在使用工作树的repos中工作:字符串