我们正在尝试自动提交遗留目录的更改,人们不希望使用类似版本控制(叹息)的内容。
我正在使用gitpython每晚提交这些更改:
repo = git.Repo(local_directory)
changed_files = [change.a_blob.path for change in repo.index.diff(None)]
if changed_files or repo.untracked_files:
if changed_files:
repo.git.add(update=True)
if repo.untracked_files:
repo.git.add(repo.untracked_files)
repo.git.commit(message='Auto committed')
repo.remotes.origin.push(repo.head)
有时提交失败,“'git commit --message = Auto committed'返回退出代码1” - 我无法重现
我做错了吗?我读过,也许我应该使用repo.index进行提交?
最佳, 克里斯托弗
答案 0 :(得分:1)
你是绝对正确的,你需要使用repo.index进行提交。这是我的脚本中使用GitPython的一个工作示例(顺便帮助我们进行版本控制)
repo = Repo(repo_dir)
index = repo.index
然后我的commit_version函数:
def commit_version(requested_version, commit_msg, index, version_file):
"""Commits version to index"""
print "Committing: ", requested_version
index.add([version_file])
index.commit(commit_msg)
因此,您可以将“自动提交”作为commit_msg
传入。希望这有帮助!