下载APP
登录
关闭
讲堂
算法训练营
Python 进阶训练营
企业服务
极客商城
客户端下载
兑换中心
渠道合作
推荐作者
当前播放: 05 | 通过几次commit来认识工作区和暂存区
00:00 / 00:00
标清
  • 标清
1.0x
  • 2.0x
  • 1.5x
  • 1.25x
  • 1.0x
  • 0.5x
网页全屏
全屏
00:00
付费课程,可试看

玩转Git三剑客

共62讲 · 62课时,约600分钟
14844
免费
01 | 课程综述
免费
02 | 安装Git
免费
03 | 使用Git之前需要做的最小...
04 | 创建第一个仓库并配置loca...
05 | 通过几次commit来认识工作...
06 | 给文件重命名的简便方法
07 | 通过git log查看版本演变...
08 | gitk:通过图形界面工具来...
免费
09 | 探密.git目录
10 | commit、tree和blob三个对...
11 | 小练习:数一数tree的个数
12 | 分离头指针情况下的注意事...
13 | 进一步理解HEAD和branch
14 | 怎么删除不需要的分支?
免费
15 | 怎么修改最新commit的mess...
16 | 怎么修改老旧commit的mess...
17 | 怎样把连续的多个commit整...
18 | 怎样把间隔的几个commit整...
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 ...
40 | 禁止向集成分支执行变更历...
41 | GitHub为什么会火?
免费
42 | GitHub都有哪些核心功能?
43 | 怎么快速淘到感兴趣的开源...
44 | 怎样在GitHub上搭建个人博...
45 | 开源项目怎么保证代码质量...
46 | 为何需要组织类型的仓库?
47 | 创建团队的项目
48 | 怎样选择适合自己团队的工...
49 | 如何挑选合适的分支集成策...
50 | 启用issue跟踪需求和任务
51 | 如何用project管理issue?
52 | 项目内部怎么实施code re...
53 | 团队协作时如何做多分支的...
54 | 怎样保证集成的质量?
55 | 怎样把产品包发布到GitHub...
56 | 怎么给项目增加详细的指导...
免费
57 | 国内互联网企业为什么喜欢...
58 | GitLab有哪些核心的功能?
59 | GitLab上怎么做项目管理?
60 | GitLab上怎么做code revi...
61 | GitLab上怎么保证集成的质...
62 | 怎么把应用部署到AWS上?
本节摘要

课件下载地址

https://git201901.github.io/github_pages_learning/docs/ 苏玲《玩转 Git 三剑客》- 极客时间.pdf

项目相关文件下载地址

https://github.com/git201901/git_learning_master_6_commits/archive/27d2f8146eabcf2782e87ce445b8469cc1accc73.zip

index.html 文件中增加的代码

<footer>
        <p>
            <a href="https://github.com/TTN-js/unforGITtable"> 参考项目 01</a> 
        </p>
</footer>
复制代码

style.css 文件中增加的代码

footer{
  right: 0;
  bottom: 0;
  position: relative;
  padding: 10px 1rem 10px 0;
  margin-top: 50px;
  font-size: 0.7em;
  text-align: right;
}

footer p{
  margin-bottom:0;
}
复制代码
展开

