本文已参与「新人创作礼」活动,一起开启掘金创作之路。
前言
本文主要内容:Git和GitHub的基础使用。通过阅读实践这篇文章,你将会学会最基础的版本控制,并且能够实现将本地的项目上传到远程仓库中。
Git
git是一个分散式版本控制软件
以上也是来自维基百科的解释,而下文同样会从git存在的意义以及git的主要使用方法两个方面谈一谈
为什么要有git
要明确git的功能,首先要理解版本控制。
本文暂时不涉及多人协作的问题,单就个人开发过程中,一个项目在昨天还能正常运行,而经过今天一天的艰苦写bug与debug,到晚上却发现不能运行了。这时候问题就变得棘手了起来,写代码往往是最简单的一步,让代码顺利运行没有bug则是最痛苦最困难的一步。所以在又痛苦地debug一晚上后,依旧无法正常运行项目的你就会想,要是能回到我写bug前多好。
而git就为我们提供了这个功能,当你想向现有的项目中添加一个功能时,你可以先利用git创建一个分支,在分支上大展拳脚,如果能够顺利运行则并入主干;如果不幸又出了无法解决的bug,那么还有上一次的存档可以使用,只需要回到复活点即可。
当然git还有其他的妙用,比如在公司协作中或是开源软件中,这里仅仅作一个小小的引入
如何使用git
首先来看一下原有的两个如下,接下来将依次介绍使用的命令
git init
进入相应的文件夹(如此处进入了~/heheer/git_test),使用git init命令,就会在这个文件夹下同时新建一个.git文件夹,而这就是之后使用 git 的初始化
Windows 系统可以进入文件夹后,右键选择 git bash,也会出现相应的命令行界面,执行同样的代码即可。至于 git bash 在安装 git 后便有了,而如何安装 git 就不再赘述了
git status
初始化完成后,可以使用git status命令查看一下当前本地仓库的状态,就像这样,处在分支master上,没有文件被加入暂存区。后面也要经常使用这条命令来确认状态。
git add
一般最常用的是git add .,即上传当前目录下的所有文件。当然你也可以将.替换成具体的文件名来单独将需要的文件加入暂存区,以下是运行示意图:
.gitignore
这并不是一条命令,而是一个文件
如上图,新建了一个test2.txt文件。创建一个
.gitignore文件,通过文本编辑向其中写入test2.txt,再度执行git add .就会发现并没有将test2.txt加入暂存区
实际上文件名已经很直白了,git ignore即写入其中的便是需要忽略上传的文件或目录
git commit
执行git commit会将当前暂存区的文件一起创建一个提交,
执行后会跳出窗口,可以在其中输入描述信息,比如我这就输入了Initialzation
git branch
这条命令便是回调版本的关键,如下图中,我们创建一个新的分支new_b(确保master分支已经创建),
然而此时仍然处于master分支,需要执行另一条
git checkout <branch>命令转换分支。
于是我们就可以在新的分支下兴风作浪了
如图,创建了一个test3.txt,并且commit创建了一个提交。然而再回到master分支时,可以看到并不存在test3.txt,便能从这里重新创建一个分支进行写bug
git commit是在这个分支下操作结束后必须执行的命令,否则新建的文件未被纳入版本管理,在切换分支时会被带到另一个分支
GitHub
正好打算将暑假仿照着写的博客传到github上,所以现在采用它作为例子
首先进入github,选择新建仓库,输入仓库名和描述后点击底部的创建
然后会跳转至一个新的页面,也有一些相关的操作提示
所以现在我想要将自己的博客上传,需要进入对应的文件夹,执行
git remote等的一系列命令
在输入命令git push -u origin main后会需要输入username和password
然而当你仅仅输入账号的用户名和密码时,会出现
remote: Support for password authentication was removed on August 13, 2021.的报错。因为密码处需要输入名为token的标识,具体获取方式如下:
点击你的头像,进入Settings->Developer settings->Personal access tokens目录,点击Generate new tokens,生成一个token,再将这个token粘贴至密码处即可
最后可以看到已经上传到github上了