[Day6] Git版本控制 - 基本操作篇 (MacOS)

搞定 Mac 的软件和终端机,接下来要学习一步步把其他工具的使用环境建立起来,并学习如何去运用。


1. 安装 Git

  • 运用前几天装好的 Homebrew 来安装 Git

    $ brew install git
    
  • 也可以直接到官方网站下载安装档

    Git 官方网站

  • 完成後可以检查看看 Git 的版本资讯

    $ git version
    

2. 终端机基本操作

虽然昨天的美化终端机主题已经操作过终端机,但是对第一次碰终端机的人来说,也许就只是 复制贴上 + Enter 而已,所以先附上一些基本的操作指令。

指令 功用说明
cd (资料夹名称) 名称如果空白会回到根目录
mkdir (资料夹名称) 新增资料夹
touch (档案名称) 如档案名称不存在就会新增档案
vi/vim (档案名称) 文字编辑器;按i进入编辑模式,按 esc并输入 :wq 送出即可储存离开、:q 则是不储存离开
ls 列出当前路径内的档案和资料夹
ll (ls -l) 列出当前路径内的档案和资料夹详细资讯
la (ls -a) 列出当前路径内的档案和资料夹详细资讯(含隐藏档)
cat (档案名称) 查看档案

3. Git 基本操作

  • 设定个人资讯
    在 Git 里面的纪录加上个人资讯,不但能让工作夥伴有问题时知道要找谁,也能证明自己有在做事(?

    指令 功用说明
    git config --global user.name "Name" 设定自己的名称
    git config --global user.email "[email protected]" 设定自己的信箱
    git config --list 列出设定档
    • 不加 --global(全域)的话每次新的专案都要再设定,设定一次一劳永逸比较好
  • 建立 Git 专案 - 本地端
    标准起手式就是开个资料夹,然後执行 git init,熟练指令操作後用终端机就能快速完成。

    指令 功用说明
    git init 在当前资料夹建立 git(本地)
    git init (资料夹名称) 以指定名称资料夹建立 git(本地)
    • git 的档案会放在名为 .git 的隐藏资料夹中,Mac 显示隐藏档案的指令是 command + shift + .(再按一次恢复隐藏)
    • 终端机内查看隐藏档指令是 la
  • Git 基础指令
    既然是版本控制,第一步就是要知道如何产出"版本",白话的流程是:

  1. 告诉 Git 我有哪些档案会改,请他帮忙看着(track);或是全部帮我看着,反正他会知道我哪些有改,并且放入暂存区(stage)。
  2. 改一改觉得告一个段落了,告诉(commit) Git 请他记住有被关照的档案当下的状态,并且标记起来,这样就成为一个版本。

指令操作如下表:

指令 功用说明
git add (档案名称) 将档案加入追踪,多个档案用空白隔开名称
git reset (档案名称) 将档案取消追踪,多个档案用空白隔开名称
git add -u 将有被commit过的档案加入追踪(新档案不加入)
git add . 将所有档案加入追踪
git status 查询有哪些档案有变动
git commit -m "简要说明变更的内容" 提交本次有追踪的档案,可以想像是新增一个版本节点
git commit -am "简要说明变更的内容" 提交有commit过的档案,不需再add
git log 查看commit历史记录

4. Git 例外清单

假设专案有100个档案,有90个想要追踪、10个是从头到尾没有要追踪的(通常是系统自动产生的设定档),总不能每次都为了这10个档案大费周章调整,这时可以写一个例外清单,告诉 Git 这些档案都无视他。

  1. 只要在专案资料内新增一个文件,并取名为" .gitignore ",里面撰写的档名都不会被加入追踪,撰写方式:

    • 多个档名用换行隔开
    • 记得把".gitignore"加到 .gitignore文件中,这个档案本身不需要被追踪。
    • Github 有一系列整理好的参考清单,收集了各种开发环境会产生不需要追踪的档案,可以依专案类型参考应用。
  2. MacOS有一个 .DS_store 档案(就像 Windows有 desktop.ini),是系统自动产出,用来储存资料夹的显示属性,他会无所不在的躲在任何专案资料夹中,长久的解决方式有两种:

    1. 建立 ~/.gitignore_global 档案,全面排除

      参考文章:https://smlpoints.com/notes-git-ignore-ds_store-files-and-so-on-gitignore.html

    2. 斩草除根,直接关闭.DS_store功能

      参考文章:https://mrmad.com.tw/mac-ds-store


<<:  motion 套件

>>:  Day 14-假物件 (Fake) - 模拟物件 (Mock)-3 (核心技术-6)

DAY15-React to React

前言: 上一篇我们讲了如何建立你的第一个React网页,那今天阿森会介绍我们写网页会用到怎样的架构...

Day22 火焰文字

火焰文字 教学原文参考:火焰文字 这篇文章会介绍在 GIMP 里使用涂抹工具、渐层映对、文字...等...

深呼吸、喘口气,所以你这麽努力是要往哪里去?(拼命努力,不好吗? )

周慕姿x邓惠文 聊《过度努力》、《我想看你变老的样子》 今天看到《过度努力》这本书,一路找到这个访谈...

30天学会HTML+CSS,制作精美网站

随着科技不断进步,智慧型手机的普及,网际网路已经进入生活的食衣住行等各方面的需求,随时随地只要透过网...

第54天~

这个得上一篇:https://ithelp.ithome.com.tw/articles/10260...