git使用笔记

git下载

https://git-scm.com/download/win

git的常用名词

序号名词操作指令解释重要程度
1git工作区working directory 是保存代码文件的地方
2git暂存区staging area 是介于工作区和git仓库之间的一个区域★★
3git克隆git clone将远程仓库的代码复制到本地,并创建一个本地仓库★★★★★
4git拉取git pull将远程仓库中最新的代码更新到本地仓库中,并将本地仓库中的当前分支中的代码与远程仓库中的代码合并★★★★★
5git提交git commit将暂存区中的修改保存到git仓库中的操作,每次提交都需要写一个简短的提交信息★★★★★
6git推送git push将本地仓库中的代码推送到远程仓库中★★★★★
7git合并git merge将两个分支中的修改合并到一起的操作★★★★
8git分支git branch在一个仓库中创建多个分支,每个分支都可以独立地进行开发★★★★★

git可视化工具 sourcetree

下载地址:
https://www.sourcetreeapp.com
在这里插入图片描述

gitlab

拉去代码

git clone http://xxxxx/xxx.git

git分支

创建分支 git branch [branchName]

git branch testing

切换分支 git checkout [branchName]

git checkout testing

在本地创建分支dev并切换到该分支

git checkout -b dev(本地分支名称) origin/develop(远程分支名称)

本地分支合并

背景:修改了本地分支 tim
目的:把本地分支 tim 合并到开发分支 develop
准备:先重远程分支更新到develop,确保develop分支和远程分支保持一致
切换到develop分支:git checkout develop
合并分支:git merge tim

把本地分支推送到远程分支

本地创建了分支 sit , 远程参考没有分支 sit
git push --set-upstream origin sit:sit

  • sit 是分支名称

查看日志记录

git log --pretty=format:"%ai , %an: %s" --since="10 day ago"
2023-06-20 11:37:33 +0800 , Steven: 素材保存更新
2023-06-18 10:47:10 +0800 , Steven: 素材权限查询
2023-06-16 16:16:27 +0800 , Steven: 11
2023-06-15 15:19:43 +0800 , Steven: 11

对比两个版本的文件差异

# 导出两个版本的差异文件名
git diff 0b488b9 8696ece --name-only > my-record.txt
# 新增的文件
git diff 0b488b9 8696ece --name-only --diff-filter=A > my-record-A.txt
# 修改的文件
git diff 0b488b9 8696ece --name-only --diff-filter=M > my-record-M.txt
# 删除的文件
git diff 0b488b9 8696ece --name-only --diff-filter=D > my-record-D.txt

–diff-filter=[(A|C|D|M|R|T|U|X|B)…[*]]
只选择那些添加 (A), 赋值 ©, 删除 (D), 修改 (M), 重命名 ®的文件,
它们的类型(如 普通文件, 符号链接, 子模块, …) 是否改变 (T), 是否未合并 (U), 是未知 (X), 或它们的对崩溃(B). 任何过滤字符的组合(包括none)均可使用。当组合中包括All或none,如果任一文件匹配了其他选项,就选择了所有路径。如果没有文件匹配其他选项,什么都不做。

导出文件:my-record.txt

bootstrap.properties
build.gradle
gradle.properties
sz-nq-sanqle-otherservice-feigninql/src/main/java/com/sz/nq/busi/sanqle/otherservice/inql/CscSysClueService.java
sz-nq-sanqle-otherservice-feigninql/src/main/java/com/sz/nq/busi/sanqle/otherservice/inql/CscSysOrgService.java
sz-nq-sanqle-otherservice-feigninql/src/main/java/com/sz/nq/busi/sanqle/otherservice/inql/CscVehicleService.java

比较指定的两次提交 「commit1」与 「commit2」的差异 git diff commit1 commit2

–stat 显示有多少行发生变化,简洁的展示差异;

D:\acc_service>git diff 5f85f64 20103d6 --stat
 .../material/controller/AccMaterialController.java |   2 +-
 .../AccMaterialPermissionController.java           |  39 ++---
 .../controller/AccMaterialTypeController.java      |   4 +-
 .../material/entities/AccMaterialPermission.java   |  84 +++++++---
 .../service/IAccMaterialPermissionService.java     |   6 +-
 .../service/impl/AccMaterialPermissionService.java | 182 +++++++++++----------
 .../assembly/mapper/AccMaterialMapper.xml          |  50 +++---
 .../mapper/AccMaterialPermissionMapper.xml         |  71 +++++---
 8 files changed, 259 insertions(+), 179 deletions(-)

合并分支

版本回退

git reset --hard commitId
git reset --hard ff5dc614db739159511848f928489150ce81a51a
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qq_26264237

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值