Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Svn 如果我想要每日自动提交,那么什么是一个好的工具选择?_Svn_Git_Version Control - Fatal编程技术网

Svn 如果我想要每日自动提交,那么什么是一个好的工具选择?

Svn 如果我想要每日自动提交,那么什么是一个好的工具选择?,svn,git,version-control,Svn,Git,Version Control,我自己在做一些开发工作,希望我的代码能被放到一个RCS中,为了方便起见,我希望它能每天晚上自动提交我所有修改过的代码,并可以选择在不同的时间标记源代码以标记良好的构建。有什么建议吗? 我正在使用ubuntu。在我看来,这是对修订控制的滥用。您将其用于备份,而不是版本控制 当您提交时,您应该提交具有适当注释的逻辑工作块。定期提交上述内容与RCS没有任何关系。IMO这是对修订控制的滥用。您将其用于备份,而不是版本控制 当您提交时,您应该提交具有适当注释的逻辑工作块。定期提交上述内容与RCS无关。我建

我自己在做一些开发工作,希望我的代码能被放到一个RCS中,为了方便起见,我希望它能每天晚上自动提交我所有修改过的代码,并可以选择在不同的时间标记源代码以标记良好的构建。有什么建议吗?
我正在使用ubuntu。

在我看来,这是对修订控制的滥用。您将其用于备份,而不是版本控制


当您提交时,您应该提交具有适当注释的逻辑工作块。定期提交上述内容与RCS没有任何关系。

IMO这是对修订控制的滥用。您将其用于备份,而不是版本控制


当您提交时,您应该提交具有适当注释的逻辑工作块。定期提交上述内容与RCS无关。

我建议编写一个bash脚本,查找已更改的文件,并通过RCS命令行将其提交。为了安排该脚本的执行,我将使用ubuntu下的cron作业。还有一个用于管理cron作业的gui,名为gnome schedule,您必须首先通过apt安装它

编辑:

一些可能对你有帮助的东西:


只需使用
date-r$file+%F
获取$file的日期

我建议编写一个bash脚本,查找已更改的文件,并通过RCS命令行将其提交。为了安排该脚本的执行,我将使用ubuntu下的cron作业。还有一个用于管理cron作业的gui,名为gnome schedule,您必须首先通过apt安装它

编辑:

一些可能对你有帮助的东西:


只需使用
date-r$file+%F
即可获得$file的日期

完成编码后,只需提交更改的代码即可。只需几秒钟,这样您就可以确切地知道正在发生什么,并能够添加相关注释。

只需在完成编码后提交更改的代码即可。只需几秒钟,这样您就可以确切地知道发生了什么,并能够添加相关注释。

我喜欢不使用版本控制系统进行备份的想法。 我会坚持逻辑提交和 -只需在希望的时间运行cronjob即可创建修补程序文件 例如subversion:

cd /foo/bar &&
svn diff > patch_r`svn info|grep Revision|cut -d ' ' -f 2`-`date +%Y%m%d_%H%M%S`.diff
这将产生如下名称的修补程序文件:patch_r50143-20100831_153758.diff

这样,您就可以随时知道此修补程序适用于哪个版本,而无需查看它,备份修补程序将得到很好的排序


顺便说一句:
svn状态
显示所有修改过的文件

我喜欢不使用版本控制系统进行备份的想法。 我会坚持逻辑提交和 -只需在希望的时间运行cronjob即可创建修补程序文件 例如subversion:

cd /foo/bar &&
svn diff > patch_r`svn info|grep Revision|cut -d ' ' -f 2`-`date +%Y%m%d_%H%M%S`.diff
这将产生如下名称的修补程序文件:patch_r50143-20100831_153758.diff

这样,您就可以随时知道此修补程序适用于哪个版本,而无需查看它,备份修补程序将得到很好的排序


顺便说一句:
svn状态
显示所有修改过的文件

我最终使用了subversion,每天都要提交一个cronjob。它只提交更改过的文件。

我最终使用了subversion,并每天制作一个cronjob来提交。它只提交更改过的文件。

这有点不必要——使用git,您所要做的就是告诉它添加整个目录。如果一个文件没有更改,那么它是不可操作的。如果更改了,那么它将进入提交阶段。如果使用RCS,通常会有一个命令行工具来检查未提交的文件,因此我认为您不必使用
date-r$file+%F
。无论如何,我完全同意@redfilter这是不必要的——对于git,你所要做的就是告诉它添加整个目录。如果一个文件没有更改,那么它是不可操作的。如果更改了,那么它将进入提交阶段。如果使用RCS,通常会有一个命令行工具来检查未提交的文件,因此我认为您不必使用
date-r$file+%F
。无论如何,我完全同意@RedFilter+1。如果你做出合乎逻辑的承诺,你会帮自己一个大忙。至少,您可以使用该历史记录来记住您所做的工作,并跟踪bug的引入。定期提交也有一个目的,那就是帮助避免数据丢失。通过标记,很容易区分好的构建和检查点。@Alex:我理解其意图-我的观点是,有一些更适合备份的工具不会因为不必要的提交而污染repo。我理解不会因为不必要的提交而污染repo,但这是我的软件repo。将备份和逻辑提交放在同一个位置会很方便,而且标记允许我进行区分。问题是我可以使用什么工具,而不是我是否应该使用。如果你做出合乎逻辑的承诺,你会帮自己一个大忙。至少,您可以使用该历史记录来记住您所做的工作,并跟踪bug的引入。定期提交也有一个目的,那就是帮助避免数据丢失。通过标记,很容易区分好的构建和检查点。@Alex:我理解其意图-我的观点是,有一些更适合备份的工具不会因为不必要的提交而污染repo。我理解不会因为不必要的提交而污染repo,但这是我的软件repo。将备份和逻辑提交放在同一个位置会很方便,而且标记允许我进行区分。问题是我可以使用什么工具,而不是我是否应该。这看起来是一个合理的选择。这看起来是一个合理的选择。