前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >git 的基本概念

git 的基本概念

作者头像
xyzzz
修改2020-12-14 11:15:51
3160
修改2020-12-14 11:15:51
举报
文章被收录于专栏:前端学习。前端学习。

git是什么

git是一个代码版本控制系统,是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统

为什么需要git

  1. 在开发过程中,经常需要对一个文件进行修改甚至删除,但是我们又希望能够保存这个文件的历史记录,如果通过备份,那么管理起来会非常的复杂。
  2. 在多人开发时,如果需要多人合作开发一个页面,那么修改以及合并也会非常的棘手。容易出现冲突。

git环境安装

下载地址

注意:

  1. 不要安装在中文目录
  2. 不要使用桌面管理软件

使用git的两种方式

  1. git gui,即图形化界面的方式
  2. git bash,命令行的方式(推荐)

git账号注册

github可能比较慢,github的中国版本码云gitee.com,它更快

码云的操作和Github完全一样

配置git邮箱与账号

如果想在本地使用git来管理版本,需要进行配置

如果是第一次使用git,需要配置提交者信息,推荐和github的账号邮箱一致

# 使用--global参数,配置全局的用户名和邮箱,只需要配置一次即可。
git config  --global user.name 自己的用户名
git config  --global user.email 自己的正确的邮箱

# 查看配置信息
git config --list

git本地的四个工作区域

工作目录(Working Directory)、暂存区(Stage/Index)、资源库(Repository或Git Directory)、git仓库(Remote Directory)。文件

在这四个区域之间的转换关系如下:

Workspace: 工作区,就是你平时存放项目代码的地方

Index / Stage: 暂存区,用于临时存放你的改动,事实上它只是一个文件,保存即将提交到文件列表信息

Repository: 仓库区(或版本库),就是安全存放数据的位置,这里面有你提交到所有版本的数据。其中HEAD指向最新放入仓库的版本

Remote: 远程仓库,托管代码的服务器,可以简单的认为是你项目组中的一台电脑用于远程数据交换

git的工作流程

1、在工作目录中添加、修改文件;

2、将需要进行版本管理的文件放入暂存区域 add ;

3、将暂存区域的文件提交本地仓库 commit 。

4、将本地仓库的代码推送到远程仓库 push

因此,git管理的文件有三种状态:已修改(modified),已暂存(staged),已提交(committed)

文件的几种状态

版本控制就是对文件的版本控制,要对文件进行修改、提交等操作,首先要知道文件当前在什么状态,不然可能会提交了现在还不想提交的文件,或者要提交的文件没提交上。

GIT不关心文件两个版本之间的具体差别,而是关心文件的整体是否有改变,若文件被改变,在添加提交时就生成文件新版本的快照

Untracked:   未跟踪, 此文件在文件夹中, 但并没有加入到git库, 不参与版本控制. 通过git add 状态变为Staged.

Unmodify:   文件已经入库, 未修改, 即版本库中的文件快照内容与文件夹中完全一致. 这种类型的文件有两种去处, 如果它被修改, 而变为Modified. 如果使用git rm移出版本库, 则成为Untracked文件

Modified: 文件已修改, 仅仅是修改, 并没有进行其他的操作. 这个文件也有两个去处, 通过git add可进入暂存staged状态, 使用git checkout 则丢弃修改过,返回到unmodify状态, 这个git checkout即从库中取出文件, 覆盖当前修改

Staged: 暂存状态. 执行git commit则将修改同步到库中, 这时库中的文件和本地文件又变为一致, 文件为Unmodify状态. 执行git reset HEAD filename取消暂存,文件状态为Modified

git分支操作

分支就是科幻电影里面的平行宇宙,当你正在电脑前努力学习Git的时候,另一个你正在另一个平行宇宙里努力学习SVN。

如果两个平行宇宙互不干扰,那对现在的你也没啥影响。不过,在某个时间点,两个平行宇宙合并了,结果,你既学会了Git又学会了SVN!

分支特点:

  • 分支之间互不干扰
  • 分支可以合并

为什么要有分支?

  • 如果你要开发一个新的功能,需要2周时间,第一周你只能写50%代码,如果此时立即提交,代码没写完,不完整的代码会影响到别人无法工作。如果等代码写完再提交,代码很容易丢失,风险很大。
  • 有了分支,你就可以创建一个属于自己的分支,别人看不到,也不影响别人,你在自己的分支上工作,提交到自己的分支上,等到功能开发完毕,一次性的合并到原来的分支。这样既安全,又不影响他人工作。
  • 在工作过程中,经常会碰到多任务并行开发 的情况,使用分支就能很好的避免任务之间的影响。
  • 其他版本工具比如svn,cvs中也有分支这个概念,但是这些工具中的分支操作非常的慢,形同摆设。

在git中,分支实质上仅仅是一个指针,每次代码提交后,这个分支指针就会向后移动,保证一直指向最后一次提交的的版本。git中使用HEAD指向当前分支

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • git是什么
  • 为什么需要git
  • git环境安装
    • 使用git的两种方式
      • git账号注册
      • 配置git邮箱与账号
      • git本地的四个工作区域
      • git的工作流程
      • 文件的几种状态
      • git分支操作
        • 为什么要有分支?
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档