一看就会的Git基础用法(Termux及Linux用户)

本文最后更新于:3 个月前

点击获得封面头图

此文章使用CC-BY-NC协议,协议详情介绍请看此文


这篇文章的阅读技巧:

  • 注意分界线,这样读文章下来会发现内容是一块一块的
  • 注意标题大小区分

今天在Tg看见了一个频道主遇到的问题:

问题

什么?在线编辑无法用,只能删库重来了么??

这也太让人难受了吧!

因此,为了我们仓库的安全以及编辑的容易度,必须使用一种更快更好更稳定的方法.

所以今天,就要向大家科普一下已经是老常客很少物尽其用Git(对于我这种小白来说🌚)


Tips:按照小白通常灵魂三问的顺序说明

Git是什么

我们来看看Wikipedia的说明

Git
免费和开源的版本控制软件
是一个分散式版本控制软件,最初由林纳斯·托瓦兹创作,于2005年以GPL释出。最初目的是为更好地管理Linux核心开发而设计。应注意的是,这与GNU Interactive Tools(一个类似Norton Commander(英语:Norton Commander)界面的文件管理器)不同。Git最初的开发动力来自于BitKeeper和Monotone。git最初只是作为一个可以被其他前端(比如Cogito或Stgit)包装的后端而开发的,但后来Git内核已经成熟到可以独立地用作版本控制。很多著名的软件都使用Git进行版本控制,其中包括Linux核心、X.Org服务器和OLPC内核等项目的开发流程。
Linus的又一个无心插柳柳成荫之作🌚(自己加的)

那么Git和刚刚提到的频道主所说的Github有什么关系呢?

我们来看看一位知乎人的说法:

Git 是版本控制软件,目前最先进最流行的.
Github 是一个网站,用于广大开发者开源自己的代码,也提供私有仓库的付费功能,而它采用的版本控制软件就是Git.

似乎说的已经很明白了,其实:

Git就相当于是Github的另一种使用方式(仅选取这两个对象来看)

现在的Github,可以直接在网页端在线编辑,而网页端编辑的弊端也显而易见了(eg:可怜的频道主)

因此,我们使用Git这个工具来取代原先需要在线编辑,或是拖拽选取文件才能上传的方式.

Git怎么下载

如标题,不说明Windows用户的安装方法了

只需要一行指令(TermuxUbuntu用户):

1
apt install git

如果是Termux用户,还可以再安装nushell这个生产力工具(其它用户自行搜索安装方法):

1
apt install nushell

如果你还没有安装Termux,请从F-droid下载,或者点击这里快速下载

Git怎么使用

重点来了!

我们想想,平常使用Github的时候,要不然自己是仓库的开发者,要不然自己是仓库的使用者.

而Git是对于开发者而言的工具,也有两种方式:

  • 把本地的仓库上传变成Github的仓库.
  • 把Github的仓库变成本地的仓库,编辑完再上传.

差别就在于建立仓库的方式:

  • 在线建立
  • 本地生成

这里推荐第一种,可以少输入几行指令🌚

那么在线建立的方法十分简单,我们只需要打开github.com,再点击如图所示的新建仓库标识按钮即可:

建立

之后添加一个README.md(或者其它随便什么文件都行,因为仓库不能为空)

如图所示,随便这里面写点啥:

README.md

随后将仓库整到本地来,输入指令:

1
git clone 仓库地址.git

如果是他人的仓库,先Fork一份,再clone自己Fork的仓库


如果你在建库时,选择了private(私有仓库),则会出现下面的提示:

提示

提示输入Github的用户名和密码,此时我们不能直接输入用户名和密码,不然一定会报错(因为Guthub已经取消了这种用户名密码明文登陆的方式)

我们要在https://github.com/settings/tokens这个网址生成一个Personal access tokens,随后复制这个tokens,在输入用户名和密码的时候直接粘贴就可以了.

PS:用户名就是tokens,密码直接回车就行


本地生成的话,只需要我们进入自己的本地仓库文件夹,输入指令即可:

