git版本工具使用教程

git版本工具使用教程

      • 1. 安装 Git
        • Windows
        • macOS
        • Linux
      • 2. 配置 Git
        • 全局配置
      • 3. 基本命令
        • 初始化仓库
        • 克隆仓库
        • 添加文件到暂存区
        • 提交变更
        • 查看状态
        • 查看提交历史
        • 切换分支
        • 创建新分支
        • 合并分支
        • 推送变更到远程仓库
        • 拉取远程仓库的最新变更
        • 查看差异
        • 撤销修改
        • 撤销提交
      • 4. 进阶操作
        • 标签(Tag)
        • 远程仓库管理
        • 分支管理
        • 冲突解决
      • 5. 最佳实践
        • 提交信息
        • 分支命名
        • 定期拉取和推送
        • 使用 `.gitignore`
      • 6. 故障排除
        • 忘记添加文件
        • 撤销未提交的变更
        • 撤销已提交的变更

Git 是一个非常强大的版本控制系统,广泛用于软件开发和其他需要版本控制的项目。

1. 安装 Git

Windows
  1. 访问 Git 官方网站 下载安装包。
  2. 运行安装程序,按照提示完成安装。
macOS
  1. 使用 Homebrew 安装 Git:

    brew install git
    
Linux
  1. 使用包管理器安装 Git:

    • Ubuntu/Debian:

      sudo apt-get install git
      
    • CentOS/RHEL:

      sudo yum install git
      

2. 配置 Git

全局配置
  1. 设置用户名:

    git config --global user.name "buddha"
    
  2. 设置邮箱:

    git config --global user.email "3539949703@qq.com"
    

3. 基本命令

初始化仓库
  1. 在项目目录中初始化 Git 仓库:

    git init
    
克隆仓库
  1. 克隆远程仓库到本地:

    git clone <repository-url>
    
添加文件到暂存区
  1. 添加单个文件:

    git add <file>
    
  2. 添加所有文件:

    git add .
    
提交变更
  1. 提交更改:

    git commit -m "Commit message"
    
查看状态
  1. 查看当前工作区和暂存区的状态:

    git status
    
查看提交历史
  1. 查看提交历史:

    git log
    
切换分支
  1. 切换到指定分支:

    git checkout <branch-name>
    
创建新分支
  1. 创建并切换到新分支:

    git checkout -b <branch-name>
    
合并分支
  1. 合并分支到当前分支:

    git merge <branch-name>
    
推送变更到远程仓库
  1. 推送当前分支的更改到远程仓库:

    git push origin <branch-name>
    
拉取远程仓库的最新变更
  1. 拉取远程仓库的最新更改:

    git pull origin <branch-name>
    
查看差异
  1. 查看工作区和暂存区的差异:

    git diff
    
撤销修改
  1. 撤销工作区的修改:

    git checkout -- <file>
    
撤销提交
  1. 撤销最后一次提交:

    git reset --hard HEAD~1
    

4. 进阶操作

标签(Tag)
  1. 创建标签:

    git tag <tag-name>
    
  2. 推送标签到远程仓库:

    git push origin <tag-name>
    
远程仓库管理
  1. 添加远程仓库:

    git remote add <remote-name> <repository-url>
    
  2. 查看远程仓库:

    git remote -v
    
  3. 删除远程仓库:

    git remote remove <remote-name>
    
分支管理
  1. 列出所有分支:

    git branch
    
  2. 删除本地分支:

    git branch -d <branch-name>
    
  3. 删除远程分支:

    git push origin --delete <branch-name>
    
冲突解决
  1. 发生冲突时,手动编辑冲突文件,然后提交解决后的文件:

    git add <conflicted-file>
    git commit -m "Resolved conflict"
    

5. 最佳实践

提交信息
  • 清晰明了的提交信息有助于追踪变更历史:

    git commit -m "Fix bug in login functionality"
    
分支命名
  • 使用有意义的分支名称,避免使用模糊的名称:

    git checkout -b feature-login-enhancement
    
定期拉取和推送
  • 定期拉取远程仓库的最新变更,避免合并冲突:

    git pull origin main
    
使用 .gitignore
  • 创建 .gitignore 文件,排除不必要的文件和目录:

    echo "build/" > .gitignore
    echo "*.log" >> .gitignore
    

6. 故障排除

