(四)Java工程化--Git基础

简介: GIT学习参考:https://git-scm.com/book/zh/v2常见命令git init 初始化项目git add *.java 添加文件到git版本控制(.java后缀的全部文件)Git 有三种状态, commited(已提交),modified(已修改),staged(已暂存);已提交表示数据已经安全的保存在本地数据库中。

GIT学习参考:https://git-scm.com/book/zh/v2

常见命令

  • git init 初始化项目
  • git add *.java 添加文件到git版本控制(.java后缀的全部文件)

    Git 有三种状态, commited(已提交),modified(已修改),staged(已暂存);已提交表示数据已经安全的保存在本地数据库中。 已修改表示修改了文件,但还没保存到数据库中。 已暂存表示对一个已修改文件的当前版本做了标记,使之包含在下次提交的快照中。
    由此引入 Git 项目的三个工作区域的概念:Git 仓库、工作目录以及暂存区域。
  • git status -s 当前状态,一般有进行下一步操作的提示信息 -s输出简洁信息
  • git commint -m '提交描述信息' 提交到本地仓库
  • git clone https://github.com/xuelingxiao/java-knowledge-structure knstuct 克隆远端仓库并重命名

      > GitHub 有一个十分详细的针对数十种项目及语言的 .gitignore 文件列表,你可以在 https://github.com/github/gitignore 找到它.
  • git diff 查看哪些修改了还没有暂存;查看哪些修改暂存了准备下次提交;
  • git diff --cache 查看暂存区
  • git commit -a 跳过add,将跟踪文件暂存并一起提交
  • git rm filename.txt 将文件移除跟踪状态
  • git rm --cached filename 从暂存区移除文件,将保留工作区文件
  • git mv filefrom fileto 移动文件
  • git log 查看提交历史
  • git log -p -2 -p显示每次提交的内容差异,-2显示最近两次提交,常用的还有git log --graph,git log --pretty=oneline[short,full,fuller,format],git log -Sfunctionname,git log --grep 关键字其他的请参阅帮助
  • git commit --amend amend 将用来修复上次提交,例如上次提交如果忘记了某些文件,可以使用此命令修复,git将会把amend的文件与之前的文件记录为一次提交
  • git reset HEAD 文件名.txt 取消暂存
  • git checkout -- 文件名 撤销对文件的修改, 比较危险,因为本地的修改可能会被从远端来的文件覆盖
  • git remote -v 查看配置的远端仓库信息, -v显示git保存的简写和url
  • git remote add knstuct https://github.com/https://github.com/xuelingxiao/java-knowledge-structure 添加远端仓库配置
  • git fetch knstuct 获取仓库,即镜像同步到本地
  • git pull knstuct 拉取远端分支到本地,并合并,fetch不会合并
  • git push -f remote-name branch-name 推送到远端, -f将回滚版本(强制推送)
  • git remote show origin 查看一个远端分支的更多信息
  • git remote rename oldname newname 远端分支重命名
  • git remote rm branch-name 移除远端分支
  • git tag 列出标签
  • git tag -l 'v1.8.5*' 只列出v1.8.5系列的标签
  • git tag -a v1.1 -m 'v1.1版本的标签' 创建一个附注标签(git标签分两类:轻量标签和附注标签,附注标签存储了git数据库中的一个完整对象,可以被检验,包含了打标签人的信息)
  • git tag v1.2 -lw 打轻量标签
  • git push origin v1.1 推送标签到远端,这样可以共享标签
  • git checkout -b brahchname tagname 检出标签,实际是将标签版本检出到工作区 -b只是第一次checkout使用
  • 别名设置, 参考示例如下
$ git config --global alias.co checkout
$ git config --global alias.br branch
$ git config --global alias.ci commit
$ git config --global alias.st status

$ git config --global alias.unstage 'reset HEAD --'
--上面命令运行后,下面两条语句等价
$ git unstage fileA
$ git reset HEAD -- fileA

