我想像“git describe”在终端中一样工作。
如何获取我的存储库的当前标签?现在我的程序正在打印
09B8A518
每次我尝试这样做时,这个数字都是不同的,所以我不认为它是提交 ID 之类的。
当我在终端中执行“git describe”时,输出为“v0.1.2”
有办法做到这一点吗?
顺便问一下,如何转换“git_describe_result *out;”串起来?
string path = C://my/local/repo;
string result;
git_libgit2_init();
const char * REPO_PATH = path.c_str();
git_repository * repo = nullptr;
git_repository_open(&repo, REPO_PATH);
git_describe_result *out;
git_describe_options opts = GIT_DESCRIBE_OPTIONS_INIT;
opts.version = GIT_DESCRIBE_FORMAT_OPTIONS_VERSION; // GIT_DESCRIBE_OPTIONS_VERSION;
git_describe_workdir(&out, repo, &opts);
cout << out << endl;
git_describe_result_free(out);
git_repository_free(repo);
git_libgit2_shutdown();
最佳答案
使用git_describe_format
将git_describe_result
转换为字符串。
关于c++ - 在libgit2中执行git描述,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43474240/