技术标签: git常用命令 Git git git速查 git操作 git工作常用
1024
了,程序猿们节日快乐,简单整理个供小白使用的git速查手册,之后有时间再完善,其实一会一些简单的操作平时工作就够用了(只要你别闹!一般不会有什么大问题),哈哈哈
安装完Git后第一件要做的事,设置用户信息(global可换成local在单独项目生效):
git config --global user.name "用户名"
#设置用户名
git config --global user.email "用户邮箱"
#设置邮箱
git config --global user.name
#查看用户名是否配置成功
git config --global user.email
#查看邮箱是否配置
其他查看配置相关
git config --global --list
#查看全局设置相关参数列表
git config --local --list
#查看本地设置相关参数列表
git config --system --list
#查看系统配置参数列表
git config --list
#查看所有Git的配置(全局+本地+系统)
git config --global color.ui true
#显示git相关颜色
git remote
#-v 显示更详细的信息
git init
git add 文件名
#将工作区的某个文件添加到暂存区
git add -u
#添加所有被tracked文件中被修改或删除的文件信息到暂存区,不处理untracked的文件
git add -A
#添加所有被tracked文件中被修改或删除的文件信息到暂存区,包括untracked的文件
git add .
#将当前工作区的所有文件都加入暂存区
git add -i
#进入交互界面模式,按需添加文件到缓存区
git commit -m "提交说明"
#将暂存区内容提交到本地仓库
git commit -a -m "提交说明"
#跳过缓存区操作,直接把工作区内容提交到本地仓库
git status
git diff
#工作区与暂存区的差异
git diff 分支名
#工作区与某分支的差异,远程分支这样写:remotes/origin/分支名
git diff HEAD
#工作区与HEAD指针指向的内容差异
git diff 提交id 文件路径
#工作区某文件当前版本与历史版本的差异
git diff --stage
#工作区文件与上次提交的差异(1.6 版本前用 --cached)
git diff 版本TAG
#查看从某个版本后都改动内容
git diff 分支A 分支B
#比较从分支A和分支B的差异(也支持比较两个TAG)
git diff 分支A...分支B
#比较两分支在分开后各自的改动
另外:如果只想统计哪些文件被改动,多少行被改动,可以添加--stat
参数
git log
#查看所有commit记录(SHA-A校验和,作者名称,邮箱,提交时间,提交说明)
git log -p -次数
#查看最近多少次的提交记录
git log --stat
#简略显示每次提交的内容更改
git log --name-only
#仅显示已修改的文件清单
git log --name-status
#显示新增,修改,删除的文件清单
git log --oneline
#让提交记录以精简的一行输出
git log --graph --all --oneline
#图形展示分支的合并历史
git log --author=作者
#查询作者的提交记录(和grep同时使用要加一个–all–match参数)
git log --grep=过滤信息
#列出提交信息中包含过滤信息的提交记录
git log -S查询内容
#和–grep类似,S和查询内容间没有空格
git log fileName
#查看某文件的修改记录,找背锅专用
git stash
//新建存储
git stash save "save message"
//添加备注,方便查找
git stash list
//查看stash了哪些存储
git stash show
//显示做了哪些改动,默认show第一个存储,如果要显示其他存贮,后面加stash@{ KaTeX parse error: Expected 'EOF', got '}' at position 4: num}̲,比如第二个 git stas…num} -p,比如第二个:git stash show stash@{1} -p
git stash apply
//恢复某个存储,默认第一个存储(存储列表不删除)stash@{$num}
可以指定哪个暂存。 eg:git stash apply stash@{1}。
git stash pop
//恢复某个存储,默认第一个存储(删除对应存储列表)会将缓存堆栈中的对应stash删除
git stash drop stash@{$num}
//丢弃某个暂存,比如第二个:git stash drop stash@{1},从列表中删除这个存储
git stash clear
//删除全部暂存,删除所有缓存的stash
git reset HEAD^
#恢复成上次提交的版本
git reset HEAD^^
#恢复成上上次提交的版本,就是多个^,以此类推或用~次数
git reflog
git reset --hard 版本号
--soft
:只是改变HEAD指针指向,缓存区和工作区不变;
--mixed
:修改HEAD指针指向,暂存区内容丢失,工作区不变;
--hard
:修改HEAD指针指向,暂存区内容丢失,工作区恢复以前状态;
git rm 文件名
git checkout -- test.txt
git remote add origin [email protected]:帐号名/仓库名.git
git clone [email protected]:git帐号名/仓库名.git
git checkout -b 本地分支 远程分支
#会在本地新建分支,并自动切换到该分支
git fetch origin 远程分支:本地分支
#会在本地新建分支,但不会自动切换,还需checkout
git branch --set-upstream 本地分支 远程分支
#建立本地分支与远程分支的链接
git checkout -b dev
#-b表示创建并切换分支
.
上面一条命令相当于一面的二条:
git branch dev
#创建分支
git checkout dev
#切换分支
git branch
git merge dev
#用于合并指定分支到当前分支
git merge --no-ff -m "merge with no-ff" dev
#加上–no-ff参数就可以用普通模式合并,合并后的历史有分支,能看出来曾经做过合并
git branch -d dev
git log --graph --pretty=oneline --abbrev-commit
git revert HEAD
#撤销最近的一个提交
git revert 版本号
#撤销某次commit
git tag 标签
#打标签命令,默认为HEAD
git tag
#显示所有标签
git tag 标签 �版本号
#给某个commit版本添加标签
git show 标签
#显示某个标签的详细信息
git fetch origin master
#从远程获取最新的到本地,首先从远程的origin的master主分支下载最新的版本到origin/master分支上,然后比较本地的master分支和origin/master分支的差别,最后进行合并。
新手建议使用git pull
git push -u origin master
git cherry-pick <commitHash>
//将指定提交应用于当前分支
git cherry-pick <HashA> <HashB>
//一次转移多个提交,这会在当前分支生成多个对应的新提交
git cherry-pick A..B
//转移一系列的连续提交, 转移从 A 到 B 的所有提交。它们必须按照正确的顺序放置:提交 A 必须早于提交 B,否则命令将失败,但不会报错。提交 A 将不会包含在 Cherry pick 中。
git cherry-pick A^..B
// 提交 A 包含在 Cherry pick 中。
git cherry-pick feature(分支名)
//将feature分支得最近一次提交,转移到当前分支
git cherry-pick -m 1 <commitHash>
//Cherry pick 采用提交commitHash来自编号1的父分支的变动
git cherry-pick --continue
//发生代码冲突后,第一步将修改的文件重新加入暂存区(git add .),第二步使用git cherry-pick --continue,让 Cherry pick 过程继续执行。
git cherry-pick --abort
//放弃 cherry-pick, 发生代码冲突后,放弃合并,回到操作前的样子。
git cherry-pick --quit
//退出 cherry-pick, 不回到操作前的样子。即保留已经 cherry-pick 成功的 commit,并退出 cherry-pick 流程。
文章浏览阅读4k次,点赞4次,收藏26次。为了方便理解,一步步的来首先先看一下串行的:#! /bin/bashST=$(date +%s)for i in $(seq 1 10)do echo $i sleep 1 # 模拟程序、命令doneET=$(date +%s)TIME=$(( ${ET} - ${ST} ))echo "time: ${TIME}"输出结果:12345678910time: 10这就最原始的进程运行模拟,串行方式,无法有效利用计算机的资源,_shell 并发
文章浏览阅读3.3k次,点赞3次,收藏5次。一开始使用Page时发现数据能出来但是无法分页,只能全部显示。打印数据出来也显示0。最后查了许多资料发现这个插件需要一个工具类的支持才可以实现。检查了一下代码发现也没有问题。最后更改完成测试,好使了。_使用mybatis-plus中page进行分页不生效
文章浏览阅读2k次。px、dp、sp、dpi之间的区别和转换区别:px (pixels)像素 -- 是像素,就是屏幕上实际的像素点单位。(一般UI人员在ps中经常使用)dp/dip 设备独立像素,android layout经常使用的尺寸单位,与设备屏幕有关,dp是虚拟像素,在不同的像素密度的设备上会自动适配。即与像素密度无关。sp 放大像素,主要是处理字体的大小dpi:Android支持四种不同的dpi模式:ldp..._dpi dp
文章浏览阅读3.4k次,点赞7次,收藏14次。%f和%lf分别是float类型和double类型用于格式化输入输出时对应的格式符号。其中:float,单精度浮点型,对应%f。double,双精度浮点型,对应%lf。在用于输出时:float类型可以使用%lf格式,但不会有任何好处。double类型如果使用了%f格式可能会导致输出错误。在用于输入时:double 类型使用了%f格式,会导致输入值错误。float类型使用double类型不仅会导致输入错误,还可能引起程序崩溃。所以在输入输出时,一定要区分好double和float,而使用对_%if
文章浏览阅读10w+次,点赞325次,收藏1.6k次。一、配置git路劲:或二、克隆项目或填写克隆路径及输出路径三、上传项目到git仓库 1、在你的idea里新建git仓库,这是新建本地仓库,等会会同步到线上git仓库 2、新建后如果文件名不是绿色的表示没有加入到git索引中 3、将需要上传的文件按照下图方式add 4、添加后,相应的文件名会变成绿色 5、然后commit项目,提交项目,这里是先提交带本地仓库 6、然后push到线上仓..._git idea
文章浏览阅读7.5k次,点赞24次,收藏58次。中缀表达式:中缀表达式是我们常见的数学表达式,其中运算符放置在两个操作数中间,例如:3 + 4 * 2。在中缀表达式中,还可以包含括号,用于改变运算符的优先级。后缀表达式:后缀表达式(也称为逆波兰表达式)是一种将运算符放置在操作数后面的表达式,例如:3 4 2 * 1 5 - 2 ^ / +。在后缀表达式中,所有操作符的优先级相同,而括号则不再需要。前缀表达式:前缀表达式(也称为波兰表达式)是一种将运算符放置在操作数前面的表达式,例如:+ / * 3 4 2 ^ - 1 5 2。_算术表达式的后缀式怎么算
文章浏览阅读1.5w次,点赞9次,收藏76次。Ubuntu20.04软件中心打不开 尝试了很多方法 Ubuntu 20.04 默认把软件中心换成了 snap, 感觉 snap 应用老出状况, snap 应用不但体积大, 安装好的应用还不时就崩溃, 所以如果要把电脑里的所有 snap 应用全部替换了, snapd 也卸载了. 下面这三句可以有效的解决 sudo apt install ubuntu-software sudo sn..._snap商店打不开
文章浏览阅读6.5k次,点赞8次,收藏70次。实验报告内容:一、实验目的、要求:(1)熟练掌握栈的特点(先进后出FILO)及基本操作,如入栈、出栈等,栈的顺序存储结构和链式存储结构,以便在实际问题背景下灵活应用。(2)编写适当的主函数和相关函数,使实验题目运行出正确结果。(3)当场编程、调试、编译。(4)程序具有一定的健壮性、可读性,尽量简洁。(5)程序运行完成后分别存盘,上交实验报告,要求写出实验体会二、实验内容:(1)实验题目(2)主要函数的算法设计思想(3)程序清单(3)测试数据、实验结果及结论(4)实验体会(实验中存在的_数据结构栈的应用实验报告
文章浏览阅读384次。#ifndef TESTRADIOBUTTON_H#define TESTRADIOBUTTON_H#include #include "ui_testradiobutton.h"class testRadioButton : public QMainWindow{ Q_OBJECTpublic: testRadioButton(QWidget *paren_radiobutton
文章浏览阅读2w次,点赞6次,收藏22次。封装自定义控件很简单,没什么技术含量,这里通过封装自定义的数字文本框实例简单总结一下:【1】新建自定义控件库 -- Windows Forms Control Library【2】添加自定义组件 -- Component Class【3】继承TextBox,添加KeyPress事件,代码如下:using System;usi_把winfrom用户自定义控件封装成dll
文章浏览阅读619次。mysql版本:5.6.14一、修改 my.cnf 文件,增加skip-slave-start参数即可[mysqld]#主从log-bin=mysql-binserver-id=148skip-slave-start二、重启mysql/etc/init.d/mysql restart三、验证slave是否启动mysql> SHOW SLAVE STATUS\G****************..._mysql disable slave
文章浏览阅读5k次。vue或者vue-admin-template中任意页面刷新都跳转404vue在刷新的时候动态添加的router会清空,所以在动态添加的路由页面刷新的时候会因为清空的router而跳转到404.。在/src/premission.js的最下方router.afterEach修改成下面这样router.afterEach(to =>{ sessionStorage.setItem('r..._vue admin 直接跳到404