这里写目录标题
1.git的简介和作用
git是一个分布式版本控制工具,通常用来对软件开发过程中的源代码文件进行管理。
通过git仓库来存储和管理这些文件。
git仓库分为两种:
本地仓库:开发人员自己电脑上的git仓库
远程仓库:远程服务器上的git仓库
commit:提交,将本地文件和版本信息保存到本地仓库
push:推送,将本地仓库的文件和版本信息上传到远程仓库
pull:拉取,将远程仓库文件和版本信息下载到本地仓库
代码回溯
版本切换
多人协作
远程备份
2.git常用命令
(1)git全局设置
设置用户名称和email地址,因为每次git提交都会使用该用户信息
(1)设置用户信息
git config --global user.name "***"
git congif --global user.email "******"
(2)查看配置信息
git config --list
注意:这里的user.name和user.email可以不是创建gitee仓库时的名字和邮箱,可以随便设置
(2)获取git仓库
从远程仓库克隆:
git clone 远程仓库地址
(3)工作区、暂存区、版本库的概念
(1)版本库:.git隐藏文件夹就是版本库,版本库中存储了很多配置信息、日志信息和文件版本信息等
(2)工作区:包含.git文件夹的目录就是工作区,也称为工作目录,主要用于存放开发的代码
(3)暂存区:.git文件夹中有很多文件,其中有一个index文件就是暂存区,也可以叫做stage。
暂存区是一个临时保存修改文件的地方
(4)git工作区中文件的状态
(1)untracked 未跟踪(未纳入版本控制)
(2)tracked 已跟踪(被纳入版本控制)
Unmodified 未修改状态
Modified 已修改状态
Stage 已暂存状态
(5)本地仓库操作
(1)git status 查看文件状态
(2)git add 将修改的文件加入暂存区
(3)git reset 将暂存区的文件取消暂存或者切换到指定版本
取消暂存:git reset hello.txt
切换到指定版本:git reset --hard 版本号
(4)git commit 将暂存区的文件修改提交到版本库
git commit -m "对这个文件做了什么 hello.txt" hello.txt
(5)git log 查看日志
(6)远程仓库操作
(1)git remote 查看远程仓库
git remote -v
(2)git remote add 添加远程仓库
git remote add <shortname> <url> shortname:可以引用的简写 url:远程仓库地址
(3)git clone 从远程仓库克隆
git clone <url> ---> git clone https....
(4)git pull 从远程仓库拉取
git pull origin master origin:远程仓库的别名 master:从哪个分支拉取
如果本地仓库不是从远程仓库克隆的,并且仓库中存在文件,此时再从远程仓库拉取文件时就会报错
(fatal:refusing to merge unrelated histories)
可以在git pull后加 --allow-unrelated-histories
(5)git push 推送到远程仓库
git push origin master origin:远程仓库的别名 master:推送到哪个分支
(7)分支操作
使用分支可以把你的工作从开发主线上分离开来,以面影响开发主线。同一个仓库可以有多个分支,
各个分支相互独立,互不干扰
(1)git branch 查看分支
git branch 列出所有本地分支
git branch -r 列出所有远程分支
git branch -a 列出所有本地分支和远程分支
(2)git branch [name] 创建分支
git branch haha
(3)git checkout [name] 切换分支
git checkout haha 切换到haha分支
(4)git push [shortname] [name] 将本地分支推送至远程仓库分支
git push origin haha origin:远程仓库的别名 haha:分支名称
(5)git merge [name] 合并分支
git merge haha 合并haha分支到master,需要先切回到master分支
合并时冲突解决:两个分支都修改了同一个文件,合并时可能会产生冲突
git commit -m "手动处理文件合并问题" haha.txt -i 手动修改之后这样提交,然后推送上去
(8)标签操作
(1)git tag 列出已有标签
(2)git tag [name] 创建标签
git tag v0.1
(3)git push [shortname] [name] 将标签推送至远程仓库
git push origin v0.1 origin:仓库别名 v0.1:标签名称
(4)git checkout -b [branch] [name] 检出标签,检出标签时需要创建一个新的分支来指向某个标签
git checkout -b bye v0.1 bye:新建的分支名称 v0.1:标签名
3.在idea中使用Git
(1)在idea中配置Git
(2)获取Git仓库
(1)本地新建仓库
(2)从远程仓库克隆