Git 基础知识介绍
1、Git 与 Github 的区别
Git 是一个分布式版本控制系统,简单的说其就是一个软件,用于记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的软件。
Github(https://www.github.com)是一个为用户提供 Git 服务的网站,简单说就是一个可以放代码的地方(不过可以放的当然不仅是代码)。Github 除了提供管理 Git 的 web 界面外,还提供了订阅、关注、讨论组、在线编辑器等丰富的功能。Github 被称之为全球最大的基友网站。
2、本地仓库
2.1、工作流程
Git 本地操作的三个区域:
- 工作区:本地电脑存放项目文件的地方;
- 暂存区(Index/Stage):在使用 git 管理项目文件的时候,其本地的项目文件会多出一个 .git 的文件夹,将这个 .git 文件夹称之为版本库。其中 .git 文件夹中包含了两个部分,一个是暂存区(Index/Stage),顾名思义就是暂时存放文件的地方,通常使用
add
命令将工作区的文件添加到暂存区里; - 本地仓库:.git 文件夹里还包括 git 自动创建的 master 分支,并且将HEAD指针指向
master
分支。使用commit
命令可以将暂存区中的文件添加到本地仓库中;
工作流程:
2.2、本地仓库操作
仓库又名版本库,英文名 repository ,我们可以简单理解成是一个目录,用于存放代码的,这个目录里面的所有文件都可以被 Git 管理起来,每个文件的修改、删除等操作 Git 都能跟踪到。
① 在安装好后首次使用需要先进行全局配置 桌面空白处右键,点击 Git Bash Here 以打开 Git 命令行窗口
$ git config --global user.name "用户名"
$ git config --global user.email "邮箱地址"
② 创建仓库,创建一个文件夹,进入文件夹内,将git仓库初始化:git init
,初始化成功后会在该目录下有 .git 名字的隐藏文件夹
③ Git 常用指令操作
查看当前状态:git status
【非必要】
添加到暂存区:git add 文件名
提交至版本库:git commit -m "注释内容"
# 语法
git add 文件名
git add 文件名1 文件名2 文件名3 …
git add . //添加当前目录到缓存区中
在后续对于文件(可以操作 1 个或多个)操作之后,重复使用 git add
与 git commit
指令即可
2.3、版本回退
版本回退分为两步骤进行操作: ① 查看版本,确定需要回到的时刻点 指令:git log
、git log --pretty=oneline
② 回退操作 指令:git reset --hard
提交编号
③ 查看历史操作,以得到最新的 commit id
指令:git reflog
2.4、忽略文件
忽略文件需要新建一个名为 .gitignore 的文件,该文件用于声明忽略文件或不忽略文件的规则,规则对当前目录及其子目录生效。
PS:该文件因为没有文件名,无法直接在 windows 目录下直接创建,可以通过命令行 Git Bash 来
touch
创建
常见规则写法有如下几种:
1)/mtk/ 过滤整个文件夹
2)*.zip 过滤所有.zip 文件
3)/mtk/do.c 过滤某个具体文件
4) !index.php 不过滤具体某个文件
3、两种常规使用方式
3.1、基于 http/https 协议
a. 使用 clone
指令克隆线上仓库到本地 语法: git clone
线上仓库地址
b. 在仓库上做对应的操作(提交暂存区、提交本地仓库、提交线上仓库、拉取线上仓库) 将本地仓库同步到 git 远程仓库中:git push
在 push 前需要修改 .git/config 文件内容:
[core]
repositoryformatversion = 0
filemode = false
bare = false
logallrefupdates = true
symlinks = false
ignorecase = true
[remote "origin"]
url = https://用户名:密码@github.com/用户名/仓库名.git
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
remote = origin
merge = refs/heads/master
拉取线上仓库:git pull
3.2、基于 ssh 协议
生成公私玥对指令:ssh-keygen -t rsa -C "注册邮箱"
上传公钥文件内容(id_rsa.pub)到 github 中,clone
远程仓库
# 查看分支
git branch
# 创建分支
git branch 分支名
# 切换分支
git checkout 分支名
# 删除分支
git branch -d 分支名
# 合并分支
git merge 被合并的分支名
查看、创建分支:
切换分支、合并分支、删除分支:
将 master
分支提交到远程仓库
4、解决冲突
多人开发同一个项目时,如果两个人修改了同一个文件同一个地方,push 时会发生冲突
解决方式:git pull
-> 手动解决冲突 ->git push
- 本文作者:Nine
- 本文链接:https://nineholic.github.io/2020/04/22/git-basis/
- 版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证)