实用工具系列-git常用命令

作者持续关注 WPS二次开发专题系列,持续为大家带来更多有价值的WPS开发技术细节,如果能够帮助到您,请帮忙来个一键三连,更多问题请联系我(WPS二次开发QQ群:250325397),摸鱼吹牛嗨起来!

目录

一、Git操作命令

1. git 版本库操作

2.git 配置

git 日志操作

3.git 还原操作

4. 分支操作

二、实践应用场景

查看分支创建者

根据关键字搜索关联分支----使用"grep"进行过滤


一、Git操作命令

1. git 版本库操作


  • git init: 初始化仓库
  • git clone https://github.com/xx/xx.git : 克隆代码
  • git remote add origin https://github.com/xx/xx.git 设置远程git路径
  • git remote set-url origin <url> : 修改仓库地址
  • git remote -v : 查看远程仓库地址
  • git push -u origin master(分支) : 上传代码到远程仓库
  • git push : 提交所有
  • git fetch : 拉取远程仓库,拉取远程仓库所有分支信息
  • git fetch origin <分支名>: 拉取远程仓库特定分支信息
  • git pull : 拉取所有

暂存区

  • git add . :添加全部文件,将全部文件添加到暂存区, 相当于GUI的add操作
  • git add -u: 更新提交记录(本地)
  • git reset HEAD test.txt:暂存区撤销,撤销添加到暂存区的文件
  • git add file.txt file2.text: 添加一个和多个文件,用空格分开文件名
  • git commit - m “初始化提交” : 提交命令
  • git commit --amend : 修改提交说明
  • git cherry-pick <commitId1><commitID2>将指定的提交<commitId> 合并到当前分支, 会产生一个新的的提交记录 git cherry-pick 教程 - 阮一峰的网络日志 pick教程
  • git cherry-pick <branchName>: 合并分支的最新(最近一次)提交
  • git diff HEAD -- git01.txt :与版本库内容进行比较“----”:表示变动前的文件,“+++”:变动后的文件, 变动的位置用两个@作为起首和结束
  • git status : 查看状态,可以查看所有文件变化
  • git -version: 查看git版本,看git是否安装成功

2.git 配置


  • git config --global user.name 'xx' : 配置一个全局的用户(xx)
  • git config --global --repleace-all user.name “xx”: 替换已经设置了用户名
  • git config --global user.email 'xxx' : 配置一个全局的邮箱(xxx)
  • git config --global --list: 查看所有的配置,可以看到的用户名,邮箱配置
  • git config --add --local user.name “xx” :设置当前仓库的用户名
  • git config --add --local user.email “xxx” : 设置当前仓库的邮箱
  • git config --local --list : 查看当前仓库的用户名和邮箱
  • git rm --cached test.txt: 撤销误提交的test.txt文件
  • git rm file.txt : 删除文件,删除file.txt文件
  • git mv file1.txt file2.txt : 重命名,将file1.txt 重命名为file2.txt
  • git mv file.txt home/file.txt :将文件移动到文件夹home下

git 日志操作

  • git log: 查看提交记录,查看所有人的提交记录
  • git log --oneline :查看简写的log日志
  • git log --author=”用户名’ : 查看单个人提交记录, 没有任何显示,这说明没有这个人或提交记录//文件有变化的时候,如何查看文件的前后变化
  • git log --pertty=oneline home/home.html : 查看文件变化的id(commit id)
  • git log --graph --pertty=oneline : 查看分支合并图
  • git log --oneline --graph : 查看版本路线
  • git log -p home/demo.html : 查看文件具体修改的内容git show 提交id(commit id): 显示谁提交的,修改了哪些内容

3.git 还原操作

//操作失误的情况下,如何一键还原git diff : 找到不同git checkout -- home/home.html : 将文件回到上一次状态,(还原到上一次提交的状态),未实现文件追踪的时候git checkout 版本号 -- demo.html : 将指定文件回退到指定版本

git reset

  • git reset HEAD home/home.html : 撤销追踪,已经实现了文件追踪,想回到上次提交的状态//回到上一版本,或者指定
  • git reset --hard HEAD^ : 一个尖括号表示回到上一个版本,HEAD^^:回退到上上版本,有几个尖括号代表回退几个版
  • git reset --hard 版本id :回退到指定版本
  • git reset --hard: 重置head 和branch的时候,重置工作区 + 暂存区 会覆盖本地所有修改
  • git reset --soft: 重置HEAD和Branch的时候,保留工作区 + 暂存区, 新修改添加到暂存区
  • git reset --mixed: 保留工作区 + 清空暂存区, 所有修改都放到工作区

