Git基本工作流程
Git建立仓库
git init
就会在命令工作目录建立一个版本库
查看仓库状态
git status
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zBBVoj4l-1598103864846)(D:\笔记\notebook\git\Git学习笔记\image-20200822153834783.png)]
添加文件到暂存区
git add 文件名
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1zafU3Sk-1598103864855)(\Git学习笔记\image-20200822154142003.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vF94dHXQ-1598103864857)(Git学习笔记\image-20200822154333342.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yspDoZdn-1598103864858)(Git学习笔记\image-20200822154748807.png)]
提交文件到本地仓库
git commit -m"版本信息"
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hQgLSFUQ-1598103864859)(Git学习笔记\image-20200822154949983.png)]
Git版本切换
Git查看版本
git log
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Bdl7SmH0-1598103864861)(Git学习笔记\image-20200822155903451.png)]
Git版本回退到上一个
git reset --hard HEAD^
HEAD^ 表示回退的版本数量
HEAD^^ 回退到上两个版本
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LxOh1Y8M-1598103864861)(Git学习笔记\image-20200822155936163.png)]
Git回退到指定版本
git reset --hard 版本号的前几位(commit 后面那一串)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YgvYqi4K-1598103864862)(Git学习笔记\image-20200822160258457.png)]
查看版本切换记录
git reflog
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Eqg9WsQW-1598103864863)(Git学习笔记\image-20200822160510143.png)]
Git撤销修改
撤销修改只能作用在被Git管理的文件
未添加至暂存区的情况下撤销
查看文件差异
git diff
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qqFgtaSK-1598103864863)(Git学习笔记\image-20200822161412034.png)]
撤销修改
git restore 文件路径
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2SplMTOy-1598103864864)(Git学习笔记\image-20200822162024840.png)]
已经添加到暂存区的情况下撤销
- 先撤销暂存区的修改(撤销提交)
git restore --staged 文件路径
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iezFtI6K-1598103864865)(Git学习笔记\image-20200822162550615.png)]
- 再撤销工作区的修改
git restore 文件路径
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0boqqtEo-1598103864866)(Git学习笔记\image-20200822162638261.png)]
Git删除文件
添加删除到缓存区并提交版本
git add/rm 文件路径
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-omiPZun9-1598103864866)(Git学习笔记\image-20200822165416358.png)]
回退删除操作
在添加到暂存库之前、之后都能撤销操作
# 添加之前
git restore 文件路径
# 添加之后
git restore --staged 文件路径 # 撤销添加操作
git restore 文件路径 # 撤销删除操作
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VEwVQjbP-1598103864867)(Git学习笔记\image-20200822165948414.png)]
在提交至本地仓库之后就只能通过回退版本的方式撤销删除
远程仓库以GitHub为例
Git提交到远程仓库
以GitHub为例
- 添加到缓存区
- 添加至本次仓库
- 设置远程仓库地址
- 推送至远程仓库
git commit -m "first commit"
git remote add origin 远程仓库地址
git push -u origin master
提交本地仓库到远程仓库
git push
拷贝远程仓库至本地
git clone 仓库地址
更新本地代码
git pull
分支
主分支:一般是最稳定的分支,只用于发布新版本
开发分支:用于实际的开发若有新功能还可在开发分支上开辟专门用于新功能的开发分支
最终在功能开发完整之后再合并到主分支
开辟新的分支
git checkout -b 切换分支名称
# 功能相同
git branch 分支名称
-b:新建且切换分支
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2ME0NKhU-1598103864867)(\Git学习笔记\image-20200822172548266.png)]
对应的版本要存放到相应分支的仓库里面
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-l9zYWUpz-1598103864868)(\Git学习笔记\image-20200822172832032.png)]
切换分支
git checkout 分支名称
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xymcXyka-1598103864869)(\Git学习笔记\image-20200822173019761.png)]
合并分支
git merge 要合并的分支名
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BdicVrie-1598103864869)(\Git学习笔记\image-20200822173626686.png)]
输入指令后还需要填写日志
合并后的分支还是存在的
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-plWDUeEp-1598103864870)(\Git学习笔记\image-20200822173815519.png)]
删除分支
git branch -d 分支名
删除分支不能在要删除的分支上进行
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-K9OxVt62-1598103864870)(\Git学习笔记\image-20200822173945709.png)]
保存当前状态
一般用于当前分支开发未完全临时需要切换到别的分区里面,需要保存现场
则需要先保存当前分支状态,再切换到别的分支
# 保存分支
git stash
# 查看分支缓存列表
git stash list
# 切换分支
git checkout 分支名称
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fouEMyGl-1598103864871)(\Git学习笔记\image-20200822191723793.png)]
恢复保存好的现场
# 查看分支缓存
git stash list
# 恢复分支缓存
git stash apply
也可以指定恢复分支
git stash apply 编号
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aElochta-1598103864872)(\Git学习笔记\image-20200822192043145.png)]
冲突处理
主要是因为两个分支之间的同个文件有不同修改,在合并操作时产生
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-v67kGhyn-1598103864872)(\Git学习笔记\image-20200822174917112.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hyNvnI0X-1598103864873)(\Git学习笔记\image-20200822174938502.png)]
解决冲突之后再提交
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bXifGugk-1598103864874)(\Git学习笔记\image-20200822175112749.png)]
# 查看分支历史
git log --graph
Git忽略文件
-
创建 .gitignore 文件,文件内编写需要忽略的文件(夹)地址
# 忽略文件夹 /discionary # 忽略json类型文件 *.json # 设置不能忽略 !.gitignore
图片转存中…(img-hyNvnI0X-1598103864873)]
解决冲突之后再提交
[外链图片转存中…(img-bXifGugk-1598103864874)]
# 查看分支历史
git log --graph
Git忽略文件
-
创建 .gitignore 文件,文件内编写需要忽略的文件(夹)地址
# 忽略文件夹 /discionary # 忽略json类型文件 *.json # 设置不能忽略 !.gitignore