玩转 Git 三剑客
苏玲
携程代码平台负责人
60828 人已学习
新⼈⾸单¥68
课程目录
已完结/共 62 讲
第三章:Git与GitHub的简单同步 (4讲)
第五章:Git集成使用禁忌 (2讲)
玩转 Git 三剑客
登录|注册
留言
10
收藏
沉浸
阅读
分享
手机端
回顶部
当前播放: 23 | 怎样取消暂存区部分文件的更改?
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上?
本节摘要
登录 后留言

全部留言(10)

  • 最新
  • 精选
你好我是老昜~
老师您好, 关于这两节课我有一点疑惑期望老师的耐心解答, 第22节课中所讲:让工作区恢复成暂存区一样, 用的命令是: git checkout -- <file> 效果确实是自己想的那样, 删除了工作区的代码更改, 文件内容与暂存区的文件内容保持一致. 可是让暂存区恢复成HEAD一样这节所用的代码: git reset HEAD 完成的效果只是把暂存区文件退回到了工作区中, 而文件里面所修改的代码内容没有产生变化呀? 并没有像自己想的那样 将内容恢复成最近一次commit提交的内容. 所以问题1: git reset HEAD只是退回暂存区状态到工作区, 没有对代码内容做退回变更, 那有什么工作场景具体需要这个命令呢? 问题2: 如果既想把状态从暂存区退回到工作区, 又想把里面变更的代码恢复成上次commit下的代码内容又要怎么去做呢?

作者回复: 得先解决你的第一个问题。git reset HEAD,就是要让暂存区恢复成HEAD一样,工作区保留暂存区的改动,刚好是为了保险哦,不然连工作区都不保留改动的文件,那之后就没地方找这些变化的内容了。你实在想让暂存区和工作区都和HEAD一样的话,用那个所谓的危险参数 --hard 好了

2018-12-20
5
知了🦖
老师,我这边如果暂缓区有文件,git status提示是这样的:use "git restore --staged <file>..." to unstage 而不是提示reset,这是git版本不一样的原因吗? 我试了restore应该是将暂存区文件取消,但是修改会保存在工作区。reset也是一样. 所以我觉得restore和reset都是将暂存区的内容取消,但是工作区的会保存,而不是直接恢复到HEAD 不知道是不是我的理解哪里有问题

作者回复: 建议到官网上查看版本的差异。看着样子是V2.25引入的新功能。 https://git-scm.com/docs/git-restore

2020-02-21
任我行
老师你好 我这有一个严重的问题请教一下 我先执行了 git add -A 在执行了git reset —hard 怎么回复暂存区的代码?

作者回复: 好问题。百度里面搜“git reset--hard后恢复暂存区文件” ,就有答案了

2019-07-22
..·
老师我最近fork了别人的代码,然后加了自己的内容,也给原作者提了pr,原作者也接受了我的pr,但是pr里有很多我自己的commit,而且我fork过后的仓库一直显示This branch is 16 commits ahead of gfxfundamentals:master. 原作者接受了我的pr按理说不该出现这个啊,怎么才能消除这些多余的commit信息。我也做了git remote add upstream https://github.com/greggman/threejsfundamentals.git和git pull --rebase upstream master,但是这些commit信息依然还在。

作者回复: 估计你把PR的拒绝当做已经接受了。你留意一下PR的标识,一个是红色的标识(表示没被merge),另一个是紫色的标识(表示已经merge)。

2019-07-01
为什么git的提示语句 git checkout 没有 " - -" 呢?
2018-12-19
2
8
Allen
git reset HEAD ,是让暂存区恢复为HEAD所指向的节点,使用了该命令后,工作区修改的内容会被保留(保险),如果本地的修改需要丢弃掉,那么可使用--hard
2018-12-30
5
落曦
git reset HEAD -- 文件名可单个可多个 将文件从暂存区指向工作区 前面和HEAD一致 后面指定具体要恢复的文件
2020-04-19
1
我能走多远
git reset HEAD -- filename 会暂存区文件修改恢复到工作区。 -- 表示是说明意思呢?
2020-10-23
1
注意:git checkout 命令会将暂存区的内容恢复到工作区
2020-03-01
希言自然
目前2.4版本的都是提示git restore这个命令,这个命令和reset的区别在哪里啊?
2019-11-20
1
收起评论