然后,从“工作副本更改”面板中,我选择了一个文件,右键单击它并尝试执行“假定未更改”自定义命令。然而,我得到了完全不可读的错误消息:
我复制了上述错误消息中的完整命令,并尝试在命令行中执行它:
有趣的是,它奏效了。
有人能告诉我为什么这个自定义操作通过右键单击并从菜单中选择没有起作用吗?
然后,从“工作副本更改”面板中,我选择了一个文件,右键单击它并尝试执行“假定未更改”自定义命令。然而,我得到了完全不可读的错误消息:
我复制了上述错误消息中的完整命令,并尝试在命令行中执行它:
有趣的是,它奏效了。
有人能告诉我为什么这个自定义操作通过右键单击并从菜单中选择没有起作用吗?
完成带错误
的消息是命令未被找到的结果。cmd
进程构建自己的自定义操作来解决此问题。例如:
/c %LOCALAPPDATA%\Atlassian\SourceTree\git_local\bin\sh.exe --login -i -c 'git format-patch --full-index -1 $SHA'
另一个例子:
带参数:
/c %LOCALAPPDATA%\Atlassian\SourceTree\git_local\bin\sh.exe --login -i -c ^"git diff --full-index --cached > patch.diff^"
(以下示例假设您正在使用SourceTree中的嵌入式Git)
使用SourceTree 1.6.12和Git 1.8.3。
我最近在Windows上使用SourceTree自定义操作得到了一些自定义操作:
要运行的脚本:cmd
参数:/c %LOCALAPPDATA%\Atlassian\SourceTree\git_local\bin\sh.exe -c -e 'alias git=/c/Users/%username%/AppData/Local/Atlassian/SourceTree/git_local/cmd/git.exe; git stash; git pull --rebase; git stash pop'
如果您安装了多个版本的git,则可以处理,并且在中途失败时提前退出。
在MacOS中的大致等效物如下:
要运行的脚本:/path/to/stash_unstash.sh
参数:$REPO
stash_unstash.sh
#!/usr/bin/env bash
cd $1
git stash && git pull --rebase && git stash pop
检查$FILE
是否表示您选择的文件的完整路径。
在“自定义操作-更强大的功能”(2012年2月,当自定义操作引入到Atlassian Source Tree 1.3+时)中似乎是这样呈现的。
如果是这种情况,使用$FILE
而不是C:/Repository/$FILE
应该就足够了。
git
/ log -1 $REPO/$FILE
是否更好? - VonCmacOS - 自定义操作:
要运行的脚本:/bin/bash
参数:
cd $REPO && git stash && git pull && git stash pop
cd $REPO && git stash && git pull --rebase && git stash pop