Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/228.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 在主分支中重新构造代码时如何合并git分支_Android_Git_Github - Fatal编程技术网

Android 在主分支中重新构造代码时如何合并git分支

Android 在主分支中重新构造代码时如何合并git分支,android,git,github,Android,Git,Github,我一直在和我大学的一个小组一起做一个项目。它是一个仅从一个简单主页开始的应用程序,然后我们都进行了分支以创建不同的组件 我们中的一个人把主页变成了卡片页来浏览个人资料, 另一个把主页变成了登录页面, 另一个实现了主页上页面之间的导航, 我制作了新的文件来实现上述代码。 都在不同的分支上。我先把我的角色和主分支合并 我们如何合并这些分支?对于这些作业中的每一个,我都需要它们最初在主页上所做的全部更改历史记录,但每一个都应用于/合并到当前主分支中的不同文件中。 实际上,git只想更新主文件。将代码从

我一直在和我大学的一个小组一起做一个项目。它是一个仅从一个简单主页开始的应用程序,然后我们都进行了分支以创建不同的组件

我们中的一个人把主页变成了卡片页来浏览个人资料, 另一个把主页变成了登录页面, 另一个实现了主页上页面之间的导航, 我制作了新的文件来实现上述代码。 都在不同的分支上。我先把我的角色和主分支合并

我们如何合并这些分支?对于这些作业中的每一个,我都需要它们最初在主页上所做的全部更改历史记录,但每一个都应用于/合并到当前主分支中的不同文件中。
实际上,git只想更新主文件。将代码从其他分支复制/粘贴到主分支中的正确文件上是否是唯一的方法?

将不同功能分支的更改引入主分支的两种主要方法是合并和重定基址。如果希望保留每个功能分支中完成的工作的历史记录,则不需要进行合并,因为生成的主分支将只有一个合并提交,表示每个功能分支中的所有工作。来自每个功能分支的实际提交不会直接出现在master中

在这种情况下,保存历史的一种方法是使用重定基址。在这种方法中,每个特征分支都将在最新的主特征上重新设置基础。完成此操作后,该功能可以快速前进,并将在该功能中完成所有提交。如果您使用的是GitHub或Bitbucket之类的工具,那么工作流可能是这样的:

# from feature
git fetch
git rebase origin/master
git push --force origin feature
然后,您将创建一个返回到master的pull请求。在完成拉取请求后,功能分支的整个历史将在master上播放

下面是一个通用分支图,显示了重定基址的工作原理。它假设功能分支自脱离主分支以来已进行了2次新提交。此外,它假设自第一个功能分支以来,来自其他某个功能分支的两个新提交已推送到主功能。在重定基址之前,如下所示:

master:  A -- B -- C
          \
feature:   D -- E
master:  A -- B -- C
                    \
feature:             D' -- E'
在master上重新设置功能后,图表如下所示:

master:  A -- B -- C
          \
feature:   D -- E
master:  A -- B -- C
                    \
feature:             D' -- E'

也就是说,现在这部特写的历史看起来像是作者在最新的大师的基础上,完成了他所有的工作。生成的拉取请求只是一条指令,用于在最新的主控上放置一组新提交,所有工作历史都应保留。

我如何使这些更改影响我提到的主文件以外的文件?我不理解您的问题。