Git 使用sigle commit从其他分支创建新分支

Git 使用sigle commit从其他分支创建新分支,git,Git,我有两个分支(project的两个不同版本),其中有一些使用密码的提交。 很难找到所有这些提交以及所有提交的文件—以前大约有100次提交,而且发生了多次。实际上,已经发布了两个版本,所以我不想清理历史记录(在本例中,我认为这很难),我只想创建新的分支(一个用于版本),这些分支将包含来自当前版本的代码,但没有所有这些提交(有一些2k提交+)-我希望类似于新回购的情况-比如只有一个初始提交 怎么做;)从控制台?首先需要创建新分支: $ git checkout -b new_branch 然后,您

我有两个分支(project的两个不同版本),其中有一些使用密码的提交。 很难找到所有这些提交以及所有提交的文件—以前大约有100次提交,而且发生了多次。实际上,已经发布了两个版本,所以我不想清理历史记录(在本例中,我认为这很难),我只想创建新的分支(一个用于版本),这些分支将包含来自当前版本的代码,但没有所有这些提交(有一些2k提交+)-我希望类似于新回购的情况-比如只有一个初始提交
怎么做;)从控制台?

首先需要创建新分支:

$ git checkout -b new_branch
然后,您可以像这样重置任意数量的提交(此处为3):

或者,您可以重置为特定的SHA1哈希:

$ git reset --soft 3171739
然后,您可以检查提交到分支的日志:

$ git log

请注意,您的工作不会被销毁,但某些文件可能未被跟踪,因此您必须在以后添加它们。我希望这能回答你的问题。

如果你想摆脱所有的历史记录,为什么不从当前的代码库创建一个新的回购协议呢?还要注意,如果你选择
reset--soft
路线,一种容易指向你的第一次提交的方法是
git rev list--max parents=0 HEAD
$ git log