记录一次 git push -f 之后回退代码的过程

175 阅读1分钟

找到正确的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。

image.png

根据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"}'

完成上面两步,就可以看见有一个新的分支出现了