如何在git中以部分而不是整个文件的形式添加新文件?

佐佐

我已经有一些文件的特定存储库。现在,我创建了一个新文件,但其中包含一些代码块,我想从中创建不同的提交。

$git status
On branch bar
Your branch is up to date with 'bar'.

Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

        modified:   a.c

Untracked files:

(use "git add <file>..." to include in what will be committed)

        b.c

我想从文件bc创建两个提交,每个提交中都有不同的代码段。

现在,如果我这样做git add b.c或执行类似的操作,它将直接将bc移到暂存目录中。

我已经尝试过使用git add -pgit add -i但是他们没有达到我想要达到的目的。是否有可能做到这一点 ?

PS:这是一个用例,更多的是试图理解Git,而不是实际的用例。我知道一个明显的答案是,首先编写要在第一个补丁中包含的代码,然后提交它,然后为另一个补丁编写代码并提交。但是,用例可能会出现,您编写了一个文件,可能需要不同的审阅者来审阅文件的不同部分,而不是让他们去看代码的其他部分,而只是让他们查看打算由他们审阅的内容。因此,将其视为对Git的查询。

石棉

将文件设置为跟踪文件,而不对索引添加更改

git add --intent-to-add b.c

请参阅:开始在Git中跟踪文件,而无需添加到索引

然后将文件拆分为大块

使用git add -pgit add -e

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在不创建新文件的情况下更新文件

如何在Jupyter Notebook中的目录中添加新文件夹

如何在Java中制作新文件之前告诉FileWriter关闭任何文件

如何使用git只暂存新文件的一部分?

如何在Rails应用程序中添加带有类的新文件夹?

如何在Java中获取目录的最新文件

如何在Git中更新文件写入权限

更新文件时如何在载波中保留相同的文件名(在Rails中)

Git Merge添加新文件而不是冲突标记-CONFLICT(重命名/添加)

如何在git rebase上写入新文件?

如何在分支中仅包含新文件夹的现有项目中添加新文件夹?

如何在git中复制目录,跟踪新文件?

如何列出最近一周提交的git repo中添加或删除的所有新文件

如何在QFileSystemModel中更新文件信息?

如何在SSIS的Box.com文件夹中搜索新文件以检测新文件并处理该文件中的数据?

如何在不将其添加到主文件夹的情况下将新文件夹添加到git分支

如何在右键菜单中添加选项以创建具有特定扩展名的新文件

如何在现有的tar.gz归档文件中添加/更新文件?

如何在Git中摆脱新文件和文件修改

如何在Moc中刷新文件列表?

如何在Mutt中创建新文件夹

如何防止在TFS中添加特定类型的新文件

Git:如何检查新文件是否已添加到远程存储库,而不是本地文件

如何在Atom编辑器中的其他选项卡而不是新窗口中打开新文件?

如何在Windows FTP终端中创建新文件

如何在GitLab CE中锁定将新文件添加到存储库?

如何在目录中移动最新文件,然后处理脚本的其余部分

如何强制git将新文件视为新文件,而不是已移动文件?

如何在laravel中更新文件?