如何在git中将独立的repos推送到远程的各个分支?

时间:2015-11-28 12:55:21

标签: git

我对git很新,所以请忍受我的基本问题。

最近我不小心在目录中做了rm –rf * :(

我在看git。我已经建立了一个本地仓库并开始使用git。

现在我变得更加雄心勃勃。我在想是否可以使用本地遥控器在树中共享代码。树木完全相同并且编号 tree1 tree2 等。

我有4棵树。所有这些都有各自的git跟踪我正在做的更改。当我需要使用git时,我在想是否可以从一棵树变成另一棵树。

我可能也不需要所有更改......但只是对某些文件和文件夹形式的有限更改。

这里的git掌握了什么?选项包括:

  • 我是否只需要在需要时复制文件并保持简单生活?

  • 使用git patch?

  • 创建一个树名为branch的本地远程?并使用樱桃选择来改变

如果是第3个选项,有人可以帮助我解决如何设置遥控器的命令吗?

我知道这不是一个理想的情况,除非我最终重构我的代码库是否有办法做某事?

  • 主回购有 n 分支与每个树
  • 相关
  • 每棵树都推送到每个分支

这可能吗?我找不到执行这种结构的命令。

1 个答案:

答案 0 :(得分:1)

这有点自以为是,任何这些选项都可行。这是一个偏好问题。既然你想了解更多关于git的知识,我会选择第三种解决方案。

首先,您必须创建本地仓库:

git init --bare $PATH_TO_NEW_REPO_LOCATION

通过连续进入所有 repos并输入

来创建相应的分支
git remote add local-remote $PATH_TO_NEW_REPO_LOCATION
git push local-remote -u master:$TREE_BRANCH

其中$TREE_BRANCH是每个必须不同的分支名称。这将在新repo中创建分支,并将新分支设置为当前分支的上游。所以下次你做 git push 时,它会推送到正确的分支。

如果您想要进行一些更改,请将已更改的树推送到远程,使用 git fetch --all 更新本地存储库,然后使用 git选择正确的提交log local-remote / $ TREE_BRANCH git cherry-pick $ COMMIT_HASH