Git常用命令总结

news2025/1/11 20:48:01
配置git

本地创建 ssh key: ssh keygen -t rsa -c “email” // email:github上注册用的邮箱
把上面生成的 key 粘贴到 gitHUb中的 sshkey中
验证 是否成功 ssh -T git@github.com
如果是第一次的会 提示 是否continue ,输入 yes 就会看到
You’ve successfully authenticated ,but github does not provide shell access
表示已成功连接上GitHub,
git 选项解释,

-d
–delete 删除
-D
–delete --force的快捷键
-f
–force 强制
-m
–move :移动或重命名
-r
–remote 远程
-a
– all 所有

git init

git init :当前目录作为git 仓库
git init path: 指定目录作为git仓库,建议【path】:使用绝对路径,否则在安装git软件的路径下的相对路径。
##git add
目的将修改文件由工作区提交到暂存区(stage) 从未缓存——>已缓存
git add 添加多个文件,文件之间用空格隔开
git add file1 file2 file3
###多次git add
git add file1
git add file2
git add file3
###添加指定目录下的文件
git source/* source目录下及子目录下所有文件
git home/*.py home 目录下所有 .py 文件
git add . 添加所有文件
git add --all 添加所有文件
git add 文件夹
git add 文件夹名
在这里插入图片描述

  1. fetch:远程主机最新内容拉到本地,用户在检查了以后决定是否合并到工作区分支中
  2. pull:远程主机最新内容拉下来后直接合并。即pull=fetch+merge,就这样可能会产生conflict(冲突),需要手动解决。
git Clone

git clone 克隆仓库
git clone 克隆到指定的目录。

git add

git add [file1][file2]… 添加一个或多文件到stage
git add [dir] 添加和指定目录到暂存区,包括子目录
git add • 添加当前目前下所有文件到stage

git statue 命令用于查看在你上次提交之后是否有对文件进行再次修改。

git statue 显示上次提交更新后的更改或写入stage的改动,查看仓库当前的状态,显示有变更的文件
git status -s 获取简短的输出结果

git status -s
AM xxxx //AM :表示这个文件在我们添加到缓存之后又有改动
A xxx

Git Diff

比较文件在暂存区(stage)和工作区的差异
1、显示暂存区和工作区的差异
git diff [File]
2、显示暂存区和上一次提交(commit)的差异
git diff --cached 【File】

git diff --stage 【file】
3、显示两次提交之间的差异
git diff 【first-branch】…[second -branch]

GIt Commit

将暂存区内容添加到本地仓库中【local repository】
①提交stage 内容到本地仓库中
git commit -m [message]
②提交stage指定文件内容到本地仓库
git commit 【file1】【file2】…-m 【message】
③ -a 修改文件后 不需要执行git add 直接提交
git commit -a

git reset 回退版本

①git revert -n 版本号 //可能出现conflict 需要手动修改冲突文件,而且要使git add 文件名
② git commit -m “message” // 可以理解把上一个版本提交,再次提交。
此时可用git log 查看本地版本库信息,可见多生成一个新的版本
③ git push origin master // 推上远程库
④ git reset 的作用是修改HEAD 的位置,即将head指向的位置改变未之前存在的某个版本

HEAD:相当于指针,指向当前分支的,它总是指向当前分支上的最后一次提交
git reset 操作过程
① git log 查看提供记录的版本号
②git reset -hard 版本号 // 回退到指定版本
③git push -f origin master // 此时如果用“git push” 会报错,因为我们本地库的head,指向的版本库比远程库的要旧。所以要强制 -f force

git rm //用于删除文件

  1. 将文件从暂存区和工作区中删除
    git rm 【file】
    2、如果删除之前修改过并且已经放到stage区的话,则必须要用强制删除, -f
    git rm -f 【file】
    3、如果想把文件从暂存区移除,但仍然希望保留在当前工作目录中
    git rm – cached 【file】
git mv 移动或重命名工作区文件

git mv 用于移动或重命名一个文件、目录、软连接
git mv 【file】【new file】

git log 查看历史提交记录

1、git log 查看历史提交记录
2、git blame 【file】 以列表形式查看指定文件的历史修改记录
git log --online 查看历史记录简洁的版本
git log --graph 查看历史中什么时候出现了分支、合并
git log --reverse 逆向显示所有日志
git log --author xxx 查看指定用户提交日志。
指定日期, --since --before --under --after
git log --online --before={3.weeks.ago} --after={2021-04-13}

git remote 远程仓库操作

1、git remote -v 显示所有远程仓库

git remote -v
origin xxxxx //为远程地址的别名
origin xxxx
2、显示某个远程仓库的信息
git remote show 【remote】 //remote :远程地址
3、添加到远程版本号
git remote add 【shortname 远程仓库在本地的别名】[url]
git remote rm name //删除远程仓库 本地删除远程的管理
git remote rename old_name new_name //修改仓库名

git fetch //从远程获取代码库

将某个远程主机的更新全部取回到本地
git fetch <远程主机>
取回特定的分支
git fetch <远程主机> <分支名>
取出origin 主机的master 分支
git fecth origin master
取回更新后,会返回一个FETCH_HEAD 指某个branch 在服务器上最新状态,我们可以在本地通过它查看刚取出更新信息
git log -p FETCH-HEAD

git pull 下载远程代码并合并本地的版本

git pull <远程主机名><远程分支名>:<本地分支名>
将远程主机origin的master 分支拉取过来,与本地的branchtest分支合并
git pull origin master :branchtest
如果远程分支与当前分支合并,则冒号后面的部分可以省略
git pull origin master

git push 上传远程代码并合并

将本地的分支版本上传到远程并合并
git push <远程主机名><本地分支名>:<远程分支名>
如果远程与本地分支名相同,可以省略冒号
git push <远程主机名><本地分支名>
如果本地版本号与远程版本号有差异,但又要强制推送可以用 --force 参数
git push --force origin master
git push origin --delete master //删除origin主机的master分支 origin:表示远程地址
解决本地与远程的冲突方式
1、git push -f origin master

git push origin master -f
本地强制上传到远程,把远程覆盖

2、git pull --rebase origin master
拉取远程的文件把本地的覆盖,再上传。
如果远程分支与当前分支合并,则冒号后面的部分可以省略
git pull origin master

git push 上传远程代码并合并
将本地的分支版本上传到远程并合并
git push <远程主机名> <本地分支名>:<远程分支名>
如果远程与本地分支名相同,可以省略冒号
git push <远程主机名><本地分支名>
如果本地版本与远程版本有差异,但又要强制推送可以 使用–force参数
git push --force origin master
git push origin --delete master //删除origin 主机的master分支

git tag -a V1.0
git tag 显示查看所有标签
如果忘记给每个提交打标签,又将它发布了,可以追加 标签
假如 发布提交了85fc7e7,但忘记给它打标签了
git tag -a V0.9 85fc7e7
指定标签信息命令:git tag -a -m “xxxxx”

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

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

相关文章

Springboot健康上报小程序: element后台管理系统(完整代码)

这几天接到了个学生的需求&#xff0c;挺简单的&#xff0c;大概就是按照她的需求做一个疫情期间常态化管理的小程序&#xff0c;由于我对java不熟悉&#xff0c;基本上是边做边学&#xff0c;这里我将对本次项目做个记录 ✨✨欢迎订阅本专栏或者关注我&#xff0c;大家一起努力…

内科大机器学习框架课程重点内容笔记

文章目录一.背景二.内容一.背景 这是2020届内科大机器学习框架课程的考试复习内容 二.内容 1.变量间的相互关系&#xff1a; (1)确定性关系或函数关系&#xff1a;研究的是确定现象非随机变量间的关系。 (2)相关关系或统计依赖关系&#xff1a;研究的是非确定现象随机变量间…

计算机毕设Python+Vue校园一卡通管理系统(程序+LW+部署)

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

外滩金融峰会公布“第七届融城杯十佳案例”,工行、创邻科技等成功上榜

12月11日&#xff0c;由中国金融四十人论坛&#xff08;CF40&#xff09;主办的第四届外滩金融峰会在上海召开。国家副主席王岐山为峰会致开幕辞&#xff0c;中国人民银行原行长周小川、上海新金融研究院理事长屠光绍、中国人民银行副行长宣昌能、中央财经委员会办公室副主任尹…

存储mybatis的xml标签,动态sql 查询

前言&#xff1a; 通过表动态存储mybatis 的xml标签&#xff0c;通过动态sql 入参查询&#xff0c;方便更新查询逻辑&#xff0c;无需发版即可&#xff1b;&#xff08;当前用的是 mybatis-plus &#xff0c;db用的是oracle【这个无所谓】&#xff09; 注意事项&#xff1a;这…

【C】带你复习有趣的函数

作者 &#xff1a;会敲代码的Steve 墓志铭&#xff1a;博学笃志&#xff0c;切问静思。 前言&#xff1a;本文旨在总结C语言函数章节的知识点、分为以下九个模块、分别是&#xff1a; 1.函数是什么 2.库函数 3.自定义函数 4.函数参数 5.函数调用 6.函数的嵌套调用和链式…

vue3计算属性和侦听与script setup区别使用

一、计算属性computed 计算属性&#xff0c;只要依赖值不变&#xff0c;那么不会重新计算计算属性将基于它们的反应依赖关系缓存&#xff0c;提高性能对于任何包含响应式数据的复杂逻辑&#xff0c;应该使用计算属性 <template><!--重复使用--><p>{{ msg.s…

Redis——好友关注、共同关注、Feed流推送

1. 好友关注 在探店图文的详情页面中&#xff0c;可以关注发布笔记的作者&#xff1a; 进到探店笔记详情页&#xff0c;会发出两个请求&#xff0c;1是判断是否已经关注&#xff0c;2是尝试关注用户的请求。 关注是User之间的关系&#xff0c;是博主与粉丝的关系&#xff0c;…

你用过猿如意吗?猿如意可以使用ChatGPT哦,这里详细介绍了猿如意的功能,为什么我建议你使用猿如意,来看看吧

文章内容介绍 你是否还在为为每次安装IDE&#xff08;集成开发工具&#xff09;要去各种网站找教程而烦恼&#xff1f;你是否还在为各种文本格式转换而头痛&#xff1f;你是否在为斗图都不过兄弟们而卑微&#xff1f;你是否在为互联网中庞大冗杂却低效的教程文档而崩溃&#x…

SpringMVC:SpringMVC响应结果(7)

响应结果1. 环境准备2. 响应页面3. 响应文本数据4. 响应JSON数据&#xff08;掌握&#xff09;4.1 响应POJO对象4.2 响应POJO集合对象1. 环境准备 项目结构 pom.xml添加Spring依赖 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"…

Mathtype / Word OMML / Latex 公式相互转换

文章目录Part.I 快应用Part.II 详细操作Chap.I Mathtype ↔ WordChap.II Mathtype ↔ LatexChap.III Latex ↔ WordPart.I 快应用 本文介绍了除了使用 Word 和 Mathtype 之外不使用其他任何辅助软件来实现三者相互转换的方法。 项目操作方法Mathtype 转成 Word OMMLWord菜单栏→…

信息化课堂怎么控屏教学的

现在的很多学校都在建设机房进行互动教学&#xff0c;相比于传统的教学方法&#xff0c;计算机的教学方式能够直观的表达每堂课的知识点&#xff0c;过程更为新颖&#xff0c;有利于吸引学生的注意力&#xff0c;提高在学习过程中的专注力。 但是&#xff0c;在提高增加课堂中学…

redo log 和binlog的相关问题及其衍生

目录 下在两阶段提交的不同时刻&#xff0c;MySQL异常重启会出现什么现象。 那么&#xff0c; MySQL怎么知道binlog是完整的? redo log 和 binlog是怎么关联起来的? 处于prepare阶段的redo log加上完整binlog&#xff0c;重启就能恢复&#xff0c;MySQL为什么要这么设计? …

ensp环境 AC+AP组网及ACweb界面配置

1.进入交换机划分Vlan并且配置好每条链路 The device is running! <Huawei>system-view [Huawei]sysname SW1 [SW1]vlan batch 100 101 [SW1]interface GigabitEthernet 0/0/2 [SW1-GigabitEthernet0/0/2]port link-type trunk [SW1-GigabitEthernet0/0/2]port trunk…

C++:类和对象:对象的初始化和清理

1 前言&#xff1a; 构造和析构的背景 1&#xff1a;C中的面向对象来源于生活&#xff0c;每个对象都会有初始值以及对象销毁前的清理数据设置 2&#xff1a;对象的初始化和清理是两个非常重要的安全问题&#xff0c;一个对象或者变量没有初始状态&#xff0c;对其使用后果是未…

左旋咪唑大单层/青蒿素长循环/酒石酸长春瑞滨热敏/棕榈酰五肽-4柔性/Anti-HER2免疫脂质体的研究

小编今天为大家分享了左旋咪唑大单层/青蒿素长循环/酒石酸长春瑞滨热敏/棕榈酰五肽-4柔性/Anti-HER2免疫脂质体的制备研究。 青蒿素长循环脂质体的制备&#xff1a; 青蒿素(artemisinin,ART)由于溶解度差,稳定性低,限制了其应用.因此,本研究采用长循环脂质体包裹青蒿素,增强其…

RDD中groupByKey和reduceByKey区别

groupByKey和reduceByKey区别 groupByKey 每个分区不聚合&#xff0c;等最终分组完成后调用Reduce再聚合 适用于求平均数、中位数等情况 reduceByKey 每个分区并行计算先实现分区内部聚合&#xff0c;然后再将每个分区的结果做最终的聚合实现分区间聚合 等同于MR中Combin…

电商之收单系统的webhook推送重试机制

文章目录1 问题背景2 前言3 解决方案3.1 核心思路3.2 数据库设计3.3 下一次发送webhook的时间算法3.3 详细设计4 延申思考1 问题背景 作为一个收单系统&#xff0c;当获取到一笔交易的支付结果时&#xff0c;就需要发送一个webhook消息给电商系统。电商系统收到webhook消息后&a…

4. Bean的生命周期

Bean的生命周期 1.生命周期相关概念介绍 生命周期&#xff1a;从创建到消亡的完整过程bean生命周期&#xff1a;bean从创建到销毁的整体过程bean生命周期控制&#xff1a;在bean创建后到销毁前做一些事情 2. Bean销毁时机 容器关闭前触发bean的销毁 关闭容器方式&#xff…

前端基础—Ajax和XML

Ajax和XML 说到这里&#xff0c;就不得不提到另一个概念&#xff1a;Ajax&#xff08;Asynchronous JavaScript&#xff09;&#xff0c;中文可以称之为“js的异步请求”&#xff0c;国内统一称为Ajax。 Ajax的概念是每次打开新的网页时&#xff0c;不要让页面整体刷新&#…