[豪の学习笔记] Git的使用
一、本地仓库
1.1 - 工作流程
1.2 - 本地仓库操作
①全局配置:
git config --global user.name "用户名"
git config --global user.email "邮箱地址"
②创建仓库:
当需要让Git去管理某个项目时,就需要创建仓库。
PS:创建仓库时使用的目录不一定要求是空目录,选择一个非空目录也可以
路径不要包含中文
a.创建空目录
mkdir test_git
b.在命令行中进入项目目录test_git
cd test_git
c.Git仓库初始化(让Git知道让它来管理这个目录)
git init
执行之后Git会在项目目录下创建".git"的隐藏目录
③Git常用指令操作
a.查看当前状态
git status
b.添加到缓存区
git add 文件名
PS:git add 指令可以添加一个文件,也可以同时添加多个文件
c.提交至版本库
git commit -m "注释内容"
在后续对于文件操作后,重复使用 git add 与 git commit 指令即可
1.3 - 版本回退
①查看版本,确定要回退到的时刻点
git log
git log --pretty=oneline
②回退操作
git reset --hard 提交编号
PS:回退后若想再回到之前最新版本,需要使用指令git reflog查看历史操作以得到最新的 commit id
二、远程仓库
2.1 - 线上仓库创建
Github创建新仓库
2.2 - 两种常规使用方式
①基于 http/https 协议
a.创建空目录,以 “example” 为例
mkdir example
b.使用 clone 指令克隆线上仓库到本地
git clone 线上仓库地址
c.在仓库上做对应的操作(提交暂存区、提交本地仓库、提交线上仓库、拉取线上仓库)
提交到线上仓库的指令 git push
PS:在首次往线上仓库上提交内容时出现403错误,原因是提交内容需要权限
拉取线上仓库 git pull
②基于 SSH 协议
该方式与https方式相比,只是影响 Github 对于用户的身份鉴权方式,对于git的具体操作无影响
生成公私钥对指令(需要先安装OpenSSH):ssh-keygen -t rsa -C "注册邮箱"
a.生成客户端公私钥文件
b.将公钥上传到Github
2.3 - 分支管理
每次提交都会有记录,Git把它们串成时间线,形成类似于时间轴的东西,这个时间轴就是一个分支,称为master分支。
查看分支 git branch
创建分支 git branch 分支名
切换分支 git checkout 分支名
删除分支 git branch -d 分支名
合并分支 git merge 被合并的分支名
PS:在删除分支的时候,一定要先退出要删除的分支,然后才能进行删除
2.4 - 冲突的产生与解决
三、Git 实用技能
3.1 - 图形管理工具
①Github for Desktop
②Source tree
③TortoiseGit
3.2 - 忽略文件
在项目目录下有很多不轻易改变的文件目录,如css、js、images等,或者还有一些目录即便有改动,我们也不想让其提交到远程仓库的文档,此时我们可以使用“忽略文件”机制来实现需求
忽略文件需要新建一个名为.gitignore的文件,该文件可通过命令行Git Bash来touch创建,该文件用于声明忽略文件或不忽略文件的规则,规则对当前目录及其子目录生效
常见规则写法:
过滤整个文件夹 /mtk/
过滤所有.zip文件 *.zip
过滤某个具体文件 /mtk/do.c
不过滤具体某个文件 !index.php