【学习笔记】Git 基础指令及原理

最近正在学习git,想要透过把学到的东西写下来,来记录一下自己学到的东西,也方便以後回顾这些知识。
刚开始写这种类似技术性的文章,可能有很多地方写得不好,还请高手们不吝指教。

Git 是什麽

Git是一种版本控制系统,可以帮忙管理档案以及档案版本的系统。一般来说,我们做专案不会一版就搞定,常常会因为哪里有问题、客户、上司要求等等不断删改,因此常会出现各种版本,像final、final1、final_new之类的。如果只是单纯存在电脑,那要管理哪一版是哪一版、回复上一个版本就蛮麻烦的了。这时候,用git就可以解决这样的问题。透过git,可以妥善管理修改前後的版本,想要回复上一动时也可以回到上一个版本。
此外,git是分散式版本控制系统(DVCS),跟中央式版本控制系统不太一样。中央式就像是有一个核心把关,想要使用资料要跟中央请资料,且一次只能一个人使用;分散式则不同,每个人的电脑内都复制着完整的档案快找,当需要取用时就将其取出,修改後再推至云端。这样的作法能够让多人编辑同一个专案更加容易,不同地点多人编辑档案完全没有问题。

Git 基础指令

以下讲讲git会用到的一些基本指令:
git init :在资料夹建立.git的资料夹,建立本机的repository(数据库)。
git status:查看档案变更的状态。要注意的是,status只会显示有变更的档案,如果没有变更则不会出现相关资讯。
git add .:将所有的档案变更暂存。要暂存单一档案变更可以用git add <档案名>
git commit -m "message":将档案提交到本机的repository。加上-m可以直接在终端机上输入要留下的讯息,不需要另开一个编辑器。
git remote add <名称(origin)> <网址>:新增远端的repository到本机上。在名称处输入这个远端的名称,一般是用origin;在网址处输入在如github等处建立的repository的网址。
git push -u origin main:将档案推上远端repository。-u是指定这个repository,未来即使不再次输入也会默认推上这里;origin是刚刚建立的名称;main是branch(分支)的名称,将档案储存到这个分支。过去都是用master,不过近些年github改用main的样子,想说这边取名也用main。

将档案推上Github

假设现在有一个专案资料夹,里面新建了一个A.html,我想要把资料夹内的这个A.html推上Github。

  1. 首先,打开终端机,我是用windows系统所以用cmd,在搜寻栏打cmd就可以找到;也可以在windows上下载wsl,可以在windows上执行linux的指令,蛮好用的。
  2. 使用cd <档案位置>在终端机打开专案资料夹。
  3. 在专案资料夹的位置输入git init,建立本机数据库。
  4. 接着,输入git add .,把新增的A.html给暂时储存。也可以输入git add A.html
  5. 输入git commit -m "1st version,将暂存档案提交到本地数据库。引号的部分可以自由输入想要留下的comment。
  6. 在Github新建一个数据库。新增按钮在github上方列的右边,有一个加号,点他就能看到new repository,点他。
  7. 将新建repository的网址复制下来。(.git结尾的)
  8. 使用git remote add origin <url>,新增远端数据库到本机。
  9. 最後,使用git push -u origin main,将专案推上github。

以上就是git的一些基本知识,下一篇会写要如何回复之前的版本,以及从远端数据库复制资料。


<<:  什麽是MVC框架? 如何用UML建模?

>>:  【学习笔记】Git 还原: reset、checkout

成为 Scrum Master:更基本的部分

前言 接着昨天分享的话题,针对成为 Scrum Master 的经历与想法再进行补充。 大家从标题「...

[Python 爬虫这样学,一定是大拇指拉!] DAY29 - 实战演练:自制进度条 Progress Bar

自制 Progress Bar 继前一篇,来补充自制一个小功能,让这个程序会好用一些些。 爬虫在爬的...

[Lesson6] Fragment

首先新增一个Fragment,名称为BlankFragment 再新增一个Package,名称为me...

[Day04] swift & kotlin 入门篇!(2) 基础语法-型别

swift型别 swift在类别上是蛮强硬的语言 来看看型别上的使用吧 // 整数 let intA...

【Day 30】 一趟挑战失败的铁人赛英雄之旅

大家好,2020 铁人赛来到了最後一天。我自己是没想过竟然可以连写两年。 最後一天当然要写心得文,这...