精选留言(44)

  • 2018-12-24
    git add -u:将文件的修改、文件的删除,添加到暂存区。
    git add .:将文件的修改,文件的新建,添加到暂存区。
    git add -A:将文件的修改,文件的删除,文件的新建,添加到暂存区。
    工作中一般是用到 git add . 或者 git add -A, 今天学习更进一步解了 git add -u 以及他们之间的区别,谢谢苏玲老师讲的很详细

    git add -A相对于git add -u命令的优点 : 可以提交所有被删除、被替换、被修改和新增的文件到数据暂存区,而git add -u 只能操作跟踪过的文件
    git add -A 等同于git add -all



    展开
    25
  • 2018-12-13
    git add .:将工作空间新增和被修改的文件添加的暂存区
    git add -u:将工作空间被修改和被删除的文件添加到暂存区(不包含没有纳入Git管理的新增文件)
    之前都是习惯使用git add .

    作者回复: 👍

    10
  • 2018-12-11
    之前在 https://git-scm.com/ 官网上自学了一遍.
    基本的操作是会了, 但是高级用法平常用的不多,也就忘得差不多了.
    现在再跟着老师学一遍, 一来是查漏补缺,二来是开开眼界,看别人是怎么使用的.
    比如今天就学了个乖, git add -u 可以直接添加所有已经追踪的文件. 之前我都是偷懒 直接用的git add .

    作者回复: 对的,用 -u 有个好处,避免把工作区没准备好的新文件直接加到暂存区了。

    7
  • 2019-06-14
    课程中使用的几个命令,对应windows版:

    # 清屏
    Mac: clear
    Windows: cls

    # 展示文件夹内的内容
    Mac: ls -al
    Windows: dir

    # 展示文件内容(比如展示style.css的内容)
    Mac: vi style.css
    Windows: more style.css
    展开

    作者回复: 👍

    3
  • 2019-01-05
    您好,请问最后添加的参考链接的中文部分是乱码,如何解决?
    参考项目 01

    本身应该是

    参考项目01
    展开
    3
  • 2019-07-11
    苏老师您好,关于您说明的暂存区具有方便的回退功能,正式提交后不是也能回退到历史版本吗?那么暂存区回退的好处是什么呢?初学git,问题比较小白,劳烦您解惑

    作者回复: 我们可以这样来思考,一个问题在解决掉之前,我可能需要反复修改几个相同的文件,等一种方式测试后,我先把涉及的变更存到暂存区,然后在工作目录又开始改代码,试试其他方法会不会更好。最后再确定最后的变更,然后形成commit。
    正式提交后固然也能回退,但毕竟没有暂存区便捷。

    2
  • 2019-06-02
    老师在视频里使用“vi 文件名”使用vim打开文件在windows中是需要配置的,可以参考这篇博客:https://www.jianshu.com/p/fba13c5bbf83。

    作者回复: 好热心,👍

    2
  • 2019-03-12
    测试git add .与 git add -A 效果一样啊,都能跟踪到删除的文件。看到评论中很多说git add .对删除文件不起作用。麻烦老师看看。

    作者回复: 补充一点,add . 是对当前路径及其子路径下的变更有效。而 add -A 是整个仓库。

    2
  • 2019-02-25
    看了上面的留言,自己实际测试了一下发现:
    git add .|-A|--all,这三个选项都可以把所有的操作文件创建,文件修改,文件删除)添加到暂存区,感觉功能上是一样的。
    git add -u,可以把文件的修改和删除添加到暂存区,而新建的文件不会被添加到暂存区。
    想请教下老师,为什么都说git add .,不会添加删除的文件?我实际测试的结果,.和-A的效果是一样的。

    作者回复: 嗯,git高版本也能也可以处理删除的文件了。

    2
  • 2019-02-02
    $ git push origin master:master #本地仓库master分支推动到远程仓库的master分支
    $ git push origin master      #本地仓库当前分支的推送到master分支
    $ git push             #将当前本地仓库所在分支提交到远程相同分支下  

    苏老师,我这个理解正确嘛,因为根据实际的操作得到的是这个意思,但是其中根本的区别是什么呢? 
    展开

    作者回复: 很好的问题。

    3)因为 origin 是缺省的 remote url;
    2)git push origin master,后面没带远端的master,那是因为git已经为本地的master分支和远端的分支建立了所谓的 upstream 的关联,它知道本地master对应远端的master分支。当然,git也允许我们修改本地分支的 upstream。可以看看 git branch --set-upstream 命令。
    1)git push origin master:master 这个是完整版本。:前面的是本地分支名称,:后面的是远端分支的名称。

    2
  • 2019-08-24
    老师好,你在add index.html image之后输入的 $ ls -al命令,是什么意思呢?我在网上看到有类似的命令,不过它的两个字母对调了 $ ls -la

    作者回复: 对调了命令执行效果一样的。

    显示当前路径下所有文件(包含隐藏文件)

    1
  • 2019-04-22
    经过个人测试之后,回答一下同道学习者提出的以下问题:

    git 1.x版本中 git add . 和 git add -A 确实存在能否追踪到已删除文件的区别;但在 git 2.x 版本中,已经没有此区别了。


    converse✪
    2019-03-12
    测试git add .与 git add -A 效果一样啊,都能跟踪到删除的文件。看到评论中很多说git add .对删除文件不起作用。麻烦老师看看。
    展开

    作者回复: 👍,我在2.21.0.windows.1版本上验证add . 和 add -A 效果一样。

    1
  • 2019-03-11
    老师我也试了,在git version 2.16.2.windows.1这个版本下git add . 是会把删除的文件添加到暂存区,这是什么问题呢

    作者回复: ok 。看来新版本发生变化了。

    1
  • 2019-01-09
    老师,你好 我想问一下 你演示的页面是咋搞出来 我们提交那些文件后,也要看看效果 要怎么弄呢

    作者回复: 我用的是 iTerm2 ,你指这个命令行终端的界面吗?

    1
  • 2018-12-12
    老师,为什么我打不开课后你给的给的Github地址的zip文件?

    作者回复: 它是压缩文件包,需要安装解压软件吧

    1
  • 2019-11-13
    你好,苏老师,我在windows环境下,若是切换cd切换了目录,在cd切换回来后,使用命令【git commit -m'add style file'】(譬如按照视频示例进行练习)时总是会提示错误信息【error:pathspec 'style' did not match any file(s) known to git;error :pathspec 'file' did not match any file(s) known to git;】看起来像是把注释信息【-m】后的内容进行了匹配,不知道是为什么。请求下老师的帮助,谢谢~
  • 2019-11-13
    怎么把代码回退到暂存区里面的版本

    作者回复: 1) 如果要把工作区的某个 file 替换为暂存区,则 git checkout -- file

    2) 如果要把工作区变更的所有文件都恢复成和暂存区的一样,则 git checkout *

  • 2019-11-05
    课件地址打不开啊
  • 2019-09-30
    老师,git是不是开机就启动的?我关闭了Git Bash之后对文件的修改,也被自动添加到暂存区了!!但是我也在系统服务项里也没有找到git服务
  • 2019-08-22
    请问git跟踪文件是什么意思?

    作者回复: 就是文件受git管控