使用GitPython,我可以使用以下內(nèi)容創(chuàng)建一個(gè)新的存儲(chǔ)庫:from git.repo.base import RepoRepo.init('/tmp/some-repo/')該存儲(chǔ)庫是使用默認(rèn)分支創(chuàng)建的master。如何修改這個(gè)默認(rèn)分支?更新:正如下面的答案中所建議的,我嘗試使用Repo.init('/tmp/some-repo', initial_branch="main"),但是它呈現(xiàn)了此異常:Traceback (most recent call last): File "/app/checker/tests.py", line 280, in test_alternative_compare_branch comp_repo_main = Repo.init( File "/usr/local/lib/python3.9/site-packages/git/repo/base.py", line 937, in init git.init(**kwargs) File "/usr/local/lib/python3.9/site-packages/git/cmd.py", line 542, in <lambda> return lambda *args, **kwargs: self._call_process(name, *args, **kwargs) File "/usr/local/lib/python3.9/site-packages/git/cmd.py", line 1005, in _call_process return self.execute(call, **exec_kwargs) File "/usr/local/lib/python3.9/site-packages/git/cmd.py", line 822, in execute raise GitCommandError(command, status, stderr_value, stdout_value)git.exc.GitCommandError: Cmd('git') failed due to: exit code(129) cmdline: git init --initial-branch=main stderr: 'error: unknown option `initial-branch=main'在 git 文檔中,它指出設(shè)置初始分支的命令是--initial-branch(https://git-scm.com/docs/git-init/2.28.0#Documentation/git-init.txt---initial-branchltbranch-名稱gt)。從錯(cuò)誤來看,我認(rèn)為 GitPython 的附加 kwargs 功能不包括前綴--。
1 回答

瀟瀟雨雨
TA貢獻(xiàn)1833條經(jīng)驗(yàn) 獲得超4個(gè)贊
根據(jù)文檔,init
采用與關(guān)鍵字參數(shù)相同的參數(shù)git init
。你確實(shí)必須-
變成_
.
from?git?import?Repo Repo.init('/tmp/some-repo/',?initial_branch='main')
更新
initial-branch
最近在 v2.28.0 中添加。您需要升級(jí) Git 才能使用它。
如果不能,請(qǐng)使用 手動(dòng)更改分支名稱branch.rename(new_name)
。不幸的是,直到第一次提交之后你才能執(zhí)行此操作,因?yàn)檫€沒有分支真正存在。這是 Git 的限制,也是他們添加的原因initial-branch
以及init.defaultBranch
配置選項(xiàng)。
添加回答
舉報(bào)
0/150
提交
取消