【发布时间】:2016-09-14 21:08:32
【问题描述】:
我提前道歉。我对 git 很陌生,我刚刚接手了一个存储在 git 中的项目。
这是我的情况 - 我接手的项目的目录结构在我的组织中不是标准的。
我用新的 dir 结构创建了新的分支,我使用了 git mv。我需要使分支名称成为标准。已经有一个具有标准名称但目录结构错误的分支。
我正在开发一个名为“develop”的分支,它具有我们想要的目录结构。我主要了解合并,但我还不太了解变基。本质上我需要让其他非标准分支完全像“开发”分支。
由于目录结构发生变化,合并不起作用,我已经尝试过。
我如何简单地使其他分支完全像“开发”?
更新:
我意识到只要不推到远程,我就可以练习。
之前,我选择了其中一个分支来更改目录结构(“test”分支):
cd 到要移动文件的目录
键入此命令(这表示您要更改的当前目录结构)
git mv OldDir1/OldDir2/* .
注意最后的句号,紧跟在 OldDir2/* 之后的空格
提交并推送。注意:这将删除每个文件的历史记录。
我之前也对“开发”分支进行了此操作。
现在,两个分支(开发、测试)都有新的目录结构。
然后:
git checkout 开发 git结帐测试 git rebase 开发
此时,它无法解析 podfile 和 podfile.lock 文件。
Sourcetree 显示 pull (2) 和 push(前面的提交次数)。
我尝试了几件事,但无法让 sourcetree 从开发中获取 podfile,它一直想从测试分支中获取 podfile。
直到我解决了 pull (2),也就是提到的两个 podfile,它才会推送。
我终于拉了两个 podfile 并提交/推送,即使它们已经过时了。
我会更改它们并推送。
这完成了我想要的,我检查了几个文件以了解最近的更改,以确保“测试”与“开发”是最新的。
【问题讨论】: