【问题标题】:how to push all files in a folder to all git branches如何将文件夹中的所有文件推送到所有git分支
【发布时间】:2017-05-10 23:22:01
【问题描述】:

我有很多 git 分支。

有一个目录/文件夹,我在其中保存 apk 文件。

但是每当我添加一个 apk/文件并推送它时 (1. git add, 2. git commit -m "", 3. git push), 它被推送到我正在工作的本地分支。

我想将该文件推送到所有分支,而不是这个,那么我该怎么做呢?

该文件夹中也已经有许多 apk 文件,这些文件仅适用于该特定分支。

那么我怎样才能使它们可用于所有分支(即将所有这些 apk 文件推送到所有分支)?

【问题讨论】:

  • 你不推送文件。你推送提交。如果你想将一个分支的提交应用到另一个分支上,你可以使用cherry pick。

标签: git directory git-branch git-push remote-branch


【解决方案1】:

默认情况下,你提交到一个分支,然后将你所有的提交推送到一个远程仓库。

如果您希望该提交(假设它仅包含您的新文件)在所有其他分支中可见,一种方法是向其他分支提交 git cherry-pick

如果您刚刚将该提交创建到master,您将切换分支和cherry-pick(顶部的提交)master

git checkout another_branch
git cherry-pick master

但是,如果您打算在某个时候将该其他分支合并回 master,则不建议这样做,因为这会引入 duplicate commit

要阅读有关该主题的更多信息,请参阅“git commit to all branches”。

将您当前的分支合并到其他分支更好(请参阅“do a git cherry-pick in multiple branches”),但并非总是可能/想要的,因为它会将所有提交从一个分支合并到另一个分支。

一个实际的适当的解决方案只需checkout到另一个分支并添加您的文件(再次在那里),制作一个在那里提交(再次)。
并为其他分支重复

【讨论】:

    【解决方案2】:

    如果您使用 Source Tree 应用程序,可以一次推送多个分支。

    https://answers.atlassian.com/questions/314016/push-to-multiple-remotes-with-sourcetree

    【讨论】:

    • 将尝试使用“源树应用程序”,我以前没有使用过它...顺便说一句,感谢您表现出一些希望 :)
    • 我们需要在这里保持我们的词汇清晰。您将提交添加到分支,然后推送到远程存储库。在您将所需的更改(例如新文件)提交到每个分支之前,推送多个分支对您没有帮助。我喜欢 v3ga 上面提出的“樱桃采摘”建议
    猜你喜欢
    • 2019-02-26
    • 2021-04-23
    • 1970-01-01
    • 2020-12-06
    • 1970-01-01
    • 1970-01-01
    • 2021-01-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多