리모컨에서 가져 오기를 관리했으며 아래 코드를 실행하여 로컬 마스터 분기에서 변경된 내용을 가져 왔습니다.libgit2 : 가져온 후에 병합하고 커밋하는 방법?
git_annotated_commit * fetchhead_commit;
git_annotated_commit_lookup(&fetchhead_commit,
repo,
oid
);
git_merge(repo,&fetchhead_commit,1,NULL,NULL);
그래서 지금은 커밋하는 자식 명령 줄 도구를 사용하는 경우 나 자동 병합 코멘트를 저지 내가 로그가 원격에서와 동일한 것을 볼 수 있습니다 후 얻을. 나는 libgit을 사용하여 동일한 것을 얻으려고 노력하고 있지만, 원격 기록을 병합하는 결과를 얻기 위해 노력한 지금까지의 노력은 사라져 버렸다.
병합 된 변경 사항을 원격으로 저장하려면 어떻게해야합니까?
편집 : 빨리 감기를 수행하여 조금 더 나아졌지만 여전히 로컬 커밋이있는 경우 들어오는 병합 후에 손실됩니다. 로컬 변경 사항은 손실되지 않지만 병합 후에 준비되고 다시 커밋되어야합니다.
당신은 여기 내 코드를 볼 수 있습니다: 병합이 사람이 궁금하면 다시 jsgitpull
에서 호출 및 기록이 해킹은 웹 브라우저에서 작업을 수행하는 fetchead_foreach_cb
기능에서 어떤 일이 일어나고 https://github.com/fintechneo/libgit2/blob/master/jsbuild/jslib.c
을 emscripten에 관한 내용입니다.
커밋을 어떻게 작성하고 있습니까? 지금까지 뭐 해봤 어? –
빨리 감기 (git_reference_set_target 사용)를 수행하여 조금 더 알아 냈습니다. 그러나 로컬 변경 사항이있는 경우 이러한 커밋은 손실되고 로컬로 변경된 파일은 준비가되어 다시 커밋해야합니다. https://github.com/fintechneo/libgit2/blob/master/jsbuild/jslib.c의 fetchead_foreach_cb 함수를 참조하십시오. –
좋습니다.하지만 병합 한 후에는 커밋을 어떻게 작성하고 있습니까? 'git_commit_create'를 호출하고 있습니까? –