Git的配置及使用

107 阅读15分钟

01-git介绍及环境搭建

1.1-Git介绍

  • 1.Git是什么?

    • Git版本控制系统一个分布式的系统,用来保存工程源代码历史状态(游戏存档)的命令行==工具==

      • ==GIT是一个命令行工具,用于版本控制(存档器)==
  • 2.Git作用是什么?

    • 版本管理工具:说人话就是可以记录你敲代码的每一个环节(类似于玩游戏存档)
  • 3.Git应用场景介绍

    • a. 多人开发代码管理 : 目前我们多人代码的时候,想把代码合并一起是利用最原始的复制粘贴操作。有了git之后,可以一键搞定

    • b.异地开发代码管理:实际开发中,我们上班可能会用公司电脑敲代码。有时候回到家里用自己电脑偷偷加个班,以前的做法是备一个U盘,复制粘贴。有了git之后,直接一键搞定。

    • c.版本管理 :比如我现在公司网站已经做出来了1.0版本在使用,现在计划增加一些新功能,但是这个功能不稳定需要经过开发和测试环节,为了不影响现有的稳定版本。以前的做法是把稳定版本单独拷贝一份增加功能,等做好之后再把以前版本给替换掉。有了git之后可以一键搞定。

    • d.版本回滚:比如这周产品经理提出一个功能,我辛辛苦苦写了一周代码。到了下周,产品经理说这个功能不做了,叫我删掉改成其他功能。我们把代码删掉之后按照产品经理要求又辛辛苦苦写了一周代码。到了下下周,产品经理说这个功能还是没有上次那个好,还是改成上周的吧…………

      • 别着急,有了git之后,一键搞定。
  • 4.常见版本管理工具介绍

    • 1.git:目前使用最多的版本管理工具
    • 2.svn:也有公司在用,用法与git类似(相当于腾讯视频和优酷视频)

1.2-Git安装流程

  • 1.打开课程资料-——>教学软件文件夹

    • 全程默认点击即可,不用修改其他选项

1652209563238.png

  • 2.如果在电脑任意文件夹中点击右键,能够出现Git命令选项,则说明安装成功

1652209594433.png

mac系统

1.首先使用自带的终端,输入 : git --version , 然后回车如果看到版本号。说明已经安装

2.如果没有看到版本号,可以在终端输入: brew install git , 然后回车等待安装。 安装成功之后重复步骤1,检查是否安装成功

02-配置用户信息

  • 1.安装完git之后,要做的第一件事情就是设置自己的 用户名邮件地址

    • 相当于是登录git账号操作
  • 2.如何获取git账号 : 可以在 码云 注册一个账号

  • 3.配置用户信息命令如下:

    • git config --global user.email "你的码云账号邮箱"
    • git config --global user.name "你的码云用户名(可以随便写)"

通过 git config --global user.name 和 git config --global user.email 配置的用户名和邮箱地址,会被写入到 C:/Users/用户名文件夹/.gitconfig 文件中。这个文件是 Git 的全局配置文件,配置一次即可永久生效。

1652209617461.png

除了使用记事本查看全局的配置信息之外,还可以运行如下的终端命令,快速的查看 Git 的全局配置信息:

1652209631019.png

==03-git工作流程与常用命令==

