ChatGPT解决这个技术问题 Extra ChatGPT

如何从旧提交创建新的 Git 分支? [复制]

这个问题在这里已经有了答案:9 年前关闭。

可能重复/最近/不太清楚的问题从使用 Git 的先前提交分支

我有一个名为 jzbranch 的 Git 分支,并且有一个旧的提交 ID:a9c146a09505837ec03b

如何根据上面列出的信息创建一个新分支 justin

这不是重复的——另一个问题涉及从某个 NUMBER 的提交中检索,而该问题使用 COMMIT ID。
使用当前提交创建新分支,然后签出回原始分支,然后恢复到旧提交

T
Trevor Boyd Smith
git checkout -b NEW_BRANCH_NAME COMMIT_ID

这将创建一个名为“NEW_BRANCH_NAME”的新分支并检查它。

(“结帐”的意思是“切换到分支”)

git branch NEW_BRANCH_NAME COMMIT_ID

这只是创建新分支而不检查它。

in the comments many people seem to prefer doing this in two steps。以下是分两步执行此操作的方法:

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

值得注意的是,如果您已使用 git checkout <SHA1> 签出提交(因此您处于 分离 HEAD 上),则只需使用 {3 在该提交处创建一个分支} 或 git checkout -b <branchname>(同一提交不需要 SHA1 参数)。
只是想我会补充一点,当你不小心丢弃了一个存储时,这种技术也有效。
如果您正在创建一个新分支供其他人使用,但还没有任何提交,您可以使用以下命令推送:git push --set-upstream origin justin
“检查一下”是什么意思??
@mesqueeb 我想这意味着切换到分支。第一个命令创建一个新分支并直接切换到它。第二个创建一个新分支而不直接切换到它,因此您仍将使用旧分支。