The answer is "like, but maybe you don’t need to."
, git cherry-pick commit. git: " , , . , , . 1 ."
, master, newbranch:
$ git checkout newbranch
$ git cherry-pick master
newbranch, . - master.
( - ) , "":
$ git checkout master
$ git reset --hard HEAD^
, git reset --hard .
, (. user2699113 answer). "" , , , : , , , , , . (, , , .)
( , SHA-1, - .)
1 -n --no-commit , git , , .
, ", "?
git . git , , " ", . 2 ( , ), - " " - .
, commit -. - , ( git) , git . , ( DAG ) :
A <-- B <-- C <-- master
^
\
D <-- branch
commit D branch, commit C . Commit C B, A, (root, parent-less) commit.
" " , , , . , A C ( , , ):
A - B - C <-- HEAD=master
HEAD=, , git , "on". ( HEAD .git : cat .git/HEAD, ref: refs/heads/master - .) git checkout -b branch, :
A - B - C <-- master, HEAD=branch
( .git/HEAD branch master).
( , ), git HEAD, , , SHA -1 ID. " ". git , , , . (, , HEAD .)
, " branch" commit D, , :
A - B - C <-- master
\
D <-- HEAD=branch
" master", :
A - B - C <-- branch
\
D <-- HEAD=master
, , , . , , master, branch, branch , master, HEAD , branch master.
, ... , .:-) , git . branch, master. master branch branch master:
$ git branch -m branch temp
$ git branch -m master branch
$ git branch -m temp master
branch temp. master branch ( , HEAD). temp master, DAG , .
, " " () . ( : , --. " ", , -ID-, , , master bb71dde..., , , . git, , " ".)
2 , Mercurial .