--如果是外部命令, 可以在命令前加!
$ git config --global alias.visual '!gitk'
  • git merge branch master 合并分支
  • git rebase master 变基,掌握不住的话要少用

Git-Flow

规划团队如何使用git, 即使用git的一套规范; 可以参考google的gitflow.

git hooks

可以在CI使用, 自动发布,与jenkins集成.

通过本次学习我们基本就可以应对平时的需要了.作为工程化的一部分,git就先了解这么多(后面如果有时间的话再整理下git的更多知识), 下一步将学习jenkins.

相关文章
|
3天前
|
JavaScript 开发工具 git
工程化:Commitlint / 规范化Git提交消息格式
通过这些思维导图和分析说明表,您可以更加直观地理解Commitlint的安装、配置和使用方法,从而有效规范Git提交消息,提升团队协作效率和代码质量。
30 14
|
1天前
|
JavaScript 开发工具 git
工程化:Commitlint / 规范化Git提交消息格式
通过这些思维导图和分析说明表,您可以更加直观地理解Commitlint的安装、配置和使用方法,从而有效规范Git提交消息,提升团队协作效率和代码质量。
18 9
|
2月前
|
存储 缓存 Java
java基础:IO流 理论与代码示例(详解、idea设置统一utf-8编码问题)
这篇文章详细介绍了Java中的IO流,包括字符与字节的概念、编码格式、File类的使用、IO流的分类和原理,以及通过代码示例展示了各种流的应用,如节点流、处理流、缓存流、转换流、对象流和随机访问文件流。同时,还探讨了IDEA中设置项目编码格式的方法,以及如何处理序列化和反序列化问题。
86 1
java基础:IO流 理论与代码示例(详解、idea设置统一utf-8编码问题)
|
6月前
|
Java
【Java基础】输入输出流(IO流)
Java基础、输入输出流、IO流、流的概念、输入输出流的类层次结构图、使用 InputStream 和 OutputStream流类、使用 Reader 和 Writer 流类
184 2
|
3月前
|
安全 Java API
【Java面试题汇总】Java基础篇——String+集合+泛型+IO+异常+反射(2023版)
String常量池、String、StringBuffer、Stringbuilder有什么区别、List与Set的区别、ArrayList和LinkedList的区别、HashMap底层原理、ConcurrentHashMap、HashMap和Hashtable的区别、泛型擦除、ABA问题、IO多路复用、BIO、NIO、O、异常处理机制、反射
【Java面试题汇总】Java基础篇——String+集合+泛型+IO+异常+反射(2023版)
|
4月前
|
jenkins 持续交付 开发工具
"引爆效率革命!Docker+Jenkins+GIT+Tomcat:解锁持续集成魔法,一键部署Java Web应用的梦幻之旅!"
【8月更文挑战第9天】随着软件开发复杂度的增加,自动化变得至关重要。本文通过实例展示如何结合Docker、Jenkins、Git与Tomcat建立高效的持续集成(CI)流程。Docker确保应用环境一致性;Jenkins自动化处理构建、测试和部署;Git管理源代码版本;Tomcat部署Web应用。在Jenkins中配置Git插件并设置项目,集成Docker构建Tomcat应用镜像并运行容器。此外,通过自动化测试、代码质量检查、环境隔离和日志监控确保CI流程顺畅,从而显著提高开发效率和软件质量。
82 3
|
4月前
|
Java 开发工具 git
【Azure 应用服务】本地Git部署Java项目到App Server,访问无效的原因
【Azure 应用服务】本地Git部署Java项目到App Server,访问无效的原因
|
6月前
|
安全 Java
|
6月前
|
搜索推荐 算法 Java
【Java基础】 几种简单的算法排序
几种简单的JAVA算法排序
54 4
|
6月前
|
Java 开发工具 git
java开发配置全局git忽略文件(IDEA)
java开发配置全局git忽略文件(IDEA)