svn commit

Posted on Posted in 1.svn

名称

svn commit              — 将修改从工作拷贝发送到版本库。

概要

svn commit [PATH...]

                     

描述

将修改从工作拷贝发送到版本库。如果你没有使用--file--message提供一个提交日志信息,svn会启动你的编辑器来编写一个提交信息,见“配置”一节editor-cmd小节。

svn commit会返回所有找到的锁定令牌并释放所有提交PATHS的锁定,除非传递--no-unlock参数。

提示

如果你开始一个提交并且Subversion启动了你的编辑器来编辑提交信息,你仍可以退出而不会提交你的修改,如果你希望取消你的提交,只需要退出编辑器而不保存你的提交信息,Subversion会提示你是选择取消提交、空信息继续还是重新编辑信息。

别名

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

改变

工作拷贝,版本库

是否访问版本库

选项

--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.