找到正确的commit id
正常情况下我们要是找commit id 都是使用 git log 来查找, 但是使用了push -f 操作之后,我们在log中可能找不到我们想要的commit id了。
但是我们可以通过GitHub的api去获取。操作如下:
curl \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>"\
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/repos/OWNER/REPO/events
使用上面的api获取仓库的事件列表,从列表中拿到需要的commit id。
根据commit id创建分支
同样直接使用GitHub的api直接完成
curl \
-X POST \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>"\
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/repos/OWNER/REPO/git/refs \
-d '{"ref":"refs/heads/featureA","sha":"aa218f56b14c9653891f9e74264a383fa43fefbd"}'
完成上面两步,就可以看见有一个新的分支出现了