git revert

git - 在恢复后的命令栏中,git显示( master|REVERTING )你在revert中,可以执行以下任一操作:

  • git revert --continue / --quit / --abort--continue 使用.git/sequencer中的信息继续进行中的操作。可用于在解决失败的cherry pick或revert中的冲突后继续。--quit 忽略正在进行的当前操作,可用于在失败的cherry pick或revert后,清除sequencer状态。--abort 取消操作并返回序列前状态。

git bash :进入某个目录:$ cd /f/gitlib/gitdemo 表示进入:F:\gitlib\gitdemo

git restore

  • git restore 文件名: 撤销某个文件修改
  • git resore app/test.java //撤销某个文件修改

//标签管理git tag v1.0 : 创建标签v1.0 ,默认增加到最新的一次commit上面git tag : 查看taggit tag v0.5 commitID : 给指定的提交增加tag v0.5git tag -d tagName : 删除标签

4. 分支操作

  • git branch branchName : 创建分支git branch : 查看分支,*代表当前分支在哪个分支, 顺序安装首字母的顺序排序,并不是创建时间
  • git branch --all/-a: 查看所有分支,本地分支和远程分支,remotes/origin/ xxx 为远程分支
  • git reflog show --date=iso <branchName> : 查看分支创建时间
  • git reflog --date=local --all :查看全部分支创建时间
  • git push origin branch_name: 推送本地分支到远程(远程没有分支,则创建分支)
  • git push --set-upstream origin master :
  • git pull origin master : 拉取远程分支代码(新拉取、更新)
  • git pull :拉取所有远程分支
  • git fetch origin master: 拉取远程分支Head新,这样本地就可以找到分支信息
  • git checkout -b local_branch origin/remote_branch: 拉取远程指定分支并在本地创建分支,创建并关联远程的分支
  • git chekcout branchName : 切换到具体的分支
  • git branch -d branchName : 删除分支,不能删除当前分支, 如果当前分支有提交的代码(commit)的情况, 不能删除
  • git branch -D branchName : 强制删除本地分支
  • git push origin --delete <branch_name> :删除远程分支
  • git push origin : remote_branch: 删除远程分支(本地分支还在保留)
  • git checkout -b branchName : 创建分支并切换到创建的分支: 创建+切换//合并分支: 先要切换到要合并的分支,然后执行合并命令
  • git branch -m 旧名字 新名字 : 本地分支更名
  • git branch -m 旧名字 新名字
  • git diff branch1 branch2: 比较分支差异
  • git merge branchName: 将branchName分支代码合并到当前分支//分支冲突

//方法1

  • git merge --abort :只保留当前分支修改,忽略其它分支合并的内容(冲突内容)//方法2, 手动修改, + git add . + git commit + INSERT编辑中输入变更的说明,wq退出,然后,git commit -m git branch -av : 查看当前分支与远程分支的关系 git rebase: 合并分支另一种方法,Rebase 实际上就是取出一系列提交记录,“复制”它们,然后在另一个地方逐个的放下去。Rebase的优势是可以创造更线性的提交历史比如在bugFix分支上操作:git rebase dev : 相当于将bugFix的修改合并到dev分支上

如果想看 HEAD 指向,可以通过 cat .git/HEAD 查看, 如果 HEAD 指向的是一个引用,还可以用 git symbolic-ref HEAD 查看它的指向。但是该程序不支持这两个命令)

github扩展google访问助手,访问google应用商店Octotree插件

Enhanced gitHub 插件可以查看单个文件的大小,可以直接下载单个文件

gitZip for github插件可以直接下载某个文件夹: 双击出现下载图标

一些恢复操作(能救命的)git stash clear的恢复和找回第一步:

git log --graph --oneline --decorate $( git fsck --no-reflog | awk '/dangling commit/ {print $3}' )

第二步:git stash apply commitId -------找On前面的,如上图标注的

参考:git stash clear的恢复和找回_恢复 stash clear-CSDN博客

