我有一个主人,想要有几个“输出”我该如何做到这一点。 我不知道Git是否可行。
请看一下这个示例git项目:
主
分支A
分支B
请注意,子文件夹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
答案 0 :(得分:0)
您无需推/拉将更改从一个分支(master
)传播到其他分支(branchA
,branchB
)。
您只能使用本地git操作。无需使用上游远程仓库。
你可以:
cherry-pick您刚刚在master
中做出的提交(樱桃选择branchA
,然后branchB
)。
请参阅" Git and working on multiple branches"
将master
合并到其他分支:请参阅" Merging one change to multiple branches in Git"。
但是假设您在提交到master
之前已经git merge --ours
git checkout branchA
git merge --strategy=ours master
git checkout master
# do your commit
git checkout branchA
git merge master
这样,第二次合并将只包含您在master
中执行的提交,而不是尝试添加master
中的所有内容。
答案 1 :(得分:0)
如果branchA和branchB可以通过master中的配方构建,那么你拥有的是多个makefile目标,而不是多个分支。如果make
过重,branch-specific includes in this answer可能会发挥作用。 请记住,分支名称完全是本地的,每个回购实体。使用该设置,您可以将checkout用作穷人的品牌,例如, checkout -B config-set-A
使用新配置集重新配置当前工作目录。