在git索引中添加了一个修改过的文件,但该文件没有更改为暂存

And*_*rao 5 c git libgit2

我正在尝试将文件添加到索引以使用libgit2创建提交.

回购和索引是这样的:

git_repository *repo;
git_index *my_repo_index;
git_repository_open(&repo, ".");
git_repository_index(&my_repo_index, repo);
git_index_add_bypath(my_repo_index,"a.txt");
//all functions are returning 0, or success.
Run Code Online (Sandbox Code Playgroud)

"a.txt"文件已存在于索引中,并且是已修改的文件.

在提交之前,文件位于"未提交更改的更改"下,我认为在此之后文件将处于"暂存"状态,就像我执行"git add a.txt"之后但未发生这种情况.

我错过了什么吗?

Edw*_*son 7

对索引的更改不会立即写入磁盘.例如,您可能希望执行许多操作并立即保存所有操作.为了保存索引:

git_index_write(my_repo_index);
Run Code Online (Sandbox Code Playgroud)

  • 或者您可能不希望索引进入磁盘,例如,如果您将一些自动生成的文档提交到分支中. (2认同)