簡體   English   中英

使用 ColdFusion 進行 Git 拉取/提取超時<cfexecute>

[英]Git Pull / Fetch Timing Out Using ColdFusion <cfexecute>

我必須編寫一個簡單的 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>

謝謝!

CFexecute 失敗的原因是因為 git pull 命令正在等待用戶在進行 pull 時指定用戶名和密碼。 要解決此問題,請轉到https://github.com/settings/tokens以生成和訪問令牌,然后使用該令牌將其傳遞給拉取 URL,如下所示:

git pull https://MY_TOKEN_GOES_HERE:x-oauth-basic@github.com/myUser/myRepository master

何塞·埃利亞斯

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM