一.idea的使用
idea是一个ide集成开发环境
摘自:如何修改idea配置文件位置从C盘更改到D盘_idea修改配置文件存放路径-优快云博客
默认配置路径在这里
- 用户配置:C:\Users\XXX\AppData\Local\JetBrains
- 系统配置:C:\Users\XXX\AppData\Roaming\JetBrains
可以在配置中修改路径:
idea安装目录下/bin/idea.properties文件
修改配置文件后,重新启动idea,会弹框提示是否导入原配置文件,选导入就会把原配置文件复制到新的配置路径下。确认没有问题后就可以将原配置文件删除了以节省C盘空间。
如果要在一台电脑上载两个idea,用zip方式来安装第二个idea,这样可以避免自动安装到默认路径。虽然通过ZIP方式安装的第二个IntelliJ IDEA会自动创建一个新的配置目录,通常位于用户目录下的JetBrains文件夹中,并且以版本号命名,但是为了确保两个IDEA实例之间完全独立,避免任何潜在的数据共享或冲突,最好还是手动指定配置文件的路径。
1.没有idea运行java程序
java运行依赖于jdk(jdk包含jre,jre包含jvm),将jdk下载完后,要配置path,操作系统要知道指令在哪里 (从path中找指令) ,用javac命令进行编译,生成字节码文件.class(不是机器码,是只有jvm才能看懂的文件),然后要用java [字节码文件名称(不可以添加.class后缀)] 指令来让jvm运行,jvm会去找.class文件,没有配置classpath就默认从当前目录下来找,如果配置了classpath就只从classpath下找。
path路径相关:jdk下载完后配置path,自动生成一条C:\ProgramData\Oracle\Java\javapath;
这个就是java等命令可执行文件所在位置,但是需要依赖jdk的环境(dll文件中放的就是共享类库等),所以我们要把jdk/bin以及jre/bin的路径放在这个路径前面,才可以正常运行。如果C:\ProgramData\Oracle\Java\javapath;在前面,执行命令会报错,缺失dll。
path添加要重启才生效
2.idea运行项目
有了Idea之后这些工作我们都不需要做了,在idea配置就可以。
在idea中可以配置jdk,添加运行环境。不用自己系统下的path和classpath路径。
idea中添加jdk
创建项目流程:
1.创建一个空项目
2.在整个空项目下配置依赖,这样我们在空项目下添加的模块就不用每个都配置一遍jdk了
点击File->Project Structure->Project
settings中配置自己的maven仓库,如果之前配过全局的,就不用配了。
(配置全局方法是点击file->close project进入idea主页面,点击allsettings,在这里面配置maven环境)
3.添加module,之后就是对module的操作了
module是什么项目,左侧有很多可供选择。
(javaFX是java图形如swing,buildSystem就是编译打包部署工具)
点击这个就可以创建一个maven并且有web的项目。
如果创建了一个普通java项目也可以添加web,mevan等framework
24版本的idea右键模块没有这个选项 双击shift 搜索add就可以找到add framework了。
可以添加maven支持,注意pom.xml中web项目打包方式写上war方式。
之后也可以添加web支持【注意下面黑框的路径就是web资源路径 一定配置正确否则报404找不到资源,上面的Type就是配置文件web.xml所在位置】
注意将编译器版本选为配对的settings中配置
4.之后就可以编译,运行--jvm找classpath下的路径
编译中注意:
- 如果我们用maven来管理项目,maven会负责编译,放到target下,用maven中配置的jdk
- 在idea中用maven可以配置maven的jdk,默认用项目配置的jdk,可以选
jvm找classpath:
- 如果不是web项目,jvm就是idea项目配置jdk中的jvm【分为依赖和本项目编译后的路径】
- 如果是web项目,tomcat来运行项目,用其内置的jdk中的jvm来运行,tomcat找自己预置的classpath
Tomcat下的Web应用有两个预置的classpath :
- WEB-INF/classes 存放 Web 应用的编译类 -->也就是target->classes中的文件
- WEB-INF/lib 存放 Web 应用所需的第三方库的 JAR 文件
idea中的classpath是分为依赖和本项目编译后的路径。
输入
String classpath = System.getProperty("java.class.path");
System.out.println(classpath);
可以查看classpath路径,输出:
- D:\java\mybatis-241025\first\target\classes; //即为本项目编译后的路径
在idea项目中只有被标记为Resource Folders或者Source Folders
的文件夹下的文件才会被添加至target->classes。也就是才会被编译。
- D:\Maven\apache-maven-3.6.3\maven-repo\mysql\mysql-connector-java\8.0.28\mysql-connector-java-8.0.28.jar; //即为项目依赖
- D:\Maven\apache-maven-3.6.3\maven-repo\org\mybatis\mybatis\3.5.11\mybatis-3.5.11.jar //即为项目依赖
3.导入外部文件
file->new->project form existing sources..->选中要导入文件的pom.xml即可
4.idea快捷键
IDEA常用快捷键整理大全(非常详细)持续更新中..._keymap idea-优快云博客
5.jdk 9 升级到 jdk17
简单记录Java1.8升级到Java17_jdk1.8升级到jdk17-优快云博客
6.idea中使用git
1.首先已经下载git 设计环境变量后可以找到
2.file->version control->git
选择本地仓库 默认为当前项目路径 【git init】
3.配置远程仓库地址
把仓库地址的url添加上就可以了
4.找到.gitignore文件,将自己想要忽略的文件写进入,规则可以在git-忽略文件中看
5.点击总目录->点击Git->点击Add 就可以将此目录下的所有文件添加到暂存区(颜色由红边绿,忽略文件除外 会变成黄色)【git add 文件名】
如果有忘记忽略的文件,在.gitignore中添加后,那些文件已经添加到暂存区了,所以要先rollback,然后再次Add,忽略文件才会生效 【git rm --cached [filename]从暂存区中删除】
点击commit->点击rollback图标->点击确定
6.将暂存区的文件提交到本地库 点击commit (由绿变黑)【git commit 文件名】
7.查看log 【git log】
绿色的标签代表head指向的分支 黄色的标签代表master指向的版本
右下角提交时间 提交人 版本号
8.切换版本
右键要切换的版本 点击checkout revision
指针发生变化
为什么是head动了,master没动?
git reset --hard [版本号] 切换版本
但是在idea中用的是另一条指令 git checkout [版本号] 此命令只能查看切换到的版本,git进入“分离Head状态”,也就是说本来应该是master指针变化,但现在是head直接指向了切换到的版本
总结:在idea中master一直指向自己的最新版本,head指向切换的版本号
9.分支操作
创建分支 【git branch】
切换分支 【git checkout】
合并分支 【git merge】
切换到主分支,点击要合并到主分支的分支,点击merge
(1)正常合并
(2)冲突合并(在idea中同一文件的同一位置不同才有冲突,如果只是同一文件不同位置修改会将两个都放到一起)
点击merge
左边是master的版本,右边是hot-fix的版本,中间是最后合并的代码
红色就是合并有冲突的地方
X是不要这个代码,箭头是要这个代码放到中间位置
7.idea中使用github
idea中默认下载了github插件,如需用GItee,可以自行把Gitee的插件载上
1.添加github账户
(ps:登录方式有网页认证或者用token【登录机制就是JWT】)
2.我们可以share to github 相当于创建了远程库并push当前所在分支
3.push到远程库
点击push 会自动选中分享后创建的远程库
当然也可以选其他的
我们也可以用ssh的方式来推送我们的代码【如果网络一般的话】
ssh是什么?
就是实现数据传输的一种协议
用https时服务器来处理请求返回此仓库对象,ssh也是处理请求返回仓库对象
与https的不同就是认证用户身份方式不同
- HTTPS 请求:客户端会首先向 GitHub 服务器发起请求,服务器会验证用户的身份(通过用户名/密码或令牌),然后返回符合用户权限的仓库对象。
- SSH 请求:客户端通过 SSH 显示发送请求,服务器会通过验证私钥与注册的公钥匹配来确认用户身份,验证成功后返回所请求的仓库对象。
ssh使用方法:
1.在本机生成公钥
在本机用户目录下生成.ssh -> 生成公钥(带pub)和密钥两个文件
2.将公钥放在github上
之后就可以用本机随处登录github,不用输密码,直接就登上了
配置好后选择这个路径,在网络不好时也可以推送成功(报错22端口不可用,关闭加速器即可)
4.pull拉取代码
5.克隆远程库
点击new -> project from vc
(注意在导入maven项目时,会弹出maven加载load提示,一定要点击load,否则maven没有管理项目)
8.idea中使用Gitee
与github无异,把Gitee的插件载上
gitee可以导入github项目
9.idea中查找
二.maven的使用
我们可以从maven官网Maven Repository: Search/Browse/Explore (mvnrepository.com)上下载到我们项目需要的jar包。
可以按照下面的思路来整合学习,具体步骤内容参考
Maven基础(黑马笔记)_maven基础 黑马-优快云博客
简约记忆:两大功能,继承和聚合
1.maven是什么?
maven是一个插件的框架,插件就是集成化的功能。
maven是自动化构建工具,主要功能就是项目构架和依赖管理。
2.maven下载和配置
maven下载:可以在官网上下载,将相应版本的jar包下载
maven配置:
配环境:
- JAVA_HOME
- MAVEN_HOME
- path中添加这两个参数/bin
配maven参数:
- 1.配置本地仓库:
在confg->settings.xml文件中添加本地仓库所在位置
- 2.配置远程仓库(默认在国外,用国内的阿里云快)
3.maven的核心概念
仓库
先从本地仓库上找,本此仓库没有从远程仓库上下载到本地仓库中。
坐标
GAV
- g:组织名称
- a:项目名称
- v:项目版本号
表现在仓库中是一级一级的目录。
4.maven的两大功能
项目构建
1.过程
清理-》编译-》测试-》报告-》打包-》安装-》部署
- 清理:清除之前的所有编译内容,以供下一次编译做准备。target文件夹删除。
- 编译:编译过程中用到了指定的jdk进行编译,所以我们在使用时要配置好jdk位置。
生成target文件夹,只编译核心程序,test中的不编译。<properties> <maven.compiler.source>17</maven.compiler.source> <maven.compiler.target>17</maven.compiler.target> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties>
可以显示的配置用的jdk版本,如果不配置,会去找idea中配置的jdk,再没有就是用系统默认的JAVA_HOME(报错:java不支持发行版本5用此方法解决)
- 测试:将所有在Test包下的符合规范名称的测试方法执行一遍,运行时要有相应的class文件,从仓库中找jar包,所以在使用时配置好仓库的位置。
符合规范是指:
测试类中的方法名必须写为testXXX(),不是加@Test注解就是测试方法。
测试类也要以Test开头或结尾 - 报告:在每一次测试后以标准的格式记录和展示测试结果,会自动写到相应文件上。
- 打包:java工程打jar包,web工程打war包,父工程打pom包。可以在pom文件中配置,<packeting>[打包方式]</packeting>
打包后可以在target文件下看到名称(就是AV)
(1.0-SANPSHOT是开发版的意思)
如果配置中配置了filename会以这个命名 - 安装:把当前工程的打包后的包安装到本地仓库中。我其他项目也可以通过gav导入dependency来使用这个包。
- 部署:就是将包部署到私服上,供大家一起使用。
2.maven生命周期
maven的生命周期就是项目构建的各个环节。分成两个生命周期。
- 清理周期 clean
- 默认周期 编译-》测试...部署
maven是一键式构建,如点击或输入命令deplay会将默认周期全部执行一遍。
3.第一个Maven项目(手工制作)
4.IDEA创建Maven项目
5.Bilud构建配置
项目中哪一部分需要编译,从哪里找资源都是maven默认配置好的。
但是我们也可以自定义,在build标签中配置。
- 可以配置打包名
- 可以配置指定打包文件
- 配置自定义插件。如tomcat插件使用。
依赖管理
添加依赖只需在pom.xml配置文件中添加dependency,其也会把这个包依赖的依赖导入。具有传递性。
其可以在dependency配置 GAV scope[依赖范围]
这部分仔细看 Maven (yuque.com)
1.依赖范围
Maven的依赖构件包含一个依赖范围的属性。这个属性描述的是三套classpath的控制,即编译、测试、运行。这说白了就是添加的jar包起作用的范围。 maven提供了以下几种依赖范围:compile,test,provided.runtime,system。(eg.<scope>provided</scope>)
- compile 如果没有指定,默认使用该依赖范围,对于编译、测试、运行3种classpath都有效。
- test 只测试有效
- provided 叫做已提供依赖范围 在编译,测试时有效,运行时相应服务已经提供这个依赖。在项目中用只是为了测试。在打包时不会将此包打包
2.依赖下载不下来原因
原因:
- 网不行
- 依赖项版本号或者配置文件版本号错误
- maven仓库或者缓存污染或破坏
【有网络不会接着下载,有这个文件就不下了】
解决方案:
- 版本号一定是对的
- 清除maven缓存
【删除lastUpdated文件,根据GAV找到V文件删除】
3.依赖传递和依赖冲突
1.传递依赖
项目B依赖A,C依赖B,即C依赖A
传递原则:
1)当前依赖是否可以传递取决于依赖的依赖范围
- compile可传递 [test或者provided不可以传递
- compile配置了optional为true也不可传
2)依赖冲突也会终止传递
2.依赖冲突
当A依赖于X.1.0
A也依赖于B,B依赖于X.2.0
这时候A用的到底是用哪个版本呢?
方法:
1)自动选择原则
- 第一原则:路径最短 上述例子就是选择X.1.0
第二原则:先声明的优先 当路径长度一致在<dependencies>先声明的优先
A->B->X.1.0
A->C->X.2.0
在pom.xml中
<dependency>
B的GAV
</dependency>
<dependency>
C的GAV
</dependency>
选择B的X.1.0
2)手动排除
5.maven工程继承和聚合关系
继承
继承的是配置信息,作用就是为了版本号统一。
父工程:
- 打包方式必须是pom。
- 子工程自动继承父工程所有的dependencies(与依赖范围无关),但是可以加上dependencyManagement,这样就不会自动继承,子工程要去选择需要的依赖。
子工程:
- 其只有A,可以省略groupId和version,因为与父工程保持一致。
- 需要什么依赖,添加什么依赖,可以省略版本号,版本由父工程统一管理,选择时只需要写GA。
聚合
就是多个子项目在一起,可以在一个命令下构建或者发布。就是集中构建。
<modules>中放聚合的子项目的路径。
比如:父工程下创建的子项目,默认父工程就是聚合模块,会自动添加好子项目<modules>
6.maven配置文件
Maven 详细配置:Maven settings 配置文件的详细说明_基础资料_Java教程开发文档资料-Java资料网
三.tomcat
下载压缩包解压
安装后,相当于我们的电脑配了一个web服务器(可以想为电脑一分为二)
1.目录介绍
1.bin是指令
2.webapps放运行的web项目
3.lib是tomcat有的jar包,运行项目时会用这里的jar包
其中有servlet的包
所以运行web项目时,即使我们项目打包后有servlet包也不用。
(在tomcat10中,javax全变为jakarta,如servlet-api变为jakarta.servlet-api,idea项目中导入javax的,tomcat为jakarta的,会出现错误!所以一定要导jakarta)
2.更改Tomcat端口号-conf文件夹
如果无法结束占用端口的进程,或者你不想结束该进程,可以尝试更改Tomcat的端口号。在IDEA中,打开Tomcat服务器配置文件(server.xml),通常位于Tomcat安装目录下的conf文件夹内。找到以下行:
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
将port属性值更改为其他未被占用的端口号,例如8081或8082等。保存文件后重新启动Tomcat服务器。
3.idea中运行tomcat
配置:第一次要点击Configure选择自己的tomcat
在选择artifact时会有两种生成文件。
后面是exploded就是热部署,将生成的文件放到out目录下,如果是maven项目,会放到target目录下,是开发版项目。
如果没有这个,除了会有放到target下,还会放到webapps下。
idea中运行maven项目
maven会先编译项目放到target下(用maven配置的jdk),之后idea运行(用项目中配置的jdk)
其中maven用的jdk可以在pom.xml中指定,如果没指定就是用的项目配置的jdk。tomcat和maven项目是怎么一起结合运行的呢?
先运行maven的构建命令,maven运行到打包这步,将文件放到target下,如果tomcat中不是热部署,会执行到部署这一步,部署到webapps下,同时会生成一个war包到target下。
之后tomcat会加载这个war包,然后用自己内置的jdk运行。【此jdk就是我们系统的JAVA_HOME】(所以用tomcat跑web项目时,在项目中配置的jdk只是在编写时测试用的)
点击project structure->artifacts,就是这个项目中所有模块生成的输出文件,可以看到tomcat在部署时生成的输出文件。
4.idea中tomcat乱码问题
1.idea控制台中tomcat日志乱码
在运行时, tomcat会生成日志文件,日志文件的编码方式是采用tomcat的配置文件
config -> logging.properties中配置的编码。
idea控制台编码默认为UTF-8,也可以在settings中修改。
将两者编码一致,就不会出现乱码了。
idea中编码:
在idea中看控制台编码:
tomcat中编码:
ctrl+F搜索ConsoleHandler.encoding,改为UTF-8编码即可
java.util.logging.ConsoleHandler.encoding = UTF-8
2.idea控制台中request数据乱码
运行过程:
浏览器发送请求报文(报文发送Content-Type设置编码为charset=utf-8")
1)get 数据在请求头中即url中,tomcat用URIEnconding解码(默认utf-8),包装成HttpServletRequest对象,之后用tomcat的jvm(这里要配置参数-Dfile.encoding=UTF-8")打印到idea控制台(默认utf-8可查看)
- URIEnconding 可以在conf->server.xml中配置
- tomcat的jvm:tomcat运行程序用的是JAVA_HOME的jdk,此jdk不会用idea中的配置
idea中jdk配置过了settings->Editor->File Encodings
tomcat中配置jdk,VM options中添加 -Dfile.encoding=UTF-8"
2)post 数据在请求体,tomcat用配置中req的解码方式,包装成HttpServletRequest对象,之后用tomcat的jvm(这里要配置参数-Dfile.encoding=UTF-8")打印到idea控制台(默认utf-8可查看)
- req的解码方式在配置文件conf->web.xml
<request-character-encoding>UTF-8</request-character-encoding>
<response-character-encoding>UTF-8</response-character-encoding> - 其余同上
但是最好手动设置编码方式,有些tomcat版本没有这个,req.setCharacterEncoding("utf-8");
3.tomcat返回浏览器显示数据乱码
设置response返回的数据内容,用utf-8解析
resp.setHeader("Content-Type", "text/html;charset=utf-8");
四.Git
1.git是什么
git是分布式版本控制工具
什么是分布式?什么是集中式?
集中式就是所有的版本数据都在一台服务器上,只能在服务器上看到历史版本信息,服务器坏掉,就完全无法进行工作了。
分布式中没有服务器这个概念,每台计算机都有本地仓库,所有的版本信息都有,与其他电脑互动使用远程库来实现。
经典的集中式版本控制工具有 SVN
2.软件下载
安装:无脑下一步即可!安装完毕就可以使用了!
任意目录下右键后看到三个选项
- Git Bash:Unix与Linux风格的命令行,使用最多,推荐最多
- Git CMD:Windows风格的命令行
- Git GUI:图形界面的Git,不建议初学者使用,尽量先熟悉常用命令
点击Git Bash 设置用户签名
首次安装必须设置用户签名,否则无法提交代码,目的是为了区分不同操作者身份
注意这个设置的用户与远程仓库没有任何关系,是本地用户!
git config --global user.name "name" #名称
git config --global user.email 1234567@qq.com #邮箱
C:\Users\huawei\.gitconfig 中可以看到配置信息
3.git基本使用指令
1.创建工作区
创建一个空的项目目录 gitstudy 作为工作区
2.初始化仓库(创建本地仓库和暂存区)
在此文件夹目录下右键进入Git Bash
输入命令 git init 就可以初始化仓库,给git权限操作文件,创建.git文件
.git文件就是本地仓库,.git/index就是暂存区
输入命令git status就可以查看本地库状态
3.创建或修改文件
创建或修改后看status 文件为红色代表还没有加到暂存区
通过git add [filename] 命令将指定文件加到暂存区(git add .将当前目录所有放入)
再次查看status,显示绿色代表已经追踪但是没有提交到本地仓库
(放到暂存区的文件可以删除,用git rm --cached [filename]就可以从暂存区中删除,又变为没有追踪的文件。)
用git commit -m"日志信息" [filename] 提交到本地仓库
用命令git reflog查看版本信息 用git log查看版本详细信息
前面的12f2b57是完整版本号的前7位,git log可以看完整的 或者用 命令git show [版本号前7位] 查看完整的版本号
4.对此文件进行修改并提交到本地仓库后查看git log
怎么实现版本切换,切换到第一次提交的版本
使用命令 git reset --hard [版本号] 切换版本 版本号不用全的也可以用前7为也行
版本切换原理
git实现版本切换时指针在切换
有一个head指针,会指向不同的分支,每个分支也指向着不同的版本号
在.git文件中可以看到HEAD文件,打开后就是指向的分支路径,根据路径查看分支指向的版本号
用git reset可以让分支指向不同的版本号,实现了切换
此时切换到了第一次提交版本
master中为
5.创建分支
使用命令 git branch -v 查看分支
使用命令 git branch [分支名] 创建分支
我们在master的第二次提交版本上创建了一个分支,可以看到此时hot-fix是默认指向此版本的。
6.切换分支
使用命令 git checkout [分支名] 切换到指定分支
此时head指针指向hot-fix分支路径
在此分支上提交新版本
再切换回master分支,回到之前创建hot-fix分支的地方
7.分支合并
使用指令 git merge [合并分支] 当前所在的分支将[合并分支]放到当前分支上
情况1:不发生冲突
合并成功
情况2:发生冲突(两个分支对同一个文件进行了修改)
手动处理冲突 输入vim hello.txt修改为右图
之后提交修改后的版本 注意在commit时不加hello.txt
提交成功 master产生一个新的合并版本
ps: git log 显示的是这个分支的所有版本提交信息
如:master显示的就是红色线上的所有版本
hot-fix显示的就是紫色线上的所有版本
4.远程库
1.在github上创建远程库
创建远程库时,一些规范
根目录结构
• documents:项目相关文档文件夹
• projects:项目代码文件夹
• README.md:自读文件
• README.en.md:自读文件(英文)
在idea中使用时,我们只打开projects文件即可,来管理代码,其他的如documents可以用小海龟这样更清晰些。
2.创建别名
使用命令git remote -v 查看所有别名
使用命令git remote add [别名] [远程库链接]
3.本地库推送到远程库
使用命令git push [远程库] [分支] 将分支推送到远程库上
推送的最小单元就是分支
在远程库中可以看到信息
4.拉取远程库
使用命令git pull [远程库] [分支] 将远程库的分支拉取到本地库并提交
修改远程库的内容,让本地库保持最新,拉取远程库,最小单位也是分支
5.团队协作
方式一:组内协作(相当于远程库是我们共同维护的,不需要创建人同意)
现在我已经把我的本地仓库推送到远程库了,现在我的组员要补充代码。ta要怎么做呢?
1.克隆远程库
使用命令 git clone [url] 克隆仓库
此命令完成了:1.拉取代码 2.初始化本地库 3.创建别名origin
2.修改文件,add + commit
3.推送到远程库
输入命令 git push origin master 之后弹出提示登录gitHub账户,登录后会报错fatal(致命错误)
没有资格去推送,要让创建远程库的人将队友加入到团队中。
怎么邀请:点击仓库 点击settings 点击collaborators 搜索队员名 复制邀请链接 发送给队友
队友同意后 ,就可以自由推送代码了!
方式二:跨团队协作
1.fork远程库
2.本地库修改 add + commit + push
3.发送pull request 自动对比你的远程库与源远程库的不同
4.对方审核 merge
6.忽略文件
有些时候我们不想把某些文件纳入版本控制中,比如数据库文件,临时文件,设计文件等
在主目录下建立".gitignore"文件,此文件有如下规则:
-
忽略文件中的空行或以井号(#)开始的行将会被忽略。
-
可以使用Linux通配符。例如:星号(*)代表任意多个字符,问号(?)代表一个字符,方括号([abc])代表可选字符范围,大括号({string1,string2,...})代表可选的字符串等。
-
如果名称的最前面有一个感叹号(!),表示例外规则,将不被忽略。
-
如果名称的最前面是一个路径分隔符(/),表示要忽略的文件在此目录下,而子目录中的文件不忽略。
-
如果名称的最后面是一个路径分隔符(/),表示要忽略的是此目录下该名称的子目录,而非文件(默认文件或目录都忽略)。
#为注释
*.txt #忽略所有 .txt结尾的文件,这样的话上传就不会被选中!
!lib.txt #但lib.txt除外
/temp #仅忽略项目根目录下的TODO文件,不包括其它目录temp
build/ #忽略build/目录下的所有文件
doc/*.txt #会忽略 doc/notes.txt 但不包括 doc/server/arch.txt
7.简易使用指南
1.好习惯 先将自己的本地库与远程库同步 git pull [远程库] master 【如果自己的本地仓库跟不上远程仓库的代码版本push会被拒绝】
2.master主分支应该非常稳定,用来发布新版本,一般情况下不允许在上面工作,工作一般情况下在新建的dev分支上工作,工作完后,比如上要发布,或者说dev分支代码稳定后可以合并到主分支master上来。
五.TAPD
Scrum敏捷开发就是将一个大项目拆成多个小模块,划分优先级,先做优先级高的小模块,每个小模块就是一个功能,小模块实现需要经过plan build test review 这几个步骤,有功能后就把小产品发布出去。
管理工具有tapd
1.创建一个敏捷开发项目,邀请成员加入项目
2.创建需求-子需求 设置优先级 设置迭代(story就是需求的意思)设置处理人 设置状态(可以自定义状态有什么)
3.迭代就是版本(可以用这个划分需求,将不同需求划分到不同迭代,会更清晰)
4.缺陷就是bug 要关联需求 在哪里发现了bug
5.故事墙是展示当前迭代版本的需求,缺陷等