16
11
内容纲要
名称
svn commit — 将修改从工作拷贝发送到版本库。
概要
svn commit [PATH...]
描述
将修改从工作拷贝发送到版本库。如果你没有使用--file
或--message
提供一个提交日志信息,svn会启动你的编辑器来编写一个提交信息,见“config”一节的editor-cmd
小节。
提示
如果你开始一个提交并且Subversion启动了你的编辑器来编辑提交信息,你仍可以退出而不会提交你的修改,如果你希望取消你的提交,只需要退出编辑器而不保存你的提交信息,Subversion会提示你是选择取消提交、空信息继续还是重新编辑信息。
别名
ci(“check in”的缩写;不是“checkout”的缩写“co”。)
变化
工作拷贝,版本库
是否访问版本库
是
选项
--message (-m) TEXT --file (-F) FILE --quiet (-q) --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.