如何将特定文件从一个 git 存储库复制到另一个 git 存储库,并保留历史记录

2023-12-09

我有一个旧的私人存储库,其中包含我想要放入 GitHub 的文件,但是我只想包含某些文件,或者可能只包含具有特定文件扩展名的文件及其提交历史记录。

但是我不想在提交历史记录中包含任何排除的文件。

我想提供一个我想要复制的此类文件的列表是理想的。


以下是您可以采取的方法。

  1. 为新存储库创建一个新文件夹。
  2. Run a git init在新文件夹中将其初始化为 git 存储库。
  3. Run git clone -n [path to your old private git repo]。这将克隆但不会签出任何文件。您将只剩下旧私人存储库的 .git/ 文件夹。
  4. Run git checkout [file you want]对于您想要的每个文件。您可以在这里使用通配符(您提到了文件扩展名)。
  5. 获得所需的所有文件后,删除通过克隆命令添加的远程源,并添加名为 origin 的远程以及新存储库位置的路径。
  6. Push
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将特定文件从一个 git 存储库复制到另一个 git 存储库,并保留历史记录 的相关文章

  • 尝试配置 GIT 时 Eclipse 没有响应

    Windows 10 专业版 64 位SSD金士顿 i5 4690Eclipse 版本 全部工作空间 空问题 每次我尝试配置 TEAM gt GIT gt 配置或尝试导入 创建本地 远程 git 时 Eclipse 都会冻结 直到我强制用任
  • VS Code 在交互式变基期间不会等待我 [重复]

    这个问题在这里已经有答案了 如果我使用交互式变基git rebase i使用为 Git 配置的默认编辑器 一切都运行良好 如果我在我的全局中添加以下内容 gitconfig core editor C Program Files x86 M
  • 删除 Xcode 项目的源代码控制

    我在 Xcode 项目上使用源代码控制已经有一段时间了 但现在我不想使用源代码控制 如何从 Xcode 中的项目中删除源代码控制 有三种方法 方法 1 将禁用所有项目的源代码管理 方法 2 将删除所有项目的单个存储库的链接 方法 3 将删除
  • 结帐时出现 Git 错误:“致命:引用不是树”

    当我决定弄清楚为什么我正在从事的项目如此重要时 这一切就开始了 我运行了以下脚本 git rev list objects all git cat file batch check objecttype objectname objects
  • 在种子项目上构建时如何组织 git 存储库

    我正在基于从 github 克隆的种子项目 MEAN io 构建一个网站 如何将这些文件与我自己的文件分开 由于该种子提供了广泛的文件框架 因此我自己的文件分布在整个项目中 我希望能够从种子中提取更新 但不能将其与我添加的文件混合 我知道我
  • 为什么 Git Bash 无法运行我的可执行文件?

    I am on git for windows https github com git for windows 吉特 巴什 我无法在命令行上运行可执行文件 Pedr Abc 07 MINGW64 c dev ls sqlite3 exe
  • 如何在现有裸存储库中创建引用日志信息

    您可能已经知道 默认情况下 git 不会为新的裸存储库启用引用日志更新 问题是 我有一个很长的历史存储库 但它是在我设置 logAllRefUpdates 标志之前创建的 现在我希望其他应用程序可以使用该信息 如何通过对现有存储库进行最少的
  • 有什么方法可以从提交的消息中获取提交的 SHA 值吗?

    当做一个git tag 我并不总是擅长记住 HEAD 6 例如 是包含的还是排他的 鉴于我的大多数提交都以问题号为前缀 我想知道是否有一些神奇的命令可以从其消息的一部分中搜索提交 SHA 我知道这很容易做到git log并从那里开始工作 但
  • GitHub API 获取用户/组织总数

    Using GitHub API https developer github com v3 如何计算请求时的用户 组织总数 Users https developer github com v3 users and 组织机构 https
  • git 清除远程仓库

    如果我将错误的初始提交 或多个 推送到远程存储库 并且只想清除 销毁它 我可以通过命令来完成吗 将其从服务器中完全删除非常重要 这样它就不会占用磁盘空间 例如 今天我推送了一个完整的 Visual Studio 项目 其中包含 dll sd
  • Git 忽略本地文件更改

    我都尝试过 git update index assume unchanged config myconfig and editing git info exclude并添加config myconfig 然而 当我执行 git pull
  • Git 实验分支还是单独的实验存储库?

    我正在开发一个 Android 应用程序 并且在整个开发周期中一直使用 Git 现在 我想构建并发布实验性功能 供人们尝试和安装 同时仍将原始的 稳定的应用程序安装在他们的设备上 现在 这意味着我需要使用不同的包名称 这会更改开发项目中的一
  • 将 GIT 存储库中的文件标记为暂时忽略

    我们正在从 Perforce 迁移到 GIT 当然 我希望存储库中有一些文件 但个人开发人员不应该定期签入它们 诸如 eclipse 项目文件之类的东西 每个开发人员可能会获得初始的 project 文件 但随后会根据自己的环境稍微调整它
  • git checkout 后,Git 丢失了本地提交文件

    我从另一个分支切换 这样我就可以进行推送 在进行结账时 文件在我的编辑器中打开 这可能导致权限被拒绝错误 git 丢失了我的所有文件吗 我不知道如何让他们回来 这就是我所做的 丢失的文件有js Messages目录templates Mes
  • 为什么我无法推送这个最新的 Git 子树?

    我将 Git 子树与我正在开发的几个项目一起使用 以便在它们之间共享一些基本代码 基本代码经常更新 升级可能发生在任何项目中 最终所有项目都会更新 我遇到了一个问题 git 报告我的子树是最新的 但推送被拒绝 例如 git subtree
  • 如何使用 Mercurial 进行原始结帐?

    如何将工作目录状态恢复到存储库的新克隆的状态 显然我可以克隆我的存储库 但这似乎有点野蛮 使用 git 我会这样做 git clean xdn dry run to see what I m about to destroy git cle
  • 当更改提交给子模块时,如何触发詹金斯中的构建?

    我们有一个带有外部子模块的 git 存储库 当子模块更改时 我们必须触发构建 您能否向我们建议如何使用 xtrigger 插件轮询子模块上的更改 使用 shell 脚本或监视文件还是其他更好 有关我们构建过程的更多信息 步骤1 使用子模块克
  • 将存储库接口作为参数传递给域类上的方法是否被认为是糟糕的设计?

    我们的领域模型现在非常贫乏 我们的实体大多是空壳 几乎纯粹是为了保存值和导航到集合而设计的 我们正在使用 EF 4 1 代码优先 ORM 到目前为止的设计是为了让我们的新手开发人员在早期迭代期间查询上下文时免受可怕的 LINQ to Ent
  • 如何在 Gitolite 配置中添加存储库的描述

    我正在使用 gitolite 为我的 GIT 服务器进行用户维护 除了仓库描述之外 一切正常 我已经在 gitolite conf 中设置了存储库的描述 例如 reponame repo description 早期版本 v3 x 之前 可
  • 如何在解决冲突的过程中提交长 Git 合并

    我正在进行一次大型合并 其中包含 300 多个冲突文件 我想使用 mergetool 来解决这些问题 但我不可能一次性完成这一切 我如何提交合并 然后返回并继续相同的合并 通常 如果索引中存在冲突 git 似乎不允许您提交 我假设 不能一次

随机推荐