git 基本操作

git是什么?

常用的版本管理工具。

git的作用?

维护代码的工具,进行版本控制,在团队协作中优势非常明显。

版本的概念

(1) 初指一种书籍经过多次传抄、刻印或以其他方式而形成的各种不同本子。随着时代的发展,版本也开始应用于影视、软件等事物上,形容事物相同但介绍方法等不同的两个事物。

(2) 软件版本编号制定是指为软件设置版本号码的方式。通常,版本号码会以数字订定。

(3) 软件名称后面经常有一些英文和数字,如:CTS3.3.5、QQ 2021 Beta,这些都是软件的版本标志,通过它,我们可以对软件的类型有所了解。

各版本的时间轴演变,每一次版本的改变,都会有功能的改变。

以支付宝为例:手机支付宝-支付宝 知托付!

这么多版本,如果去维护文件代码,即如何进行不同版本的管理

管理版本

1.传统管理方式

问题:传统管理方式造成了本地电脑上有很多相同的文件,不容易维护,造成了非常混乱的局面。

2.版本控制方式

介绍:

好处:使用版本控制以后,只需在本地保存一份,各个版本由版本控制软件来进行管理,常见的版本控制软件有git和svn。

git介绍

定义:

Git 是一个开源的分布式版本控制系统,是目前世界上最先进、最流行的版本控制系统。可以快速高效地处理从很小到非常大的项目版本管理。

特点:

项目越大越复杂,协同开发者越多,越能体现出Git 的高性能和高可用性!并且git有3个区域

三个区域

  • 工作区(写代码的地方)

  • 暂存区(完成一部分功能,先临时存放一下)

  • 仓库区(所有的功能完成)

安装步骤

下载

官网:Git - Downloads

淘宝镜像:CNPM Binaries Mirror

安装

开发者的一些软件,安装路径尽量不要有中文

配置用户信息

描述:安装完Git 之后,需要设置自己的用户名和邮件地址。进行管理的时候,Git 需要使用这些基本信息,来记录是谁对项目进行了操作(团体开发,需要记录谁进行了什么操作)

配置命令:

git config --global user.name xxx
​
git config --global user.email xxx

配置步骤:

  1. 在任意目录下打开 git bash here(鼠标右键,然后点击git bash here)

  2. 设置用户名

  3. 设置邮箱

  4. 查看是否配置成功 git config --list(或者查看git配置文件C:\Users\ 电脑用户名 \ .gitcongfig)

特殊说明:

在自己的电脑上,只需要配置一次就可以

Git操作步骤

(1) 使用git初始化项目

  • 创建项目根文件夹

  • 在根文件夹下打开 git bash here

  • 初始化项目

git init   #  每个项目执行一次就行

(2) 编写代码

(3) 把工作区添加到暂存区

git  add  文件路径      # 把工作区的某个文件添加到暂存区
git  add  文件路径 文件路径。。。  # 把某些文件添加到暂存区
git  add  文件夹路径    #  把工作区的某个文件夹添加到暂存区
git  add  .           # 把工作区的所有内容添加到暂存区

(4) 把暂存区添加到仓库区

git commit -m 提交说明
git  commit -m  "版本说明"     # 把暂存区的内容添加到仓库区 ( 每次commit 都会生成一个新的版本   )    
git  commit -m  版本说明       # 版本说明可以不加引号    
git  commit -m  "版本说明1  版本说明2"     # 如果有空格则需要加上引号  

特殊说明:

.git 文件夹(不要对git里的文件做任何修改,当我们执行命令时会自动修改)

Git命令总结

  • 初始化:

git init

  • 把工作区内容添加到暂存区

git add  文件路径
git add  文件路径 文件路径。。。   #把某些文件添加到暂存区
​
​
git add  文件夹路径 
git add  文件夹路径 文件夹路径。。。   #把某些文件夹包括里面的内容都添加到暂存区
​
​
git add .  # . 代表当前目录下的所有文件和文件夹

  • 把暂存区内容添加到仓库区

git commit -m  提交说明  

  • 查看仓库中文件的状态

git status   #  查看状态

工作区和暂存区都是干净的

On branch master  # master 分支上
nothing to commit, working tree clean  
# 没有东西可更新       工作区是干净的

工作区有内容,但是暂存区没内容(没有add 直接commit的时候)

