2014-10-11 6 views
1

필자는 본질적으로 "git merge --no-ff branch"를 사용하여 내 브랜치를 다시 병합하려고한다. Pygit2 문서를 보면 나는 무엇이 옳은지 확실하지 않다. 이것을하는 방법은. 직접 생각은 이런 식으로 뭔가를하는 것입니다 :Pygit2 - 빨리 감기가없는 브랜치 병합

repo.merge(branch.target) 

는 그러나, 나는 노 FastForward의 합병에 대한 모든 옵션이 표시되지 않습니다. 나에게 통찰력을 줄 수있는 pygit2를 널리 사용하는 사람이 있습니까? 모든 도움이 크게 감사드립니다.

+0

이 유일한 옵션은 GIT_MERGE_OPTS_INIT가 –

답변

3

그러나 no-fastforward로 병합 할 수있는 옵션이 없습니다.

에만 병합, 커밋도 아니고 FastForward의의 경우 분기 참조를 업데이트하지 않습니다 않는 다음 pygit2 merge documentation에서 때문이다

.

즉, 병합 자체가 완료되면 새 커밋을 만들 수 있습니다.

이제 인덱스 파일을 검사하여 충돌이 있는지 사용자에게 알려줄 수 있습니다.
충돌이 없으면이 두 부모와 함께 커밋을 생성 할 수 있습니다. 이 때문에

other_branch_tip = '5ebeeebb320790caf276b9fc8b24546d63316533' 
repo.merge(other_branch_tip) 

user = repo.default_signature() 
tree = repo.index.write_tree() 
new_commit = repo.create_commit('HEAD', user, user, tree, 
           [repo.head.target, other_branch_tip]) 
+0

가 실제로 옵션이 없습니다 상수 libgit2 대체 할 수 있습니다처럼 보인다 ~ 만 * 존재 병합. –