git忽略已经添加版本控制的文件今天使用git做maven项目的版本控制,刚开始搭建项目后,把所有文件全部提交了。已经提交的文件,gitignore中后配置也无效了。所以使用以下命令来操作,操作后要提交哦。1.执行 git rm -r -n --cached "target/" 展示要删除的文件预览列表2.执行 git rm -r --cached "target/" 删除文件的命令

二、实践应用场景

查看分支创建者

git for-each-ref --format='%(committerdate) %09 %(authorname) %09 %(refname)' | sort -k5n -k2M -k3n -k4n |grep "关键字"

根据关键字搜索关联分支----使用"grep"进行过滤

eg: 查看远程仓库 包含 “关键字”字符串的分支信息

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/812603.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

kylin v10 php源码安装后配置nginx

银河麒麟V10 源码编译安装php7.4 下载地址 https://www.php.net/distributions/php-7.4.33.tar.xz 安装依赖包&#xff0c;准备编译 dnf install libxml2-devel sqlite-devel bzip2-devel libcurl-devel libjpeg-turbo-devel freetype-devel openldap-devel libtool-devel p…

引领未来:杭州2024快递物流展共绘创新浪潮,塑造智慧物流新蓝图

杭州&#xff0c;作为中国的电商之都&#xff0c;近年来在快递物流行业背景与应用方面取得了显著的发展。随着电子商务的迅猛增长&#xff0c;杭州的快递物流行业迅速崛起&#xff0c;成为支撑电商产业发展的重要力量。 2024长三角&#xff08;杭州&#xff09;快递物流供应链与…

FFmpeg: 简易ijkplayer播放器实现--05ijkplayer–连接UI界面和ffplay.c

文章目录 ijkplayer时序图消息循环--回调函数实现播放器播放时状态转换播放停止 ijkmediaPlay成员变量成员函数 ijkplayer时序图 stream_open: frame_queue_init packet_queue_init init_clock 创建read_thread线程 创建video_refresh_thread线程 消息循环–回调函数实现 ui …

Go 之从标准输入读取数据的方法

最近刷题的时候&#xff0c;发现大家都喜欢用 bufio.Scanner 或 bufio.Reader 来从标准输入获取数据&#xff0c;遂来了解一下它们的特性。 文中为了调试方便&#xff0c;使用的 strings.NewReader("input string") 暂时替换 os.Stdin&#xff0c;实际从标准输入获取…

从吉客云到MySQL通过接口配置打通数据

从吉客云到MySQL通过接口配置打通数据 数据源系统:吉客云 吉客云是基于“网店管家”十五年电商ERP行业和技术积累基础上顺应产业发展需求&#xff0c;重新定位、全新设计推出的换代产品&#xff0c;从业务数字化和组织数字化两个方向出发&#xff0c;以构建流程的闭环为依归&am…

大数据入门之如何利用Phoenix访问Hbase

在大数据的世界里&#xff0c;HBase和Phoenix可谓是一对黄金搭档。HBase以其高效的列式存储和强大的数据扩展能力&#xff0c;成为大数据存储领域的佼佼者&#xff1b;而Phoenix则以其SQL化的操作方式&#xff0c;简化了对HBase的访问过程。今天&#xff0c;就让我们一起看看如…

Groovy快速入门

Groovy是一种面向对象的、动态类型的、基于JVM的编程语言&#xff0c;它与Java高度兼容&#xff0c;同时引入了许多简洁、灵活的语法特性&#xff0c;使得开发更为高效。以下是Groovy的快速入门指南&#xff1a; 一. 环境准备 1. 安装Java Development Kit (JDK) Groovy是基于…

学习笔记-微服务基础(黑马程序员)

框架 spring cloudspring cloud alibaba Eureka eureka-server 注册中心 eureka-client 客户端每30s发送心跳服务 服务消费者服务提供者 server 依赖 <dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-star…

牛客挑战赛74(A,B,C,D)

比赛链接 这场纯纯shit&#xff0c;C是大讨论&#xff0c;D是大模拟。 A 硫酸钡之梦 思路&#xff1a; 发现我们到达第 i i i 个位置的时候&#xff0c;状态其实只有 3 3 3 个&#xff0c;取了的个数-未取的个数-1&#xff0c;0或1。而前面的选取方式不会影响到后面的选取…

Pandas部分应掌握的重要知识点

