Sus*_*syP 5 git version-control github
第一个问题在这里!
我们正在使用 git 进行项目的版本控制。我们的仓库看起来像这样:
master: C0-C1-C2-C3-C4
\
development: C5-C6-C7
Run Code Online (Sandbox Code Playgroud)
当我们开始项目时,我们被建议使用 gitflow 工作流程。无论如何,由于我们是一个小团队,之前没有 git 经验,正在开发一个相当小的项目,所以我们现在认为这可能有点过头了。相反,我们想开始使用功能分支模型。
长话短说,我们想要这样的东西:
master: C0-C1-C2-C5-C6-C7
Run Code Online (Sandbox Code Playgroud)
因此,从 C7 开始,我们可以“从头开始”(但保留我们迄今为止所做的事情),但现在使用单独的功能分支。
正如您所看到的,我们还想删除C3和C4。这是因为它们完全无用(这些提交添加了一些在C6和C7中添加的文件),而且还因为我们希望从一个干净的主分支开始,而不在历史记录中进行合并。
我以为这会很简单,但经过几个小时的谷歌搜索后,我有点迷失了。我读到有关创建新的孤立分支、复制 C7 的内容然后删除其他分支的信息,但我不确定这是否是正确的方法。
哦,顺便说一句,我们无法创建新的存储库。这是在学术课程中向我们提供的私人回购协议,也是我们唯一拥有的。
提前致谢。
你要
C0-C1-C2-C5-C6-C7 [master]
Run Code Online (Sandbox Code Playgroud)
当您像这样查看存储库时,问题会变得更简单。
C0-C1-C2-C5-C6-C7 [development]
\
C3-C4 [master]
Run Code Online (Sandbox Code Playgroud)
“分支”只是提交上的标签。您可以根据需要对它们进行重命名和移动。development已经是你想去的地方了master。因此重命名master和development.
git branch -m master old/master
git branch -m development master
Run Code Online (Sandbox Code Playgroud)
哒哒!
C0-C1-C2-C5-C6-C7 [master]
\
C3-C4 [old/master]
Run Code Online (Sandbox Code Playgroud)
由于您的master遥控器与遥控器不同,因此master您需要强制推送。
git push -u --force origin master
Run Code Online (Sandbox Code Playgroud)
这-u将确保您的新master分支跟踪远程master.
最后,当你准备好后,删除old/master.
git branch -D old/master
Run Code Online (Sandbox Code Playgroud)
在一段时间内,它仍然可以通过 恢复git reflog。
| 归档时间: |
|
| 查看次数: |
1286 次 |
| 最近记录: |