当目录结构改变时如何在git中合并或重新绑定?

时间:2016-09-14 21:08:33

标签: git github merge rebase

我提前道歉。我是git的新手,我刚刚接手了一个存储在git中的项目。

这是我的情况 - 我接手的项目有一个目录结构,在我的组织中不是标准的。

我使用新的dir结构创建了新的分支,我使用了git mv。我需要使分支名称标准化。已经有一个标准名称但分支结构错误的分支。

我正在开发一个名为“develop”的分支,它具有我们想要的目录结构。我主要理解合并,但我还不太了解rebase。基本上我需要让其他非标准分支完全像“开发”分支。

由于dir结构的变化,合并将无效,我已经尝试过了。

如何让其他分支完全像“开发”?

更新:

我意识到只要我没有推到遥控器就可以练习。

之前,我选择了一个分支来改变目录结构(“测试”分支):

进入要将文件移入

的目录

键入此命令(这表示您要更改的当前目录结构)

git mv OldDir1 / OldDir2 / *。

请注意OldDir2 / *

之后的空格后的句点

提交并推送。注意:这将删除每个文件的历史记录。

我之前也对“开发”分支做了这个。

现在,两个分支(开发,测试)都有新的目录结构。

然后:

git checkout开发 git结帐测试 git rebase develop

此时,它无法解析podfile和podfile.lock文件。

Sourcetree显示了pull(2)和push(提前提交的数量)。

我尝试了几件事并且无法获得sourcetree从开发中获取podfile,它一直想从测试分支中获取podfile。

直到我解决了拉(2),这是提到的两个podfiles,它才会推动。

我终于拉了两个podfiles并提交/推送,即使它们已经过时了。

我会改变它们并推动。

这完成了我想要的,我已经检查了几个文件以查看最近的更改,以确保“test”是最新的“develop”。

1 个答案:

答案 0 :(得分:1)

对于明确定义且工作良好的项目,您不想做什么,但是您可以简单地检查您的主分支并将您所做的事情复制到您的" develop"分支。

我真的不明白为什么你不能合并"开发"进入你的"主人"分支,但如果你有合并冲突,也许把它们拉进你的" develop"分支,解决(可能会有很多可能是很多)冲突,并重新合并到主人也可能是一个解决方案。你可以在本地完成这一切,而不必将任何东西推到你的原点,所以它安全"只要你不推动原产地。如果您确信结构符合您的要求,那么您可以选择" origin"并且对于该项目的其他所有人都可以看到您的更改。