目录
- P20-永久删除文件后找回
- P21-添加到暂存区的删除文件找回
- P22-删除文件找回方式的总结
- P23-比较文件(比较文件差异)
- P24-分支概述
- P25-分支操作
- P26-解决合并分支后产生的冲突
P20-永久删除文件后找回
说明:对于已经提交到本地库的文件,删除之后如何进行恢复
vi aaa.txt
git add aaa.txt
git commit -m "new aaa.txt" aaa.txt
git status #查看状态
rm aaa.txt #删除文件
ll #查看当前文件夹下面的文件,发现aaa.txt已经不见了被删除
git commit -m "del aaa.txt" aaa.txt
git reflog #查看日志 将指针移动到aaa.txt文件commit的那个版本
git reset --hard [哈希值]
ll #查看,发现之前被删除的文件被恢复了
P21-添加到暂存区的删除文件找回
vi apple.txt
git add apple.txt
git commit -m "add apple" apple.txt
ll #查看当前目录下的文件
rm apple.txt #删除apple.txt文件
git add apple.txt # 将删除文件操作提交至缓存区
git reset --hard HEAD #恢复到上一次提交到本地库操作的状态 即可恢复文件
P22-删除文件找回方式的总结
删除文件找回
前提:删除前,文件存在的状态提交到了本地库,否则通过git无法找回
操作:git reset --hard [指针位置]
1、当删除操作提交到本地库:将指针位置指向删除前的位置
2、当删除操作尚未提交到本地库:指针位置使用HEAD
P23-比较文件(比较文件差异)
git diff filename #与暂存区进行比较
git diff [文件名]:将工作区中的文件和暂存区进行比较
git diff [本地库中的历史版本] [文件名]:
- 将工作区中的文件和本地库历史记录比较
- 不带文件名,比较多个文件之间的差异
P24-分支概述
什么是分支
在版本控制过程中,使用多条先同时推进多个任务。(刚创建分支的时候,主干分支和新建的分支内容相同)
好处
1、进行新功能开发的时候,各个分支在开发过程中,如果某一个分支开发失败,不会对其他分支有任何影响,失败的分支删除重新开始即可,方便试错。新手开发一般在分支进行开发。
分支开发完毕测试无误,可以与Master合并。
2、同时并行推进多个功能开发,提高开发效率,彼此独立,更快的进行产品迭代。
P25-分支操作
查看当前所在分支
git status
创建新分支
git branch hot_fix(新分支的名字)
查看所有分支信息及版本号(-v)
git branch -v
切换分支
git checkout [分支名]
合并分支
- 第一步:切换到接受修改的(被合并增加新内容)分支上
git checkout [被合并的分支名]
- 第二部:执行merge命令
git merge [有新内容的分支名]
P26-解决合并分支后产生的冲突
为什么会产生冲突?
两个分支对同一个文件,同一个位置进行修改的时候,在合并的时候会产生冲突,打开冲突文件如下图所示:
冲突标记:
<<<<<< HEAD
xxxxxx
xxxxxx
<<<<<< [branch_name]
冲突的解决
- 第一步:编辑文件,删除特殊符号
- 第二步:把文件修改到满意为止
- 第三步:git add
- 第四步:git commit -m “日志信息”
- 注意:此时commit不能带具体的文件名