Git 常用命令详解

文章目录

  • 一、初始化仓库
  • 二、添加文件到暂存区
  • 三、提交更改
  • 四、查看状态
  • 五、查看历史记录
  • 六、分支操作
  • 七、远程仓库操作
  • 八、撤销操作
  • 九、比较差异

在软件开发过程中,Git 是一款强大的版本控制工具。它可以帮助开发者有效地管理代码的变更、协作开发以及回溯历史版本。下面为大家详细介绍一些 Git 中常用的命令。

一、初始化仓库

当你开始一个新的项目或者想要将现有的项目纳入 Git 管理时,可以使用以下命令来初始化一个 Git 仓库。

git init

这个命令会在当前目录下创建一个隐藏的 .git 文件夹,用于存储仓库的所有版本控制信息。

二、添加文件到暂存区

  1. 添加单个文件

    git add filename
    

    例如,git add index.html 将名为 index.html 的文件添加到暂存区。

  2. 添加所有文件

    git add.
    

    这个命令会将当前目录下的所有修改过的文件添加到暂存区。

三、提交更改

将暂存区的文件提交到本地仓库,同时可以添加提交信息来描述这次提交的内容。

git commit -m "提交信息"

例如,git commit -m "修复了某个 bug"

四、查看状态

随时了解仓库的状态是很重要的。git status 命令可以告诉你哪些文件被修改了、哪些文件被添加到了暂存区以及哪些文件还没有被跟踪。

git status

五、查看历史记录

  1. 查看详细的提交历史

    git log
    

    这个命令会显示所有的提交记录,包括提交者、提交时间和提交信息。

  2. 查看简洁的提交历史

    git log --oneline
    

    只显示提交的哈希值和简短的提交信息。

六、分支操作

  1. 创建分支

    git branch branchname
    

    例如,git branch new-feature 创建一个名为 new-feature 的分支。

  2. 切换分支

    git checkout branchname
    

    切换到指定的分支。例如,git checkout new-feature 切换到 new-feature 分支。

  3. 创建并切换分支

    git checkout -b branchname
    

    这是一个快捷方式,相当于先执行 git branch branchname,再执行 git checkout branchname

  4. 合并分支
    假设你在一个分支上完成了工作,想要将其合并到另一个分支。首先切换到目标分支,然后执行以下命令:

    git merge branchname
    

    例如,如果你在 master 分支上,想要合并 new-feature 分支,可以执行 git merge new-feature

七、远程仓库操作

  1. 添加远程仓库

    git remote add origin remote_repository_url
    

    其中 origin 是远程仓库的别名,remote_repository_url 是远程仓库的 URL。

  2. 推送本地更改到远程仓库

    git push origin branchname
    

    将本地分支推送到远程仓库的对应分支。

  3. 从远程仓库拉取最新更改

    git pull origin branchname
    

    拉取远程分支的最新更改并合并到本地分支。

八、撤销操作

  1. 撤销暂存区的文件

    git reset HEAD filename
    

    将指定文件从暂存区移除。

  2. 撤销本地的提交

    git reset --soft HEAD^
    

    这个命令会撤销上一次提交,但保留工作目录中的更改。如果想要撤销多个提交,可以使用 HEAD^^(撤销两次提交)或 HEAD~n(撤销 n 次提交)。

九、比较差异

  1. 比较工作目录和暂存区的差异

    git diff
    
  2. 比较暂存区和上一次提交的差异

    git diff --cached
    
  3. 比较两个分支的差异

    git diff branch1 branch2
    

通过掌握这些 Git 常用命令,你可以更加高效地进行版本控制和团队协作开发。Git 的强大功能远不止这些,随着不断的使用和探索,你会发现更多有用的命令和技巧。

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

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

相关文章

【C++STL】list的基本介绍与使用方式

✨ Blog’s 主页: 白乐天_ξ( ✿>◡❛) 🌈 个人Motto:他强任他强,清风拂山冈! 🔥 所属专栏:C深入学习笔记 💫 欢迎来到我的学习笔记! 一、list的介绍 文档内容以及大致翻…

ESP32-IDF 非易失存储 NVS

目录 零、前言一、基本介绍1、配置结构体1.1 nvs_entry_info_t 2、常用 API2.1 nvs_flash_init2.2 nvs_flash_init_partition2.3 nvs_flash_init_partition_ptr2.4 nvs_flash_erase2.5 nvs_flash_erase_partition2.6 nvs_flash_erase_partition_ptr2.7 nvs_flash_generate_keys…

华为杯”第十三届中国研究生数学建模竞赛-C题:基于无线通信基站的室内三维定位问题

目录 摘 要: 1. 问题重述 1.1 提出问题 1.2 问题要求 2. 基本假设与符号说明 2.1 基本假设 2.2 符号说明 3. 问题分析 4. 问题 1:基站定位模型建立 4.1 LOS 及 NLOS 环境下的定位算法 4.1.1 TDOA 定位计算方法 4.1.2 LOS 与 NLOS 环境下的误差模型 4.1.3 LOS 情况下的 CHAN 算…

element plus中menu菜单技巧

我在使用element plus的menu(侧边栏)组件的过程中遇到了一些问题,就是menu编写样式和路由跳转,下面给大家分享以下,我是怎么解决的。 1.页面效果 我要实现的网站布局是这样的: 侧边栏折叠以后的效果&#…

python爬虫快速入门之---Scrapy 从入门到包吃包住