忘记添加文件
  • 如果已经提交但忘记添加某些文件,可以使用 git commit --amend 修改最后一次提交:

    git add forgotten-file
    git commit --amend --no-edit
    
撤销未提交的变更
  • 使用 git checkout 撤销未提交的变更:

    git checkout -- <file>
    
撤销已提交的变更
  • 使用 git revert 创建一个新的提交来撤销之前的提交:

    git revert <commit-hash>
    

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

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

相关文章

ANDROIDWORLD: A Dynamic Benchmarking Environment for Autonomous Agents论文学习

这个任务是基于androidenv的。这个环境之前学过&#xff0c;是一个用来进行强化学习的线上环境。而这篇文章的工作就是要给一些任务加上中间的奖励信号。这种训练环境的优点就是动态&#xff0c;与静态的数据集&#xff08;比如说我自己的工作&#xff09;不同&#xff0c;因此…

构建现代 Python Web 应用的最佳实践:从 FastAPI 到 Tortoise ORM20241113

构建现代 Python Web 应用的最佳实践&#xff1a;从 FastAPI 到 Tortoise ORM 随着现代 Web 开发技术的快速演进&#xff0c;Python 的生态系统涌现出了诸多优秀的框架和工具&#xff0c;FastAPI 和 Tortoise ORM 就是其中的佼佼者。这篇博客将围绕如何使用这两款工具构建高效、…

从0开始学习机器学习--Day24--核函数

核函数(Kernelsl function) 非线性数据的决策边界 对于非线性问题来说&#xff0c;决策边界在很多时候都是曲线&#xff0c;需要我们在假设函数中加入高阶多项式来拟合原始数据&#xff0c;这对于算法来说需要很长的运行时间去计算这些高阶多项式&#xff0c;那么有没有更高效…

charles简单使用

一、安装&配置 1、安装 通过官网下载稳定版的charles。 说明&#xff1a;官网下载也可以免费使用&#xff0c;不用到处找破解版&#xff0c;还不安全。官网下载的也能用半小时&#xff0c;然后重启一下还能继续用。如果有钱就买个服务&#xff0c;如果不原因花钱就动一动…

VMware和CentOS 7.6 Linux操作系统的安装使用

1. 安装VMware 安装VMware之前&#xff0c;有些电脑是需要去BIOS里修改设置开启cpu虚拟化设备支持才能安装。如果运气不好在安装过程中安装不了的话就自行百度吧。 打开 VMware 的官网: https://www.vmware.com/ 点击 product&#xff0c;往下滑找到 see desktop hypeerviso…

OCP证书如何下载?

访问Oracle CertView网站&#xff1a; 打开网址 https://certview.oracle.com/ &#xff0c;这是Oracle官方提供的证书查询平台 。 登录账号&#xff1a; 使用您的Oracle账号和密码登录CertView。如果您不记得密码&#xff0c;可以通过注册账号时预留的邮箱重置密码 。 查看成…

电信数据清洗案例:利用MapReduce实现高效数据预处理

电信数据清洗案例&#xff1a;利用MapReduce实现高效数据预处理 在大数据时代&#xff0c;电信行业积累了大量的用户通话、短信、上网等行为数据。在数据分析和机器学习模型训练前&#xff0c;对这些数据进行清洗是至关重要的一步。MapReduce 是一种高效的数据处理模型&#x…

将vscode的终端改为cygwin terminal

现在终端是默认的power shell&#xff0c;没有显示cygwin 接下来选择默认配置文件 找到cygwin的选项即可 然后提示可能不安全什么的&#xff0c;点是&#xff0c;就有了

html+js+css实现拖拽式便签留言

前些日子在网上冲浪时&#xff0c;看到一个便签式留言墙&#xff0c;让人耳目一新。心想这个看着不错&#xff0c;额想要。于是便开始搜寻是否有相应开源插件&#xff0c;想将其引入自己的博客中。但是搜寻了一圈&#xff0c;都没有符合预期的,要么功能不符合。有的功能符合&am…

Linux编程:基于 Unix Domain Socket 的进程/线程间通信实时性优化

文章目录 0. 引言1. 使用 epoll 边缘触发模式非不要不选择阻塞模式边缘触发&#xff08;ET&#xff09;模式优点示例 2. 使用实时调度策略3. CPU 绑定4. 使用无锁缓冲区5. 优化消息传递的大小和频率6. 使用 SO_RCVTIMEO 和 SO_SNDTIMEO7. 示例代码其他阅读 0. 引言 前几天被问…

