[Day 5] 认识Git,做好版本控制

前言

什麽是Git,刚开始认识它的时候,以为他跟GitHub 有着什麽关系或是某个简称,结果两着是各自不同的东西。 Git 是一款版本控制软件,而 GitHub 是一个商业网站。

多亏前一篇Command-Line的学习,在接触Git指令时,比较不陌生。而在刚开始接触Git的时候,要记得要看状态、看纪录、储存步骤,有时候总是会搞混,何时该下哪个指令,这个指令又代表什麽呢,总是不断反查,或是下错时候,又该如何回到上个版本纪录, 一处理就是一段时间去了。随着现在做的实作越来越多,也养成了,顺手git addgit commit,来记录自己专案制作的过程。

学习 Git 方式

一开始学习 Git 除了参与馒头计画所提供的基础课程外,还有另外阅读高见龙老师,《为你自己学Git》 一书,网路上也能够查询到为你自己学Git-系列文章网站内就提供了很多 Git 教学,也有根据未来操作上可能遇到的状况,提供相对应的解决方式。

在学习的过程会先认识Git主要功用是什麽?该如何安装?认识基本指令,并藉由後续的操作练习来熟悉指令。另外《为你自己学Git》中的状况题,也有都稍微阅读过,当遇到问题时,就能很快反应要查询什麽关键字。

Git 介绍

简易说明:就是让大家对於自己的程序码做版本控制「Version Control System」

如同:save load 大法
S是Save 存档,L是Load 读取;如:每天的工作可能都是每天新增、编辑、修改许多档案,而git会纪录每次档案的修改资料

分散式控制系统「Distributed Version Control Systems」

可以和不同群组的人使用不同的方式,在同一个专案内协同合作。可让专案主导者更精准的控制大专案内的小专案。

练习建立Git档案

呈现终端机的指令

  • 先确认状态 git status(表示还没有git)
  • 创建资料夹 mkdir hello_git
  • 进入资料夹(hello_git),并初始化 git init
  • 初始完成罗,出现 master标签
  • 再次确认状态


可以详细看一下资料夹内部

  • 透过ls -a可以看到git的隐藏档

熟悉 Git 基本指令

创建hello_git资料夹後,在里面建立hello.txt

流程:git status => git add => git commit

进入vs code,输入hello world
注意档案变绿色

查看 git status,会是红色

  • 确认目前 Git 的状态

git add

  • 使用git add +档案名称,并看状态後会发现变成绿色
  • git add. 加入资料夹内所有的档案

最後 git commit

git commit -m "add new file hello.txt"

  • 要注意 -m,以免进入vim
  • " "引号内输入这次要储存的动作说明,如新增档案、修改资料等说明
    有一个档案改变,一行的资料修正
  • 完成後,查看状态
    nothing to commit, working tree clean,表示已把档案加入完成

以上就是基本流程,在建立好专案後,我们可以透过Git来记录、储存我们的资料。

其他相关指令

除了基本指令外,还有些指令可以加以认识!
git log : 查看历史纪录
git clone [Repository URL] : 复制远端的 Repository 档案到本地端。
git branch : 查看分支。
git branch [BRANCH_NAME] : 建立分支。
git checkout [BRANCH_NAME] : 切换到该分支。
git push :将本地端 Repository 的 commit 发布到远端 。

结语

每次要开始专案实作时,当资料夹建立後,就会随手 git init ,而每次执行一部分就会进行git status => git add => git commit,说明此段落完成了什麽样式、或功能。
透过这样的方式,我能确保档案都是在最新的状态,当工作忙完回来要延续前一段任务时,我也能够快速地进入状况。


<<:  【Day5】来了解一下Component的建立和使用方法吧!! ٩(●˙▿˙●)۶…⋆ฺ

>>:  就先在这边帮他上了一个主题了 Day1

CMoney软件工程师战斗营Stack&Queue/CSS_Week 12(爆炸的一周)

嗨嗨 又过了一周 刚刚打完了忘了存挡.....哭呀 那我废话不多说了 本日学习 Stack&...

Day5 参加职训(机器学习与资料分析工程师培训班),Python程序设计

上午: Python程序设计 初步介绍Python,此次课程设计为完全没学过该语言的情况,因此老师从...

Day 12 | 元件状态:读取 Loading States

在 Livewire 上的操作都会透过 AJAX 将资料往返与前後端之间,有些较长的请求可能不会即时...

DAY6-JAVA的函数

1.函数 在JAVA中,我们把函数称做method。 函数可用的语法如下: public stati...

[Day26]程序菜鸟自学C++资料结构演算法 – 合并排序法(Merge Sort)

前言:今天要来介绍第二种分割资料的排序法,就让我们来看看这个有趣的排序法吧! 合并排序: 首先会将一...