Git命名作用详细描述
git init初始化git仓库(类似于玩游戏新建一个存档文件)在当前文件夹中新建一个 .git隐藏文件夹
git add .添加文件信息(相当于游戏开始存档)把要提交的文件的信息添加到暂存区中(常用
git commit -m"描述信息"确认添加信息 (确认存档)将暂存区中的文件提交到本地仓库中(常用
git config --global user.email "you@example.com"设置邮箱第一次使用git会让你输入邮箱
git config --global user.name "Your Name"设置用户名第一次使用git会让你输入用户名
git reset --hard 版本号版本回滚(游戏回档)可以让你的文件回退到历史某一个版本
git log查看详细日志(存档日志)会显示你的每一次存档信息
git log --oneline查看简略版日志快速查看版本号
git reflog查看所有日志(包含回滚日志)回档回错了会用到
git clone '远程仓库地址'克隆远程仓库把远程仓库所有文件下载到本地
git push推送代码到远程仓库把当前电脑已经commit过的代码上传到远程仓库
git push origin 分支名推送指定分支一般不用记,git push如果不行会提示这个命令
git pull拉取远程仓库到本地把远程仓库上别人push的代码同步到自己的本地电脑(只有多人开发才生效)
git pull origin 分支名拉取远程仓库指定分支到本地
git branch查看当前工作分支
git branch 分支名新建子分支新建一个小号存档,把当前存档备份到小号中
git checkout 分支名切换工作分支切换当前的账号(换小号刷装备)
git merge分支名合并分支把子分支代码合并到主分支(小号刷得装备移到大号上面)
git branch -d 分支名删除子分支(慎用)把某一个分支删除

问题点总结

  • 1.新建项目的文件夹,要进到文件夹里面去之后, 右键点击git bash here

  • 2.git init 不要写错, 出现一个.git隐藏文件夹, 如果没有出现这个文件夹,检查一下自己的电脑隐藏文件夹是不是不显示.

    • 如果不小心项目文件夹建错了,就可以删掉.git文件夹,相当于删档操作(慎用)
    • git一次只能写一个命令,千万不要两个命令连着写
  • 3.注意每一个命令之间的空格

    git add .

    git commit -m"描述的信息"

    这两句代码 add 和后面的点 有空格. commit 和-m中间也有空格.

  • 4.第一次提交会出现让你输入邮箱和用户名, 一行代码一行代码的执行. 复制的时候不要把后面的空格给复制

    • git不能按快捷键CTRL+CV来复制,要选中之后点击右键通过copy和paste来复制粘贴
  • 5.有时候git命名行工具会卡死: 多按几次 q 键就可以退出卡死(相当于卡屏修复)

==1.1-主要工作流程==

  • ==123步一个项目只需要一次,456步频繁使用,789步偶尔会用==

    • 1.新建项目文件夹

    • 2.进入文件夹

    • 3.初始化仓库:git init

    • 4.编码

    • 5.添加文件信息: git add .

    • 6.确认添加信息:git commit -m"描述信息"

    • 7.查看详细日志信息:git log

    • 8.查看简略日志信息:git log --oneline

    • 9.版本回滚:git reset --hard 版本号

      • 通过查看历史提交日志信息就可以找到版本号

1.新建文件夹

1567589167734.png

2.进入这个文件夹,点击右键选择Git Bash Hear,打开git命令行工具

1567589575823.png

==3.输入命令 git init初始化git仓库==

1567589905688.png

  • ==456三个步骤是开发中不断重复的环节==

==4.编码==

==5.添加存档:使用git add .==

  • 注意:这个命令只是将文件信息添加到暂存区,还没有真正存档,需要使用git commit命令确认存档才可以

==6.确认存档:使用git commit -m"描述信息"==

1.png

  • 以上流程是实际开发中主要使用流程

2.png

7.查看详细提交信息:git log

3.png

8.查看简略信息:git log --oneline

4.png

5.png

9.版本回滚:git reset --hard 版本号

  • git reflog:这个命令可以查看你曾经回滚的记录

6.png

1.2-git工作流程与原理总结

  • 1.git工作流程

7.png

  • 2.git工作原理

git管理文件分为三个区域: 工作区、暂存区、git仓库

8.png

  • 3.查看文件状态(了解即可,几乎不用)

    了解即可,实际开发几乎不用

# 查看文件的状态
git status
​
# 查看简略版信息
git status -s
​
  • 已提交(nothing to commit)

    • 表示没有什么东西可以提交了;即所有的内容都已经提交过了
    • 有的文档也把这个状态叫做 未修改,意思是自上次提交过后,代码还没有修改过
  • 未跟踪(新增的文件)

  • 已暂存(新增的文件,添加到暂存区之后的状态)

  • 已修改(文件曾经被Git记录过了,然后在工作区对他进行了修改)

9.png

==04-git远程仓库使用流程==

Git命名作用详细描述
git clone克隆远程仓库代码把服务器的项目文件下载到本地电脑
git push推送代码到远程仓库把本次修改的(本地仓库中git commit -m的代码)代码上传到远程仓库
git pull拉取远程仓库代码将远程仓库中其他人push的代码,拉取到本地仓库

1.1-远程仓库介绍

  • 1.什么是远程仓库?

    • 远程仓库其实就是远程的服务器,帮我们存储代码的

      • 本地git存储:一旦你电脑丢了或者硬盘损坏,直接扑街
      • 远程git存储:如果你电脑坏了换了一个新的,只需要从网上重新下载即可
  • 2.常见的远程仓库有哪些?

    • (1)github:免费

      • 学习时候可以用,工作中有的小公司为了省钱也会用
    • (2)gitlab

    • (3)码云

    • (4)你们公司自己机房的服务器(工作中遇到)

      • 以上远程仓库使用流程几乎一致
  • 3.什么是GitHub?github.com/

    • 1.是一个免费的远程代码托管仓库

    • 2.是一个代码托管平台,很多优秀的开源的项目都有放在github上,供大家学习/使用.

      • 在这个网站可以找到很多别人写好的框架,例如jQuery,vue,axios 这个上面都有
    • 3.全球最大代码托管平台,由于使用者几乎都是男性。于是自嘲:"全球最大的同性交友网站"

    • 4.github和git是什么关系呢?

      • 没有半毛钱的关系,只是名字有点像而已。例如北大和北大某鸟的关系。

        • git是一个命令行工具,用于代码版本管理
        • gitthub是一个网站的名字:免费服务器帮别人存东西的(主要存代码)
  • 4.在国内,由于gitthub网速极慢,目前个人或某些小公司一般使用 码云

1.2-远程仓库使用流程

1.在码云网站建立远程仓库

10.png

11.png

2.将远程仓库克隆到本地

  • 克隆命名 : git clone 仓库网址

12.png

3.本地编写代码: git add . 与git commit -m“添加文件信息“

4.将本地代码推送到远程(每天下班一次)

  • git push

13.png

14.png

5.将远程代码拉取到本地(每天上班一次)

  • git pull

    • git pull:拉取,用于多人开发。比如别人写的代码文件提交到远程仓库,通过这个命令就可以将远程仓库代码拉取到本地

      • 这个命令不会拉取所有代码,只是拉取远程上面新增的代码(把别人写的代码合并到你的本地)
      • 这个命令,在多人开发的时候建议每天上班前执行一次
    • git clone:克隆,将整个远程仓库克隆到本地

      • 这个命名相当于拉取所有的代码(将整个远程仓库文件夹copy到你的本地)
      • 这个命令一般只会在项目开始的时候执行一次

15.png

如何将本地文件夹关联远程仓库

  • 1.在码云创建空仓库

    • 不要勾选那个readme
  • 2.在本地文件夹中执行命名:git remote add origin 仓库地址

  • 3.最后执行:git push -u origin master

1.3-多人开发配置流程

16.png

1.4-多人开发冲突解决

多人开发所有的冲突主要分为三种

(1)push的时候没有pull

(2)文件冲突

(3)代码冲突

  • 1.push的时候没有pull : push的时候只要出现以下这种错误,就是因为别人已经push过了。

    • 解决方案,底下提示已经告诉你了 , 要先pull,然后才能push

17.png

  • 2.文件冲突 : 两个人新建一样的文件

    • 实际开发中,git一般不会出现文件冲突的。 因为在项目分工的时候,一般会以模块页面为单位。(你写你的,我写我的。不会让两个人写一个文件)
  • 3.代码冲突 : 两个人在同一个文件里面写不同的代码

    • 实际开发中,一般一个文件只由一个人维护。 很少出现一个文件,多个人同时写代码情况。
  • 无论是文件冲突还是代码冲突,都可以使用下面方式解决

    • ==注意点== : 解决冲突之后,一定要在第一次时间: add 、commit 、push 。 然后其他同时 pull .

18.png

1.5- 远程仓库SSH配置

  • 1,远程仓库有两种访问方式,分别是HTTPSSSH

    • HTTPS:零配置;但是每次访问仓库时,需要重复输入 Github 的账号和密码才能访问成功

    • SSH:需要进行额外的配置;但是配置成功后,每次访问仓库时,不需重复输入 Github 的账号和密码

      • 实际开发推荐使用SSH方式访问远程仓库
  • 2.SSH 介绍

    • SSH key 的作用:实现本地仓库和 Github 之间免登录的加密数据传输。

    • SSH key 的好处:免登录身份认证、数据加密传输。

    • SSH key 由两部分组成,分别是:

      • id_rsa(私钥文件,存放于客户端的电脑中即可)
      • id_rsa.pub(公钥文件,需要配置到 Github 中)
  • 3.SSH配置流程

    • (1)打开 Git Bash

    • (2)输入命令: ssh-keygen -t rsa -b 4096 -C "你的码云邮箱"

    • (3)连续敲击 3 次回车,即可在 C:\Users\用户名文件夹.ssh 目录中生成 id_rsa 和 id_rsa.pub 两个文件

    • 19.png

    • (4)使用记事本打开 id_rsa.pub 文件,复制里面的文本内容

    • (5)在你的远程仓库网址, 点击头像 -> 设置 -> SSH 公钥 -> 粘贴

20.png

1.6-远程仓库使用流程总结

21.png

05-git分支使用流程

Git命名作用详细描述
git branch查看当前工作分支
git branch 分支名新建子分支新建一个小号存档,把当前存档备份到小号中
git checkout 分支名切换工作分支切换当前的账号(换小号刷装备)
git merge分支名合并分支把子分支代码合并到主分支(小号刷得装备移到大号上面)
git branch -d 分支名删除子分支(慎用)把某一个分支删除

1.1-分支介绍

  • 1.什么是分支?

    • 分支(branch)相当于给你的远程仓库(主分支master)代码copy一份,然后我们在这个copy的代码上进行开发。等功能做好之后,再把分支的代码推送到主分支.
  • 2.为什么要有分支?

    • a.举例1:比如你的网站第一个版本已经做好发布了,功能也很稳定。现在准备新增一些功能开发2.0版本,这时候如果你在原本稳定代码上工作,万一出现bug就会对原先稳定的代码造成影响。所以我们需要将原先代码copy一份进行开发,等2.0版本功能做好之后再和原先的1.0代码合并(相当于发布2.0正式版本)
    • b.举例2:比如你的项目1.0版本已经正式上线,然后突然出现了bug,如果我们直接在原先代码修复,就会影响其他功能。一般我们就可以建立一个分支(把原代码copy一份),等bug修复完毕之后。再与主分支合并,这样就可以很好的修复bug。一般这种版本称之为 1.x (1.1 、1.2、 1.3)

1.2-分支使用流程

22.png

23.png

1.新建仓库,就会有一个默认的master分支

24.png

2.新建分支 git branch 分支名

3.切换分支 git checkout 分支名 (创建分支之后,你的代码默认还是在主分支,需要切换工作分支到子分支)

25.png

4.在新的分支上进行编码

  • git add .
  • git commit -m“描述信息”

5.合并分支(功能做完了,开始发布正式版本了,就把分支代码合并到主分支)

*** 注意:合并分支,需要把当前工作分支切换到主分支才可以 ***

26.png

6.删除分支git branch -d 分支名 (慎用)

  • 注意:删除分支,也需要切换当前工作分支为主分支
  • git branch : 查看当前仓库的分支状态

27.png

7.推送与拉取分支代码到远程仓库

  • 1.查看远程分支: git remote show 仓库别名

  • 2.推送分支代码到远程仓库 : git push -u origin 新分支名称

    • 小技巧 : 根本不需要记这个指令, 直接 git push即可。 如果是分支代码,你的git会自动给你提示,并且在下方告诉你推送这个分支正确的命名是什么。 到时候直接 CV 即可。
  • 3.拉取某个远程分支到本地仓库: git pull origin 分支名