前言
项目的版本管理在开发的时候是一个常规操作,结合其他博客与实际操作来整理一下Git的一些常规操作。
整体结构

上图是git的一个整体结构图,git中主要包含四块区域。
workspace:工作区。可以理解为项目所在目录。执行git add *命令就把改动提交到了暂存区,执行git pull命令将远程仓库的数据拉到当前分支并合并,执行git checkout [branch-name]切换分支。
Index:暂存区。执行git commit -m '说明' 命令就把改动提交到了仓库区(当前分支)。
Repository:本地仓库区。执行git push origin master提交到远程仓库,执行git clone 地址将克隆远程仓库到本地。
Remote:远程仓库,比如Github这种仓库,但是前提是要Git先关联上远程仓库,具体可以参考这篇。
Git的配置
查看当前git的配置
1 | git config --list |
如果还没有进行过配置,可以通过如下命令配置用户名和邮箱
1 | git config [--global] user.name "[name]" |
创建仓库
在当前目录新建一个Git代码库
1 | git init |
提交文件
1 | 添加当前目录的所有文件到暂存区 |
1 | 提交暂存区到仓库区 |
以上操作是将本地的内容推送到远程的空仓库中的操作,如果想从远程仓库克隆整个项目,则可以通过以下命令
1 | git clone git@github.com:hqf1996/myGitTest.git |
分支
如果在多人协作的情况下,分支是一个非常常用的功能。
1 | 列出所有本地分支 |
1 | 创建一个分支(但还未切换到该分支上) |
标签
标签主要是用来做版本回退的。
1 | 列出所有tag |
撤销
1 | 恢复暂存区的指定文件到工作区 |
更新一个merge的例子:如果有多个branch,也就是有多个人进行开发,那么如何将这些分支都合并到Master上
比如现在整个仓库的情况是有一个master并且有两个branch,每个branch中都有自己更新的内容

1 | 下面演示如何将其他的分支合并到master分支上 |
此时master上已经合并上的branch1更新的代码
1 | 合并branch2的分支 |
此时由于两个分支都对某一个文件做了修改,所以有冲突,需要手动的去做判断了。
1 | public class HelloWorld { |
当然,也可以通过IDEA的工具去做管理,看着也比较方便一些。
1 | 然后重新commit再push即可 |
此时的master中就是最新的了。