1
git init

如图所示,即完成:

完成


通过以上两种方式任意一种建立完仓库以后,我们该怎样在本地编辑之后并上传呢?


如果你选择了在线建立的那种方式:

此时仓库里只有一个README.md文件,这时我们创建几个需要的文件以让这个README不再孤单:

1
touch LICENSE  //创建许可证

此处省略编辑,粘贴等等工作…

OK!一切准备都完成了!现在只需上传到Github!

通常,这时你的做法(电脑用户)应该会是:

  • 拖拽文件夹上传

但是这种方法既慢,又有大小限制,且对Termux用户(无root)无用.

此时我们输入接下来的几个指令:

安装完nushell的用户可以输入nu以进入生产力模式(其实nu比较方便的地方就是对指令的记忆与自动补全功能)

Tips:所有指令都是在仓库的根目录里执行的

1
git add * .

这个指令是什么意思呢?我们翻译一下:

  • git,指使用git,所以git此时做指令的主语;
  • add,指添加文件add做指令的谓语;
  • *,指所有文件(通配符),是指令的宾语;
  • 添加所有文件到哪呢?.做宾语补足语,指把所有文件添加到git文件缓存区.是对这个区的简便称呼;

好了!我们已经把仓库的所有文件添加到git缓存区了,这个缓存区的名字是.


接下来,输入另一个指令:

1
git commit -m "这是关于许可证的第一次提交!🦄✨🌈"

再按照英语语法的方式分析一下!:

  • git,指使用git,所以git此时做指令的主语;
  • commit,指提交,此时做指令的谓语;
  • -m,做状语,是对commit的修饰;
  • "一些内容",做宾语,是对于被修改文件的描述;

这里的被修改怎么理解:添加,删除,修改内容,都指被修改

完成!我们已经给这次将要提交缓存区的内容加了一个修改描述!

如图所示,即完成:

这里插入一张图片,git commit


接下来,输入最后一个指令:

1
git push -u origin main

最后分析一次!:

  • git,指使用git,所以git此时做指令的主语;
  • push,指推送,做谓语;
  • -u,一个状语;
  • origin main,指main分支(一个仓库可以有多个分支),做宾语;

回车后,此时又会进入输入用户名和密码的状态,我们把上面说过的tokens粘贴进去.

如图所示,即完成:

这里插入一张图片,git push

成功!我们已经把本地的仓库内容全部推送到Github仓库啦!(不信可以去看看)


可以看到,总共的指令一共有三条:

1
2
3
git add * . //添加到缓存区
git commit -m "内容" //添加提交描述
git push -u origin main //推送到Github

记不住的话只需要编辑一个脚本(nano git.sh),写入内容,每次sh git.sh就能快速上传啦!


如果你选择了本地生成的那种方式

首先,我们还是要在Github里建立一个仓库(因为最后是要到Github上的,所以网页创建仓库是万事之根)

之后,在本地仓库中输入指令以确定分支:

1
git branch -M main

像上面的git push一样,这一步指的是确认默认主分支名为main.

接下来输入指令以绑定到仓库:

1
git remote add origin git@github.com:用户名/项目名.git

其实相比较在线建立的方式,就多输入了这两个指令而已🌚而且只需要输一次

接着像上面在线建立的方法一样,输入三条指令即可:

1
2
3
git add * . //添加到缓存区
git commit -m "内容" //添加提交描述
git push -u origin main //推送到Github

尾声

其实文章挺简单的,但是为什么要专门拎出来长篇大论一番,是因为当时我想用git的时候,虽然搜了很多文章,但是都没有较为仔细的解释,导致我对这么多指令是干啥的接下来怎么弄非常模糊,所以今天写了这篇文章,既算加深了自己的印象,又算是给比我还小白的人的一个科普吧,毕竟我便当的话还是挺直白的🌚而且自认为文章都很详细🌚

希望大家喜欢!不懂的话可以与我私聊!


我是听话的便当

Bye~ ♬︎*(๑ºั╰︎╯︎ºั๑)♡︎