这是我参与「第四届青训营」笔记创作活动的第5天。
因为项目要求和团队开发必需,所以就学了一下Git的使用,这也是我第一次接触到Git,就浅浅地记录一下简单的使用过程吧。
Git简介
Git是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。
Git是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。
Git工作流程
一般工作流程如下:
- 从远程仓库中克隆 Git 资源作为本地仓库;
- 从本地仓库中checkout代码然后进行代码修改;
- 在提交本地仓库前先将代码提交到暂存区;
- 提交修改,提交到本地仓库;本地仓库中保存修改的各个历史版本;
- 在需要和团队成员共享代码时,可以将修改代码push到远程仓库。
Git 的工作流程图如下:
简单来说就是分为三个部分:提交(commit)、仓库(reposrepository)、分支(branch)
提交
我们可以将代码提交到一个暂存区,方便我们无限“后悔”,这就相当于word里面的撤回功能(Ctrl+Z),当我们不小心删掉了有用的东西的时候可以进行撤回。
写代码时也是这样,Git将我们的代码以提交的形式做一个存储,方便我们找到历史的记录。这就对应了Git的第一个概念:提交(commit)。
仓库
我们做项目一般都是由和大的文件夹用于存放各种数据、代码等等,当我们对这个文件夹进行初始化(initialize)之后,这个文件夹就变成了一个仓库。
分支
我们可以根据不同的人、不同的需求在代码中开辟不同的分支,这样在写代码的时候就可以各写各的互不影响,这是针对于不同的开发者的分支。
或者是有不同的项目并行开发的时候,分支可以对其进行很好的隔离。
仓库下载问题
在逛GitHub的时候有时候看到好的项目想要下载下来,有两种方法:Git clone和Download ZIP
以前呢我会毫不犹豫地选择后者,这样就会得到一个压缩包然后解压就得到了我想要的东西。
然后学习Git之后了解到了可以用Git clone来下载一个仓库。
于是有了个疑问。这两种方法有什么区别吗?
git clone和Download ZIP的区别
答:git clone下载下来的是一个仓库,而Download ZIP下载下来得到的仅仅是一个文件夹,文件夹可以通过git init来变成一个仓库。
怎么判断我下载下来的是仓库还是文件夹?
可以通过查看文件夹中的隐藏文件来判断。
当我们clone下来一个仓库的时候
文件夹会有一个 .git 隐藏文件,而Download ZIP下载下来的文件夹是没有的。
怎么将文件夹变成一个仓库?
可以通过git init(初始化)指令来进行操作:
我们可以找到本地的项目文件夹,然后右键选择Git Bash Here
之后在输入指令git init就初始化成功了,这个时候文件夹就变成一个git仓库了,再查看隐藏文件也会出现一个 .git文件。
第一次提交
初始化仓库之后,我们的文件并不是在仓库中的,而是在工作区中,我们需要先将文件通过git add的方式放到缓存区中再通过git commit提交到仓库中。
这样做的好处就是我们可以有选择地将本地文件提交到暂存区再存放到仓库。
实操
工作区到暂存区
用VSCode作为编辑器打开刚才创建好的仓库,打开终端输入命令git add -A就可以将全部的文件提交到暂存区了
可以这样理解:更改栏里面是我们的工作区,而暂存的更改就是我们的暂存区。
暂存区到仓库
可以通过命令 git commit -m "提交的信息" 来将暂存区中的文件提交到仓库中。
第一次提交的时候由于git不知道你是谁,所以需要根据提示输入相应的指令,输入完之后就成功的提交了。
更好的方法
但是这样未免过于繁琐,需要不断地去输入一些命令,我们其实可以直接通过VSCode来操作。
直接点击更改栏里面的文件旁边的➕号将文件添加到暂存区
在暂存区中添加好描述后点击提交即可将文件从暂存区提交到仓库。
分支
几乎每一种版本控制系统都以某种形式支持分支,一个分支代表一条独立的开发线。
使用分支意味着你可以从开发主线上分离开来,然后在不影响主线的同时继续工作。
下面是几个常用到的命令:
1. 以当前分支为基础新建分支
2. git checkout -b <branchname>
3. 列举所有的分支
4. git branch
5. 单纯地切换到某个分支
6. git checkout <branchname>
7. 删除特定分支
8. git branch -D <branchname>
9. 合并分支
10. git merge <branchname>
GitHub远程仓库
在GitHub上创建一个仓库
通过提示的命令在git上操作就可已将我们本地的仓库上传到在GitHub上新建的仓库当中了
可以creat a new repository on the command line(在命令行上创建一个新的仓库)
也可以 push an existing repository from the command line(从命令行推送一个现有仓库)
因为前面我已经在本地创建一个仓库了,所以就直接把本地的仓库放到上面
到GitHub上刷新一下就可以看到文件都已经提交上去了。
进行这个操作的前提是有GitHub权限,具体怎么弄可以自行到网上搜索学习。
小结
以上是我近期学习到的Git的使用方法,大家可以参考我找的教学视频 讲得很详细
本文可能存在不足或错误,希望大家多多交流指正!