git笔记:git常用命令备忘录

1、工作区域和文件状态

1.1、工作区域

git的数据管理分为四个区域:

  • 工作区(Working Directory)

本地工作目录,是我们电脑上的目录,是我们实际编写代码的区域,修改完工作区的文件后可以使用git add命令将工作区中的文件添加到暂存区。

  • 暂存区(Stage/Index)

暂存区是一个临时的存储区域。暂存区的作用是帮助我们管理代码提交的过程,通过将修改内容添加到暂存区,可以将不同修改内容分批次地提交到本地仓库。暂存区实际上是一个文件,保存即将提交的文件列表信息。可以用git reset命令将暂存区中的文件恢复到工作区,也可以用git commit命令将暂存区中的文件提交到本地仓库。

  • 本地仓库(Repository)

本地仓库就是使用git init或使用git clone创建的那个仓库,包含了完整的项目历史和元数据,是git存储代码和版本信息的主要位置。可以使用git checkout命令从本地仓库中切换到不同的分支或版本。

  • 远程仓库(Remote Directory)

远程仓库是托管代码的服务器,可以简单的认为是你项目组中的一台电脑用于远程数据交换。远程仓库的内容能够被分布在多个地点的处于协作关系的本地仓库修改。可以使用git push命令将本地仓库中的数据同步到远程仓库。

在这里插入图片描述

1.2、文件状态

git中的文件的状态:

  • 未跟踪

是我们新创建的、还没有被git管理起来的文件。可以使用git add命令来跟踪一个文件,如果不想被跟踪可以使用git rm命令来删掉或git rm --cache保留在目录里但是不被跟踪

  • 未修改

是我们已经被管理起来,但文件内没有修改的文件

  • 已修改

是我们修改过的文件,但还没有添加到暂存区的文件。修改完成之后使用git add把它设置成已暂存状态

  • 已暂存

是我们修改过的文件,并添加到暂存区的文件。如果不想设置已暂存状态可以使用git reset HEAD加文件名来恢复成已修改状态。已暂存的文件可以使用git commit命令来提交此次修改
在这里插入图片描述
在这里插入图片描述

2、常用命令

2.1、初始化配置

设置你的用户名邮件地址
这个随便填,本质就是一个标记而已

git config --global user.name "你的用户名"
git config --global user.email "你的邮箱"

2.2、获取 Git 仓库

在你新建的项目目录内:

git init  #初始化本地仓库 
git clone <url>  #克隆现有的仓库

2.3、添加、修改和提交

git add .  #添加所有改动过的文件(到跟踪状态)git add aaa  #添加指定文件aaagit commit -m 'xx'  #提交 xx是说明git commit -am 'xxx'  #将add和commit合为一步git commit -amend  #修改最后一次提交git rm xx  #删除文件git rm -cached  #停止跟踪文件但不删除

2.4、查看提交历史与状态

git log  #查看提交历史git log --stat  #显示commit历史,以及每次commit发生变更的文件git log -p  #查看指定文件的提交历史git branch -v  #每个分支最后的提交git status  #查看当前状态git diff  #查看变更内容

2.5、撤销操作

git reset -hard HEAD  #撤销工作目录中所有未提交文件的修改内容git checkout HEAD  #撤销指定的未提交文件的修改内容git checkout HEAD.  #撤销所有文件git revert  #撤销指定的提交

2.6、分支与标签

git branch  #显示所有本地分支git branch [branch-name]  #创建一个新的分支git branch -a  #查看所有的分支和远程分支git branch -d [branch-name]  #删除分支git checkout [branch-name]  #切换到指定分支,并更新工作区git tag  #显示已存在的taggit tag -a v2.0 -m 'xxx'  #增加v2.0的taggit tag -d  #删除标签

2.7、合并

git merge [branch]  #合并指定分支到当前分支git merge origin/master  #合并远程master分支至当前分支

2.8、Git 远程仓库

