Git多输出

时间:2014-05-13 12:58:47

标签: git push branch git-checkout

我有一个主人,想要有几个“输出”我该如何做到这一点。 我不知道Git是否可行。

请看一下这个示例git项目:

  • phpfiles.php
  • 的config.php
  • 插件
    • a.php只会
    • b.php
    • c.php

分支A

  • phpfiles.php
  • config.php - >与主人不同
  • 插件
    • a.php只会

分支B

  • subfolder1
  • subfolder2 *
    • phpfiles.php
    • config.php - >与主人不同
    • 插件
      • c.php

请注意,子文件夹2 *包含“Master”并添加了...

当我在Master中的phpfiles.php中更改某些内容时 例如在我的本地机器上,我去Master / phpfiles.php进行更改 然后在终端中应用这些命令:

git status(可选)

git checkout master(可选?)

git add。 -A

git commit -m“做出改变”

git push

对于分支A: 我进入网络服务器和/或本地机器上的那个文件夹:

git checkout Branch A

git pull origin master

-

对于分支B: 我进入网络服务器和/或本地机器上的那个文件夹:

git checkout Branch B

git pull origin master

这是完成此操作的正确解决方法吗? 任何帮助深表感谢!

-

我的步骤是:

我从头开始创建了新文件夹:

git init

git remote add origin https:// **@bitbucket.org/* / * .git

git fetch&& git checkout BranchB

git merge --strategy =我们的origin / master

- >我得到:已经是最新的。

LS

- >我得到:

  • 子文件夹1

  • 子文件夹2

然后,我将尝试从master需要手动“获取”已更改的文件 进入子文件夹2,所以:

git checkout origin / master - changed.php

ls

- >我明白了:

-subfolder1

-subfolder2

-changed.php

2 个答案:

答案 0 :(得分:0)

您无需推/拉将更改从一个分支(master)传播到其他分支(branchAbranchB)。
您只能使用本地git操作。无需使用上游远程仓库。

你可以:

这样,第二次合并将只包含您在master中执行的提交,而不是尝试添加master中的所有内容。

答案 1 :(得分:0)

如果branchA和branchB可以通过master中的配方构建,那么你拥有的是多个makefile目标,而不是多个分支。如果make过重,branch-specific includes in this answer可能会发挥作用。 请记住,分支名称完全是本地的,每个回购实体。使用该设置,您可以将checkout用作穷人的品牌,例如, checkout -B config-set-A使用新配置集重新配置当前工作目录。