什么是git?
Git 仓库(或称为 Git 存储库、Git 仓库库)是一个存储项目所有版本历史的目录,其中包含了项目中的所有文件、历史记录以及关于这些文件和记录的元数据。Git 是一个分布式版本控制系统,它允许开发者在本地存储完整的项目历史记录,从而能够在没有网络连接的情况下进行工作。
文件状态
U:未被Git管理过
A:新添加
M:工作区发生新变化
暂存区使用
临时存储,恢复代码内容,与版本库解耦
git restore 目标文件(覆盖工作区文件)
git rm --cached 目标文件(将暂存区文件移除)可取消跟踪
回退版本
把某个版本对应的内容快照,恢复到工作区/暂存区
查看提交历史:
git log --oneline
回退命令:
git reset --soft 版本号
git reset --hard 版本号(只留回退文件,强制覆盖暂存区和工作区)
git reset --mixed 版本号(工作区尽可能保存所有文件,暂存区只留回退版本)
忽略文件
分支:本质上是指向提交节点的可变指针,指向提交记录,默认名为master
开发新需求/修复bug,保证主线代码随时可用,多人协同开发提高效率
创建分支命令:
git branch 分支名(将head指针指向的提交记录作为起点)
切换分支命令:
git checkout 分支名
git branch(可以看出有哪些分支)
建议每写一个内容模块提交一次
注:如果切回主分支,其他分支的代码就会消失,暂存区和工作区被覆盖掉(每个分支指向它对应的提交记录)
合并与删除分支
1.切回要合入的分支:git checkout master
2.合并其他分支过来:git merge 分支名
3.删除合并后分支指针
合并冲突
不同分支中,对同一文件的同一部分修改,git无法清晰干净合并,产生冲突
如果不解决冲突,无法继续提交
远程仓库
本地添加远程仓库原地址:
gti remote add 远程仓库别名 地址
本地git仓库推送版本记录到远程仓库:
git push -u 远程仓库别名 本地和远程分支名
内容不相关可以强制拉取: git pull --rebase ori master