同步操作将从 Java精选/Ebooks 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
如果撤销提交到索引区的文件,可以使用git reset HEAD file命令。
如果撤销提交到本地仓库的文件:
可以使用git reset –soft HEAD^n恢复当前分支的版本库至上一次提交的状态,索引区和工作空间不变更;
可以使用git reset –mixed HEAD^n恢复当前分支的版本库和索引区至上一次提交的状态,工作区不变更;
可以使用git reset –hard HEAD^n恢复当前分支的版本库、索引区和工作空间至上一次提交的状态。
开发过程中经常碰到一些冲突问题,比如同时修改公共类的公共方法,一人提交后,另外一人再提交就会报冲突的错误。
发生冲突,在IDE里面一般都是对比本地文件和远程分支的文件,然后把远程分支上文件的内容手工修改到本地文件,然后再提交冲突的文件使其保证与远程分支的文件一致,这样才会消除冲突,然后再提交其修改的部分。
注意的是修改本地冲突文件与远程仓库的文件保持一致后,需要提交后才能消除冲突,否则无法继续提交。必要时可与其他提交人员交流沟通,消除冲突。
发生冲突,也可以使用命令。
1)使用git stash命令,把工作区的修改提交到栈区,目的是保存工作区的修改;
2)使用git pull命令,拉取远程分支上的代码并合并到本地分支,目的是消除冲突;
3)使用git stash pop命令,把保存在栈区的修改部分合并到最新的工作空间中。
Git中的 “裸” 存储库只包含版本控制信息而没有工作文件(没有工作树),并且它不包含特殊的.git子目录。相反,它直接在主目录本身包含.git子目录中的所有内容,其中工作目录包括:
1)一个.git子目录,其中包含你的仓库所有相关的Git修订历史记录。
2)工作树,或签出的项目文件的副本。
提交项目文件命令
git commit -a
含义:-a参数是指通过在命令行上加-a指示git提交已修改的所有被跟踪文件的新内容。
注意的是如果第一次提交新文件,可以在执行git commit -a命令之前先执行git add 命令。
Git是一个分布式的版本控制工具;而SVN是集中版本控制工具;
Git属于第3代版本控制工具;而SVN属于第2代版本控制工具;
Git客户端可以在其本地系统上克隆整个存储库;而SVN版本历史记录存储在服务器端存储库中;
Git支持离线提交;而SVN必须在线提交;
Git中Push/pull命令操作更快;而SVN中Push/pull命令操作较慢;
Git工程可以用commit命令实现自动共享;而SVN不支持自动共享。
Git是目前主流的一种代码托管技术。基本上大多数的公司都在使用Git进行协同开发。很多代码托管平台也是通过Git来实现的。
Git可以对代码进行版本控制以及分支管理等。它里面主要包含远程仓库,克隆,本地仓库,分支,提交,拉取等概念。其中远程仓库是指我们代码存储在服务器的地方,并且整个团队中所有人都可以正常访问。
克隆则是指从远程仓库克隆到本地的过程。本地仓库指的是开发人员从远程仓库克隆一份代码之后,保存在本地的代码,但是这个代码只有克隆的代码的开发人员可以看到。
新增文件的命令:git add file或者git add
提交文件的命令:git commit –m或者git commit –a
查看工作区状况:git status –s
拉取合并远程分支的操作:git fetch/git merge或者git pull
查看提交记录命令:git reflog
Maven生命周期的每一个阶段的具体实现都是由Maven插件实现的。插件通常提供了一个目标的集合,并且可以使用下面的语法执行:
mvn [plugin-name]:[goal-name]
Maven提供了两种类型的插件:
1)Build plugins:在构建时执行,并在pom.xml的元素中配置。
2)Reporting plugins:在网站生成过程中执行,并在pom.xml的元素中配置。
一些常用插件列表:
clean:构建之后清理目标文件。删除目标目录。
compiler:编译Java源文件。
surefile:运行JUnit单元测试。创建测试报告。
jar:从当前工程中构建JAR文件。
war:从当前工程中构建WAR文件。
javadoc:为工程生成Javadoc。
antrun:从构建过程的任意一个阶段中运行一个ant任务的集合。
第一步,查找Maven加载的时候是什么版本的jar包,通过使用“mvn dependency:tree”命令查看依赖树,或者使用IDEA Maven Helper插件。
第二步,通过Maven的依赖原则来调整坐标在pom文件的申明顺序或者使用将冲突中不想要的jar引入的jar进行<exclusions>去除掉。
项目中引入另一个maven项目依赖,通过依赖传递,会将jar包传递进来,如果不需要某个jar包就可以使用如下配置:
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>${spring.version}</version>
<exclusions>
<exclusion>
<artifactId>commons-logging</artifactId>
<groupId>commons-logging</groupId>
</exclusion>
</exclusions>
</dependency>
解析发布(RELEASE)版本:如果本地有,直接使用本地的,没有的话就会向远程仓库请求。
解析快照(SNAPSHOT)版本:合并本地和远程仓库的元数据文件groupId/artifactId/version/maven-metadata.xml ,这个文件存的版本都是带时间戳的,将最新的一个改名为不带时间戳的格式供本次编译使用。
解析版本为LATEST过于复杂,且解析的结果不稳定,不推荐在项目中使用,感兴趣的同学自己去研究,简而言之就是合并groupId/artifactId/maven-metadata.xml 找到对应的最新版本和包含快照的最新版本。
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。