优秀的编程知识分享平台

网站首页 > 技术文章 正文

前端系列——GitHub以及git的基础知识

nanyue 2024-08-25 10:27:57 技术文章 7 ℃

1、GitHub

一个提供代码管理(托管)的公共平台,我们以及众多开发者,会把自己生产的组件/类库/插件/框架 等托管到这个平台中,供别人下载使用和研究。

在gitHub中,我们可以创建仓库 来管理自己的项目文件,而GitHub支持开发者通过git操作,把本地的项目代码推送到指定的仓库中,它还提供静态web页面的发布等。

在国内有一个和GitHub类似的网站:coding和GitHub类似,也是提供代码管理的平台。

2、git的基础知识

git是一个分布式代码版本管理控制系统 。

-记录当前产品代码的所有版本信息(历史修改信息)。而且方便快速回退到某一个具体的版本 。

-方便团队协作开发,能够检测代码冲突,能够合并代码等。

“SVN”是在git 诞生前就已经存在的版本控制系统,不过他是“集中式”管理, “git”是分布式版本管理系统。

(1)集中式版本控制系统

(2)分布式版本控制系统

3、git工作原理以及基础操作

在本地创建git仓库管理我们的代码

初次使用git,我们先在本地配置一些基础信息

git config -l 查看配置信息

git config –global user.name xxx

git config –global user.email xxx

建议大家配置的用户名和邮箱保持一致(这样以后在本地向gitHub推送内容的时候,能够展示出是谁推荐的)

(1)git init

会在当前目录中创建一个空的仓库,文件目录中生成一个“.git”的隐藏文件,这个文件很重要,我们本地仓库 的版本信息等都存储在这里

(2).gitignore

在当前目录(git仓库根目录里)创建一个“.gitignore”文件,这个文件中存储了当git提交时所忽略的文件

可以基于WB创建(new->file->.gitignore)

可以基于linux命令$touch .gitignore(mac终端、git bash、或者继承了Unix的dos,可以使用Linux命令)

当我们在本地创建一个git仓库后,我们可以基于这个仓库管理我们的代码。

4git的工作流程

每一个git仓库都划分为三个区域

-工作区:编辑代码的地方

-暂存区:临时存储要生成版本代码的地方

-历史区:存储的是生成的每一个版本代码

工作区提交到暂存区,暂存区提交到历史区(重点记住暂存区始终存放提交的内容,并没有消失,以后工作区内容修改,会和暂存区作对比,依次判断哪些是新处理的)。

(1)工作区提交到暂存区

$ git status

查看代码或者文件的状态(当前处于哪个区域):红色(当前处于工作区,还没有提交到暂存区)绿色(当前处于暂存区,还没有提交到历史区)如果没有文件,代表三个区域代码已经同步,历史版本也在历史区域生成了。

'$ git add . / $ git add -A'

把当前工作区中的所有最新修改的文件,都提交到暂存区。

(2)暂存区到历史区

‘git commit’

这样执行后,会弹出一个提交文本输入界面,需要我们编写本次提交到历史区,给当前版本编写的备注信息

先按i进入编辑插入模式

输入备注信息

按ESC

输入‘.wq’保存并退出

‘git commit -m自己需要编写的备注信息’

‘git log’

查看当前历史区提交的记录(查看版本信息)

‘git diff’

工作区VS暂存区

‘git diff master’

工作区VS历史区(master分支)

‘git diff –cached’

暂存区VS历史区

5、git和gitHub同步

(1)让本地的git仓库和远程仓库建立关联

‘git remote -v’查看所有的关联信息

‘git remote add xxx [远程仓库git地址]’建立关联

‘git remote remove xxx’移除关联

我们远程仓库关联在一起的名字默认为:origin,当然自己可以随意改

(2)把本地的信息推送到远程仓库上,或者从远程仓库上拉取最新的信息到本地仓库

我们本地推送和拉取的信息,既有代码也有版本信息,所以说与其说是推送和拉取,不如说是和远程仓库保持信息的同步。

在推送之前,我们都应该先拉取

‘git pull origin (这个名字就是和远程仓库关联的这个名字,以自己设置的为主) master’ 从远程仓库的master分支拉取最新的信息

‘git push origin master’

把自己本地信息推送到远程仓库的master分支下

以上是操作知识点,真实项目开发流程

a、LEADER会首先创建一个远程仓库(这个仓库可能是空的,也可能是包含了项目需要的基础的结构信息)

b、作为开发者,我们需要在本地创建一个本地仓库,还需要让当前本地的仓库和远程仓库保持关联

原始做法:

git init

git remote add origin [git 仓库地址]

简单做法:

git clone [远程仓库地址] [克隆后的名字:可以不设置,默认是仓库名]

c、在本地开发产品,需要同步的时候,我们首先把工作区内容在本地仓库中放到历史区,生成版本信息(git add ./ git commit -m),在把本地历史区的信息推送到远程仓库上(git pull /git push)

d、在团队协作开发时,LEADER会在自己的GitHub账号下创建一个远程仓库,那么团队其他成员在向这个远程仓库推送信息的时候,使用自己的账号是没有权限的,我们需要把当前这个远程仓库,在gitHub中创建工作群组,让更多人用自己的账号也有操作权限。

Tags:

最近发表
标签列表