# :-: git 的使用
1. 首先需要下载安装好git 以及注册好github账号。
2. 初次安装后使用需要设置用户名和邮箱 建议和github 用户名和邮箱相同
3. git config –global user.name ‘用户名’;git config –global user.email ‘邮箱’
4. ![](https://img.kancloud.cn/ed/fd/edfd1aebe70ce3e805cbebe35c351b0e_419x199.png)
5. 在想创建git 仓库的目录下右键打开git bash here
6. ![](https://img.kancloud.cn/da/85/da858f70cf8a846efb3a0fd01395b195_328x89.png)
7. 开始创建文件目录 可以使用Linux的方法创建 mkdir ‘目录名’ 也可以自己手动创建好
8. 创建好后就需要初始化仓库 指令为 git init
9. ![](https://img.kancloud.cn/38/81/38817c2b3d25dc0a949558ca871f6858_473x64.png)
10. 创建好后可以查看隐藏文件是否有这个目录![](https://img.kancloud.cn/15/23/152309b023aa1a96a855f4e543bd6779_256x39.png)
**
## **实际工作用法**
项目开始 在github 或者码云上创建了 仓库 就可以使用
**git clone '项目地址' ** 下载代码
### **怎么提交 提交 代码?**
![git add '文件名'](https://img.kancloud.cn/43/ab/43ab71d4393f1712429435bb31e2e75f_520x155.png)
先 **git add '文件名' **
再 **git commit -m '提交说明'**
最后** git push **
每天上班来的第一件事 更新代码 **git pull**
### **遇到冲突怎么解决?**
![](https://img.kancloud.cn/1c/4d/1c4d0d6bef181181a4917b441d3fcb19_456x272.png)
![](https://img.kancloud.cn/b6/f5/b6f5d2a511ecdb9061a303d6cd15261b_554x82.png)
1. Git log 查看日志 显示信息全面一点,一般使用git log –pretty=oneline 在一行一行的显示 效果更佳
2. 会退的话 就是使用 git reset –hard ‘版本号’ 回退后想再恢复或者是想看日志 需要看 git reflog
### **怎么创建分支?**
![](https://img.kancloud.cn/15/f5/15f53fafcf94f4f299a425e6572158bd_452x142.png)
![](https://img.kancloud.cn/cf/87/cf871515658d65ccf583050294d4c3d0_381x64.png)
## 本地推送代码到码云
```
1.创建本地空文件夹
git init
2.文件添加到缓存区里面去
git add . “.” 全部文件
3.填写提交信息
git commit -m '备注'
4.将本地仓库与远程仓库绑定
git remote add origin url ps:url=>'远程地址'
5.远程库与本地同步合并
git pull origin master 如果出错使用下面强制合并
git pull origin master --allow-unrelated-histories 命令强制合并
6.把本地库的内容推送到远程
git push -u origin master
```
```
添加到自己的分支:
创建分支并切换(xl): git checkout -b xl
1.切换到自己分支: git checkout xl
2.查看状态: git status
3.上传文件: git add .
4.添加描述: git commit -m 'update'
5.添加到对应分支: git push origin xl
合并添加到主分支:
1.切换到主分支: git switch master
2.拉取主分支的内容: git pull origin master
3.合并自己xl分支到当前主分支: git merge --no-ff -m '合并' xl
4.上传代码到主分支: git push origin master
pull和本地代码有冲突的解决办法:
1.先将本地修改保存起来: git stash
2.pull内容: git pull origin master
3.还原暂存的内容: git stash pop stash@{0}
设置邮箱地址: git config --global user.email
查看所在分支: git branch
合并分支: git merge --no-ff -m '合并' xl
版本回退: git reset --hard commit_id 提交号 提交后直接强推 git push -f
```
git windos 更新版本 报错
```
curl: (56) OpenSSL SSL_read: SSL_ERROR_SYSCALL, errno 10054
解决办法
git config --global pack.windowMemory "100m"
git config --global pack.SizeLimit "100m"
git config --global pack.threads "1"
git config --global pack.window "0"
执行后下载就快一点了
查看当前git 版本
git --version
更新命令
git update-git-for-windows
```
git clone 指定版本下载
```
-b 分支
git clone -b 分支名称 url
命令: git clone -b v5 git地址
```
有时候我们提交完了才发现漏掉了几个文件没有添加,或者提交信息写错了。 此时,可以运行带有`--amend`选项的提交命令来重新提交:
~~~console
$ git commit --amend
~~~
这个命令会将暂存区中的文件提交。 如果自上次提交以来你还未做任何修改(例如,在上次提交后马上执行了此命令), 那么快照会保持不变,而你所修改的只是提交信息。
文本编辑器启动后,可以看到之前的提交信息。 编辑后保存会覆盖原来的提交信息。
例如,你提交后发现忘记了暂存某些需要的修改,可以像下面这样操作:
~~~console
$ git commit -m 'initial commit'
$ git add forgotten_file
$ git commit --amend
~~~
最终你只会有一个提交——第二次提交将代替第一次提交的结果。
### 怎么创建远程分支?
```
git push --set-upstream origin 分支名称 创建并且推送
```
### 怎么删除远程分支和本地分支?
```
git push origin --delete 分支名称 可以删除远程分支
git branch -d 分支名称 可以删除本地分支(在主分支中)
```
### 怎么查看本地分支关联的远程分支?
![](https://img.kancloud.cn/ef/2e/ef2e2939d87a547245603c3f710e9d1b_340x166.png)
```
git branch -vv 即可 后面加上了最后一次提交的备注
```
### 怎么修改本地分支名称?
```
git branch -m 旧分支名 新分支名
```
![](https://img.kancloud.cn/7b/cd/7bcd6d931ecce1df169d9a42c4509a29_320x63.png)
### 怎么关联远程分支?
```
git push --set-upstream origin 新分支名
```
### 怎么删除远程分支?
```
git push origin -d 旧的远程分支名 (需要切换到其他分支删除)
```
### 当前分支正在开发中已经修改了一些(不是新加的文件。新文件没有加入暂存区不会被追踪,故不影响),此时需要切换到其他分支去修改文件怎么办?
```
使用 git stash 存储代码 后 就可以使用 git switch 分支名 切换了
后续开发完成后回来 使用 git stash pop 即可恢复之前修改的时候
```
### 创建新项目后如何关联仓库?
前提配置好了 git全局设置
~~~
git config --global user.name "姓名"
git config --global user.email "邮箱@qq.com"
~~~
方式一:克隆仓库
~~~
git clone 仓库地址
cd 项目根目录
touch README.md
git add README.md
git commit -m "add README"
git push -u origin master
~~~
方式二:已有文件夹或仓库
~~~
cd existing_folder
git init
git remote add origin 仓库地址
git add .
git commit
git push -u origin master
~~~
- 后端
- PHP
- php接收base64格式的图片
- php 下载文件
- 位,字节,字符的区别
- 求模技巧
- php curl
- php 浏览器禁用cookie后需要使用session 就可以用url传递session_id
- 有用小方法
- phpDoc
- php 文件锁来解决高并发
- php小知识
- PHP根据身份证号码,获取性别、获取生日、计算年龄等多个信息
- php 获取今天,明天、本周、本周末、本月的起始时间戳和结束时间戳的方法
- php 无限级分类
- xdebug设置
- curl
- 获取现在距离当天结束的还有多少秒
- win10安装php8版本报错(Fix PHP Warning: vcruntime140.dll 14.0 is not compatible with this PHP build.)
- 有趣代码注释
- php array_diff用法
- parse_str 处理http的query参数
- PHP文件上传限制
- php操作html
- php trim 函数的使用
- thinkphp5
- 定时任务不能连接数据库
- 宝塔设置计划任务
- 控制方法 return $data ,不能直接返回json
- tp5.1命令行
- tp3.2.3 报internal server error
- 悟空crm
- web-msg-sender的使用
- 杉德支付
- laravel
- laravel 迁移文件的使用
- laravel的安装
- laravel 单元测试
- laravel seeder的使用
- 模型相关
- restful理解
- laravel 的表单验证
- laravel 队列的使用
- laravel响应宏应用macro
- laravel 判断集合是否为空
- laravel 使用ymondesigns/jwt-auth jwt
- laravel 模型工厂
- laravel 自定义助手函数
- laravel 自带auth的登录
- 宝塔开启laravel队列
- laravel 苹果内购
- laravel 中的.env.example
- laravel 监听执行过的sql语句
- laravel-websockets 替代pusher 发送频道消息
- 记laravel config配置文件目录中不能使用 url()助手函数
- laravel使用 inspector 进行实时监控
- laravel 项目部署的配置
- laravel 删除mongodb集合
- laravel 自定义项目命名空间
- laravel 易错提醒
- laravel 自己组装分页
- laravel 设置定时任务
- laravel事件和队列指定队列名
- laravel 使用validate检测名字是否唯一
- laravel + nginx 伪静态分析
- fastadmin
- cms
- 标签
- 模板
- dact-admin
- dcat-admin的安装
- dcat-admin的curd使用
- dact-admin表单使用
- dcat-admin行为表单使用
- dcat-admin使用技巧
- dcat-admin自定义文件上传
- dcat-admin的js弹窗
- dcat-admin 工具表单传参
- dcat-admin listbox编辑回显用法
- weixin
- 微信支付
- 支付类
- 小程序
- 微信提现类
- jwt
- lcobucci/jwt
- Firebase\JWT
- phpstudy
- nginx配置tp5 505 404 错误
- tp5重写 apache
- 织梦模板 使用weight 排序
- phpstudy 添加php8.1版本
- phpstudy ERR_CONNECTION_REFUSED
- phpstudy 设置多个版本php
- 阿里云
- 支付宝支付
- 阿里云短信
- 阿里云OSS上传图片报错
- 阿里云号码认证(一键登录)
- send login code error: 发送验证码失败:cURL error 28: Connection timed out after 5001 milliseconds
- 极光号码认证(一键登录)
- git使用
- git
- sentry专栏
- sentry的私有化部署
- sentry设置邮箱
- sentry设置url地址
- sentry中KafkaError OFFSET_OUT_OF_RANGE error
- centos
- tar 压缩解压
- centos 8 Errors during downloading metadata for repository 'appstream'
- vim的使用
- ssh秘钥登录
- 修改了.bashrc不能立即生效
- 设置软连接
- 使用echo清空文件内容
- 查看文件大小
- centos8 设置静态ip
- nginx
- nginx的学习
- nginx配置wss
- supervisor的使用
- shell的使用
- 数据库
- mysql
- mysql的事务隔离级别
- mysql共享锁和排它锁
- mysql的三范式
- mysql 在那些场景下索引会失效
- mysql 的书写顺序
- mysql case用法
- mysql 以逗号分割字符串
- msyql innodb 行锁解决高并发
- mysql修改字符集
- 锁
- 乐观锁悲观锁
- mysql 最左索引原则
- mysql 同表两列值互换
- mysql升序排列字段为0的在最后
- mysql case when then else end 语法
- mysql 常见错误
- mysql json用法
- MongoDB
- mongodb安装
- redis
- redis 常用通用命令
- string类型的常见命令
- 连接远程redis删除指定的值
- markdown
- markdown的使用
- github
- github使用小技巧
- jenkins
- 安装jenkins
- jenkins设置时区
- docker
- 安装docker
- docker容器设为自启动和取消容器自启动
- docker 安装mysql
- docker-compose
- docker 安装php
- docker-compose安装nginx
- docker-compose安装php
- docker安装php+supervisor
- composer使用
- composer
- win10检查端口占用
- 局域网内同事访问自己的项目
- 本地测试设置https办法
- 正则表达式
- 前端代码和后台代码部署在一起的解决方法
- pc微信抓包小程序
- xshell一年后提示需要更新才能打开
- 使用ssh秘钥登录服务器
- supervisor
- supervisor的使用
- 浏览器的强制缓存和协商缓存
- window11下ssh远程登录服务器
- chatgpt
- 注册chatgpt
- 第三方chatgpt地址
- 前端
- jquery 常用方法
- jquery 省市区三级联动
- 百度地图短地址
- npm
- webpack
- vue
- 谷歌安装vue-devtools的使用
- swiper 一屏显示页面
- 腾讯地图
- jquery点击图片放大
- 移动端rem适配
- 弹性布局flex
- CSS
- box-sizing
- 移动端去掉滚动条
- 三角形
- 树形结构
- require.js的使用
- 微擎人人商城
- 人人商城弹出框
- 常用方法
- 客服消息
- 企业支付到零钱
- 修复权限问题
- 获取access_token
- 其他管理员没有应用 调用不了p方法
- 修改公众号推送消息
- 人人商城
- 人人商城二开常见问题
- 人人商城应用显示隐藏
- 微擎
- 人人商城小程序解密登录
- 面试题
- 遍历目录中的文件和目录
- 冒泡排序
- php 在字符串中找到最长对称字符串
- 地图相关
- 百度地图根据ip获取地址
- 百度,腾讯,高德,地图点击跳转
- 百度地图根据地址获取经纬度
- 百度地图和腾讯地图经纬度互转
- 其他
- B站跳过充电环节
- 可爱猫咪回收站制作(附图)
- 程序员变量命名网站
- 解决谷歌浏览器强制跳转https
- 随机密码生成
- 编辑器
- vs code使用
- phpstrom
- phpstrom 常用命令
- phpstrom ctrl+b后想回到之前的位置
- phpstrom 批量操作下划线转驼峰
- phpstrom 插件
- phpstrom 使用ctrl+shift+f后搜索不能输入中文
- phpstrom中项目.env文件会自动消失,不显示
- vscode插件