- 跟着cherno手搓游戏引擎【24】开启2D引擎前的项目总结(包括前置知识汇总)
larito
游戏引擎
前置技术:vs属性解释:MSBuild的入门完整教程(包学包会)-CSDN博客配置界面:c++动态链接和静态链接:隐藏的细节:编译与链接_哔哩哔哩_bilibili【底层】动态链接库(dll)是如何工作的?_哔哩哔哩_bilibilicmake:软件构建:CMake快速入门_哔哩哔哩_bilibiliCMake保姆级教程【C/C++】_哔哩哔哩_bilibilipreake5:premake5实例
- 跟着cherno手搓游戏引擎【11】静态库、警告消除(渲染预热)
larito
游戏引擎
premake修改:SRC下的premakeworkspace"YOTOEngine"--sln文件名architecture"x64"configurations{"Debug","Release","Dist"}startproject"Sandbox"--https://github.com/premake/premake-core/wiki/Tokens#value-tokens--组成输
- 跟着cherno手搓游戏引擎【9】glm配置
larito
游戏引擎
glm配置:下载glm数学库GitHub-g-truc/glm:OpenGLMathematics(GLM)修改SRC下的premake5.lua文件:workspace"YOTOEngine"--sln文件名architecture"x64"configurations{"Debug","Release","Dist"}startproject"Sandbox"--https://github.
- 跟着cherno手搓游戏引擎【6】ImGui和ImGui事件
larito
游戏引擎
导入ImGui:下载链接:GitHub-TheCherno/imgui:DearImGui:Bloat-freeImmediateModeGraphicalUserinterfaceforC++withminimaldependencies新建文件夹,把下载好的文件放入对应路径:SRC下的premake5.lua文件:添加ImGuiworkspace"YOTOEngine"--sln文件名arch
- Aurora Engine 游戏引擎入门 08(为游戏添加层 Layer)
inspironx
AuroraAurora
简介本序列由澳大利亚的一个游戏引擎爱好者整理制作,使用了前瞻的语言技术,经常多次的修改制作,一个个小的知识点贯通,非常具有引导学习意义!Bilibili站转载学习,非个人研究,鸣谢!原作者GithubBilibili直达链接YouTube直达链接#1为什么要有层的概念#2编写层级类和管理类#3处理OpenGL回调事件#4premake5开启多线程支持#5编写测试实例#1为什么要有层的概念Layer
- 跟着cherno手搓游戏引擎【4】窗口抽象、GLFW配置
larito
游戏引擎
引入GLFW:在vendor里创建GLFW文件夹:在github上下载,把包下载到GLFW包下。GitHub-TheCherno/glfw:Amulti-platformlibraryforOpenGL,OpenGLES,Vulkan,windowandinput修改SRC/premake5.lua的配置:12、13、15、36、37、38、39、40行的代码是新加上去的:workspace"YO
- 跟着cherno手搓游戏引擎【2】:日志系统spdlog和premake的使用
larito
游戏引擎
配置:日志库文件github:GitHub-gabime/spdlog:FastC++logginglibrary.新建vendor文件夹将下载好的spdlog放入配置YOTOEngine的附加包含目录:配置Sandbox的附加包含目录:包装spdlog:在YOTO文件夹下创建Log.cpp和log.hlog.h:#pragmaonce#include"Core.h"#include#includ
- 【小沐学C++】C++ 基于Premake构建工程项目(Windows)
爱看书的小沐
C/C++OpenGLc++windowsopenglpremakeglfwcmake
文章目录1、简介2、下载和安装2.1下载2.3快速入门3、使用3.1支持的工程文件ProjectFiles3.2构建设置BuildSettings3.3链接Linking3.4配置Configurations3.5平台Platforms3.6过滤Filters3.7预设值Tokens4、测试4.1测试1:入门例子4.2测试2:入门例子24.3测试3:glfw例子4.3.1准备第三方库glfw4.3
- windows Visual Studio 2022 opengl开发环境配置
fareast_mzh
windows
1.安装glew(GL),GLFW,glm,soil2-debug还需要premake生成visualstudiosolutioncmakeforwindows也要安装一个,但是不用安装MinGW64,bug多下载源码,找到xxx.sln文件用visualstidio打开solution编译代码,找到xxx.lib,xxx.dll文件include头文件结构:编译完了创建目录OpenGLtempl
- Hazel 引擎学习笔记
hijackedbycsdn
GameEngineDevc++游戏引擎
目录Hazel引擎学习笔记学习方法思考引擎结构创建工程程序入口点日志系统Premake\MD没有cpp文件的项目会出错include到某个库就要包含这个库的路径,注意头文件展开事件系统获取和利用派生类信息预编译头文件抽象窗口类和GLFWgitsubmoduleaddpremake脚本禁止一个类被实例化的方法纯虚析构函数protectedconstructor它目前实现创建派生窗口类对象的方式mak
- Hazel游戏引擎(007)Premake
刘建杰
Hazel游戏引擎游戏引擎luapremake
文中若有代码、术语等错误,欢迎指正文章目录前言操作步骤premake写lua脚本文件执行premake.exe文件效果前言此节目的由于之前配置VS项目各项属性需要根据不同平台手动一个一个设置,很麻烦,缺乏灵活性。用lua脚本配置项目属性,使用premake运行程序一键生成VS项目及属性,更灵活简便操作步骤premake下载github下载网址:https://github.com/premake/
- 使用premake帮助生成Visual Studio解决方案
宗浩多捞
lua开发语言
Premake:https://github.com/premake/premake-corePremake是一个基于Lua脚本语言的构建系统工具,用于生成项目文件和构建脚本,能够帮助开发者快速创建和配置跨平台的项目。使用Premake,开发者可以通过编写简单的Lua脚本来描述项目的结构和构建选项,Premake会根据这些脚本生成特定平台(如Windows、Linux、Mac等)的项目文件和构建脚
- 编译 lua 的批处理
wyrover
虽然premake很好用,批处理也可以使@SETVSINSTALLDIR=C:\ProgramFiles(x86)\MicrosoftVisualStudio8@SETVCINSTALLDIR=C:\ProgramFiles(x86)\MicrosoftVisualStudio8\VC@SETFrameworkDir=C:\Windows\Microsoft.NET\Framework@SETFr
- Premake 4.1.2 命令行解释
ShowLong
开发附件
//-------------------------------------------------------------premake是一款用于自动创建解决方案和项目文件的生成器。支持跨平台间解决方案与项目的设置设置问题。同时还解决了各项目间快速度项目设置/宏定义/目标修改等。目前premake用于FlatFour,ODE,CEGUI,yake,NFS等等项目//--------------
- 在VS2015中运行ODE(Open Dynamics Engine)的demos
Rose-of-Sharon
官网http://sourceforge.net/projects/opende/下载最新版本ode-0.13,解压;在命令提示符中,将当前目录切换到ode-0.13\build所在目录;使用premake4编译工具编译:premake4--with-demos--with-testsvs2010,在build文件夹下生成一个vs2010文件夹:打开vs文件夹,里面有个ode.sln解决方案文件,
- 《Lua游戏AI开发指南》一2.1 新建一个沙箱项目
weixin_34014277
本节书摘来异步社区《Lua游戏AI开发指南》一书中的第2章,第2.1节,作者:【美】DavidYoung(杨)译者:王磊责编:陈冀康,更多章节内容可以访问云栖社区“异步社区”公众号查看。2.1新建一个沙箱项目首先,为了创建一个新的沙箱可执行程序,我们需要在Premake构建脚本中声明一个新的VisualStudio示例项目。打开SandboxDemos.lua脚本文件,在SandboxDemos表
- wxWidgets利用tinyxml实现xml解析
weixin_33924220
最近正在做的一个项目里涉及到xml文件的存取,同事推荐的tinyxml++,是c++版本的xml解析包,据说很小巧,好用,于是download了一个下来.顺便在其官方主页上下载了premake.exe用来生成工程文件的.以下是premake的用法.Windowspremake--targetcb-gcc[--unicode][--ticpp-shared][--dynamic-runtime]Li
- premake 安装
centos-com
gdbcmakepremake
premake语法比cmake简单灵活,采用lua编写,可扩展性强。1、需要lua编译器wget-chttp://www.lua.org/ftp/lua-5.2.0.tar.gz解压:tarzxvflua-5.2.0.tar.gz进入解压的目录:cdlua-5.2.0makelinuxmakeinstall如果,需要readline库请自行安装。注意:lua编译器最好用yum可视化工具进行安装。2
- GNU make、NMake、Autotools 、waf、cmake、premake 等构建工具
centos-com
premake
GNUmake、NMake、Autotools等传统构建工具,它们大都历史悠久、使用广泛、稳定可靠,但难用、不够智能,它们在使用场合也有很大的局限性。SConsSCons是一个优秀的编译工具,脚本可以用python书写,不过距离构建还有一些差距:项目小的话还好,规模一大,依赖分析速度急速下降,而且自动配置功能很弱(跨平台构建能力不足)。Waf对waf和Cmake的了解都来自同一条消息:KDE4将采
- Ubuntu安装lua并基本使用
csfreebird
lua
最近因为要深入应用premake,所以得学点lua.Ubuntu13.04下安装命令:apt-getinstalllua5.2lua5.2-doc版本是5.2.1,不算最新,不过也很新了。官方参考在这里:http://www.lua.org/manual/5.2/这是动态语言,变量无需声明其类型,变量的值就自带了类型。一共有以下8种类型:nil,boolean,number,string,func
- alljoyn for qca4004之编译流程
zdongtao
ALLJOYN专区
Alljoynforqca4004之编译1.请正确安装qca4004sdk带的编译器2.释放sdk包alljoyn_for_4004.tar.gz在用户根目录会生成scs_kf1.1,alljoyn两个目录3.在~/scs_kf1.1/apps/alljoyn/aj_servicesample下运行premake.sh建立一些链接,将alljoyn下面的servervis的一些例子链接到SDK目录
- 寻路网格库的编译教程
小雨丶
VC++
以下记录一下环境配置过程,首先需要以下几个文件。1>recastnavigation-master源码包,在github网站上下载即可。2>premake5.exe,用于生成VS2013解决方案。下载地址:点击打开链接3>SDL2压缩包,项目要求需带。下载地址:点击打开链接(需注意下载SDL2-devel-2.0.4-VC.zip(VisualC++32/64-bit))以上为所需的全部工具,下面
- wxWidgets利用tinyxml实现xml解析
joliny
wxWidgetsxml文档音乐downloadencodinggcc
原创作品,允许转载,转载时请务必以超链接形式标明文章原始出处、作者信息和本声明。否则将追究法律责任。http://axiii.blog.51cto.com/396236/107829最近正在做的一个项目里涉及到xml文件的存取,同事推荐的tinyxml++,是c++版本的xml解析包,据说很小巧,好用,于是download了一个下来.顺便在其官方主页上下载了premake.exe用来生成工程文件的
- c++ 轻量跨平台构建系统 Premake
五谷延年
开发工具
轻量构建系统Premake一构建系统简介1.1什么是构建系统1.2为什么使用构建系统1.3常见的构建系统二Premake的下载和使用2.1什么是Premake2.2下载和使用2.2.1下载Premake2.2.2Windows下使用Premake三Premake项目构建3.1实例项目3.2常用Premake脚本一构建系统简介1.1什么是构建系统构建系统(BuildSystem)是用来从源码生成用户
- OpenGL SOIL2 环境配置
Wonz
#软件安装#计算机图形学从零开始的计算机图形学
继上次OpenGL环境配置之后,老师又教了纹理,现在又要进行SOIL2的环境配置了。一、下载SOIL2、Premake用Google搜索SOIL2,直接点击下载。去官网下载PermakeVersion4.4beta版。然后,解压这两个压缩包。把premake4.4beta5windows文件夹里面的premake4.exe拷贝到SOIL2所在的文件夹中,见下图。二、SOIL2配置打开Command
- 利用 premake5 生成 lua 脚本字节数组嵌入到 C 代码里
wyrover
premake5主要由lua写成,修改了lua加载脚本的方式,将工程用到的lua脚本统统转换为C代码的字节数组并加载之。对于一些变动不大的通用的库的来说,改为字节数组加载更方便。premake5提供了一个premake-core/scripts/embed.lua用于生成脚本到字节数组,我们修改之为己所用。修改过的embed.lua----EmbedtheLuascriptsintosrc/hos
- sqlite3 加密
wyrover
https://github.com/utelle/wxsqlite3提供了加密版的sqlite,支持premake5编译。SQLite3的加密函数说明sqlite3_key是输入密钥,如果数据库已加密必须先执行此函数并输入正确密钥才能进行操作,如果数据库没有加密,执行此函数后进行数据库操作反而会出现“此数据库已加密或不是一个数据库文件”的错误。intsqlite3_key(sqlite3*db,
- 编译llbc
blueuee
返回目录llbc当前主要支持的平台为windows,linux,macosx,框架中的编译系统使用premake工具编写。Windows编译:clonellbc库:gitclonehttps://github.com/lailongwei/llbc.git初始化所有submodules:gitsubmoduleupdate--init--recursive生成sln文件:进入库目录,并双击WinP
- 修正一处 premake5 生成预编译头的错误
wyrover
premake5生成的预编译头,声明的先后顺序有差别,且对单个文件不启用预编译头时未实现。把premake5从github上clone下来修改,重新编译。gitclonehttps://github.com/premake/premake-core.gitgitsubmoduleinitgitsubmoduleupdate更新完后先用之前的premake5.exe生成工程cdpremake-cor
- 通过premake生成vs工程文件
斯芬克斯
visualstudio的工程视图,在引用外部目录时非常麻烦,这时候可以使用premake一键生成工程文件,自动配置好工程的各种属性,还有目录的组织结构。示例:如下是一个c++的外部目录结构,我们需要将其组织到vs的资源管理器视图工具配置如下:其中premake.bat用来启动生成:premake5vs2017premake5.lua是生成工程的配置:workspace"WorkspaceName
- 多线程编程之join()方法
周凡杨
javaJOIN多线程编程线程
现实生活中,有些工作是需要团队中成员依次完成的,这就涉及到了一个顺序问题。现在有T1、T2、T3三个工人,如何保证T2在T1执行完后执行,T3在T2执行完后执行?问题分析:首先问题中有三个实体,T1、T2、T3, 因为是多线程编程,所以都要设计成线程类。关键是怎么保证线程能依次执行完呢?
Java实现过程如下:
public class T1 implements Runnabl
- java中switch的使用
bingyingao
javaenumbreakcontinue
java中的switch仅支持case条件仅支持int、enum两种类型。
用enum的时候,不能直接写下列形式。
switch (timeType) {
case ProdtransTimeTypeEnum.DAILY:
break;
default:
br
- hive having count 不能去重
daizj
hive去重having count计数
hive在使用having count()是,不支持去重计数
hive (default)> select imei from t_test_phonenum where ds=20150701 group by imei having count(distinct phone_num)>1 limit 10;
FAILED: SemanticExcep
- WebSphere对JSP的缓存
周凡杨
WAS JSP 缓存
对于线网上的工程,更新JSP到WebSphere后,有时会出现修改的jsp没有起作用,特别是改变了某jsp的样式后,在页面中没看到效果,这主要就是由于websphere中缓存的缘故,这就要清除WebSphere中jsp缓存。要清除WebSphere中JSP的缓存,就要找到WAS安装后的根目录。
现服务
- 设计模式总结
朱辉辉33
java设计模式
1.工厂模式
1.1 工厂方法模式 (由一个工厂类管理构造方法)
1.1.1普通工厂模式(一个工厂类中只有一个方法)
1.1.2多工厂模式(一个工厂类中有多个方法)
1.1.3静态工厂模式(将工厂类中的方法变成静态方法)
&n
- 实例:供应商管理报表需求调研报告
老A不折腾
finereport报表系统报表软件信息化选型
引言
随着企业集团的生产规模扩张,为支撑全球供应链管理,对于供应商的管理和采购过程的监控已经不局限于简单的交付以及价格的管理,目前采购及供应商管理各个环节的操作分别在不同的系统下进行,而各个数据源都独立存在,无法提供统一的数据支持;因此,为了实现对于数据分析以提供采购决策,建立报表体系成为必须。 业务目标
1、通过报表为采购决策提供数据分析与支撑
2、对供应商进行综合评估以及管理,合理管理和
- mysql
林鹤霄
转载源:http://blog.sina.com.cn/s/blog_4f925fc30100rx5l.html
mysql -uroot -p
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
[root@centos var]# service mysql
- Linux下多线程堆栈查看工具(pstree、ps、pstack)
aigo
linux
原文:http://blog.csdn.net/yfkiss/article/details/6729364
1. pstree
pstree以树结构显示进程$ pstree -p work | grep adsshd(22669)---bash(22670)---ad_preprocess(4551)-+-{ad_preprocess}(4552) &n
- html input与textarea 值改变事件
alxw4616
JavaScript
// 文本输入框(input) 文本域(textarea)值改变事件
// onpropertychange(IE) oninput(w3c)
$('input,textarea').on('propertychange input', function(event) {
console.log($(this).val())
});
- String类的基本用法
百合不是茶
String
字符串的用法;
// 根据字节数组创建字符串
byte[] by = { 'a', 'b', 'c', 'd' };
String newByteString = new String(by);
1,length() 获取字符串的长度
&nbs
- JDK1.5 Semaphore实例
bijian1013
javathreadjava多线程Semaphore
Semaphore类
一个计数信号量。从概念上讲,信号量维护了一个许可集合。如有必要,在许可可用前会阻塞每一个 acquire(),然后再获取该许可。每个 release() 添加一个许可,从而可能释放一个正在阻塞的获取者。但是,不使用实际的许可对象,Semaphore 只对可用许可的号码进行计数,并采取相应的行动。
S
- 使用GZip来压缩传输量
bijian1013
javaGZip
启动GZip压缩要用到一个开源的Filter:PJL Compressing Filter。这个Filter自1.5.0开始该工程开始构建于JDK5.0,因此在JDK1.4环境下只能使用1.4.6。
PJL Compressi
- 【Java范型三】Java范型详解之范型类型通配符
bit1129
java
定义如下一个简单的范型类,
package com.tom.lang.generics;
public class Generics<T> {
private T value;
public Generics(T value) {
this.value = value;
}
}
- 【Hadoop十二】HDFS常用命令
bit1129
hadoop
1. 修改日志文件查看器
hdfs oev -i edits_0000000000000000081-0000000000000000089 -o edits.xml
cat edits.xml
修改日志文件转储为xml格式的edits.xml文件,其中每条RECORD就是一个操作事务日志
2. fsimage查看HDFS中的块信息等
&nb
- 怎样区别nginx中rewrite时break和last
ronin47
在使用nginx配置rewrite中经常会遇到有的地方用last并不能工作,换成break就可以,其中的原理是对于根目录的理解有所区别,按我的测试结果大致是这样的。
location /
{
proxy_pass http://test;
- java-21.中兴面试题 输入两个整数 n 和 m ,从数列 1 , 2 , 3.......n 中随意取几个数 , 使其和等于 m
bylijinnan
java
import java.util.ArrayList;
import java.util.List;
import java.util.Stack;
public class CombinationToSum {
/*
第21 题
2010 年中兴面试题
编程求解:
输入两个整数 n 和 m ,从数列 1 , 2 , 3.......n 中随意取几个数 ,
使其和等
- eclipse svn 帐号密码修改问题
开窍的石头
eclipseSVNsvn帐号密码修改
问题描述:
Eclipse的SVN插件Subclipse做得很好,在svn操作方面提供了很强大丰富的功能。但到目前为止,该插件对svn用户的概念极为淡薄,不但不能方便地切换用户,而且一旦用户的帐号、密码保存之后,就无法再变更了。
解决思路:
删除subclipse记录的帐号、密码信息,重新输入
- [电子商务]传统商务活动与互联网的结合
comsci
电子商务
某一个传统名牌产品,过去销售的地点就在某些特定的地区和阶层,现在进入互联网之后,用户的数量群突然扩大了无数倍,但是,这种产品潜在的劣势也被放大了无数倍,这种销售利润与经营风险同步放大的效应,在最近几年将会频繁出现。。。。
如何避免销售量和利润率增加的
- java 解析 properties-使用 Properties-可以指定配置文件路径
cuityang
javaproperties
#mq
xdr.mq.url=tcp://192.168.100.15:61618;
import java.io.IOException;
import java.util.Properties;
public class Test {
String conf = "log4j.properties";
private static final
- Java核心问题集锦
darrenzhu
java基础核心难点
注意,这里的参考文章基本来自Effective Java和jdk源码
1)ConcurrentModificationException
当你用for each遍历一个list时,如果你在循环主体代码中修改list中的元素,将会得到这个Exception,解决的办法是:
1)用listIterator, 它支持在遍历的过程中修改元素,
2)不用listIterator, new一个
- 1分钟学会Markdown语法
dcj3sjt126com
markdown
markdown 简明语法 基本符号
*,-,+ 3个符号效果都一样,这3个符号被称为 Markdown符号
空白行表示另起一个段落
`是表示inline代码,tab是用来标记 代码段,分别对应html的code,pre标签
换行
单一段落( <p>) 用一个空白行
连续两个空格 会变成一个 <br>
连续3个符号,然后是空行
- Gson使用二(GsonBuilder)
eksliang
jsongsonGsonBuilder
转载请出自出处:http://eksliang.iteye.com/blog/2175473 一.概述
GsonBuilder用来定制java跟json之间的转换格式
二.基本使用
实体测试类:
温馨提示:默认情况下@Expose注解是不起作用的,除非你用GsonBuilder创建Gson的时候调用了GsonBuilder.excludeField
- 报ClassNotFoundException: Didn't find class "...Activity" on path: DexPathList
gundumw100
android
有一个工程,本来运行是正常的,我想把它移植到另一台PC上,结果报:
java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.mobovip.bgr/com.mobovip.bgr.MainActivity}: java.lang.ClassNotFoundException: Didn't f
- JavaWeb之JSP指令
ihuning
javaweb
要点
JSP指令简介
page指令
include指令
JSP指令简介
JSP指令(directive)是为JSP引擎而设计的,它们并不直接产生任何可见输出,而只是告诉引擎如何处理JSP页面中的其余部分。
JSP指令的基本语法格式:
<%@ 指令 属性名="
- mac上编译FFmpeg跑ios
啸笑天
ffmpeg
1、下载文件:https://github.com/libav/gas-preprocessor, 复制gas-preprocessor.pl到/usr/local/bin/下, 修改文件权限:chmod 777 /usr/local/bin/gas-preprocessor.pl
2、安装yasm-1.2.0
curl http://www.tortall.net/projects/yasm
- sql mysql oracle中字符串连接
macroli
oraclesqlmysqlSQL Server
有的时候,我们有需要将由不同栏位获得的资料串连在一起。每一种资料库都有提供方法来达到这个目的:
MySQL: CONCAT()
Oracle: CONCAT(), ||
SQL Server: +
CONCAT() 的语法如下:
Mysql 中 CONCAT(字串1, 字串2, 字串3, ...): 将字串1、字串2、字串3,等字串连在一起。
请注意,Oracle的CON
- Git fatal: unab SSL certificate problem: unable to get local issuer ce rtificate
qiaolevip
学习永无止境每天进步一点点git纵观千象
// 报错如下:
$ git pull origin master
fatal: unable to access 'https://git.xxx.com/': SSL certificate problem: unable to get local issuer ce
rtificate
// 原因:
由于git最新版默认使用ssl安全验证,但是我们是使用的git未设
- windows命令行设置wifi
surfingll
windowswifi笔记本wifi
还没有讨厌无线wifi的无尽广告么,还在耐心等待它慢慢启动么
教你命令行设置 笔记本电脑wifi:
1、开启wifi命令
netsh wlan set hostednetwork mode=allow ssid=surf8 key=bb123456
netsh wlan start hostednetwork
pause
其中pause是等待输入,可以去掉
2、
- Linux(Ubuntu)下安装sysv-rc-conf
wmlJava
linuxubuntusysv-rc-conf
安装:sudo apt-get install sysv-rc-conf 使用:sudo sysv-rc-conf
操作界面十分简洁,你可以用鼠标点击,也可以用键盘方向键定位,用空格键选择,用Ctrl+N翻下一页,用Ctrl+P翻上一页,用Q退出。
背景知识
sysv-rc-conf是一个强大的服务管理程序,群众的意见是sysv-rc-conf比chkconf
- svn切换环境,重发布应用多了javaee标签前缀
zengshaotao
javaee
更换了开发环境,从杭州,改变到了上海。svn的地址肯定要切换的,切换之前需要将原svn自带的.svn文件信息删除,可手动删除,也可通过废弃原来的svn位置提示删除.svn时删除。
然后就是按照最新的svn地址和规范建立相关的目录信息,再将原来的纯代码信息上传到新的环境。然后再重新检出,这样每次修改后就可以看到哪些文件被修改过,这对于增量发布的规范特别有用。
检出