我必须编写一个简单的 ColdFusion 网页,显示多个 Git 存储库的可点击 Git 功能分支。这适用于一组测试人员,因此他们可以轻松地签出远程服务器上的分支以进行测试。我的<cfexecute>
作品用于显示分支、签出分支和签出标签。问题是新功能分支/提交永远不会出现在他们面前,因为我无法获得$ git fetch
或$ git pull
工作。出于某种原因,那些超时。我知道这不是 ColdFusion 超时设置。我可以在远程服务器上使用 Git Bash 手动运行 fetch 和 pull,它们会在几秒钟内运行。远程服务器上的 Git 将凭据存储在 Window Credential Manager 中,因此在服务器本身的命令行上使用 Git 时,我永远不会被提示登录。那么为什么会$ git checkout <branch>
和$ git branch -a
命令有效,但不使用此代码获取和拉取...
<cffunction name="execute" access="public" returnformat="JSON">
<cfargument name="command" type="string" required="true">
<cfargument name="directory" type="string" required="true">
<cfexecute name = "C:\Windows\System32\cmd.exe"
arguments = '/C cd "#arguments.directory#" && "c:\Program Files\Git\cmd\git.exe" #arguments.command#'
timeout = "600" variable="message" errorVariable="error_message">
</cfexecute>
<cfreturn [arguments.directory, arguments.command, message, error_message]>
</cffunction>
谢谢!