本文档旨在描述 Apache™ Subversion® 的 1.7.x 系列。如果您运行的是其他版本的 Subversion,强烈建议您访问 https://svnbook.subversion.org.cn/ 并查阅适合您 Subversion 版本的文档。

名称

svn commit (ci) — 将更改从您的工作副本发送到仓库。

概要

svn commit [PATH...]

描述

将更改从您的工作副本发送到仓库。如果您没有使用 --file (-F) 或 --message (-m) 选项在提交时提供日志消息,svn 将启动您的编辑器以供您撰写提交消息。请参阅 名为“配置”的部分 中的 editor-cmd 列表条目。

svn commit 将发送它找到的任何锁定令牌,并将释放所有已提交的 PATH(递归)上的锁定,除非传递了 --no-unlock

[Tip] 提示

如果您开始提交,Subversion 启动您的编辑器以撰写提交消息,您仍然可以中止而不会提交您的更改。如果您想取消提交,只需退出您的编辑器而不保存您的提交消息,Subversion 将提示您中止提交、继续不带消息或再次编辑消息。

选项

示例

使用命令行上的提交消息和当前目录的隐式目标 (.) 提交对文件的简单修改

$ svn commit -m "added howto section."
Sending        a
Transmitting file data .
Committed revision 3.

使用名为 msg 的文件中的提交消息提交对文件 foo.c(在命令行上显式指定)的修改

$ svn commit -F msg foo.c
Sending        foo.c
Transmitting file data .
Committed revision 5.

如果您想使用版本控制下的文件作为您的提交消息,并使用 --file (-F),您需要传递 --force-log 选项

$ svn commit -F file_under_vc.txt foo.c
svn: E205004: Log message file is a versioned file; use '--force-log' to override

$ svn commit --force-log -F file_under_vc.txt foo.c
Sending        foo.c
Transmitting file data .
Committed revision 6.

提交计划删除的文件

$ svn commit -m "removed file 'c'."
Deleting       c

Committed revision 7.
TortoiseSVN 官方中文版 1.14.7 发布