python - Bitbucket git push 提交而不克隆存储库

标签 python git version-control bitbucket

背景

我有一个存储在各个 Bitbucket 存储库中的配置文件的路径列表。我尝试下载这些文件以通过自动脚本进行处理。

我已经使用 Python 脚本成功实现了这一点,该脚本通过 OAuth 自动执行 Bitbucket API 1.0,并且在检索文件或处理文件时没有遇到任何问题。


实际问题

现在我的问题是,现在我已经处理了文件,如何提交差异(通过自动脚本)并将它们推送回远程存储库?我认为 Git 通常不支持单文件修改。


我考虑过的事情:

  1. 克隆每个所需的存储库,并使用终端调用 git commit 等来提交并推送回远程。 (缺点:存储库很大,克隆它们会很麻烦。)

  2. 使用 git 子模块。我知道 git submodules 被建议作为 svn.externals 的替代品,这可以很好地解决我的问题。 (问题:我阅读了 git 子模块文档,但看不出它对我的情况有什么帮助)。

  3. 模拟对 Bitbucket 最近实现的在线编辑器的 POST 调用(问题:Bitbucket 提到它只能用于测试目的,并且可能会发生变化。也很难破译 POST 请求)

  4. 使用 SSH 进行 Git? (也不认为这会有帮助。)

最佳答案

部分克隆或 partial checkout Git 不支持(详见“Partial clone with Git and Mercurial ”)

考虑到这一点,since git 1.7.10, you can clone only one branch ,您可以在专门的分支中管理这些配置文件吗?

 git clone -b mybranch --single-branch /url/to/your/git/repo

关于python - Bitbucket git push 提交而不克隆存储库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21926282/

相关文章:

使用 pip 和 conda 安装的 Python 包重复

git - git clone 后修改的文件

git - 直接跳转到 'git add -i' patch命令(5)

svn - 在仅跟踪主干的 git-svn 仓库上开始跟踪分支/标签

git - TortoiseGit 将干净目录显示为冲突

python - 如何在 Python 中通过 TCP/IP 与设备通信?

python - 项目分配 Tensorflow 2.0 - TypeError : 'tensorflow.python.framework.ops.EagerTensor' object does not support item assignment

java - Netbeans 8.2 无法验证 Git 凭据?

windows - git 在文件路径中带有括号的文件上添加补丁

.net - 在 Windows Powershell(或 dotNet 又名 .net)中执行 textwrap 和 dedent