Git 日常使用常见问题 (二)

今天我将带大家完成前十关。第一关在前文中已经完成,我们从第二关开始吧。

如对任何命令有疑问请看第一篇里的推荐教程。

第二关

根据提示,我们要配置「用户名」和「邮箱」,为什么呢?

你的代码提交后,特别是提交到开源社区,被别人看到,人家觉得这个代码写的真牛,想给你一个工作机会,怎么联系你?

通常,我们在 IDE 里创建一个新文件,IDE 都会自动加上日期,作者,邮箱等信息。其实我认为这都是过时的传统了,现在我们喜欢尽量保持源代码干净。

像创建日志,作者,邮箱这些信息都应该交给版本控制系统来记录。

当然如果你代码写的很烂的话就要小心了,别人git blame一下就可以问候你的家人了。

具体怎么过关过程如下:

第三关

第四关

第五关

第六关

第七关

这一关对于不了解 Vim 的同学可能有一点麻烦。这里也是一个很贴近实际的场景,用 Vim 编辑文件的时候,会产生一个.swp文件,这个文件的作用是:在你不小心退出了 Vim 或 Vim 自己崩溃后,再次编辑这个文件,就会提示你存在一个.swp文件,询问是否恢复。

它属于临时文件,显然不应该被提交到 VCS 里去。所以 Git 有一个机制让我们可以忽略某些文件。

第八关

这一关是上一关的延伸,忽略某类文件,但排除其中特定的一个。

根据提示来看一下帮助git gitignore --help,输入/negate进行搜索,一下就定位到下面这一段:

根据帮助我们知道了,可以用!来对模式取反。

所以我们编辑.gitignore,追加如下两行:

*.a

!lib.a

成功过关!

第九关

git status是一个非常常用的命令,插一句题外话:我给它配一个别名gst,这样敲起来就非常方便。

第十关

这两关都是考察基本概念,一个文件的几种状态:

untracked - 新增的文件,Git 根本不知道它的存在

not staged - 被索引过又被修改了的文件

staged - 通过git add后被即将被提交的文件

这里一看状态就知道了,如果现在执行git commit,只有最上面的两个文件会被 commit。


https://codingstyle.cn/topics/57

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Githug 他喵的这是个啥!?难道不是 GitHub 拼错了么,和 Git 什么关系? 和游戏又有什么关系? 其...
    _Ryeeeeee阅读 50,360评论 46 354
  • Add & Commit git init 初始化一个 Git 仓库(repository),即把当前所在目录变成...
    冬絮阅读 10,353评论 0 9
  • jQuery 中, $(document).ready()是什么意思? 在文档加载后激活函数:当 DOM(文档对象...
    mianmiani阅读 1,631评论 0 0
  • 起风的时候,我在哪里 万千思绪糅合进烟雾 那个路口 我在亲人的目光里 下雨的时候,我在哪里 檐下的珠帘摇曳着故乡的...
    苏格拉风掠影阅读 3,873评论 33 48