当前位置:   article > 正文

手把手Git使用教程

手把手Git使用教程

在这里插入图片描述

1.下载安装git

git下载(阿里云):
https://www.alipan.com/s/R788JQfh6Ah

1.1.判断git是否安装成功

  1. window+R打开指令运行框,输入指令cmd打开系统控制台
    在这里插入图片描述

  2. 输入git -v,如果返回git版本号,说明我们已经安装成功(如果你在VScode终端)。
    在这里插入图片描述

1.2.打开Git Bash

1.2.1.在文件夹中打开Git Bash

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在Git Bash,我们即可以通过指令对git进行操作。

1.2.3.在Vs code打开Git Bash

相比于在文件中打开Git Bash,我更加推荐在Vs code中打开集成的Git Bash
Ctrl+J打开Vs code终端,再新建一个Git Bash窗口,这样我们就可以在Vs code操作Git Bash了。

在这里插入图片描述
在这里插入图片描述

1.3.配置用户及邮箱

  1. 配置用户:git config --global user.name"Xiaojia"

  2. 配置邮箱:git config --global user.email “qq13079055521@qq.com”

  3. 查看已经配置好的用户和邮箱:git config --list
    在这里插入图片描述

在这里插入图片描述

如果这里信息多的话,可以回车往下查看被省略的信息,如果像退出了,可以按Q,或者重新打开Git Bash控制台。

2.命令行操作git

2.1.暂存、工作区命令

命令作用
git -v查看 git 版本
git init初始化 git 仓库
git add 文件标识暂存某个文件
git add .暂存所有文件
git commit -m '说明注释'提交产生版本记录
git status -s查看文件状态
git ls-files查看暂存区文件列表
git restore 文件标识从暂存区恢复到工作区(如果文件标识为 . 则恢复所有文件)

2.1.1.让git仓库管理文件夹

在demo输入:git init ,文件后面出现小U,也在文件夹中,可以看到git文件夹

在这里插入图片描述
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/e03f6de87fa84a66a1fca54f45d1cdf7.png#pic_center = x500)
在这里插入图片描述

  • 如果找不到,可能没有打开显示隐藏文件夹,操作如下:
    在这里插入图片描述
    在这里插入图片描述

2.1.2.Git 的三个区域

工作区:实际开发时操作的文件夹

暂存区:保存之前的准备区域(暂存改动过的文件)

版本库:提交并保存暂存区中的内容,产生一个版本快照

