Git 挑选文件,从目录 A 到目录 B

2024-04-14

我有一个项目,一直在进行一些实验性的改变。到目录 A 中的子项目。但是,在项目的 master 分支中,子项目已移动到一个单独的目录,即目录 B。

我有大约 10 个提交,我想有效地将​​其挑选到 master 中,但是我如何告诉 git 将旧目录放入新目录中?

Later
我尝试精挑细选,因为我只想介绍我的更改并保持历史记录干净。这不仅仅是文件移动。我还添加了新课程。它也没有检测到所有的移动。(我想到的第一个文件是 pom.xml)


您可以将这些提交转换为补丁,手动编辑补丁(用新路径替换旧路径),然后应用。

$ git init
Initialized empty Git repository in /tmp/gitt/.git/
$ mkdir olddir
$ cp /home/vi/code/_/ucontext.cpp olddir/ucontext.cpp
$ git add .
$ git commit -m "initial commit"
[master (root-commit) c0bf371] initial commit
 1 files changed, 97 insertions(+), 0 deletions(-)
 create mode 100644 olddir/ucontext.cpp

$ printf '22\na\n// Sup, /git/!\n.\nw\nq\n' | ed olddir/ucontext.cpp
1983
    if (!stacks) { stacks = stacks3; }
1998
$ git commit -am 'sample commit'
[master 83940c9] sample commit
 1 files changed, 1 insertions(+), 0 deletions(-)
