Git 学习指南

文章目录

  • 版权声明
  • 1. Git 概述
  • 2. 面试题
  • TODO
  • References

版权声明

  • Git 系列笔记来源于廖雪峰先生的个人网站1,在个人思考的基础之上博采众长,受益匪浅;故今记此文,感怀于心;
  • 该系列笔记不以盈利为目的,仅用于个人学习及交流讨论;
  • 如有侵权,请与本人联系([email protected]),经核实后即刻删除;
  • 本文采用 署名-非商业性使用-禁止演绎 4.0 国际 (CC BY-NC-ND 4.0) 协议发布;

1. Git 概述

  • Git:分布式版本控制系统;

    • 用C编写;
    • 使用过程中,目录不得包含中文名;
  • repository:版本库/仓库;

    • Git可以跟踪repository中文件的修改、删除等;
  • 创建repository相关命令

    • mkdir learngit:创建版本库;
    • git init:将当前目录变成Git可以管理的仓库;
      • 执行该命令后,目录下多了一个.git的目录,被Git用于跟踪管理版本库,不宜修改该目录中的文件;
      • .git文件默认为隐藏文件;
      • 在空目录下创建Git仓库不是必须的条件,选择一个已经有文件的目录亦可;
    • git add:将文件添加到仓库;
      • 待添加的文件应在 repository 中;
    • git commit -m "...":将文件提交到 repository;
      • 引号内的文字是本次提交的说明,便于从历史记录中找到改动内容;
      • 该命令可以一次提交多个文件;
        • 即可多次用 git add 命令添加文件,然后用 git commit 一次性提交这些文件;
  • 常用命令:

  • pwd:print working directory,显示工作目录的路径名称;

  • cd:change directory,改变目录;

  • ls:显示当前目录中的文件;

    • ls常用选项:

      参数 含义
      -a 显示指定目录下所有子目录与文件,包括隐藏文件
      -l 以列表方式显示文件的详细信息
      -h 配合-l 以人性化的方式显示文件大小(ls -lh = ls -l -h, ls -a -h = ls -ah)
    • E.g. ls -ah

  • 版本控制系统能够管理的文件类型:

    • 所有的版本控制系统,只能跟踪文本文件的改动,E.g. TXT文件,网页,代码;

    • 图片、视频这些二进制文件,虽然也能由版本控制系统管理,但不能跟踪文件被修改的内容;E.g. 只知道图片从100KB改成了120KB;

    • Word格式是二进制格式;

      • 版本控制系统无法跟踪Word文件的改动;
  • 应当使用纯文本方式编写文件,以便于使用版本控制系统管理文件;

  • 推荐使用标准的UTF-8编码,所有语言使用同一种编码,既没有冲突,又被所有平台支持;

    • 注意:不要使用Windows自带的记事本编辑任何文本文件;
    • Windows自带的记事本在保存UTF-8编码文件的同时,自动在每个文件开头添加了0xefbbbf(十六进制)的字符,由此引发很多问题,E.g. 网页第一行可能会显示一个“?”,明明正确的程序一编译就报语法错误;
      • 建议使用 Notepad++ 代替记事本,记得把 Notepad++ 的默认编码设置为 UTF-8 without BOM;

2. 面试题

  • Git 的工作区:即存放.git文件的文件夹;
  • 版本库:.git文件,包括 Stage 暂存区和分支;
  • Git 的工作流?
    • Stage 暂存区:git add filename,将修改添加到暂存区;
    • History 版本库:git commit,将暂存区的修改提交到当前分支;
    • 远程库:git push,将修改推送到远程库;

TODO

References


  1. https://www.liaoxuefeng.com/ ↩︎

你可能感兴趣的:(Tools)