我经历了几个相关的问题并提出了我自己不太好的解决方案,我认为有更好的方法来解决我的问题,需要建议。
情况如下。
我在github上有一个带有两个分支的回购,master
和gh-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
分支。然后我必须用上面命令引入的插件手动替换以前的插件文件,然后将其提交给主分支。
这个解决方案对我来说似乎很乏味和笨拙。有没有更好的方法来实现结果?
答案 0 :(得分:0)
你需要的是变基或合并。当您使用git之类的东西时,您不需要手动执行任何操作。如果您这样做,则表示您的工作流程/流程出现问题。
据我所知,你在这里尝试的是你有一个名为gh-pages
和master
分支的功能分支。您想要做的是,将您的更改带入您的主分支,对吗?
所以你有两个选择: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
这会更新存储库