【发布时间】:2022-11-12 15:50:54
【问题描述】:
我正在使用 Libgit2 库制作 Git Pull --rebase 的模拟,代码没有错误,但只有我在 Master 前面有 Head。
我无法理解问题所在。
这是我的代码:
error = git_repository_open( &repo, "/tmp/varloc" );
cout << error << endl;
error = git_remote_lookup( &remote, repo, "origin" );
cout << error << endl;
error = git_remote_fetch( remote, NULL, &fetch_options, NULL );
cout << error << endl;
error = git_repository_fetchhead_foreach(repo, fetchhead_ref_cb, &id_to_merge);
cout << error << endl;
error = git_annotated_commit_lookup(&heads, repo, &id_to_merge);
cout << error << endl;
error = git_repository_head(&head, repo);
cout << error << endl;
error = git_annotated_commit_from_ref(&onto, repo, head);
cout << error << endl;
error = git_rebase_init(&rebase, repo, (const git_annotated_commit *)heads, NULL, onto, &rebase_options);
cout << error << endl;
error = git_signature_now(&me, "Free", "pr070@riseup.net");
cout << error << endl;
while((error = git_rebase_next(&op, rebase)) == 0){
error = git_rebase_commit(&rebaseOID, rebase, NULL, me, NULL, NULL);
}
error = git_rebase_finish(rebase, me);
cout << error << endl;
git_libgit2_shutdown();
return 0;
}
吉特日志:
commit 4bc03c76474aa0fce8c90ca99f9839eb64f3a67c (HEAD)
Author: FreedomCoder <pr070cryp70n1c@riseup.net>
Date: Sun Jul 17 22:12:48 2022 +0000
Add 'tgb'
commit 6ef02ad62c5795d847499452118e38d94013b378 (master)
Author: FreedomCoder <pr070cryp70n1c@riseup.net>
Date: Sun Jul 17 21:25:46 2022 +0000
Add 'rfv'
【问题讨论】:
-
欢迎来到堆栈溢出。你的代码不完整。我认为您可能已经为您正在使用的库遗漏了
void main() {行和#include。请edit您的问题并附上我们可能需要帮助您的任何其他代码。
标签: git-rebase libgit2