提交API将文件内容写入指定的路径。如果该路径上已经有一个现有的提交,则该API将创建一个新提交,该提交将覆盖旧提交中的文件。不会自动合并。如果多个用户尝试同时编辑文件并提交更改,则可能会出现冲突。为了避免这种情况,用户可以执行git pull以更新他们正在编辑的文件并解决任何冲突,然后再执行他们的提交。下面是Python语言的一个示例代码:
import requests
import json
url = 'https://your-bitbucket-url/rest/api/1.0/projects/PROJECT_KEY/repos/REPO_SLUG/commits'
data = {
"message": "commit message",
"author": {
"name": "John Doe",
"email": "johndoe@example.com"
},
"parents": [
"parent_commit_id"
],
"changes": [
{
"path": "path/to/file",
"content": "new file content",
"type": "MODIFY"
}
]
}
headers = {
'content-type': 'application/json',
'Authorization': 'Bearer your_access_token_here'
}
response = requests.post(url, data=json.dumps(data), headers=headers)
print(response)
上述代码将提交一个更改,覆盖文件path/to/file
的内容。如果该路径上有一个现有的提交,则将创建一个新提交。如果有任何冲突,则需要手动解决它们。