On branch master
Changes not staged for commit:  # 有内容  但是还没有到commit这一步   先add
  (use "git add <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
        modified:   index.html
​
no changes added to commit (use "git add" and/or "git commit -a")

暂存区有内容的时候:

On branch master
Changes to be committed:  # 一些修改应该被提交
  (use "git restore --staged <file>..." to unstage)
        modified:   index.html
​
​

  • 回退版本

git reset --hard 版本号
​

  • 查看提交日志

git log  # 以完整的形式输出
git log --oneline  #以简短的形式输出
commit 257de6d25b804df31550de08e7ac08b86de43faa (HEAD -> master)
Author: haohaohao <12345@163.coom>
Date:   Fri Jul 22 14:45:28 2022 +0800
​
    又又一个版本
​
commit ff1e540e2c89c027774172e2b92cc9a1407ff2b8
Author: haohaohao <12345@163.coom>
Date:   Fri Jul 22 14:44:57 2022 +0800
​
    又一个版本
​
commit 53dec970cf1df586ac42b9c70532d49c458218a9
Author: haohaohao <12345@163.coom>
Date:   Fri Jul 22 14:43:25 2022 +0800
​
    刚才的内容不小心删了

  • 查看所有的版本记录

git reflog  
53dec97 (HEAD -> master) HEAD@{0}: reset: moving to 53dec97  
257de6d HEAD@{1}: reset: moving to 257de6d
257de6d HEAD@{2}: reset: moving to 257de6d
53dec97 (HEAD -> master) HEAD@{3}: reset: moving to 53dec97
ff1e540 HEAD@{4}: reset: moving to ff1e540
257de6d HEAD@{5}: commit: 又又一个版本
ff1e540 HEAD@{6}: commit: 又一个版本
53dec97 (HEAD -> master) HEAD@{7}: commit (initial): 刚才的内容不小心删了

文件忽略

介绍:

对于无需使用git进行管理的文件或文件夹使用此文件进行配置(公共代码)

使用步骤:

  1. 创建配置文件 .gitignore (和.git 文件夹同级)(使用vscode创建)

  2. 在配置文件中添加一些忽略配置

常用配置规则:

(1) /文件夹名/ 忽略整个文件夹

(2) *.txt 忽略所有 .txt 文件

(3) /文件夹名/文件名 忽略某个具体文件

/css/reset.css
​
*.css
​
/css/

分支

介绍:

git版本控制系统支持分支操作。使用分支意味着可以从开发主线上分离开来,然后在不影响主线的同时继续工作。默认只有一个分支为master主分支。

什么是主分支?

在初始化本地 Git 仓库的时候,Git 默认已经帮我们创建了一个名字叫做 master 的分支。通常我们把这个master 分支叫做主分支

主分支的问题:

在进行多人协作开发的时候,为了防止互相干扰,提高协同开发的体验,建议每个开发者都基于分支进行项目功能的开发

分支解决的问题:

用来保存和记录整个项目已完成的功能代码。但是不允许程序员直接在master 分支上修改代码,这样做的风险太高,容易导致整个项目崩溃

协议规定:不应该在master主分支上维护代码,应该在主分支的基础上创建分支,然后维护代码

注意事项:在分支上的提交操作和主分支的提价操作命令是一样的

分支相关命令

  • 查看当前git管理的项目中有哪些分支

git branch

  • 创建分支 (如果在主分支上没有任何提交则不允许创建分支)

git branch 分支名 

  • 切换分支(当第一次切换到分支上时,分支会从主分支上复制一份完整的代码)

git checkout 分支名  
​

  • 合并分支(把某些分支记录合并到当前分支上,一般此命令在master主分支上执行)

git merge  分支

合并时,当同一个文件做了不同的修改,就会出现冲突

解决冲突

介绍:如果在两个不同的分支中,对同一个文件进行了不同的修改,Git 就没法合并它们。 我们需要打开这些包含冲突的文件然后手动解决冲突。

补充:当再次切换到分支时,需要再次合并(git merge master)

避免冲突

不同功能模块是不会发生冲突的,只有修改了公共文件才有可能发生冲突(谁修改了公共文件,在团队群里告知一下)

远程仓库

介绍:

Git 命令都是在本地执行,如果想通过 Git 分享你的代码或者与其他开发人员合作。 就需要将文件放到一台其他开发人员能够连接的服务器上。这就是远程仓库的作用。

远程仓库分类:

(1) github:github是一个基于git的代码托管平台,在国外,速度比较慢,在大陆的使用很受影响

(2) gitee:gitee是一个基于git的代码托管平台,国内使用频率较多 (码云)

(3) 公司自己部署,了解即可,不是前端人员部署的,使用步骤和命令都一样

操作流程

  1. 注册 Gitee - 基于 Git 的代码托管和研发协作平台

  1. 创建远程仓库

在任何界面顶部都有一个加号,划上加号,会有一个下拉框,点击新建仓库

  1. 本地文件推送到远程仓库

配置本地仓库和远程仓库(把本地仓库和远程仓库之间建立一个联系)

git remote add 远程仓库别名 远程仓库地址
​
# 远程仓库别名 一般是origin,可以写为其他的

把本地分支推送到远程仓库上

git push  远程仓库别名 分支名    # 把这个本地分支推送到这个远程仓库上
​
git push -u 远程仓库别名 分支名  
# -u参数的作用是,以后可以直接git push 来代替 git push 远程仓库别名 分支名

  1. 克隆和同步远程仓库

相关命令总结

  • 配置本地仓库和远程仓库(别名的作用是代替远程仓库地址)

git remote add 远程仓库别名 远程仓库地址 #把远程地址添加包本地仓库上,并给远程仓库起一个别名
git remote rm  远程仓库别名   # 删除远程仓库配置

  • 查看远程地址信息

git remote -v

  • 把本地仓库推送到远程仓库

git push  远程仓库别名  分支名  # 把本地分支上传到远程仓库上
​
git push -u  远程仓库别名 分支名  
# 当提交的时候使用了-u参数,那么Git就在本地仓库中记录了这次远程仓库别名和本地分支名,在以后提交的时候直接使用:git push  (代表将当前分支推送到远程仓库上)

不是每次都要推送远程仓库的,当完成了某项功能以后再进行add/commit/push

  • 复制一份远程仓库到本地(第一次)

git clone  远程地址  [文件夹名]

  • 把远程信息进行更新

git pull

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值