我不得不写一个简单的ColdFusion网页,显示多个Git仓库的可点击的Git功能分支。这是为一组测试人员准备的,这样他们就可以轻松地检查远程服务器上的分支以进行测试。我的<cfexecute>用于显示分支、签出分支和签出标记。问题是新的特性分支/提交永远不会出现,因为我不能让$ git fetch或$ git pull工作。由于某些原因,这些超时。我知道这不是ColdFusion超时设置。我可以在远程服务器上使用Git Bash手动运行fetch和pull,它们在几秒钟内就会运行。远程服务器上的Git将凭据存储在Window凭据管理器中,因此当我在服务器本身的命令行上使用Git时,系统不会提示我登录。那么,为什么$ git checkout <branch>和$ git branch -a命令可以工作,但fetch和pull不使用此代码...
<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>谢谢!
发布于 2020-10-02 03:02:10
拉取失败的原因是,git CFexecute命令正在等待用户在执行拉取时指定用户名和密码。要解决此问题,请转到https://github.com/settings/tokens以生成并访问令牌,然后使用该令牌将其传递给拉取URL,如下所示:
git pull https://MY_TOKEN_GOES_HERE:x-oauth-basic@github.com/myUser/myRepository master何塞·伊莱亚斯
https://stackoverflow.com/questions/53732287
复制相似问题