基础工具使用[idea maven tomcat git TAPD]

一.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 :

  1. WEB-INF/classes 存放 Web 应用的编译类 -->也就是target->classes中的文件
  2. 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 请求:客户端会首先向 GitHub 服务器发起请求,服务器会验证用户的身份(通过用户名/密码或令牌),然后返回符合用户权限的仓库对象。
  • SSH 请求:客户端通过 SSH 显示发送请求,服务器会通过验证私钥与注册的公钥匹配来确认用户身份,验证成功后返回所请求的仓库对象。
与https的不同就是认证用户身份方式不同
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基础 黑马-优快云博客

Maven (yuque.com)

简约记忆:两大功能,继承和聚合

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"文件,此文件有如下规则:

  1. 忽略文件中的空行或以井号(#)开始的行将会被忽略。

  2. 可以使用Linux通配符。例如:星号(*)代表任意多个字符,问号(?)代表一个字符,方括号([abc])代表可选字符范围,大括号({string1,string2,...})代表可选的字符串等。

  3. 如果名称的最前面有一个感叹号(!),表示例外规则,将不被忽略。

  4. 如果名称的最前面是一个路径分隔符(/),表示要忽略的文件在此目录下,而子目录中的文件不忽略。

  5. 如果名称的最后面是一个路径分隔符(/),表示要忽略的是此目录下该名称的子目录,而非文件(默认文件或目录都忽略)。

#为注释*.txt        #忽略所有 .txt结尾的文件,这样的话上传就不会被选中!!lib.txt     #但lib.txt除外/temp        #仅忽略项目根目录下的TODO文件,不包括其它目录tempbuild/       #忽略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.故事墙是展示当前迭代版本的需求,缺陷等 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值