Git:将源代码复制到没有历史记录的新分支

标签 git branch

我在 git 存储库中有 2 个分支:commonmyown

我想将源代码从一个分支复制到另一个分支,但我想在 common 分支的历史记录中只看到与功能迁移相关的提交(从 myown通用)。

是否可以在没有历史记录的情况下复制源代码,或者是否需要新的存储库?

此外,可能有必要从 common merge 到 myown 并在一些更改后将源复制回作为新提交(并且仅作为该提交 - 没有所有历史记录正如我之前所说的其他提交)。

最佳答案

我找到了一个可以使用的更快的方法:

git checkout <branch> -- .

这会将当前 check out 分支的内容替换为 <branch> 的内容.

这不会复制 <branch>提交历史。

如果您只想 checkout 一些文件,只需替换 .使用来自 <branch> 的文件路径.

编辑:我发现这只会替换当前文件,不会删除不在 <branch> 上的文件。 .

然后最好运行 rm -rf在 checkout 之前。

关于Git:将源代码复制到没有历史记录的新分支,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20790014/

相关文章:

git 权限被拒绝(公钥、gssapi-keyex、gssapi-with-mic)

git - 推送到 Heroku 时如何修复 "error: src refspec master does not match any"错误?

git - 你如何使用 git-cache-meta?

git - PhpStorm 默认 git 作者

从外面git checkout分支

git - 在TortoiseGit中,哪个是MERGE_HEAD,哪个是HEAD?

github - Git 拉取 : EGit with GitHub

version-control - 私有(private)变更的用例

tfs - 在 TFS 中,我应该为生产版本标记还是创建分支?

Git:在本地 merge 远程分支