Ant执行外部命令和脚本
Ant 可以通过 <exec>、<java>、<apply> 等任务调用外部程序,弥补 XML 表达能力有限的短板。
一个开发出身的DevOps工程师 · 代码有理性,文章有温度
Ant 可以通过 <exec>、<java>、<apply> 等任务调用外部程序,弥补 XML 表达能力有限的短板。
Ant 没有编程语言那样的 if/else,但提供了 if/unless 属性和 <condition> 任务来实现条件逻辑。
Ant 提供了丰富的文件操作任务,是构建脚本中最常用的功能之一。
Ant 构建脚本中经常需要配置一些可变参数(如服务器地址、版本号等),通过属性文件统一管理是好习惯。
1、区分几种”回退”场景 在使用 SVN 时,”回退”可能指不同的事情: 场景 说明 撤销本地未提交的修改 文件改错了,想回到修改前的状态 撤销某次已提交的修改 某次提交引入了 bug,要撤掉 ...
1、什么时候会产生冲突 SVN 冲突发生在以下场景: 更新时冲突:你修改了文件,同事也修改了同一文件的同一行并先提交了,你执行 svn update 时产生冲突。 合并时冲突:将分支合并回主干,两个分支修改了同一文件的同一区域。 切换时冲突:svn switch 到另一个分支时,本地修改与目标分支内容冲突。 2、识别冲突 发生冲...
1、SVN 分支的本质 SVN 的分支和 Git 的分支有本质区别。在 SVN 中,分支本质上就是仓库中的一个目录副本。当你创建一个分支时,SVN 只是将主干(trunk)的目录结构复制一份到 branches/ 目录下。 标准的 SVN 仓库结构: project/ ├── trunk/ # 主干,稳定版本 ├── branche...
1、问题场景 某天你发现一个 bug,但不知道是从哪个提交引入的。代码仓库有几百个提交,一个一个 checkout 检查显然不现实。 这时 git bisect 就派上用场了——它使用二分查找法,自动帮你缩小范围,快速定位到引入 bug 的那次提交。 2、基本用法 假设当前版本有问题,而你知道 v1.0 标签的版本是正常的。在 n 个提交中,用...
1、Rebase vs Merge 在 Git 中,整合两个分支的修改有两种方式:merge 和 rebase。 Merge 会创建一个新的”合并提交”,保留完整的分支历史: A---B---C feature / \ D---E---F---G---H main Rebase 则是将 feature...
1、什么是 git stash 在日常开发中,经常遇到这种情况:正在一个分支上开发新功能,代码写到一半,突然需要切换到另一个分支去修复紧急 bug。但当前修改还不完整,不想提交,也不想丢弃。 git stash 就是为解决这个场景设计的——它能把当前工作区和暂存区的修改暂时”储藏”起来,让工作目录恢复干净状态,等你处理完其他事情后再恢复回来。 2...