git 可以提交新的非空文件的“空版本”吗?

2024-01-20

git 可以提交某些文件的空版本吗?恰当的例子是,我需要首先添加新的(未跟踪的)非空文件并提交为empty文件,以便将其内容标记为新内容并进行审查(完整的、未跟踪的文件应not被添加到索引中;git diff应通过将文件与其提交的空版本进行比较来显示新添加的内容)。

git add -N file…,这使得file索引中内容为空,但这仅表明file 将被添加, and git commit抱怨该文件尚未添加。问题是当前的非空版本不是必须添加的内容,而只是新文件的空版本。

有没有办法做到这一点?

PS:这个问题是在一个自动将文件添加到 git 存储库的程序的上下文中提出的(我的程序遵循学生编写的代码)。未提交的代码是我尚未批准的代码。因此,学生创建的程序启动时的状态应该是empty状态,即使我的程序刚刚在其主目录中找到了一个新的非空程序;这是通过在 git 存储库中自动提交任何新学生程序文件的新的空版本来处理的。因此,与上次提交的 git 修订版相比,他们编写的新代码行看起来像是新添加的内容。


说实话,我不太明白这有什么用。我会尝试修复审核过程而不是搞乱历史。但如果你真的想这样做,可以采用以下几种方法:

  1. 务实的做法:

    mv file out-of-way
    touch file
    git add file
    mv out-of-way file
    
  2. The porcelain approach:

    git add -N file
    git add -p file
    

    ...当被问及是否应该添加单个大块时,只需回答“否”即可。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