git remote -v  #查看当前的远程仓库git remote add <remote> <url>  #git remote add可以添加一个远程仓库git remote rm  #删除远程仓库git remote show #查看指定远程版本库信息git fetch  #从远程库提取代码git pull origin master  #获取远程分支master并merge到当前分支git push origin master  #将当前分支push到远程master分支git push origin :hotfixes/BJVEP933  #删除远程仓库的hotfixes/BJVEP933分支git push --tags   #把所有tag推送到远程仓库

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

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

相关文章

72 华为资源库

1 报文格式 https://info.support.huawei.com/info-finder/tool/zh/enterprise/packetformat 2 华为IP网络电子书 资源可以下载 https://e.huawei.com/cn/topic/enterprise-network/ip-ebook 3 华为产品文档 https://support.huawei.com/enterprise/zh/doc/index.html 4 华为…

Facebook的AI助手:如何提升用户社交体验的智能化

在现代社交媒体平台中&#xff0c;人工智能&#xff08;AI&#xff09;的应用正逐渐改变人们的社交体验。Facebook作为全球最大的社交媒体平台之一&#xff0c;已在AI技术的开发与应用上投入了大量资源&#xff0c;并通过其AI助手为用户提供了更加个性化、智能化的互动体验。这…

vagrant 创建虚拟机

创建一个名为 “Vagrantfile” 的文件&#xff0c;修改如下内容&#xff1a; Vagrant.configure("2") do |config|(1..3).each do |i|config.vm.define "k8s-node#{i}" do |node|# 设置虚拟机的Boxnode.vm.box "centos/7"# 设置虚拟机的主机名…

逆向中的游戏-入土为安的第二十五天

逆向中的游戏 CE的介绍 Cheat Engine &#xff0c;简称CE&#xff0c;是逆向工程师常用的几大神器之一&#xff0c;也是游戏汉化、破解以及外挂编写中常用的工具&#xff0c;其功能包括&#xff1a;内存扫描、十六进制编辑器、调试工具&#xff0c;可以进行反汇编调试、断点跟…

代码随想录算法训练营_day28

题目信息 122. 买卖股票的最佳时机 II 题目链接: https://leetcode.cn/problems/best-time-to-buy-and-sell-stock-ii/题目描述: 给你一个整数数组 prices &#xff0c;其中 prices[i] 表示某支股票第 i 天的价格。 在每一天&#xff0c;你可以决定是否购买和/或出售股票。你…

matlab 计算复共轭

目录 一、概述1、算法概述2、主要函数二、代码示例1、求复数的复共轭2、求矩阵中复数值的复共轭三、参考链接本文由CSDN点云侠翻译,原文链接。如果你不是在点云侠的博客中看到该文章,那么此处便是不要脸的抄袭狗。 一、概述 1、算法概述 2、主要函数 Zc = conj(Z)返回 Z …

【python】Python中小巧的异步web框架Sanic快速上手实战

✨✨ 欢迎大家来到景天科技苑✨✨ &#x1f388;&#x1f388; 养成好习惯&#xff0c;先赞后看哦~&#x1f388;&#x1f388; &#x1f3c6; 作者简介&#xff1a;景天科技苑 &#x1f3c6;《头衔》&#xff1a;大厂架构师&#xff0c;华为云开发者社区专家博主&#xff0c;…

Git在IDEA中的集成操作(附步骤图)

1.先做适配操作&#xff0c;将安装的Git软件关联到IDEA中 点击Test之后若成功会显示出Git版本&#xff1a; 2.创建版本仓库 3.创建新的版本 3.1将文件提交到暂存区(不重要) 第一种方式&#xff1a;菜单栏提交 第二种方式&#xff1a;项目右键提交 4.查看历史版本信息 目…

整合sentinel遇到的小问题

1.运行jar包 &#xff0c;端口为默认8080 正确命令 java -Dserver.port8090 -Dcsp.sentinel.dashboard.server127.0.0.1:8090 -Dproject.namesentinel-dashboard -jar sentinel-dashboard-1.8.6.jar -D这些指令要在 -jar前面 在宝塔部署时&#xff0c;直接复制到运行命令后…

Sparse Kernel Canonical Correlation Analysis

