Git的常用操作命令

Git是一个分布式版本控制系统,广泛应用于软件开发项目中来追踪和控制代码的修改历史。

Git常用命令如下:

  1. 配置用户信息

    # 设置全局用户名和邮箱
    git config --global user.name "Your Name"
    git config --global user.email "youremail@example.com"
  2. 初始化仓库

    # 在当前目录创建一个新的Git仓库
    git init
  3. 克隆仓库

    # 克隆远程仓库至本地
    git clone https://github.com/user/repo.git
  4. 添加文件到暂存区

    # 将某个文件添加到暂存区以准备提交
    git add <file_path>
    # 或者添加所有改动
    git add .
  5. 提交更改

    # 提交暂存区的内容到本地仓库,附带提交信息
    git commit -m "Initial commit or describe your changes here"
  6. 查看状态

    # 检查工作区和暂存区的状态
    git status
  7. 拉取远程更新

    # 获取远程仓库的最新改动并尝试自动合并到当前分支
    git pull origin <branch_name>
  8. 推送更改

    # 将本地分支的更改推送到远程仓库的对应分支
    git push origin <branch_name>
  9. 创建与切换分支

    # 创建并立即切换到新的分支
    git checkout -b new_branch
    # 切换回已有分支
    git checkout <existing_branch>
  10. 查看分支

    # 显示所有本地分支
    git branch
    # 显示所有本地和远程分支
    git branch -a
  11. 解决冲突与合并分支

    # 合并指定分支到当前分支
    git merge other_branch
  12. stash暂存未提交的更改

    # 暂存所有未提交的更改
    git stash
    # 恢复最近暂存的更改
    git stash pop
  13. 查看提交历史

    # 显示提交历史记录
    git log
  14. Cherry-pick

    # 将指定提交应用到当前分支
    git cherry-pick <commit_hash>
  15. 撤销更改

    • 取消暂存区的更改:
      git reset <file_path>  # 将指定文件从暂存区移除,但保留工作区的更改
      git reset HEAD <file_path>  # 类似于上述命令,取消暂存的同时恢复到HEAD版本
    • 回滚工作区的更改:
      git checkout -- <file_path>  # 抛弃工作区对指定文件的更改
  16. 删除文件

    • 从版本库和工作区一起删除:
      git rm <file_path>
      git commit -m "Remove file"
    • 仅从版本库中删除(保留工作区文件):
      git rm --cached <file_path>
      git commit -m "Remove file from repository"
  17. 重命名/移动文件

    git mv <old_file_path> <new_file_path>
    git commit -m "Rename/move file"
  18. 查看不同版本间的差异

    git diff  # 查看尚未暂存的改动
    git diff --staged  # 查看已暂存但未提交的改动
    git diff <commit1> <commit2>  # 查看两个提交之间的差异
  19. 回退到以前的提交

    # 回退到某一提交,并且丢弃之后的所有更改(谨慎操作)
    git reset --hard <commit_hash>
  20. 标签管理

    • 创建标签:
      git tag <tag_name> <commit_hash>  # 标记特定提交
      git tag <tag_name>  # 标记当前HEAD指向的提交
    • 推送标签到远程仓库:
      git push origin <tag_name>
    • 删除标签:
      git tag -d <tag_name>
      git push origin :refs/tags/<tag_name>  # 删除远程标签
  21. stash栈操作

    • 存储未提交的更改并清理工作区(保存现场):
      git stash
    • 列出stash列表:
      git stash list
    • 应用stash中的某个更改:
      git stash apply <stash@{index}>
    • 永久应用并删除stash:
      git stash pop
  22. 子模块操作

    • 添加子模块:
      git submodule add <repository_url> <path_to_submodule>
    • 更新子模块:
      git submodule update --remote
  23. 交互式暂存(添加部分更改)

    git add -p
  24. Rebase(变基)

    # 将feature分支的更改重新应用到master分支上,保持线性历史
    git checkout feature
    git rebase master
    git checkout master
    git merge feature

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

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

