gpt4 book ai didi

python - 如何 checkout 多个提交并将代码版本复制到另一个目录?

转载 作者:行者123 更新时间:2023-12-01 00:51:44 25 4
gpt4 key购买 nike

这是我的 csv 文件,其中包含 CommitId:

CommitId
d38f7b334856ed4007fb3ec0f8a5f7499ee2f2b8
d38f7b334856ed4007fb3ec0f8a5f7499ee2f2b8
d38f7b334856ed4007fb3ec0f8a5f7499ee2f2b8
4bb968a47ce00279d6051df95bd782650700179e
c3d7ec38417ecff03d1cd3be0163e6ce07578eb3
00568c9886e739d6b5dd61b4a4326d598552fb6f
00568c9886e739d6b5dd61b4a4326d598552fb6f
00568c9886e739d6b5dd61b4a4326d598552fb6f
00568c9886e739d6b5dd61b4a4326d598552fb6f
6e062098453febbfb0169cd0af56f70f2e3fc77f
63f658918c2f4b851b0d0fffbffab4df0cfe13ca

我需要 checkout 每个提交并将代码版本复制到另一个目录中,因此对于此示例,我需要目录中的 11 个版本的代码。

我尝试了一次提交此代码:

import os
from distutils.dir_util import copy_tree
path='C:/Users/AQ42770/Desktop/RefactoringMiner/bin/BTC-e-client-for-Android'
os.chdir(path)
commande1='git chekcout d38f7b334856ed4007fb3ec0f8a5f7499ee2f2b8'
os.system(commande1)
copy_tree("C:/Users/AQ42770/Desktop/RefactoringMiner/bin/BTC-e-client-for-Android", "C:/Users/AQ42770/Desktop/test")

第一个问题是:copy_tree() 将文件复制到目标文件夹而不是目录

第二:我没有找到一种方法来对 5 月 csv 上的所有提交执行此操作

感谢您的帮助!

最佳答案

您可以使用 git worktree 来代替 checkout 。 .

更准确地说: git worktree add C:/Users/AQ42770/Desktop/test1 <commit1> .
并重复 <commit2>C:/Users/AQ42770/Desktop/test2 ,等等。

这样,您就只有一个克隆,但有 11 个工作树,并且全部具有正确的内容。

关于python - 如何 checkout 多个提交并将代码版本复制到另一个目录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56520033/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com