LeetCode【0039】组合总和

本文目录 1 中文题目2 求解方法&#xff1a;回溯法2.1 方法思路2.2 Python代码2.3 复杂度分析 3 题目总结 1 中文题目 给定一个 无重复元素 的整数数组 candidates 和一个目标整数 target &#xff0c;找出 candidates 中可以使数字和为目标数 target 的 所有 不同组合 &#…

C++入门基础知识147—【关于C++ 一元运算符重载】

成长路上不孤单&#x1f60a;&#x1f60a;&#x1f60a;&#x1f60a;&#x1f60a;&#x1f60a; 【14后&#x1f60a;///C爱好者&#x1f60a;///持续分享所学&#x1f60a;///如有需要欢迎收藏转发///&#x1f60a;】 今日分享关于C 一元运算符重载的相关内容&#xff0…

2022年蓝桥杯JavaB组 省赛 题目解析(含AC_Code)

目录 前言&#xff08;必读&#xff09;第一题&#xff1a;星期计算 &#xff08;简单&#xff09;问题描述思路AC代码总结 第二题 山 &#xff08;简单&#xff09;问题描述题目分析山形数定义解题思路代码实现解析代码详解回文和“山形”判断函数主函数 AC代码复杂度分析 总结…

NLP论文速读(微软出品)|使用GPT-4进行指令微调(Instruction Tuning with GPT-4)

论文速读|Instruction Tuning with GPT-4 论文信息&#xff1a; 简介&#xff1a; 这篇论文试图解决的问题是如何通过指令调优&#xff08;instruction-tuning&#xff09;提升大型语言模型&#xff08;LLMs&#xff09;在执行新任务时的零样本&#xff08;zero-shot&#xff0…

C++20 概念与约束(3)—— 约束的进阶用法

《C20 概念与约束&#xff08;1&#xff09;—— SFINAE》 《C20 概念与约束&#xff08;2&#xff09;—— 初识概念与约束》 ●《C20 概念与约束&#xff08;3&#xff09;—— 约束的进阶用法》 1、再谈约束主句与从句 上一篇文章中提到过约束可以无限嵌套。末尾也提到不…

c#使用COM接口设置excel单元格宽高匹配图片,如何计算?

c#使用COM接口设置excel单元格宽高如何换算 在实际工作中&#xff0c;经常需要在excel中插入图片。并设置单元格与图片对齐。但是excel单元格的宽度和高度使用不同的单位。单元格的宽度以字符宽度为单位&#xff0c;而高度以点为单位。如果按照实际值来设置&#xff0c;例如设…

pySpark乱码

1.现象 python的变量包含中文&#xff0c;用format放入SQL中时&#xff0c;出现乱码 2.原因 python2默认编码是ascii 3.解决办法 使用python3&#xff0c;并且把所有print&#xff0c;改成带括号的 4.在pyspark中加入参数 spark.pyspark.driver.python/usr/bin/python3 …

从 MySQL 5.7 到 8.0:理解 GROUP BY 的新规则与实战优化20241112

&#x1f3af; 从 MySQL 5.7 到 8.0&#xff1a;理解 GROUP BY 的新规则与实战优化 &#x1f50e; 引言 随着 MySQL 的不断升级&#xff0c;从 5.7 到 8.0&#xff0c;不仅性能得到提升&#xff0c;其对 SQL 标准的严格执行也显著提高。GROUP BY 的行为变化就是一个典型例子。…

【activiti工作流源码集成】springboot+activiti+mysql+vue+redis工作流审批流集成整合业务绑定表单流程图会签驳回

工作流集成实际项目案例&#xff0c;demo提供 源码获取方式&#xff1a;本文末个人名片直接获取。 前言 activiti工作流引擎项目&#xff0c;企业erp、oa、hr、crm等企事业办公系统轻松落地&#xff0c;请假审批demo从流程绘制到审批结束实例。 一、项目形式 springbootvue…

如何判断FPGA能够接入几个Camera

摘要&#xff1a;仅记录判断FPGA能够接入几个Camera的思路 在FPGA中&#xff0c;"quad"和"bank"是两个不同的概念&#xff0c;它们通常用于描述FPGA中的高速串行收发器&#xff08;如Xilinx的GTX或GTH收发器&#xff09;的组织方式。 Quad: 一个Quad包含…