Я пытаюсь создать скрипт, который объединяет основную ветвь с ветвью объектов, созданной из мастера, используя библиотеку GitPython. Мне удалось сделать все, кроме от фиксации файла, который содержит все изменения от слияния. Это мой сценарий:
repo = git.Repo('myrepo')
development = repo.branches['master']
feature = repo.branches['feature']
base = repo.merge_base(feature, development)
repo.index.merge_tree(development, base=base)
feature.checkout(force=True)
repo.index.commit('Merge master into feature', parent_commits=(feature.commit, development.commit))
До этого момента все казалось нормально. Я борюсь с фиксацией файла, который содержит все изменения, полученные в результате слияния. Я использую технику добавления файлов, но, похоже, она не работает, так как в конце я получаю пустой файл.
new_file_path = os.path.join(repo.working_tree_dir, 'test.js')
open(new_file_path, 'wb').close() # create new file in working tree
repo.index.add(new_file_path)
new_file_path = os.path.join(repo.working_tree_dir, 'test.js')
, кажется, не работает должным образом. В итоге я получаю только пустой файл.
Буду очень признателен всем, у кого есть идеи, как продвигаться дальше.