我会在Cmder中的另一个别名中使用别名。
我对一个大命令有一个很好的别名(第一个),我会在另一个(第二个)中使用它:
mergelocdist=git fetch origin --prune --verbose && git checkout $1 && git merge --ff-only --verbose origin/$2 || git rebase --preserve-merges --verbose origin/$2
mm=mergelocdist master master
别名位于Cmder aliases
文件中,我使用的是Windows 7 x64。
该主题已被问及in this question,目前没有回复。
如果你回答我,请回答这个人:)
找到this,似乎有一些帮助,但我不知道如何。
答案 0 :(得分:1)
BENJ: 我怀疑你现在已经找到了答案,但我发现没有人回答过这个问题,所以我愿意。
如果我可以对别名文件提出替代建议。看起来你正试图为git解决这个问题。
我发现在Windows中执行此操作的最佳方法是编辑~/.bashrc
文件。在大多数Windows机器上,它都在C:\Users\<USERNAME>\.bashrc
下。
您可以创建一个功能,例如:
function MergeLocDistFn {
local co_branch=$1
local merge_branch=$2
echo ">> Debug Command: git checkout ${co_branch}"
git checkout ${co_branch}
echo ">> Debug Command: git merge --ff-only --verbose origin/${merge_branch} || git rebase --preserve-merges --verbose origin/${merge_branch}"
git merge --ff-only --verbose origin/${merge_branch} || git rebase --preserve-merges --verbose origin/${merge_branch}
}
然后,您可以在~/.bashrc
文件中创建别名,如下所示:
alias mergelocdist=MergeLocDistFn
alias mm='MergeLocDistFn master master'
这种方法的优势在于它可以让你对函数变得非常复杂,正如我在这里展示的那样,也可以使用echo语句对它进行调试。
请参见示例输出的附图。 example output from bashrc
另请注意,如果您更愿意为PowerShell提示执行此操作,则更容易修改PowerShell配置文件,请告诉我,我会告诉您如何操作。
另外注意,您还可以在.bashrc中为当前分支创建一个函数。这是一个示例函数:
function current_branch() {
ref=$(git symbolic-ref HEAD 2> /dev/null) || \
ref=$(git rev-parse --short HEAD 2> /dev/null) || return
echo ${ref#refs/heads/}
}
以下是使用current_branch函数的示例:
alias gpush='git push -u origin $(current_branch)'
我希望他有所帮助,如果您需要澄清,请告诉我。