我有一个简单的存储库,其中包含线性提交历史,例如:[A]->[B]->[C]->[D]->[E]...我基本上需要删除提交A和B,所以我想我会创建一个新的存储库并希望实现类似的目标:[X]->[C]->[D]->[E]...所以我创建了一个新的存储库,手动创建了提交X,它存储了A和B的相关信息,现在需要一个命令来从原始存储库中提取提交C、D、E等,并将其放在顶部我的新提交X。怎么做?编辑:建议的cherry-pick方法有两个问题:转移的提交丢失了日期。有什么方法可以保留提交日期吗?当我从原始存储库获取master(并且该远程master与新存储库没有任何共同的提交)时,我无法删除那些
我正在为我的项目使用git-flow,并在开发分支中开始了一组相当复杂的更改,这似乎比我最初预期的要长。我希望我在功能分支中完成了此操作,因为我想制作一个包含其他更改的新版本。如何将这些未提交的更改移动到新的git-flow功能分支中? 最佳答案 如果您没有提交如果你只是有一个脏工作副本,就像你要开始一个新功能一样:gitflowfeaturestartawesomenessgitcommit-va如果您确实做出了一些promise如果develop中有本该在你的feature分支中的commit,上面的步骤是一样的。此外,尽管您(
我正在为我的项目使用git-flow,并在开发分支中开始了一组相当复杂的更改,这似乎比我最初预期的要长。我希望我在功能分支中完成了此操作,因为我想制作一个包含其他更改的新版本。如何将这些未提交的更改移动到新的git-flow功能分支中? 最佳答案 如果您没有提交如果你只是有一个脏工作副本,就像你要开始一个新功能一样:gitflowfeaturestartawesomenessgitcommit-va如果您确实做出了一些promise如果develop中有本该在你的feature分支中的commit,上面的步骤是一样的。此外,尽管您(
精简版使分支再次等于master并丢弃任何差异的最简单方法是什么?到目前为止,我只是简单地使用了gitbranch-Dwip,然后是gitcheckout-bwip,但这看起来有点傻。动机我经常在master分支旁边有一个wip分支,用于“正在进行的工作”。有时在这样一个分支上的工作会被“遗忘”,当我重新发现它时,我发现我不再需要它了。这种重新发现经常发生在我想使用分支存储一组新的“正在进行的工作”时,我发现我只是想丢弃与master的任何差异,所以新的“进行中的工作”适合在上面。弄清楚差异是不值得的:上面描述的解决方案对我来说很好用。有没有更好的解决方案来解决这个用例?
精简版使分支再次等于master并丢弃任何差异的最简单方法是什么?到目前为止,我只是简单地使用了gitbranch-Dwip,然后是gitcheckout-bwip,但这看起来有点傻。动机我经常在master分支旁边有一个wip分支,用于“正在进行的工作”。有时在这样一个分支上的工作会被“遗忘”,当我重新发现它时,我发现我不再需要它了。这种重新发现经常发生在我想使用分支存储一组新的“正在进行的工作”时,我发现我只是想丢弃与master的任何差异,所以新的“进行中的工作”适合在上面。弄清楚差异是不值得的:上面描述的解决方案对我来说很好用。有没有更好的解决方案来解决这个用例?
我克隆了一个github存储库并在本地进行了多次提交。当我打算为我的更改创建一个单独的分支时,我不小心在master分支上进行了这些提交。在我将更改推送到远程之前,有什么方法可以将这些更改转换为新分支并恢复原始master分支? 最佳答案 #从当前的HEAD创建一个新分支:gitbranch#将当前分支(仍然是master)重置为远程master分支:gitreset--hardorigin/master#切换到新分支:gitcheckout 关于git-将本地master转换为git中
我克隆了一个github存储库并在本地进行了多次提交。当我打算为我的更改创建一个单独的分支时,我不小心在master分支上进行了这些提交。在我将更改推送到远程之前,有什么方法可以将这些更改转换为新分支并恢复原始master分支? 最佳答案 #从当前的HEAD创建一个新分支:gitbranch#将当前分支(仍然是master)重置为远程master分支:gitreset--hardorigin/master#切换到新分支:gitcheckout 关于git-将本地master转换为git中
我创建了一个本地分支,但后来意识到我不需要它。如果我从本地仓库中删除它,我是否也必须从远程仓库中删除?我只是创建了那个分支,并没有添加、提交或推送任何东西——简而言之,我没有在其中做任何事情。 最佳答案 如果您没有将分支推送到远程,您可以在本地简单地删除它:gitbranch-dmy_branch注意:如果您还没有将分支merge到它的上游或当前分支,git将拒绝删除该分支,以免您丢失该分支中的提交。如果您确定不需要提交,可以使用gitbranch-Dmy_branch强制删除。您可以通过键入以下内容获得所有分支的概览:gitbra
我创建了一个本地分支,但后来意识到我不需要它。如果我从本地仓库中删除它,我是否也必须从远程仓库中删除?我只是创建了那个分支,并没有添加、提交或推送任何东西——简而言之,我没有在其中做任何事情。 最佳答案 如果您没有将分支推送到远程,您可以在本地简单地删除它:gitbranch-dmy_branch注意:如果您还没有将分支merge到它的上游或当前分支,git将拒绝删除该分支,以免您丢失该分支中的提交。如果您确定不需要提交,可以使用gitbranch-Dmy_branch强制删除。您可以通过键入以下内容获得所有分支的概览:gitbra
如何检查git中分支的提交版本?比如我的分行,Dev,有一个提交ad4f43af43e.我如何检查该提交?不只是单个文件,而是整个分支。我在网上搜索发现:gitcheckout,但它没有指定分支名称 最佳答案 gitcheckout#nonnamedcommitgitcheckout#namedcommit上面的两行将HEAD指针放在给定的提交上。您应该知道分支名称是一个提交,但如果您在该分支上添加新提交时它会发生变化。如果你想将分支Dev放在提交ad4f43af43e上,你可以这样做gitbranch-fDevad4f43af43