相关文章

MediaCodec源码分析 Codec消息轮转

前言 本文梳理MediaCodec的消息轮转流程,基于7.0代码。 MediaCodec底层实现为JMediaCodec、MediaCodec.cpp、ACodec,他们之间是通过media包下的ALooper、AHandler、AMeesage这一套机制进行线程间通信的。 本文就是分析这里的流程,先分析ALooper这一套,然后再分析MediaCod…

群晖docker安装sql server

安装步骤 开启群晖 SSH&#xff0c;通过 SSH 工具连接到群晖&#xff0c;运行下面的命令拉取mssql 2019 镜像 sudo docker pull mcr.microsoft.com/mssql/server:2019-latest然后在 docker 中就可以看到该镜像&#xff1a; 在群晖 docker 共享文件夹中创建 mssql2009 文件夹 …

ABAP - cl_gui_alv_grid cl_salv_table的各种处理

这篇文章主要是记录一下cl_gui_alv_grid 和 cl_salv_table 两种方式的ALV的字段&#xff0c;事件等的处理 举例&#xff0c;下面这个是用一个screen&#xff0c;显示2个ALV&#xff1b;上面这一个是用alv grid的&#xff1b;下面那一个是用salv去实现的 alv grid 主要涉及&am…

力扣77-组合

