Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何git重置分支的所有提交而不丢失更改?_Git - Fatal编程技术网

如何git重置分支的所有提交而不丢失更改?

如何git重置分支的所有提交而不丢失更改?,git,Git,我在一个分支中有一堆提交。今天我想从一个新的分支开始重新提交,而不是我以前的提交。和大师相比,我怎么能做到呢?我在上面找不到类似的问题,所以,它们都很难重置,我不想丢失我的更改。要回答您的问题,让我们将其分为两点 将提交从分支a添加到分支B 为此,可以使用git cherry pick 将这些提交添加到当前分支 将时间更改为当前时间。 您可以通过本文中提到的命令来完成此操作。我不太明白您想要实现什么。你是在说一个重基吗?你做了你想做的吗?我也不明白这个问题-你仅仅是因为你输入了一个错别字或类似的

我在一个分支中有一堆提交。今天我想从一个新的分支开始重新提交,而不是我以前的提交。和大师相比,我怎么能做到呢?我在上面找不到类似的问题,所以,它们都很难重置,我不想丢失我的更改。

要回答您的问题,让我们将其分为两点

将提交从分支a添加到分支B 为此,可以使用git cherry pick

将这些提交添加到当前分支

将时间更改为当前时间。
您可以通过本文中提到的命令来完成此操作。

我不太明白您想要实现什么。你是在说一个重基吗?你做了你想做的吗?我也不明白这个问题-你仅仅是因为你输入了一个错别字或类似的东西而想重命名分支吗?只需右键单击分支,就可以在任何Git UI工具中重命名。或者从CLI,git branch-m。我想在分支A上执行我的旧提交,并将它们放在新分支B上的一个提交中,日期为今天。^听起来像是挤压,可能是重命名/重基。git-rebase或git-merge-squash。
git checkout B
git cherry-pick sha1^..sha2