git是一个分布式版本控制系统。
本题目要求你实现一个简单的git分支管理模拟,你需要从输入中获取指令,并且在本地执行。
你需要实现的指令如下:
接下来将依次介绍各个指令和基本概念
提交节点(Commit Node):
分支(Branch):
HEAD:
指令:
数据保证不会删除当前分支,不会checkout或merge一个没有出现的分支,保证node一定是已出现过的节点编号。
开始时,当前分支为main,指向一个提交节点,编号为1。
多组数据,第一行一个整数 1≤T≤40 表示有 TT 组数据。
每组数据第一行一个整数 nn 满足1≤n≤5000,表示有 nn 条语句需要处理。
保证 ∑n≤105 , branch_name的长度 1≤len≤20,branch_name只包含大小写字母和数字
1
12
commit
branch bugfix
commit
checkout bugfix
commit
merge main
merge main
checkout main
merge bugfix
commit
reset 2
commit
2
bugfix 5
main 7
7
0
1 1
1 2
1 2
2 3 4
1 5
1 2
初始状态如下: