Git基础使用教程

265 阅读3分钟

Git简介

Git是一个免费的开源分布式版本控制系统,它可以快速高效地处理从小型到大型的项目。简单点说就是:git分布式版本控制工具(管理代码版本)。我们常用的Git平台有:Gitee(码云)、GitLab、GitHub等。

下载Git

这里提供Git下载地址:git-scm.com/downloads

Gitee配置SSH公钥

  • 注册(用邮箱注册),并登录到Gitee后,鼠标移至右上角头像,下拉选项中选择 设置

  • 左侧菜单栏中选择SSH公钥,在右侧添加公钥

  • 怎么生成本机的公钥?请查看:gitee.com/help/articl…

Git日常操作

克隆代码(把远程仓库拉取到本地):git clone 仓库地址
查看仓库状态:git status
提交工作区代码到暂存区:git add 文件路径或者.(所有文件)
提交暂存区代码到历史记录区:git commit -m "本次提交的信息提示"
提交历史记录区的历史提交记录到远程仓库:git push origin 分支名称
注意点:   git提示的信息里面只要有fatal或者error这两个词随便一个,都是执行git命令失败了

创建项目与分支

  • 在gitee中创建项目(例如创建了 demo222 这个项目),执行以下命令: //克隆仓库到本地
    git clone git@gitee.com:codesohigh/demo222.git
    //检查当前分支
    git branch

  • 一般此时是master分支,但我们开发阶段一般用dev等其他分支,所以我们: git checkout -b dev

    // git checkout 命令加上 -b 参数,表示创建并切换,以上操作相当于:
    git branch dev
    git checkout dev

  • 第一个注意的点:        在仓库没有初始化前,如果需要检查分支,一定要记住这句话:
    未曾commit的仓库是无法检查分支的!

  •  第二个注意点:实际上git checkout  不是切换分支的最佳选择,我们使用git switch 会更好: git switch -c dev //创建并切换到新的dev分支
    git switch dev //切换到已有的dev分支

文件提交

  • 创建 index.js 文件,随便写点内容,提交: git add .
    git commit -m "修改了index.js"
    git push origin dev
  • 此时你会发现,git checkout master 切回master分支后,index.js这份文件会消失,因为当前分支不存在这个文件。

分支合并

  • 假设当前项目已经完成,我们想要把dev分支合并到master,可以在master分支下使用: git merge dev
  • 此时,你会看到,项目中又有 index.js 了。

版本回滚

  • 使用 git switch -c dev1 创建新的dev1分支,稍微修改dev1中的index.js,并且提交到远程仓库。
  • 我们提交完成后,发现自己不想用当前代码,想回滚到上一次的代码,怎么办呢? //查看当前项目提交的所有版本(含所有分支的操作)
    git log
    //git log 会出现很详细的信息,如果我们只想简单看看版本号,可以使用
    git log --pretty=oneline

640.png

  • 如果我们只想回滚到指定版本,可以使用: git reset --hard 版本号前几位
  • 这里只需要写id号的前几个字母与数字就行,没必要全写,git会自动去检索。
  • 但此时,我们再一次查看所有版本,发现:

640 (1).png

  • 最新写的那个丢失了。但我此时又后悔了,怎么办? //重新reset即可找回
    git reset --hard 之前的版本号

  • 现在,就可以退回最新版本了。

  • 但这个方法前提是你当前这个控制台不曾关掉,如果已经关掉了,你是没法知道版本号的,这时候要怎么办呢? //Git提供了一个命令git reflog 用来记录你的每一次命令
     git reflog

640 (2).png

代码冲突

  • 修改master的代码,执行: git add .
    git commit -m "提交master"
    git push origin dev(当前的版)
    然后执行:
    git merge dev
  • 我们会发现,vscode提示代码冲突:

640 (3).png 此时,我们只需要点击我们想要的选项,即可解决代码冲突。