命令作用
git add + 文件名暂存指定文件
git add .暂存所有改动的文件(推荐使用)
git commit -m + “注释说明”提交并保存,产生版本快照
  1. 输入git add .,暂存所有改动的文件
  2. 输入git ls-files,查看暂存区已存的文件(这里我新建了一个demo文件并暂存了)
  3. git commit -m "新建了一个index.html文件"(这里我将提交的备注用单引号,然后提交成功,但是git返回的信息在编译时乱码了,后来我改成双引号再提交,因为,没有任何修改所以git返回了提升推荐写提交的备注时用双引号
    在这里插入图片描述

2.1.3.git文件状态

git 文件 2 种状态

未跟踪:新文件,从未被 Git 管理过

已跟踪:Git 已经知道和管理的文件

文件状态概念场景
未跟踪(U从未被 Git 管理过新文件
新添加(A)第一次被 Git 暂存之前版本记录无此文件
未修改(’ ')三个区域统一提交保存后
已修改(M)工作区内容变化修改了内容产生
  1. 新增 css 文件,并使用git status -s 查看文件状态,显示文件状态标识为??,文件后面有U标识,说明该文件处于未跟踪(U)状态。

在这里插入图片描述
在这里插入图片描述

  1. 输入git add .,暂存所有改动的文件,发现U标识变为A标识), 再次使用git status -s 查看文件状态,显示文件状态标识为A,说明该文件处于新添加(A)状态。

在这里插入图片描述
4. 我们给新增的css添加内容(这里给index.html添加了a标签的样式),再次使用git status -s 查看文件状态,显示文件状态标识为AM,说明该文件处于新添加(A)且已修改(M)状态。

在这里插入图片描述

在这里插入图片描述
5. AM状态说明,文件还在工作区,没有将修改保存到暂存区,我们使用git add .,暂存所有改动的文件,并且再次使用git status -s 查看文件状态,显示文件状态标识为A,说明改动的文件成功存到暂存区。

在这里插入图片描述
在这里插入图片描述
6. 现在我们再将暂存区保存成功的文件存入版本库:git commit -m "添加了index.css文件",再使用git status -s查看文件状态,但是并不显示,而且文件名后面的标识符也消失了,说明文件处于未修改(’ ')状态。

在这里插入图片描述
在这里插入图片描述

  1. 我们再将css文件修改并保存(这里我们将第4步添加的a标签样式删掉,只要做出修改,其他操作也是可以的),文件名后出现标识符M,使用git status -s查看文件状态,显示文件状态标识为AM,说明文件处于已修改(M)状态。
    在这里插入图片描述
    在这里插入图片描述
    至此,我们又回到了第4步,不过由于我们在6步已经将暂存区保存成功的文件存入版本库,这个文件已经不处于新添加(A)状态,所以文件处于’M’状态,而不处于’AM’状态。

2.1.4.暂存区的使用

暂存区的作用:临时恢复代码内容,与版本库解耦

  • 通俗一点来说,暂存区就是工作区和版本库中间的缓冲区,它可以减少我们往版本库提交代码次数,使版本库产生的版本更少,也就更方便管理。

现在我们来尝试对暂存区进行操作:

让暂存区文件覆盖工作区文件(从暂存区恢复):git restore

  1. 输入git ls-files,查看暂存区已存的文件

在这里插入图片描述

  1. 在上一节第7步我们已经对css文件做出了修改,现在我们从暂存区恢复css(用Ctrl + Z可以撤销恢复,我们这里只是尝试从暂存区恢复哈)。输入:git restore+文件路径(注意地址不要写错),文件就从从暂存区恢复回来了。

在这里插入图片描述
在这里插入图片描述

从暂存区移除文件:git rm --cached ,移除后文件变为未跟踪(U)状态(对未跟踪(U)状态的操作可以参考上一节)

  1. 输入:git rm --cached +文件路径,移除css在暂存区对应的暂存文件
  2. 再次输入:git ls-files,查看暂存区已存的文件发现css暂存文件已被移除,文件变为未跟踪(U)状态。
    在这里插入图片描述
    在这里插入图片描述

2.2版本、分支命令

命令作用
git log --oneline查看已有版本库中的版本
git reset 版本号 + 选项切换版本代码到暂存区和工作区(1.--soft 2. --hard 3.mixed )
git branch 分支名创建分支
git branch查看本地分支
git branch -d 分支名删除分支(请确保记录已经合并到别的分支下,再删除分支)
git checkout 分支名切换分支
git checkout -b 分支名创建并立刻切换分支
git merge 分支名把分支提交历史记录合并到当前所在分支

2.2.1版本操作

2.2.1.1切换版本
  • 查看提交历史git log --oneline
    在这里插入图片描述

  • 切换版本(从版本库中恢复):

git中回退版本需要使用到版本号,版本号又被称为标签,是版本库的快照,作为不同版本相互区别的主要方式,虽然是版本库的快照,但其实它就是指向某个commit的指针。

在上图中,70a5981,d57f5cf都是对应版本的版本号。

回退指令有以下3种:

  1. git reset --soft + 版本号(其他文件未跟踪)

    soft是"软"的意思,所以这个切换指令会将版本恢复到工作区和暂存区,但是不会删除已有文件,已有文件都会变为未跟踪(U)状态。

  2. git reset --hard + 版本号

    hard是"硬"的意思,所以直接把版本库中的版本内容直接将工作区和暂存区已有文件覆盖,已有文件都会变为未跟踪(U)状态。

  3. git reset --mixed + 版本号 (与 git reset 等价)

    mixed是"混合"的意思,这个指令等效于git reset ,将版本库中的版本内容覆盖到暂存区(工作区不做修改)

在实际操作中--hard,使用较多

注意,一旦进行版本回退,被覆盖的文件就不能恢复,所以在进行版本回退之前,我们必须确认被覆盖文件是不再需要的,或者更换回退指令的回退方式。

2.2.1.2.删除版本

虽然有暂存区缓存,我们有时还是难以避免地提交的没有什么实际意义的版本到版本库,这时我们需要将版本库中的版本删除,这里我们给出一种删除特点版本的方法。

删除版本git rebase -i + 版本号

  1. 现在我们新建一个demo.html

  2. 先输入git add .将demo.html添加到工作区,再输入git commit -m "添加了dome.html"添加了demo.index提交到版本库

  3. 输入git log --oneline, 查看已有版本库中的版本

在这里插入图片描述

  1. 输入git rebase -i + 要删除的版本的前一个版本的版本号(例如:我们要删除1d29f32,我们就要输入git rebase -i 70a5981

  2. 输入指令后我们进入了vim编辑器,我们按i可以进入插入模式,再将第一行的pick改为drop,按左上角Esc,再依次输入:,w,q及可以保存更改并退出。

在这里插入图片描述
在这里插入图片描述
5. 再次输入git log --oneline,发现5e3f674版本已经被删除。
在这里插入图片描述

2.2.2.文件操作

2.2.2.1.删除文件
2.2.2.2.忽略文件

在git管理的文件夹内,有些文件我们并不需要git管理,这时我们需要配置忽略文件。

  1. 示例:例我们在文件夹page下创建一个password.md文件这个makedown文件,假设我们不想要这个文件被git管理。
    在这里插入图片描述

  2. 项目根目录新建 .gitignore 文件,如果vsvode里面创建文件不成功,也可以到该文件夹里面创建文本文件,再将文本文件的文件名和后缀删掉,改为 .gitignore

  3. 填入相应配置来忽略指定文件,输入password.md并保存,发现password.md文件后的git管理的状态标识消失,而且文件名由高亮变得暗淡;说明password.md已经成功被git忽略。

在这里插入图片描述

拓展

  • 还可以忽略:文件夹,系统或软件自动生成的文件,配置文件,日志文件,缓存文件,临时文件,涉密文件,密码,秘钥等文件等。
  • 我们还可以利用通配符*,例如写入*.md,则忽略以.md结尾的文件(忽略md格式的文件)。
  • 忽略文件可以迁移(忽略文件属于配置文件的一种,大多数配置文件都可以迁移),如果我想用别人的忽略文件,让他把他的忽略文件发给我,在将他的忽略文件放在git管理的文件夹根目录下即可。

2.2.3.分支操作

作用分支有利于多人协同开发时的代码版本管理。

2.2.3.1.创建、切换
  1. 我们先输入git branch new1,创建一个分支new1
  2. 再输入 git checkout new1,切换到new1分支上去(高亮行的最后的小括号里就是我们所在的分支,默认我们在主分支(master),现在我们切换到了new1分支)。
  3. 再输入git branch,可以查看到分支new1已经创建成功
    在这里插入图片描述
2.2.3.2.删除分支

现在假设我不小心创建了一个new2分支,我现在要删除它,输入git branch查看已有分支,再输入git branch -d new2 ,删除new2分支。
在这里插入图片描述这里有一点需要注意,我们不能在该分支在删除该分支,例如我们不能在new2分支下删除new2分支,而要先切换到其他分支下(例如new1分支),再删除new2分支。

2.2.3.3.合并分支

我们在new1分支下的css文件添加一个a标签的样式(master分支css文件已有p)再存入暂存区,提交,现在,我们尝试将,这两个分支合并。

  1. (在master分支下)输入git merge new1

2.3.远程仓库命令

命令作用
git remote add + 远程仓库别名:远程仓库地址添加远程仓库地址
git remote -v查看远程仓库地址
git remote remove + 远程仓库别名删除远程仓库地址
git pull + 远程仓库别名:分支名拉取
git push + 远程仓库别名:分支名推送
git pull --rebase + 远程仓库别名:分支名拉取合并
git clone + 远程仓库地址克隆

码云官网https://gitee.com/chinaio

3.以图形化操作git

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/在线问答5/article/detail/835782
推荐阅读
相关标签
  

闽ICP备14008679号