论文链接&#xff1a;https://arxiv.org/pdf/1701.04207 看这篇论文终于看懂核函数了。。谢谢作者

基于无人机边沿相关 ------- IBUS、SBUS协议和PPM信号

文章目录 一、IBUS协议二、SBUS协议三、PPM信号 一、IBUS协议 IBUS&#xff08;Intelligent Bus&#xff09;是一种用于电子设备之间通信的协议&#xff0c;采用串行通信方式&#xff0c;允许多设备通过单一数据线通信&#xff0c;较低延迟&#xff0c;支持多主机和从机结构&a…

SpringBoot集成kafka-监听器注解

SpringBoot集成kafka-监听器注解 1、application.yml2、生产者3、消费者4、测试类5、测试 1、application.yml #自定义配置 kafka:topic:name: helloTopicconsumer:group: helloGroup2、生产者 package com.power.producer;import com.power.model.User; import com.power.uti…

C++11详解 (右值引用、可变参数模板、emplace_back、lambda表达式、function、bind)

目录 简介 左值引用与右值引用 左值引用与右值引用是什么 左值引用与右值引用的比较 右值引用的使用场景与C11中STL的新变化 完美转发 新的类功能 可变参数模板 可变参数模板的应用——emplace_back lambda表达式 包装器 function bind 结语 简介 在过往&#xf…

基于vue框架的毕业设计选题系统bqx47(程序+源码+数据库+调试部署+开发环境)系统界面在最后面。

系统程序文件列表 项目功能&#xff1a;学生,指导老师,课题信息,类型,选题信息 开题报告内容 基于Vue框架的毕业设计选题系统 开题报告 一、引言 毕业设计选题是高等教育中极为关键的一环&#xff0c;它不仅关乎学生未来研究的方向与深度&#xff0c;也是培养其创新思维和实…

SSRF漏洞与redis未授权访问的共同利用

1.利用靶场Pikachu来认识SSRF漏洞 1.什么是SSRF SSRF漏洞允许攻击者通过向服务器发起请求来伪造请求。这种漏洞的核心在于攻击者能够控制服务器向任意目标地址发起请求&#xff0c;而这些请求通常是攻击者无法直接从客户端发起的。 简单来说&#xff0c;假设你的网站有一个功能…

rk3568 npu opencv 怎么联系起来

问题&#xff1a; 客户一直再问 关于 3568 npu opencv 的编译内容。 大致了解一些 &#xff0c;这方面的内容。 网上的资料。 也许这个基本上就是他的逻辑了&#xff0c; 首先界面使用QT来写。 然后&#xff0c;使用 opencv 去读取摄像头。 然后拿到一帧图像之后&#xff…

IO进程线程8月26ri

1&#xff0c;思维导图 2&#xff0c;用两个进程分别复制文件的上下两部分到另一个文件 #include<myhead.h> int main(int argc, const char *argv[]) {int fpopen("./1.txt",O_RDONLY);if(fp-1){perror("open");return -1;}int countlseek(fp,0,SE…

电脑U口管理软件分享|U口管理软件哪个好?

电脑U口&#xff08;即USB端口&#xff09;管理软件是保护电脑安全、防止数据泄露和恶意软件入侵的重要工具。 在选择U口管理软件时&#xff0c;需要考虑其功能、易用性、安全性以及是否满足个人或企业的具体需求。以下是一些值得推荐的电脑U口管理软件及其特点&#xff1a; 1…

基本数据类型及命令

String String 是Redis最基本的类型&#xff0c;Redis所有的数据结构都是以唯一的key字符串作为名称&#xff0c;然后通过这个唯一的key值获取相应的value数据。不同的类型的数据结构差异就在于value的结构不同。 String类型是二进制安全的。意思是string可以包含任何数据&…

Linux:Linux线程池

目录 线程池的概念 线程池的优点 线程池的应用场景 线程池的实现 线程池演示 线程池的概念 线程池是一种线程使用模式。 线程过多会带来调度开销&#xff0c;进而影响缓存局部和整体性能&#xff0c;而线程池维护着多个线程&#xff0c;等待着监督管理者分配可并发执行的…