git 可以提交新的非空文件的“空版本”吗? 的相关文章

  • 将 git 存储库拆分为压缩的公共和初始私有

    我想在 Github 上开源一个项目 有相当多的提交 超过 2k 我会将它们压缩成一个 初始提交 以便从一个干净的代码库开始并隐藏一些历史内容 问题是 是否有可能 保留一个包含所有初始提交的私有存储库 其中会有一些秘密密钥 travis c
  • git receive-pack 以 0000 停止

    我对 git 很陌生 目前正在尝试在 opensuse 上使用 gitolite 和 trac 设置环境 我设法使用来自的脚本迁移旧的 svn 存储库http john albin net git git svn migrate http
  • GIT Rebase 协作的分支?

    阅读本文后 重新设置基点以收集从主分支到我的功能分支的更改是有意义的 Git 工作流程以及 rebase 与合并问题 https stackoverflow com questions 457927 git workflow and reb
  • 创建 Git 标签时自动运行 Git hook

    是否有一个 Git 钩子可以在添加新的 Git 标签时执行 因为我想自动将新的 Git 标签名称写入文本文件 您知道如何执行此操作吗 虽然目前无法使用挂钩 但您始终可以创建一个简单的脚本 mytag sh bin sh z 1 git ta
  • git 可以知道你当前的分支是从哪个分支分支出来的吗?

    我想创建一个 git 别名 让我可以从其分支的原始分支同步我的分支 例如 如果我从
  • git jenkins 中未找到存储库

    我正在使用 jenkins 2 64 并安装了最新的插件 我试图在 jenkins 中设置 git 存储库并给出凭据 但给出错误无法连接存储库 状态代码为 128 Cloning repository https github com so
  • Git 错误:引用名称“HEAD”不明确

    我对 git 还很陌生 目前 我尝试按照本教程使用分支名称和版本覆盖我的应用程序的图标 http www merowing info 2013 03 overlaying application version on top of your
  • 尝试匿名克隆 github 存储库时权限被拒绝

    作为匿名用户 github 上没有存储公钥 我尝试通过以下方式克隆公共存储库 git 网址 但它失败了 git clone email protected cdn cgi l email protection mikehaertl phpw
  • 当 TLSv1 因“忽略未知记录”而失败时,使 git 恢复为 SSLv3

    无法使用git git clone https github com foo bar fails fatal unable to access https github com foo bar Unknown SSL protocol er
  • git:复制一个版本来玩一下

    在开发应用程序时 我希望在某个时候拥有一份单独的工作副本 以便尝试进行一些更改 这些更改并不意味着要进行 只是玩玩 尝试各种可能性 是什么 best 如何做到这一点 我发现了以下可能性 但想得到比我更有 git 经验的人的建议 我可以用gi
  • 如何运行“git status”并获取文件名

    如何运行 git status 并只获取文件名而不是长相对路径 的输出git status porcelain旨在易于在脚本中解析 输出完整路径而不是相对路径 无论当前目录位于树中的位置 每行输出由git status porcelain有
  • 如何设置 Corkscrew 通过 Draconian 代理连接到 Github

    我的公司有一个严酷的代理服务器 它阻止我通过 SSH 删除服务器 从而阻止我使用 github 我花了最后一天的时间在网上查看示例 例如 如何通过严格的代理使用 GitHub https stackoverflow com question
  • 在另一列中添加具有特定条件的一列,如 excel 的 sumif

    我有一个像这样的矩阵 A 1 2 2 3 3 4 4 5 5 6 6 8 7 9 8 5 9 4 现在我想添加第二列 条件是如果 limit 0 interval 3 且 limit limit interval 或者换句话说 当第 1 列
  • 如何使用 git-svn 切换 svn 存储库?

    我有许多使用 git svn 创建为 SVN 存储库克隆的 git 项目 我们已将 SVN 存储库迁移到新的提供商 因此 URL 现在已更改 如何更新 git 克隆的远程 SVN URL 一种可能性是我从新的 SVN 存储库重新克隆 但我不
  • 如何克隆 bitbucket 存储库?

    一段时间后重新开始工作 我似乎不知道如何克隆 bitbucket 存储库 知道为什么我收到 未找到 错误吗 git clone verbose https bitbucket org helllamer mod openid Cloning
  • 将 git 设置为始终提示输入凭据

    由于一些专门的硬件 我们有一台与几个开发人员共享的机器 我希望 git 提交和推送始终提示输入凭据 我尝试过在 SO 上找到的一些修复 包括git config global unset credential helper以及编辑配置以包括
  • git - 奇怪的分支合并错误,我不知道如何解决

    当我 git status 时 我收到以下错误消息 On branch master Your branch and origin master have diverged and have 1 and 2 different commit
  • 推动而不承诺

    我有一个 git 存储库 我刚刚将其推送到服务器 然后我在服务器上设置了一个接收后挂钩 我想检查一下它是否有效 我必须再次提交才能看看它是否有效 我真的很想在尝试进行此设置时强制推动 而不是继续进行没有实际价值的提交 它不起作用 我只是不明
  • git push 被拒绝,合并冲突,git pull --rebase

    我正在尝试推动我的提交 但不能 因为还有另一个提交 HEAD 竞赛中的同一级别 我知道我需要将这两个提交合并在一起 但不确定如何去做 我已经尝试过了git pull rebase My GIT CLI https i stack imgur
  • 将任何当前目录“./”添加到Linux中的搜索路径[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 如何将任何当前目录 添加到 Linux 中可执行文件的搜索路径中 我知道这是一个旧答案 但如果其他人像我一样通过谷歌偶然发现这个问题 这里

随机推荐

  • 如何突出显示 UITextView 的文本的一部分?

    我想做的是 如果我的详细视图被调用 我想仅突出显示文本的一部分UITextView元素 让我们说一下里面的文字UITextView is blatextbla 然后我只想动态突出显示text or late或用户想到的任何内容 我怎样才能做
  • 在 Node.js 中使用“网页”Phantom 模块

    我正在尝试将 PhantomJS 脚本包装在 node js 进程中 phantom 脚本从命令行提供的参数中获取 url 并输出 pdf 与 pahntom 安装中包含的 rasterize js 示例非常相似 我的幻像脚本工作正常 只是
  • 如何强制 Emacs 超时?

    我在 emacs 中经常使用 TRAMP 然而 有时服务器会宕机 流浪汉会等待超时 通常是在做了之后C x f在 ido 模式下打开一个新文件 我必须等待一段令人烦恼的漫长时间 有没有一种简单的方法可以告诉 TRAMP 超时并让 ido 模
  • 在流星中导入 svg 文件

    我正在开发一个使用 Meteor React 作为前端和后端的项目 对于前端 UI 我使用 element react https eleme github io element react en US quick start https
  • Matlab如何绘制平滑的等高线图?

    我想用 2D 格式的 2 个变量表示数据 该值由颜色表示 2 个变量作为第 2 个轴 我正在使用轮廓函数来绘制我的数据 clc clear load dataM mat cMap jet 256 set the colomap using
  • 刷新用户函数 t-SQL 的元数据

    我正在做一些 T SQL 编程 并且在我的数据库上定义了一些视图 这些天数据模型仍在变化 我定义了一些表函数 有时我故意使用 select from MYVIEW 在这样的表函数中返回所有列 如果视图 或表 发生变化 函数就会崩溃 我需要重
  • 滑动导航抽屉不处理菜单项android的点击

    我正在尝试在应用程序中使用滑动导航抽屉 然而 它似乎没有处理 OnItemClick 方法 当我点击一个项目时没有任何反应 我怎样才能让它工作 谢谢 主要活动 protected void onCreate Bundle savedInst
  • C++ 编译时子字符串

    我有非常大的代码库 它使用 FILE 广泛用于日志记录 但是 它包含完整路径 这是 1 不需要的 2 可能会发生安全违规 我正在尝试编写编译时子字符串表达式 最终以这个解决方案 https blog galowicz de 2016 02
  • 高级类型的辅助模式

    编辑 这是问题的一个更简单的表述 使用Foo作为一个例子Aux模式其中does work Foo is a simple Aux pattern type trait Foo A B type Out object Foo type Aux
  • Python 的“unittest”缺少“assertHasAttr”方法,我应该使用什么来代替?

    在众多的断言方法中Python的标准unittest package https docs python org 3 library unittest html assertHasAttr 奇怪的是缺席了 在编写一些单元测试时 我遇到了一种
  • 防止对 PHP 的虚假循环 ajax 请求

    在我的网站上 我为博客文章创建了评论部分 用户可以编写评论 单击按钮 AJAX 请求将发送到包含 JSON 数据的 PHP PHP 将处理和验证数据 然后将其插入数据库 成功后 将从数据库中检索所有评论 并使用 JQuery 重新加载页面的
  • 将 MySQL 数据库移动到远程服务器后,“用户访问被拒绝”

    我在访问数据库时遇到一些问题 该脚本之前在我的本地主机上运行过 我将其导入到另一台服务器中 另一台服务器给我一条访问被拒绝的消息 给出的消息是 Access denied for user root 10 4 1 163 using pas
  • 对 USB 传输电缆进行编程/与 USB 设备驱动程序通信

    如何以编程方式访问 USB 传输电缆 例如 Belkin 的易传输电缆 http www belkin com easytransfercable 从Windows 我熟悉libusb win32 http libusb win32 sou
  • 如何显示eclipse项目类型

    在 Eclipse IDE 中 有图标显示项目类型 但我找不到文字描述 我希望右键单击 gt 属性来显示此信息 但根据此所有项目都是 项目 类型 即使它们是 java 项目或 Maven 项目等 有人知道吗 Thanks 根据 您不会在 E
  • 如何使用 TELETHON 按日期获取消息?

    如何获取今天发布的消息TELETHON 我正在使用下面的代码 date of post datetime datetime 2019 12 24 with TelegramClient name api id api hash as cli
  • 如何优化 R 中词干提取和拼写检查的性能?

    我有大约 1 400 万个文档 每个文档的平均字符数为 中位数 250 和平均值 470 我想在对它们进行分类之前执行拼写检查和词干提取 模拟文档 sentence lt We aree drivng as fast as we drove
  • WPF 4:DataGridColumnHeader 发生了什么?

    DataGridColumnHeader 发生了什么 看起来当 DataGrid 移至PresentationFramework 时它已被删除 DataGridColumnHeader http msdn microsoft com en
  • 汇编程序如何将 x86 指令助记符映射到二进制机器指令?

    我对编写 x86 汇编程序感兴趣 我想知道将 x86 汇编助记符指令 使用类似 Intel 的语法 映射到相应的二进制机器代码指令的好方法是什么 您想了解助记符到机器代码的物理映射吗 如果是这样 则第 2A 卷和第 2B 卷英特尔 IA32
  • 我可以将字符串映射到java中的方法吗?

    我正在用 Java 编写一个表达式计算器 我希望能够添加更多运算符 我目前只有 和 目前 我的代码如下所示 case return a b case return a b case return a b 这适用于我的代码 因为我只有几个运算
  • git 可以提交新的非空文件的“空版本”吗?

    git 可以提交某些文件的空版本吗 恰当的例子是 我需要首先添加新的 未跟踪的 非空文件并提交为empty文件 以便将其内容标记为新内容并进行审查 完整的 未跟踪的文件应not被添加到索引中 git diff应通过将文件与其提交的空版本进行