ChatGPT解决这个技术问题 Extra ChatGPT

How do I create a new Git branch from an old commit? [duplicate]

This question already has answers here: Closed 9 years ago.

Possible Duplicate / a more recent/less clear question Branch from a previous commit using Git

I have a Git branch called jzbranch and have an old commit id: a9c146a09505837ec03b.

How do I create a new branch, justin, from the information listed above?

This isn't a duplicate--the other question deals with retrieving from a certain NUMBER of commits back while this question uses a COMMIT ID.
create new branch with current commit, then checkout back to original branch and then revert to old commit

T
Trevor Boyd Smith
git checkout -b NEW_BRANCH_NAME COMMIT_ID

This will create a new branch called 'NEW_BRANCH_NAME' and check it out.

("check out" means "to switch to the branch")

git branch NEW_BRANCH_NAME COMMIT_ID

This just creates the new branch without checking it out.

in the comments many people seem to prefer doing this in two steps. here's how to do so in two steps:

git checkout COMMIT_ID
# you are now in the "detached head" state
git checkout -b NEW_BRANCH_NAME

It is worth noting that if you had checked out a commit using git checkout <SHA1> (and therefore you're on a detached HEAD), you can create a branch at that commit by just using git branch <branchname> or git checkout -b <branchname> (no SHA1 argument required for the same commit).
Just thought I would add that this technique also works when you accidentally drop a stash.
if you're creating a new branch for others to use, but don't have any commits yet, you can push with: git push --set-upstream origin justin
what does "check it out" mean??
@mesqueeb I suppose it means switching to the branch. The first command create a new branch and switches directly to it. The second one create a new branch without directly switching to it, so you will be still on older branch.