一看就会的Git基础用法(Termux及Linux用户)
此文章使用
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用户的安装方法了
只需要一行指令(Termux
和Ubuntu
用户):
1 | apt install git |
如果是Termux用户,还可以再安装nushell
这个生产力工具(其它用户自行搜索安装方法):
1 | apt install nushell |
如果你还没有安装Termux,请从F-droid下载,或者点击这里快速下载
Git怎么使用
重点来了!
我们想想,平常使用Github的时候,要不然自己是仓库的开发者
,要不然自己是仓库的使用者
.
而Git是对于开发者而言的工具,也有两种方式:
- 把本地的仓库上传变成Github的仓库.
- 把Github的仓库变成本地的仓库,编辑完再上传.
差别就在于建立仓库的方式
:
- 在线建立
- 本地生成
这里推荐第一种,可以少输入几行指令🌚
那么在线建立
的方法十分简单,我们只需要打开github.com,再点击如图所示的新建仓库标识按钮
即可:
之后添加一个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
的修饰;"一些内容"
,做宾语,是对于被修改文件
的描述;
这里的被修改怎么理解:添加,删除,修改内容,都指
被修改
完成!我们已经给这次将要提交
的缓存区的内容
加了一个修改描述!
如图所示,即完成:
接下来,输入最后一个指令:
1 | git push -u origin main |
最后分析一次!:
git
,指使用git
,所以git
此时做指令的主语;push
,指推送
,做谓语;-u
,一个状语;origin main
,指main分支
(一个仓库可以有多个分支),做宾语;
回车后,此时又会进入输入用户名和密码
的状态,我们把上面说过的tokens
粘贴进去.
如图所示,即完成:
成功!我们已经把本地的仓库内容全部推送到Github仓库啦!(不信可以去看看)
可以看到,总共的指令一共有三条:
1 | git add * . //添加到缓存区 |
记不住的话只需要编辑一个脚本(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 | git add * . //添加到缓存区 |
尾声
其实文章挺简单的,但是为什么要专门拎出来长篇大论一番,是因为当时我想用git的时候
,虽然搜了很多文章
,但是都没有较为仔细的解释
,导致我对这么多指令是干啥的
,接下来怎么弄
非常模糊,所以今天写了这篇文章,既算加深了自己的印象
,又算是给比我还小白的人
的一个科普
吧,毕竟我便当的话还是挺直白的
🌚而且自认为
文章都很详细🌚
希望大家喜欢!不懂的话可以与我私聊!
我是听话的便当,
Bye~ ♬︎*(๑ºั╰︎╯︎ºั๑)♡︎