Git:在不同的分支中拥有不同的文件集(工作流建议)

时间:2015-06-12 05:02:41

标签: git github version-control

我经历了几个相关的问题并提出了我自己不太好的解决方案,我认为有更好的方法来解决我的问题,需要建议。

情况如下。

我在github上有一个带有两个分支的回购,mastergh-pages

master包含一个文件(这是一个JavaScript插件),没有任何目录。

gh-pages包含我正在演示插件的示例站点的所有代码。它包含图像,css,html,依赖库和插件文件本身。

现在,当我对插件文件进行更改时,在我的本地存储库中,我在gh-pages分支上,因为我必须测试它是否正常工作。完成修改,添加或修复插件中的内容后,我将其提交到gh-pages分支。要将更新的插件带到主分支,我执行以下操作。

git checkout master git checkout gh-pages js/lib/Plugin.js

这会将带有Plugin文件的整个目录(js/lib/Plugin.js)带到我的master分支。然后我必须用上面命令引入的插件手动替换以前的插件文件,然后将其提交给主分支。

这个解决方案对我来说似乎很乏味和笨拙。有没有更好的方法来实现结果?

2 个答案:

答案 0 :(得分:0)

你需要的是变基或合并。当您使用git之类的东西时,您不需要手动执行任何操作。如果您这样做,则表示您的工作流程/流程出现问题。

据我所知,你在这里尝试的是你有一个名为gh-pagesmaster分支的功能分支。您想要做的是,将您的更改带入您的主分支,对吗?

所以你有两个选择:Rebasing or Merging

我将解释如何使用变基来完成此操作。记住这是几种方法之一。如果您按照上述教程进行操作,则可以将gh-pages分支的更改添加到master

git checkout gh-pages
--commit everything you have done to your gh-pages branch--
git rebase origin/master //rebase your branch with master
git push origin gh-pages //push your local changes to the gh-pages remote repo
git checkout master
git merge gh-pages --no-ff //merge your local changes with master
git push origin master // push all the changes to master !

答案 1 :(得分:0)

在本地macchine上进行更改,然后

      git add -u

这会更新存储库