如何在一个 git 存储库中管理多个相关的 Android 项目
How can I manage multiple related Android projects in one git repo
所以我正在基于相同的 Android 代码构建多个应用程序,但问题是我不确定如何管理这些应用程序。如果我有多个分支,我不希望主分支覆盖另一个项目的 manifest.xml (以及该项目的其他一些特定文件)。有没有办法锁定另一个分支中的 cretin 文件以防止在合并时被覆盖?或者有选择地合并文件的方法?
我使用 Git 作为我的源代码控制。应用程序之间可能只有 10 个左右的文件发生变化……主要与主题有关。对此的任何帮助将不胜感激。
如果此问题类型不属于 Stack Overflow,也请告诉我。我很乐意移动它。
我假设您的所有项目分支的 "root" 分支是 master
,并且您将特定应用程序项目分支到分支 project_a
。
如果您更改分支 project_a
中的清单文件,然后执行 git merge master
,那么您将不会有任何问题(您的 project_a
分支中没有任何更改)。
merge
不会简单地从另一个分支复制所有差异。它还会查看其他因素,例如提交的时间戳。
例如:
cd git-test
git init
echo "hello" > manifest.txt
git add .
git commit -m "initial commit"
git checkout -b project_a
echo "world" > manifest.txt
git commit -am "change in project branch"
git merge master # no effect
最后一行没有效果,因为 project_a
分支中对 manifest.txt 的更改比 master
分支中对 manifest.txt 的更改更新。
所以我正在基于相同的 Android 代码构建多个应用程序,但问题是我不确定如何管理这些应用程序。如果我有多个分支,我不希望主分支覆盖另一个项目的 manifest.xml (以及该项目的其他一些特定文件)。有没有办法锁定另一个分支中的 cretin 文件以防止在合并时被覆盖?或者有选择地合并文件的方法?
我使用 Git 作为我的源代码控制。应用程序之间可能只有 10 个左右的文件发生变化……主要与主题有关。对此的任何帮助将不胜感激。
如果此问题类型不属于 Stack Overflow,也请告诉我。我很乐意移动它。
我假设您的所有项目分支的 "root" 分支是 master
,并且您将特定应用程序项目分支到分支 project_a
。
如果您更改分支 project_a
中的清单文件,然后执行 git merge master
,那么您将不会有任何问题(您的 project_a
分支中没有任何更改)。
merge
不会简单地从另一个分支复制所有差异。它还会查看其他因素,例如提交的时间戳。
例如:
cd git-test
git init
echo "hello" > manifest.txt
git add .
git commit -m "initial commit"
git checkout -b project_a
echo "world" > manifest.txt
git commit -am "change in project branch"
git merge master # no effect
最后一行没有效果,因为 project_a
分支中对 manifest.txt 的更改比 master
分支中对 manifest.txt 的更改更新。