这是我的情况 - 我接手的项目有一个目录结构,在我的组织中不是标准的。
我使用新的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”。
答案 0 :(得分:1)
对于明确定义且工作良好的项目,您不想做什么,但是您可以简单地检查您的主分支并将您所做的事情复制到您的" develop"分支。
我真的不明白为什么你不能合并"开发"进入你的"主人"分支,但如果你有合并冲突,也许把它们拉进你的" develop"分支,解决(可能会有很多可能是很多)冲突,并重新合并到主人也可能是一个解决方案。你可以在本地完成这一切,而不必将任何东西推到你的原点,所以它安全"只要你不推动原产地。如果您确信结构符合您的要求,那么您可以选择" origin"并且对于该项目的其他所有人都可以看到您的更改。