本手册是针对 Subversion 1.2 版本编写的。如果您使用的是更新版本的 Subversion,我们强烈建议您访问 https://svnbooks.subversion.org.cn/ 并参考与您 Subversion 版本相匹配的版本手册。

名称

svn commit — 将工作副本中的修改提交到版本库。

语法

svn commit [PATH...]

描述

将工作副本中的修改提交到版本库。如果您没有使用 --file--message 选项来提供提交消息,svn 会启动您的编辑器以供您编写提交消息。请参阅 “配置”部分 中的 editor-cmd 部分。

svn commit 会发送找到的锁定标记,并释放所有提交的(递归)PATHS 的锁定,除非传递了 --no-unlock 选项。

提示

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

替代名称

ci(“check in”的缩写;不是 “co”,这是 “checkout” 的缩写)

更改

工作副本,版本库

访问版本库

选项

--message (-m) TEXT
--file (-F) FILE
--quiet (-q)
--no-unlock
--non-recursive (-N)
--targets FILENAME
--force-log
--username USER
--password PASS
--no-auth-cache
--non-interactive
--encoding ENC
--config-dir DIR

示例

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

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

提交对文件 foo.c(在命令行中明确指定)的修改,并将提交消息写入名为 msg 的文件。

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

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

$ svn commit --file file_under_vc.txt foo.c
svn: The log message file is under version control
svn: Log message file is a versioned file; use '--force-log' to override

$ svn commit --force-log --file 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 发布