介绍
Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。
Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。
Git的作用
1.管理项目的版本(备份项目)
- 备份代码
- 代码合并
2.分布式版本控制系统,可以独立工作,集群式需要服务器与客服端协同工作。
git下载安装
pc.qq.com里面搜索下载
git --version 查看git版本
git怎it么用
安装好之后的第一个事情是配置git
配置全局的用户名和邮箱地址
//查看配置
git config --list
//配置用户名和邮箱
git config --global user.name "用户名"
git config --global user.email 邮箱账号
//修改配置
git config --replace-all user.name "用户名"
git config --replace-all user.email 邮箱账号
使用流程
初始化git仓库
初始化之后,目录就会出现一个叫.git的影藏目录。里面记录了当前仓库的所有信息。
git init
添加到暂存区
git add .
查看状态
git status
提交到暂存区的内容到仓库
git commit -m '日志名'
恢复到最新版本
恢复到最新版本
git reset --hard恢复到历史版本(时光机)
git reset --hard 版本号查看历史(当前版本之前的)
git log查看历史记录(包扣所有的操作记录)
git reflog
Gitee
注册账号
Gitee - 基于 Git 的代码托管和研发协作平台https://gitee.com/
创建仓库
克隆仓库(下载仓库的代码到本地)
git clone 仓库地址(https://gitee.com/mm-sqc/cangku01.git)
将代码放到仓库目录下。
正常执行git add . git commit 管理项目版本
使用命令推送到远程仓库
git push origin mester
如果推送报错,有可能是某人截胡了,需要先拉某人的代码。
git pull origin mester
然后在本地会合并代码,我们再次执行pull命令就可以了
分支管理
新的仓库,没有分支,只有一个主干,也叫做master分支
- 查看分支(带*号表示当前分支)
git branch
- 切换分支
git checkout 分支名
- 创建分支
相当于将当前的代码拷贝一份,作为一个分支代码。
git branch 分支名
- 删除分支
git branch -D 分支名
- 合并分支
git merge 要合并到当前
Gitlab
这是一个类似gitee的一个仓库软件。
可以为一些特殊的提交打上记录,回头我们想要快速找到这些特殊的提交,可以通过tag的方式进行查找
- 创建tag并添加注释
git tag -a 'tag名字' -m '日志信息'
- 创建tag
git tag tagname comitId
- 显示所有tag
git tag
- 查看tag的详情
git show tagname
- 删除tag
git tag -d tagname
- 远程拉取tag
git fetch --tags
- 回退到某个tag的状态
git checkout tagname
git ignore(忽略文件)
一般,项目中,总有一些文件,我们不需要提交,比如依赖库。创建一个文件,将忽略的文件或者文件夹写进去就可以了
.gitignore
3.txt
node_modules
Git解决冲突
- 方法一
git pull 出现冲突后丢弃本地冲突文件,使用远程文件覆盖本地文件
git checkout [文件路径]
git checkout test/src/main/resources/application.yml
git pull;
IDEA 可以试用 revert
- 方法二
git pull 出现冲突后可以暂存本地修改 git stash save "savemessage" ,然后 git pull 更
新代码, git stash list 可查看暂存记录列表,释放本地暂存 git stash apply stash@{0} , 出现冲突文件,找到并解决,然后可以提交 git add . 加入索引库,然后本地提交 git commit
-m '注释' 最后 git push 到远程
- 方法三
1. 当执行 git pull 更新代码时,发现以下错误
error: Your local changes to the following files would be overwritten by
merge:application.yml
Please commit your changes or stash them before you merge.
这说明你的 application.yml 与远程有冲突,你需要先提交本地的修改然后更新。
git add application.yml ,然后使用 git commit -m '冲突解决' ,
提交本地的 application.yml 文件,不进行推送远程
git pull ,更新代码会出现以下错误提示
Auto-merging application.yml
CONFLICT (content): Merge conflict in application.yml Automatic merge
failed ; fix conflicts and then commit the result.
更新后你的本地分支上会出现 (develop|MERGING)类似这种标志
找到你本地的 application.yml 文件,并打开
你会在文件中发现<<<<<<< HEAD ,======= ,>>>>>>>
ae9a0f6b7e42fda2ce9b13cfc5344d61
这种标记,<<<<<<< HEAD 和=======中间的是你自己的代码, =======
和>>>>>>>中间的是其他人修改的代码
自己确定保留那一部分代码,最后删除<<<<<<< HEAD ,======= ,>>>>>>>这
种标志