玩转 Git 三剑客
苏玲
携程代码平台负责人
60828 人已学习
新⼈⾸单¥68
课程目录
已完结/共 62 讲
第三章:Git与GitHub的简单同步 (4讲)
第五章:Git集成使用禁忌 (2讲)
玩转 Git 三剑客
登录|注册
留言
15
收藏
沉浸
阅读
分享
手机端
回顶部
当前播放: 24 | 消除最近的几次提交
00:00 / 00:00
高清
  • 高清
1.0x
  • 2.0x
  • 1.5x
  • 1.25x
  • 1.0x
  • 0.75x
  • 0.5x
网页全屏
全屏
00:00
付费课程,可试看
01 | 课程综述
02 | 安装Git
03 | 使用Git之前需要做的最小配置
04 | 创建第一个仓库并配置local用户信息
05 | 通过几次commit来认识工作区和暂存区
06 | 给文件重命名的简便方法
07 | 通过git log查看版本演变历史
08 | gitk:通过图形界面工具来查看版本历史
09 | 探密.git目录
10 | commit、tree和blob三个对象之间的关系
11 | 小练习:数一数tree的个数
12 | 分离头指针情况下的注意事项
13 | 进一步理解HEAD和branch
14 | 怎么删除不需要的分支?
15 | 怎么修改最新commit的message?
16 | 怎么修改老旧commit的message?
17 | 怎样把连续的多个commit整理成1个?
18 | 怎样把间隔的几个commit整理成1个?
19 | 怎么比较暂存区和HEAD所含文件的差异?
20 | 怎么比较工作区和暂存区所含文件的差异?
21 | 如何让暂存区恢复成和HEAD的一样?
22 | 如何让工作区的文件恢复为和暂存区一样?
23 | 怎样取消暂存区部分文件的更改?
24 | 消除最近的几次提交
25 | 看看不同提交的指定文件的差异
26 | 正确删除文件的方法
27 | 开发中临时加塞了紧急任务怎么处理?
28 | 如何指定不需要Git管理的文件?
29 | 如何将Git仓库备份到本地?
30 | 注册一个GitHub账号
31 | 配置公私钥
32 | 在GitHub上创建个人仓库
33 | 把本地仓库同步到GitHub
34 | 不同人修改了不同文件如何处理?
35 | 不同人修改了同文件的不同区域如何处理?
36 | 不同人修改了同文件的同一区域如何处理?
37 | 同时变更了文件名和文件内容如何处理?
38 | 把同一文件改成了不同的文件名如何处理?
39 | 禁止向集成分支执行push -f操作
40 | 禁止向集成分支执行变更历史的操作
41 | GitHub为什么会火?
42 | GitHub都有哪些核心功能?
43 | 怎么快速淘到感兴趣的开源项目?
44 | 怎样在GitHub上搭建个人博客
45 | 开源项目怎么保证代码质量?
46 | 为何需要组织类型的仓库?
47 | 创建团队的项目
48 | 怎样选择适合自己团队的工作流?
49 | 如何挑选合适的分支集成策略?
50 | 启用issue跟踪需求和任务
51 | 如何用project管理issue?
52 | 项目内部怎么实施code review?
53 | 团队协作时如何做多分支的集成?
54 | 怎样保证集成的质量?
55 | 怎样把产品包发布到GitHub上?
56 | 怎么给项目增加详细的指导文档?
57 | 国内互联网企业为什么喜欢GitLab?
58 | GitLab有哪些核心的功能?
59 | GitLab上怎么做项目管理?
60 | GitLab上怎么做code review?
61 | GitLab上怎么保证集成的质量?
62 | 怎么把应用部署到AWS上?
本节摘要
登录 后留言

全部留言(15)

  • 最新
  • 精选
极客星星
老师 能否讲下如何回退中间指定的commit

作者回复: C1 <-- C2 <-- C3 <-- C4 , Cn全部是commit,且C1是C2的父亲,依此类推。 你的问题是说“如果C3有问题,你想撤销C3的修改,为此生成C5,历史树变成C1 <-- C2 <-- C3 <-- C4 <-- C5”,对吗?如果是这样,执行 git revert C3 ,就会生成C5,且C5就是清除C3的变更 。 如果你无须保留 C3和C4,只想让分支回到C2,那么执行 git reset --hard C2 。⚠️我用了--hard,它会把工作区和暂存区都回退到C2,如果你想保留工作区,请不要使用 --hard ;如果甚至想保留暂存区的变更,那么必须加上 --soft C2。 有空请理解reset带了不同参数的三个操作的区别: git reset --hard C2 git reset C2 git reset --soft C2 C2代表某个commit

2019-06-16
12
JennySchecter
老师,是不是也可以使用git rebase -i 来drop掉后面的2个提交?

作者回复: 嗯嗯,可以的,对应的几个commit 设置为 d 即可

2020-03-09
3
coder
如果push了以后,还能通过reset回滚远端的版本吗?

作者回复: 先描述你遇到的问题吧。没看懂问题。 能还是不能,只要commit还未被清理,即使没有分支或tag指向它,都是可以被找回来的。

2020-07-21
此生不换
老师,为什么我用git reset --hard 命令需要执行两次才会重置暂存区??

作者回复: 会不会是git的bug?你把两次执行的返回结果打出来看一下吧

2019-11-14
Allen
修改了工作区,恢复:git checkout add后,想撤销: git reset HEAD commit后,想撤销: git reset--hard hash值
2018-12-30
28
Vee
哈哈 后悔药: 先 git reflog 查看命令历史, 记录每次的命令 然后进行你想找回的commit git reset --hard commit_id
2018-12-20
14
Leoorz
老师,我对比了一下 git reset --hard <pre_commit_id> 指令执行前后,.git/objects下的文件组织结构并没有改变,这种情况下其实只是改变了HEAD的指向。 也即git并没有把历史的记录彻底 "reset hard" 掉,其实仍然存在“反悔”的机会。 那有没有一种方式彻底改变git的历史文件结构,彻底将 reset 前至 pre_commit_id 这段历史彻底消除呢?
2019-01-13
1
5
git reset --hard commit_id 这个命令使用的时候,要考虑清楚
2018-12-28
2
四眼书生🇨🇳
git reset --hard commit id ,这个被删除的文件都能恢复,真溜
2022-02-14
1
落曦
git reset --hard commit_id 将HEAD指向指定的变更值
2020-04-19
1
收起评论