svn commit
最后更新于:2022-04-02 05:57:55
### 名称
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.
~~~
';