组合问题 题目链接 class Solution { private:vector<vector<int>> ans;//保存结果vector<int> path;//保存符合条件的结果void dfs(int n,int k,int startindex){if(path.size() k){ans.push_back(path);//表明找到了符合条件的结果&#xff0c;将其保存…

神舟通用-神通MPP

1、国产MPP 神通MPP是以多年大型通用数据库领域的研发实力为基础&#xff0c;集深厚的航天信息化建设经验&#xff0c;集成多项先进技术&#xff0c;为满足航天、政府、金融、电信等行业的海量数据分析统计应用需求而打造的分布式数据库软件&#xff0c;具有负载衡、在线扩展、…

Vue-插槽

文章目录 跨域什么是插槽默认插槽具名插槽作用域插槽什么是作用域插槽 跨域 什么是跨域? 跨域是指在浏览器中&#xff0c;一个网站的脚本或文档试图访问另一个网站的资源时&#xff0c;由于同源策略的限制&#xff0c;如果这三个方面之一存在差异&#xff1a;协议、域名&…

基于ssm的志愿者招募系统的设计与实现(程序+文档+数据库)

** &#x1f345;点赞收藏关注 → 私信领取本源代码、数据库&#x1f345; 本人在Java毕业设计领域有多年的经验&#xff0c;陆续会更新更多优质的Java实战项目&#xff0c;希望你能有所收获&#xff0c;少走一些弯路。&#x1f345;关注我不迷路&#x1f345;** 一、研究背景…

nginx有几种启动方式

Nginx 通常可以以两种主要的方式启动&#xff1a;作为前台进程运行或作为守护进程&#xff08;后台&#xff09;运行。 前台运行&#xff1a; 当Nginx以前台模式运行时&#xff0c;它会在命令行保持活动状态&#xff0c;所有的日志输出都会直接显示在命令行上。这种模式通常用于…

【Mysql优化】

目录 前言 1.在Mysql中&#xff0c;如何定位慢查询&#xff1f; 2.那这条SQL语句执行的很慢&#xff0c;如何分析&#xff08;优化&#xff09;呢&#xff1f; 3.了解过索引吗&#xff1f;&#xff08;什么是索引&#xff1f;&#xff09; 4.索引的底层结构了解过吗&#…

Redis底层数据结构之List

文章目录 1. Redis 6的list源码分析1. Redis 7的list源码分析 1. Redis 6的list源码分析 首先我们查看一下redis 6关于list的相关配置&#xff1a; config get list*可以看见redis 6的quicklist底层使用的数据结构是ziplist list-compress-depth&#xff1a;表示一个quicklis…

【力扣hot100】刷题笔记Day25

前言 这几天搞工作处理数据真是类似我也&#xff0c;还被老板打电话push压力有点大的&#xff0c;还好搞的差不多了&#xff0c;明天再汇报&#xff0c;赶紧偷闲再刷几道题&#xff08;可恶&#xff0c;被打破连更记录了&#xff09;这几天刷的是动态规划&#xff0c;由于很成…

elementui el-select组件多选设置初始值无法修改问题

elementui el-select组件多选设置初始值无法修改问题 对list直接赋值后点击修改select框&#xff0c;此时数据已改变但显示无变化。 <el-select v-model"form.optrList" multiple placeholder"请选择"><el-optionv-for"item in list":k…

APK漏洞扫描工具

一、APKDeepLens是一个基于python的工具&#xff0c;旨在扫描Android应用程序&#xff0c;专门针对OWASP TOP 10移动漏洞。 工具&#xff1a;python3.8或者以上版本 安装 git clone https://github.com/d78ui98/APKDeepLens/tree/main cd /APKDeepLens python3 -m venv venv…

Node携手MongoDB探险旅行⛏️

Node携手MongoDB探险旅行⛏️ 本篇文章&#xff0c;学习记录于&#xff1a;尚硅谷&#x1f3a2; 文章简单学习总结&#xff1a;如有错误 大佬 &#x1f449;点. 本篇不适合纯新手&#xff0c;因为本人已经使用很多数据库&#xff0c;很多数据库概念…就不会进行解释&#xff…

presto / trino plugin(自定义UDF函数)开发指南

方案1:自定义udf插件开发 1. Presto插件机制 presto不能像hive那样配置自定义的udf,而是采用插件机制实现。Presto 的插件(Plugin)机制,是 Presto 能够整合多种数据源的核心。通过实现不同的 Plugin,Presto 允许用户在不同类型的数据源之间进行 JOIN 等计算。Presto 内部的…

10、设计模式之外观模式(Facade)

一、什么是外观模式 这个大家一定是经常使用的&#xff0c;外观模式&#xff08;门面模式&#xff09;是一种结构型设计模式。它提供一个统一的接口&#xff0c;用于访问子系统中的一组接口&#xff0c;隐藏了系统的复杂性。最简单的应用就是&#xff0c;当controller层的逻辑处…

每天一个数据分析题(二百零五)

在分类模型评估中&#xff0c;哪些描述准确地涉及到ROC曲线和混淆矩阵的概念&#xff1f; A. ROC曲线是根据模型预测的概率值而非预测的类别来绘制的。 B. ROC曲线下面积&#xff08;AUC&#xff09;的值越大&#xff0c;表示模型的区分能力越强。 C. 混淆矩阵中的真正&…

十大Linux发行版各自的特色

Linux有许多不同的发行版&#xff0c;每个发行版都有自己的特色和用途。以下是一些主流Linux发行版及其特色&#xff1a; Ubuntu 用户友好&#xff0c;适合Linux新手。 基于Debian&#xff0c;拥有庞大的软件库。 长期支持&#xff08;LTS&#xff09;版本提供长达5年的支持…

C#实现二分查找算法

C#实现二分查找算法 以下是一个使用 C# 实现的二分查找算法示例&#xff1a; using System;class Program {static int BinarySearch(int[] arr, int target){int low 0;int high arr.Length - 1;while (low < high){int mid (low high) / 2;// 如果目标值等于中间元素…

使用 Array.prototype.with 更新不可变数组

庆祝&#xff1a;此功能现已在所有三个主要浏览器引擎中可用&#xff01; 浏览器最近获得了一种新的可互操作方法&#xff0c;您可以在数组上调用它&#xff1a;Array.prototype.with() 。 Browser Support 浏览器支持&#xff1a; chrome 110Edge 110firefox 115Safari 16 …