来自Sourcesafe,我最初一直使用git作为一个主要的撤销功能。我倾向于在主分支工作,代码愉快地离开了一段时间,到处提交,然后继续前进。
当我把我的大脑编码出来的时候,我有时希望放弃现在正在做的事情,开始做另一个特性。我知道我现在可以再开一家分店,但让我们假设我想继续做师父的工作。当我开始研究之前的特性时,我应该有所扩展,但这需要我提前计划(顺便说一句,我在这方面做得很糟糕)。
我很有信心,我需要的是有可能的git,但我不能让我的头。一张图片告诉我一千多个字,这就是我想要做的:
0--1 master
0--1--2 master
0--1--2--3 master
0--1--2--3 aBranch
\-4 master
0--1--2--3 aBranch
\-4--5 master编辑:,我应该清除每个数字都是commit。
发布于 2010-01-19 19:34:50
当然,在这一点上:
0--1--2--3 master运行以下命令:
git branch aBranch
git reset --hard 1git branch命令在当前头部创建一个分支(因此“主”和"aBranch“引用相同的点,但”主“仍然是当前分支),git reset命令将所有内容都回卷到当前分支(”主“)以提交1。
0--1--2--3 aBranch
\ master此时承诺"4“将给予:
0--1--2--3 aBranch
\-4 master发布于 2010-01-19 19:37:05
是的,这在git中很容易做到。
当您在Master3上提交时,您意识到它应该在另一个分支上,您可以根据当前的位置创建一个新的分支。
git branch aBranch然后,您可以将师父送回提交1。
git reset --hard <sha1_of_1>继续工作,像平时那样做第4和第5次。它们从commit 1中分离出一个独立于aBranch的分支。
发布于 2010-01-19 19:27:41
看看藏匿物。
编辑:如果您需要追溯到HEAD之外,您始终可以执行一个git结帐来指定起始点,以便从主服务器中的任何给定提交开始获得一个新分支。
https://stackoverflow.com/questions/2096367
复制相似问题