如何检出分支的提交版本git
。例如,我的分支Dev
有一个提交ad4f43af43e
。我怎样才能检查出提交?不只是一个文件,而是整个分支。我在网上搜索,发现:git checkout <commit>
,但它没有指定分支名称Git如何结帐分支提交
谢谢。
如何检出分支的提交版本git
。例如,我的分支Dev
有一个提交ad4f43af43e
。我怎样才能检查出提交?不只是一个文件,而是整个分支。我在网上搜索,发现:git checkout <commit>
,但它没有指定分支名称Git如何结帐分支提交
谢谢。
您可以将checkout
改为commit-sha
然后,从该提交中创建一个新分支(例如feature
)。
$ git checkout <commit>
$ git checkout -b feature # create a new branch named `feature` from the commit
# if you want to replace the current branch (say 'develop') with new created branch ('feature')
$ git branch -D develop # delete the local 'develop' branch
$ git checkout -b develop # create a new 'develop' branch from 'feature' branch
,当你说创建分支'功能',分支是在远程或本地? – user1615666
@ user1615666:* all * Git分支是本地的。 (即使你的“远程追踪分支”,比如'origin/master',实际上也是本地的!当你运行'git fetch'时,它们会自动*更新*以匹配'origin'。把'fetch'想象为“Tell我的Git通过互联网电话调用另一个Git,并获得其他Git为我的Git所做的任何更新。“同时'git push'是”让我的Git调用其他Git,而不是*获取*东西,*给他们的东西,并要求他们更新他们的分支。“) – torek
如果你正在寻找从一个特定的分支出来犯的一个分支,首先要确定你是在分支,
git checkout dev
现在我想签一个特定的从呈交123654 dev分支到一个新的分支,同时保持头部在主分支上。
git checkout -b new-branch 123654
git checkout <hash> # non named commit
git checkout <branch_name> # named commit
两行以上将放置在给定的提交头指针。您应该知道分支名称是一个提交,除非您在该分支上添加新的提交时它可能会发展。
如果要放置您分支Dev
在提交ad4f43af43e
你可以做到这一点
git branch -f Dev ad4f43af43e
Becareful!这很危险,因为你可能会丢失提交
分支只是一个指向提交的指针。通过SHA1检出提交,然后直接将HEAD指向该提交。我建议你阅读https://git-scm.com/book/en/v2/Git-Branching-Branches-in-a-Nutshell – rom1v