我正在开发一个Android应用程序,并且在整个开发周期中一直在使用Git。我现在已经开始构建和发布实验性功能供人们试用和安装,同时仍然在他们的设备上安装了原始的,稳定的应用程序。
现在,这意味着我需要使用不同的包名,这会更改开发项目中的一些基本文件。我还希望有一个单独的图标来清楚地区分应用程序。
我不习惯Git足以知道在这里采取哪种方式:我应该创建一个实验性分支,当我想做一些实验室工作时,我会将其分开,或者将这个实验工作作为一个单独的git保留下来-repo?
无论采用哪种方式,我都遇到了一些问题。
答案 0 :(得分:4)
这正是分支的用途。一个限制是git真的看到了提交,而不是文件。因此,您通常会使用cherry-pick命令将一个或几个提交从不同的分支合并到master中。
git branch branchx
git checkout branchx
... do work, commit (into branchx), repeat...
git checkout master # return to master
git log branchx # to find out the ID of the commit to merge back
git cherry-pick <commit ID from branchx>
这是首选方法。这意味着您在实验分支中工作时应牢记这一点。您的提交应该足够小,只包括修复/功能中涉及的文件。
或者,您可以使用
选择一些要合并的文件# from branch master do
git checkout branchx file1 file2 file3
答案 1 :(得分:1)
我肯定会去分店。你必须在提交中练习一些纪律,使它们足够小,你可以只挑选你需要的部分并留下其他部分。但我不认为这是一个问题,当然不是在两个独立的存储库之间合并更改。