$ printf '33\nd\nw\nq\n' | ed olddir/ucontext.cpp
1998
    }else{
1990
$ git commit -am 'sample commit 2'
[master 6599932] sample commit 2
 1 files changed, 0 insertions(+), 1 deletions(-)

$ git format-patch HEAD~2 --stdout > saved-commites.patch
$ git reset --hard HEAD~2
HEAD is now at c0bf371 initial commit
$ git mv olddir newdir
$ git commit -m 'rename dir'
[master bd8a77e] rename dir
 1 files changed, 0 insertions(+), 0 deletions(-)
 rename {olddir => newdir}/ucontext.cpp (100%)

$ sed -i.bak 's!\([ab]/\)olddir/!\1newdir/!g' saved-commites.patch
$ git am saved-commites.patch
Applying: sample commit
Applying: sample commit 2
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Git 挑选文件,从目录 A 到目录 B 的相关文章

  • Git 无效的修订范围 Symfony2 Composer 外部包

    RuntimeException Failed to execute git log 18efcf67d236d5bbf46ac67820250dffd0474b6e 94e2146f525fa1367e15646fa273e5b34f92
  • Git 不断提示我输入密码

    我已经使用 Git 一段时间了 但是不断要求输入密码开始让我感到厌烦 我使用的是 Mac OS X 和 GitHub 并且按照 GitHub 的说明设置了 Git 和我的 SSH 密钥设置 Git 页面 http help github c
  • 运行“git apply”时出错

    当我尝试时 您能否告诉我如何解决 补丁不适用 错误 git 应用补丁 git apply 0001 my patch error patch failed test xml 114 error text xml patch does not
  • git diff 在尖括号中显示 unicode 符号

    我有一个带有 unicode 符号 俄语文本 的文件 当我修复一些拼写错误时 我使用git diff color words 看看我所做的改变 如果是 unicode 西里尔文 符号 尖括号会造成一些混乱 如下所示 cat p1 cat p
  • 重新打包存储库对于大型二进制文件有用吗?

    我正在尝试将大量历史记录从 Perforce 转换为 Git 并且一个文件夹 现在是 git 分支 包含大量大型二进制文件 我的问题是运行时内存不足git gc aggressive 我的主要问题是重新打包存储库是否可能对大型二进制文件产生
  • SSH 到 Openshift 服务器失败

    我正在 openshift 服务器上使用 jboss catridge 我希望与其他人共享此实例并添加其他用户的公钥 id rsa pub 当其他人尝试访问该实例时 他会收到以下错误 我在他的实例中尝试了同样的方法 但看到了同样的错误 与
  • 分支明显不同,但提交历史是相同的

    git status告诉我我的分支和我在另一个存储库上开始的分支已经分歧 On branch master Your branch and origin master have diverged and have 13 and 13 dif
  • 如何解决 VSTS 中拉取请求中的合并冲突?

    我已经创建了拉取请求 我进入了这个 批准 按钮不执行任何操作 并且 完成 被禁用 如何解决拉取请求中的冲突 Update 微软刚刚添加了基于浏览器的合并 这可能会让你摆脱小冲突的困境 并提供自 Sprint 150 起改进了不同场景的可视化
  • 在 github 上的 fork 中跟踪上游的最佳实践

    摘要 对于要维护一组本地更改的上游存储库 处理长期运行跟踪的最佳实践是什么 我想让 github 上的 fork 与上游保持同步 但仍然允许清晰跟踪 fork 特有的更改 对于本次讨论 假设upstream指向主项目存储库并且origin指
  • 有谁知道类似于 SVN Time-Lapse View 的 Git 工具 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 SVN Time Lapse View 是一个跨平台查看器 可以下载文件的所有修订版本 并允许您通过拖
  • `git ls-files -s` 输出中不同字段的含义是什么?

    在 Git 中 命令返回的典型结果行git ls files s好像 100755 be2c2e9b0966253096472d4b482c458bc892e493 0 gitignore 这些字段是什么意思 不用再犹豫了git ls fi
  • 自动将所有 GitHub 存储库镜像到 gitlab

    对于 GitLab 必须手动为每个存储库设置拉 推镜像 我想知道那里有any way可以自动将所有 Github 存储库同步到 GitLab 这样 当您在 GitHub 中创建新的存储库时 GitLab 中的存储库将自动创建 并充当拉取镜像
  • 哪个是更智能的 git 协议,ssh 或 git(通过 ssh)或 https 协议?

    哪个高效 SSH 或 Git 文件压缩 我对 Git 的理解是 git 协议很智能 因为通信两端都有一个协议代理来压缩文件传输 从而通过有效地使用网络带宽来实现更快的克隆 From 我发现了以下说法 For secure authentic
  • Git:发送电子邮件而不提交

    我有一个项目 我做了更改 并想使用 git send email 功能将它们发送给另一个用户 我发现它可以通过发送补丁来工作 由git format patch每次提交 是否可以只发送diff的 我不想先提交 然后发送补丁 是否有gitfo
  • 如何将工作树与提交进行比较?

    我在用着 git diff mycommit 用于比较我的工作树mycommit 但它似乎忽略当前索引中不存在的文件 您可以按如下方式重现它 git init echo A gt A txt git add git commit m A g
  • `git Reset HEAD file` 是否也检查该文件?

    我错误地向 git 添加了一个目录 当我按照提示操作时here https stackoverflow com questions 348170 undo git add通过执行以下操作来撤消添加git reset HEAD
  • GIT:以下未跟踪的工作树文件将被签出覆盖

    我有两个分支 一个称为 master 另一个称为 dev 我目前位于 master 分支 我想转到 dev 分支将文件移动到开发服务器 但是当我执行 git checkout dev 我收到消息 以下未跟踪的工作树文件将被覆盖 查看 pag
  • 如何使用 Git 跟踪目录而不是文件?

    我最近开始使用 Git 但只有一件事遇到了麻烦 如何在不跟踪目录内容的情况下跟踪目录 例如 我正在开发的网站允许上传 我想跟踪上传目录 以便在分支等时创建它 但显然不是其中的文件 在开发分支中的测试文件或主控中的真实文件 在我的 gitig
  • 将bitbucket发布到数字海洋

    我本质上是试图使用 bitbucket 来理解 git 的概念 我一直在通过修改本地帐户和 bitbucket 帐户之间的文件来练习版本控制 事实证明这很有帮助 现在我正在尝试弄清楚如何将文件从 bitbucket 或者我猜是 GitHub
  • Git 到 TFS 源代码管理迁移

    我想看看 TFS 如何为我的命令工作 所以我想将我们当前的 GIT 存储库移动到 TFS 数据库 我们使用 GIT 来获得普遍的分支支持 因此我想使用 TFS 2010 来解决该问题 现在的问题是 如何将 GIT 存储库导出到 TFS 显然

随机推荐

  • Blueprism:如何在计算阶段使用替换功能?

    我正在使用 BluePrism 从应用程序中读取文本 文本结构如下 数字因情况而异 请注意您的订单参考号 525 我需要能够从文本中提取数字 看计算阶段 有一个替换函数 replace text pattern new text 我想使用此
  • python 路径 django

    我怎样才能添加一些东西到我的 Pythonpath 文件到底位于哪里 我必须更改以添加到我的 pythonpath 中 我到底要添加什么到我的 Pythonpath 中 如果Python调用 Library Frameworks Pytho
  • 从 python 3.2 中的文件的“Content-Length”值获取文件大小

    我想要得到Content Length来自元变量的值 我需要获取要下载的文件的大小 但最后一行返回错误 HTTPMessage对象没有属性getheaders import urllib request import http client
  • 如何将令牌存储在Android的本地或会话存储中?

    我正在创建一个与 SOAP Web 服务交互以从数据库获取数据的应用程序 当用户成功登录时 它会通过网络服务生成一个令牌 稍后在其他活动中调用 Web 服务方法时将需要此令牌 我的问题是 如何在需要时将该令牌传递给下一个活动并维护它直到用户
  • 如何将 HTML 和 CSS 添加到 PDF 中 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我有一个 HTML 不是 XHTML 文档 可以在 Firefox 3 和 IE 7 中很好地呈现 它使
  • x, = ... - 这个尾随逗号是逗号运算符吗?

    我不明白变量后面的逗号是什么lines means http matplotlib org examples animation simple anim html http matplotlib org examples animation
  • 使用 jQuery 获取所选选项 id

    我正在尝试使用 jQuery 根据所选选项发出 ajax 请求 有没有一种简单的方法来检索所选的选项 ID 例如 id2 使用 jQuery
  • 删除图像c#的圆形透明部分

    我正在位图上创建一个圆圈 但想在其中有一个洞 经过半个小时的搜索 我只找到了将图像裁剪为圆形的方法 困难的是 中间的孔应该像图像的其余部分一样透明 This https i stack imgur com Avdrv png是基础图像并且黄
  • JavaFX SimpleObjectProperty 与 SimpleTProperty

    使用有什么区别 简单字符串属性 vs SimpleObjectProperty or 简单整数属性 vs SimpleObjectProperty 除了返回包装器而不是原始类型之外 无论如何它都可以自动转换 API 为特定类型添加了附加功能
  • 如何设置 scons 系统包含路径

    使用 scons 我可以轻松设置我的包含路径 env Append CPPPATH foo 这传递了标志 Ifoo to gcc 不过 我正在尝试在启用大量警告的情况下进行编译 特别是与 env Append CPPFLAGS Werror
  • 谷歌地图 v3 重复标记 - 使用数组来管理标记但仍然得到重复项

    我不明白 我有一个数组来管理我添加到地图中的标记 当我更新集合时 即使我的标记数组中仍然只有正确数量的标记 标记也会重复 我确信这对我来说是一个非常简单和愚蠢的错误 但我没有看到它 m viewMarkers function data a
  • getUidTxBytes(int uid) 在 android 6.0 中始终返回 0

    我正在尝试获取所有应用程序的网络流量统计信息 我只是打印设备中每个应用程序的总网络流量 该代码在 android 4 4 和 5 1 设备中运行良好 但在 android 6 0 设备中它始终为所有应用程序返回 0 任何人都可以告诉我为什么
  • 从父级构建 Maven 模块,无需父级引用

    我已经为几个模块建立了一个反应器构建 效果很好 我的子模块没有引用父 pom xml 当我将子模块用于多个产品时 存在多个父 pom 因此无论如何我都无法将父引用放在子模块中 现在我希望父 pom 能够更改子模块中的一些设置 在不引用父 p
  • Ruby:无法解析在 OS X 中导出为 CSV 的 Excel 文件

    我正在使用 Ruby 的 CSV 库来解析一些 CSV 我有一个看似格式良好的 CSV 文件 是通过将 Excel 文件导出为 CSV 来创建的 However CSV open filename r 导致CSV IllegalFormat
  • 如何在PHP中显示上传文件后的结果

    我有一个将视频上传到服务器的脚本 一切正常 但在视频上传到服务器完成后出现问题 它以数组形式显示 uploads 文件夹中所有上传的文件 我只想要我刚刚上传的文件的结果 它不显示以前的文件 我需要 ffmpeg 来提高视频质量 索引 php
  • 让soapUI在附件选项卡中显示附件以进行响应

    我有一个通过 HTTP GET 返回文件的 REST 服务 我已经在响应中 在服务器上 设置了这些标头 并且下载在任何浏览器中都能完美运行 Content Length Content Type Content Disposition 然而
  • 阅读器关闭时尝试读取无效

    我正在处理 C 和 MySql 请求 我正在尝试检索数据库中的数据 但出现此错误消息 阅读器关闭时尝试读取无效 感谢你们的帮助 我有这个功能 public MySqlDataReader GetValueFromTable string t
  • HTML/CSS - 将元素宽度扩展到可见区域(超出包含元素的宽度)

    我正在生成一个网页 其中有一个带有绿色背景的 h2 标记了一个表格 该表格可以有任意数量的列 我希望 h2 元素水平延伸至用户可以滚动的范围 以便表格上方始终有一个绿色条 我想要实现的效果是一个绿色条 至少跨越表格的宽度 因此无论用户滚动多
  • foreignKey 字段不会出现在 Django 管理站点中

    模型上的外键未出现在 Django 管理站点中 这与是否在 ModelAdmin 实例中显式指定该字段无关 fields title field that does not show up 我意识到有很多变量可能导致这种行为 class A
  • Git 挑选文件,从目录 A 到目录 B

    我有一个项目 一直在进行一些实验性的改变 到目录 A 中的子项目 但是 在项目的 master 分支中 子项目已移动到一个单独的目录 即目录 B 我有大约 10 个提交 我想有效地将 其挑选到 master 中 但是我如何告诉 git 将旧