目录 Pandas部分应掌握的重要知识点一、DataFrame数据框的创建1、直接基于二维数据创建&#xff08;同时使用index和columns参数&#xff09;2、基于excel文件中的数据来创建 二、查看数据框中的数据和联机帮助信息1、查看特殊行的数据2、查看联机帮助的两种常见方法&#xff0…

JavaScript教程(八)--- 正则表达式

正则表达式 正则表达式是用于匹配字符串中字符组合的模式。在 JavaScript 中&#xff0c;正则表达式也是对象。这些模式被用于 RegExp 的 exec 和 test 方法&#xff0c;以及 String 的 match、matchAll、replace、search 和 split 方法。本章介绍 JavaScript 正则表达式。 创…

image with CV

""" 视觉&#xff1a;基本API应用&#xff08;OPENCV&#xff09; """ import cv2 import numpy as np"""图像读取方式3. 1.cv2.imread(filename or path, flags)flags0:灰度图像&#xff1b;flags1表示RGB图像&#xff1b;fl…

2024年mathorcup(妈妈杯)数学建模C题思路-物流网络分拣中心货量预测及人员排班

# 1 赛题 C 题 物流网络分拣中心货量预测及人员排班 电商物流网络在订单履约中由多个环节组成&#xff0c;图 ’ 是一个简化的物流 网络示意图。其中&#xff0c;分拣中心作为网络的中间环节&#xff0c;需要将包裹按照不同 流向进行分拣并发往下一个场地&#xff0c;最终使包裹…

JavaScript教程(十三)--- 使用 Promise

使用 Promise Promise 是一个对象&#xff0c;它代表了一个异步操作的最终完成或者失败。因为大多数人仅仅是使用已创建的 Promise 实例对象&#xff0c;所以本教程将首先说明怎样使用 Promise&#xff0c;再说明如何创建 Promise。 本质上 Promise 是一个函数返回的对象&…

《黑马点评》Redis高并发项目实战笔记(上)P1~P43

P1 Redis企业实战课程介绍 P2 短信登录 导入黑马点评项目 首先在数据库连接下新建一个数据库hmdp&#xff0c;然后右键hmdp下的表&#xff0c;选择运行SQL文件&#xff0c;然后指定运行文件hmdp.sql即可&#xff08;建议MySQL的版本在5.7及以上&#xff09;&#xff1a; 下面这…

ArrayList部分底层源码分析

JDK版本为1.8.0_271&#xff0c;以插入和删除元素为例&#xff0c;部分源码如下&#xff1a; // 部分属性 transient Object[] elementData; // 底层数组 private int size; // 记录元素个数 private static final Object[] DEFAULTCAPACITY_EMPTY_ELEMENTDATA {}; // 空Obje…

数据结构2:基于顺序表的通讯录项目

文章目录 头文件SeqList.hContact.h 实现文件SeqList.cContact.c 测试文件text.c 头文件 SeqList.h #pragma once#include<stdio.h> #include<stdlib.h> #include<assert.h> #include"Contact.h"#define INIT_CAPACITY 4//将顺序表数据类型调整为…

基于可变形卷积的大规模视觉基础模型的探索

基于可变形卷积的大规模视觉基础模型的探索 文章目录 基于可变形卷积的大规模视觉基础模型的探索一、简介二、亮点三、项目功能四、模型的应用1、图像模态任务性能2. 图文跨模态任务性能 五、源程序下载 一、简介 本模型包括大规模视觉基础模型"InternImage"&#x…

物联网实战--驱动篇之(五)TEA和AES加密算法

目录 一、前言 二、TEA算法 三、AES算法 四、加解密测试 五、安全性保障 一、前言 物联网的安全性是经常被提及的一个点&#xff0c;如果你的设备之间通讯没有加密的话&#xff0c;那么攻击者很容易就能获取并解析出报文的协议&#xff0c;从而根据攻击者的需要进行设备操…

MongoDB的安装和使用

1.MongoDB 安装 1.1 基于Docker安装 docker run --restartalways -d --name mongo -v /opt/mongodb/data:/data/db -p 27017:27017 mongo:4.0.6 1.2 客户端工具使用 MongoDB Compass | MongoDB 2.MongoDB 使用 2.1 引用依赖包 <dependency><groupId>org.sprin…