python爬虫快速入门之—Scrapy 从入门到包吃包住 文章目录 python爬虫快速入门之---Scrapy 从入门到包吃包住一、scrapy简介1.1、scrapy是什么?1.2、Scrapy 的特点1.3、Scrapy 的主要组件1.4、Scrapy 工作流程1.5、scrapy的安装 二、scrapy项目快速入门2.1、scrapy项目快速创建…

详解equals底层原理

equals 方法是 Java 中用于比较两个对象是否“相等”的方法。在 Java 中,每个类都继承自 java.lang.Object 类,而 equals 方法正是定义在 Object 类中的一个方法。默认情况下,Object 类的 equals 方法比较的是两个对象的内存地址(…

【GIT】.gitignore文件的使用

使用 Visual Studio 开发项目,并使用 Git 将项目推送到 GitLab 时,有一些文件是自动生成的、特定于开发环境的文件,通常不应该被推送到远程仓库。这就是 .gitignore 文件的作用,它可以告诉 Git 忽略这些文件或文件夹。 1. 哪些文…

解释 RESTful API,以及如何使用它构建 web 应用程序(AI)

RESTful API(Representational State Transfer)是一种基于HTTP协议的软件架构风格,用于构建可扩展、可维护和可重用的网络服务。 RESTful API的特点包括: 1. 基于资源:每个API都代表一个或多个资源,这些资…

SQL 多表联查

SQL JOIN (w3school.com.cn) SQL join用于根据两个或多个表中的列之间的关系,从这些表中查询数据。 之前跟着老师学数据库的时候学过,最近又在比较频繁的使用,再复习一下。 Person表: Id_P :居民编号。主键 …

大数据开发基于Hadoop+springboot平台的岗位推荐系统

文章目录 前言项目介绍技术介绍功能介绍核心代码数据库参考 系统效果图文章目录 前言 文章底部名片,获取项目的完整演示视频,免费解答技术疑问 项目介绍 随着网络科学技术不断的发展和普及化,用户在寻找适合自己的信息管理系统时面临着越来…

成功解决pycharm软件中按住Ctrl+点击指定函数却不能跳转到对应库中的源代码

成功解决pycharm软件中按住Ctrl点击指定函数却不能跳转到对应库中的源代码 目录 解决问题 解决方法 解决问题 在pycharm软件中按住Ctrl点击指定函数却不能跳转到对应库中的源代码 解决方法

探索秘境:如何使用智能体插件打造专属的小众旅游助手『小众旅游探险家』

文章目录 摘要引言智能体介绍和亮点展示介绍亮点展示 已发布智能体运行效果智能体创意想法创意想法创意实现路径拆解 如何制作智能体可能会遇到的几个问题快速调优指南总结未来展望 摘要 本文将详细介绍如何使用智能体平台开发一款名为“小众旅游探险家”的旅游智能体。通过这…

个人健康系统|个人健康数据管理系统|基于小程序+java的个人健康数据管理系统设计与实现(源码+数据库+文档)

个人健康数据管理系统 目录 基于小程序java的个人健康数据管理系统设计与实现 一、前言 二、系统功能设计 三、系统实现 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取: 博主介绍:✌️大厂码农|毕设布道师…

ArcGIS Pro SDK (十七)宗地结构

ArcGIS Pro SDK (十七)宗地结构 环境:Visual Studio 2022 + .NET6 + ArcGIS Pro SDK 3.0 宗地结构 1 获取活动记录 string errorMessage = await QueuedTask.Run(() => {

高可用之限流-07-token bucket 令牌桶算法

限流系列 开源组件 rate-limit: 限流 高可用之限流-01-入门介绍 高可用之限流-02-如何设计限流框架 高可用之限流-03-Semaphore 信号量做限流 高可用之限流-04-fixed window 固定窗口 高可用之限流-05-slide window 滑动窗口 高可用之限流-06-slide window 滑动窗口 sen…

重构案例:将纯HTML/JS项目迁移到Webpack

我们已经了解了许多关于 Webpack 的知识,但要完全熟练掌握它并非易事。一个很好的学习方法是通过实际项目练习。当我们对 Webpack 的配置有了足够的理解后,就可以尝试重构一些项目。本次我选择了一个纯HTML/JS的PC项目进行重构,项目位于 GitH…

web3学习-区块链基础知识

1.1 区块链技术简史 block chain 点对点的分布式交易系统 比特币协议并不是图灵完备的。 以太坊协议加入了智能合约,智能合约是以太坊协议与比特币协议的最大区别(图灵完备) 1.2、区块链设计哲学 去中心化 由于没有中心化的数据库作为…

记录一个容易混淆的 Spring Boot 项目配置文件问题

记录一个容易混淆的 Spring Boot 项目配置文件问题 去年,我遇到了这样一个问题: 在这个例子中,由于密码 password 以 0 开头,当它被 Spring Boot 的 bean 读取时,前导的 0 被自动去掉了。这导致程序无法正确读取密码。…

网盘直链下载神器NDM

工具介绍 ​Neat Download Manager分享一款网盘不限速神器,安装步骤稍微有一点繁琐,但实际体验下载速度飞快,个人实际体验还是非常不错的 NDM是一款免费且强大的下载工具。可以帮助你下载各种文件,还能够在多任务下载中保持出色的速度及其稳定性 通过网盘分享的文…

【MySQL核心面试题】MySQL 核心 - Explain 执行计划详解!

欢迎关注公众号 【11来了】(文章末尾即可扫码关注) ,持续 中间件源码、系统设计、面试进阶相关内容 在我后台回复 「资料」 可领取 编程高频电子书! 在我后台回复「面试」可领取 30w 字的硬核面试笔记! 感谢你的关注&…