Git使用
Git使用 (本地)
初始化设置
Git是分布式版本控制系统,因此每个机器机器都必须自报家门:你的名字和Email地址
在命令行输入:
1 | git config --global user.name "Your Name" |
PS:
git config命令的--global参数,用了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然也可以对某个仓库指定不同的用户名和
初始化仓库
在空的目录下,通过git init命令把这个目录变成Git可以管理的仓库
1 | git init |
运行成功后可以发现当前目录下多了一个.git的目录,这个目录是Git来跟踪管理版本库的,切勿随意修改破坏Git仓库。
添加文件到仓库
使用git命令将文本添加到版本库中
1 | git add <文件名 + 后缀名> # 添加单个文件 |
执行上面的命令,没有任何显示,这就对了,Unix的哲学是“没有消息就是好消息”,说明添加成功。
把文件提交到本地仓库
1 | git commit -m "wrote a readme file" |
后面输入的是本次提交的说明,可以输入任意内容,当然最好是有意义的,这样你就能从历史记录里方便地找到改动记录。
PS:在执行 commit 之前,都先执行一下 add 操作,避免有文件被漏掉了
查看版本库状态
1 | git status # 查看当前git版本库的状态(查看缓存区中的文件内容) |
提交日志
版本控制系统肯定有某个命令可以告诉我们历史记录,在Git中,我们用git log命令查看:
1 | git log |
格式化日志,只显示主要的日志信息
1 | git log --pretty=oneline |
查看差异
1 | git diff # 查看不同版本之间的文件差异 |
版本回退
首先,Git必须知道当前版本是哪个版本,在Git中,用HEAD表示当前版本,上一个版本就是HEAD^,上上一个版本就是HEAD^^
1 | git reset --hard HEAD^ # 把当前版本回退到上一个版本 |
撤销修改
1 | git checkout -- filename # 让这个文件回到最近一次 git commit 或 git add 时的状态 |
PS:
git checkout -- file命令中的--很重要,没有--,就变成了“切换到另一个分支”的命令
删除文件
1 | git rm <文件名 + 后缀名> |
这个时候,Git知道你删除了文件,因此,工作区和版本库就不一致了,git status命令会立刻告诉你哪些文件被删除了
删除完成后需要 commit
如果删除了想恢复,可以使用 reset 版本恢复
分支管理
1 | git branch # 查看分支 |
git 文件冲突分支1中有个文件跟其他分支文件一样,如果同时发生修改了,进行合并,就出现文件冲突问题。
PS:在git中进行 crud 操作时都需要执行 git add 文件这个操作,底层操作将操作文件添加一个叫缓存区区域中缓存,当操作完毕之后,使用 git commit 操作,进行统一提交,将编辑文件统一同步版本中。
远程仓库
创建仓库步骤:
1:初始化本地的仓库
1 | git init |
2:设置码云的用户名跟码云注册邮箱
1 | git config --global user.name "码云里面用户名" |
3:配置忽略提交的文件.gitignore
4: 将项目添加到本地仓库
1 | git add . |
5:配置远程仓库请求路径
1 | git remote add origin 自己创建仓库路径 |
6:将本地仓库中项目推送到远程仓库
1 | git push -u origin master |
7: 弹出一个框, 输入账号与密码
8:将远程仓库中项目拉到本地仓库中
1 | git pull |
开发中使用 Git (IDEA)
在 Idea 中克隆远程仓库
打开 Idea,在初始化界面克隆远程仓库
以上步骤就可以将项目从远程导入到 Idea 了
在成功导入项目以后,如果 idea 右上角弹出一个提示框,里面有 Add root 的字眼,直接点击即可,代表让 idea 识别这是一个 git 项目。
PS:需要注意的是,在微服务开发或者按模块开发的情况下,因为一个仓库下可能包含多个项目文件,因此建议使用命令 git clone 先将远程仓库克隆到本地,然后再将仓库中的项目一个个导入到 idea
分支切换与合并
在 idea 中,分支的相关操作都在 idea 项目界面的右下角最角落的位置,你可以通过这边去新建本地分支/切换本地或远程分支,创建/删除/合并分支等等操作
分支创建成功后,会自动将之前(master)所在分支的文件同步到新创建的分支上,此时新创建的分支与原来的分支文件内容是一致的,你可以直接从当前分支切换到某一个分支,也可以去选择将哪一个分支合并到当前分支
文件新增编辑和删除
在 idea 中,使用不同的颜色来标识文件的不同状态。
棕色色代表未被 Git 管理(未添加到暂存区)
绿色代表新增的文件且已经被加入到暂存区了
蓝色代表该文件已经提交到远程且该文件被编辑过了
黑色代表该文件在当前版本与远程是一致的
灰色表示该文件之前被提交到仓库过(不管是远程还是本地),但是他已经被删除了
红色表示该文件的内容出现了冲突
创建新文件时,idea 会弹出一个提示框,确认是否要添加到 git 暂存区,如果此时点击 No 的话,该文件就不会被添加到暂存区,且颜色为棕红色,添加完成后,文件会由棕色变为绿色,此时对一个远程的文件进行了更新,那么他就会从黑色变为蓝色
当你开发完成以后,可以进行提交
团队开发注意事项
- 组员每次开发,都先 push 到自己的远程分支
- 每次对 master 分支做合并或推送之前,原地备份代码
- 确保自己分支的代码与 master 分支都没有错误以后,将本地 master 推送到远程
- 开发前,先切换到 master 分支,更新代码,确保是最新版本,如果有更新下来内容,同样先对整个项目进行备份,再切换到自己的分支,然后将 master 合并到自己的分支上
- 除了将代码提交到自己的分支以外,都必须再将自己的代码合并到master
- 再次强调,每次合并或推送前,都先对项目进行备份,避免操作不熟练导致出错后代码丢失







