簡體   English   中英

Git命令在Python的子進程中不起作用

[英]Git command doesn't work in subprocess in Python

在我們小組中,我們已經使用python自動化了一些git工作了很長一段時間,並且一切正常。 不幸的是,我遇到了一些我想使用的東西,但是當放入python子進程時它不起作用。 這是命令:

git describe --tags `git rev-list --tags --max-count=1`

當我在git bash(我們使用Windows)中使用它時,它可以正常工作,但是當我將它放在python子git rev-list --tags --max-count=1 ,它抱怨git rev-list --tags --max-count=1是無效的命令。 我想知道是否有人可以啟發我為什么使用它,最好是使用它的方法。 我從這個問題中得到了答案:

如何在Git當前分支中獲取最新標簽名稱?

我試圖在最接近當前HEAD的分支上獲取LATEST標記。 我現在有一個駭人的解決方法,它列出了所有標簽,然后對它們進行數字排序,但這之所以有用,是因為我們沒有投放任何非數字標簽,不一定總是如此。

誰能幫幫我嗎?

默認情況下, Popen構造函數不使用外殼程序來解析您提供的命令。 這意味着像反引號這樣的外殼元字符將不起作用。 您可以傳遞shell = True或先運行git rev-list --tags --max-count=1 ,然后再創建整個命令。

暫無
暫無

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

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