git基础语法回顾

1. 初始化与克隆

  • git init
    初始化一个新的本地仓库。
  • git clone <repo-url>
    克隆远程仓库到本地(如 git clone https://github.com/user/repo.git)。

2. 基础操作

  • git add <file>
    将文件添加到暂存区(如 git add main.py)。
    • git add .git add -A:添加所有变更文件。
  • git commit -m "提交信息"
    提交暂存区的变更到本地仓库。
    • git commit -am "提交信息":直接提交已跟踪文件的修改(无需 add)。
  • git status
    查看工作区和暂存区的状态。
  • git diff
    查看未暂存的变更内容。
    • git diff --cached:查看已暂存的变更。

3. 分支管理

  • git branch
    列出所有本地分支(-a 查看所有分支,包括远程)。
  • git branch <branch-name>
    创建新分支。
  • git checkout <branch-name>
    切换到指定分支。
    • git checkout -b <branch-name>:创建并切换到新分支(等效于 git switch -c)。
  • git merge <branch-name>
    将指定分支合并到当前分支。
  • git rebase <branch-name>
    变基操作(将当前分支的提交移到目标分支的顶部)。
  • git branch -d <branch-name>
    删除本地分支(-D 强制删除未合并的分支)。

4. 远程仓库操作

  • git remote -v
    查看远程仓库地址。
  • git remote add <name> <url>
    添加远程仓库(如 git remote add origin https://github.com/user/repo.git)。
  • git push <remote> <branch>
    推送本地分支到远程仓库(如 git push origin main)。
    • git push -u origin main:首次推送时设置上游分支。
    • git push --force:强制推送(谨慎使用)。
  • git pull <remote> <branch>
    拉取远程分支并合并(等效于 git fetch + git merge)。
    • git pull --rebase:拉取时使用变基而非合并。
  • git fetch <remote>
    下载远程仓库的变更,但不合并。

5. 撤销与回退

  • git restore <file>
    撤销工作区的修改(未 add 的变更)。
  • git reset <file>
    将文件移出暂存区(保留工作区修改)。
    • git reset --hard HEAD:丢弃所有未提交的变更(慎用!)。
    • git reset --hard <commit-id>:回退到指定提交(会丢失之后的提交)。
  • git revert <commit-id>
    创建一个新提交来撤销指定提交(安全回退方式)。

6. 日志与历史

  • git log
    查看提交历史。
    • git log --oneline:简洁模式。
    • git log --graph:图形化显示分支。
  • git show <commit-id>
    查看某次提交的详细信息。
  • git blame <file>
    查看文件的修改记录(按行显示作者)。

7. 暂存临时工作

  • git stash
    临时保存未提交的变更。
    • git stash pop:恢复最近暂存的变更。
    • git stash list:查看所有暂存记录。

8. 标签管理

  • git tag
    列出所有标签。
  • git tag -a v1.0 -m "版本说明"
    创建附注标签。
  • git push origin --tags
    推送所有标签到远程仓库。

9. 配置相关

  • git config --global user.name "姓名"
    设置全局用户名。
  • git config --global user.email "邮箱"
    设置全局邮箱。
  • git config --list
    查看当前配置。

常用场景示例

  1. 首次推送本地项目到远程仓库

    git init
    git add .
    git commit -m "Initial commit"
    git remote add origin <repo-url>
    git push -u origin main
    
  2. 修复提交信息

    git commit --amend -m "新的提交信息"
    
  3. 合并分支并解决冲突

    git checkout main
    git merge feature-branch
    # 手动解决冲突后
    git add .
    git commit
    

掌握这些命令可以应对 90% 的日常 Git 操作。更复杂的用法(如 rebase -i、子模块等)可查阅 Git 官方文档。

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

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

相关文章

华为仓颉语言初识:结构体struct和类class的异同

前言 华为仓颉语言是鸿蒙原生应用的一种新的编程语言&#xff0c;采用面向对象的编程思想&#xff0c;为开发者带来新的开发体验。不仅可以和 ArkTs 相互调用&#xff0c;更能提升应用程序的性能&#xff0c;更重要的是仓颉语言的特点结合了 java 和 C 的特点。对开发者来说比…

电池预测 | 第28讲 基于CNN-GRU的锂电池剩余寿命预测

电池预测 | 第28讲 基于CNN-GRU的锂电池剩余寿命预测 目录 电池预测 | 第28讲 基于CNN-GRU的锂电池剩余寿命预测预测效果基本描述程序设计参考资料 预测效果 基本描述 电池预测 | 第28讲 基于CNN-GRU的锂电池剩余寿命预测 运行环境Matlab2023b及以上&#xff0c;锂电池剩余寿…

在 Ubuntu 24.04 LTS 上 Docker 部署 DB-GPT

一、DB-GPT 简介 DB-GPT 是一个开源的AI原生数据应用开发框架(AI Native Data App Development framework with AWEL(Agentic Workflow Expression Language) and Agents)。目的是构建大模型领域的基础设施&#xff0c;通过开发多模型管理(SMMF)、Text2SQL效果优化、RAG框架以及…

早停策略和模型权重的保存

知识点回顾&#xff1a; 过拟合的判断&#xff1a;测试集和训练集同步打印指标模型的保存和加载 仅保存权重保存权重和模型保存全部信息checkpoint&#xff0c;还包含训练状态 早停策略 作业&#xff1a;对信贷数据集训练后保存权重&#xff0c;加载权重后继续训练50轮&#xf…

DeepSpeed-Ulysses:支持极长序列 Transformer 模型训练的系统优化方法

DeepSpeed-Ulysses&#xff1a;支持极长序列 Transformer 模型训练的系统优化方法 flyfish 名字 Ulysses “Ulysses” 和 “奥德修斯&#xff08;Odysseus&#xff09;” 指的是同一人物&#xff0c;“Ulysses” 是 “Odysseus” 的拉丁化版本 《尤利西斯》&#xff08;詹姆…

Redis-基础-总结

一、概述 Remote Dictionary Server(远程字典服务)是完全开源的&#xff0c;使用ANSIC语言编写遵守BSD协议&#xff0c;是一个高性能的Key-Value数据库提供了丰富的数据结构&#xff0c;例如String、Hash、List、Set、sortedset等等。数据是存在内存中的&#xff0c;同时Redis…

尚硅谷redis7 28-32 redis持久化之理论介绍

28redis持久化之理论介绍 redis持久化&#xff1a;redis如何将内存数据写入磁盘中 为什么需要持久化&#xff1f; 内存数据一断电就会消失&#xff0c;那么所有的请求都会打到数据库中。因此让redis中的数据长期持有&#xff0c;不管是重启、故障、恢复、宕机&#xff0c;还…

JS逆向【抖查查】逆向分析 | sign | secret签名验证

1.目标 目标网址&#xff1a;https://www.douchacha.com/bloggerRankingRise 切换日期出现目标请求 import requests import jsonheaders {"accept": "application/json, text/plain, */*","accept-language": "zh-CN,zh;q0.9","…

【数据仓库面试题合集④】SQL 性能调优:面试高频场景 + 调优策略解析

随着业务数据规模的持续增长,SQL 查询的执行效率直接影响到数据平台的稳定性与数据产出效率。因此,在数据仓库类岗位的面试中,SQL 性能调优常被作为重点考察内容。 本篇将围绕常见 SQL 调优问题,结合实际经验,整理出高频面试题与答题参考,助你在面试中游刃有余。 🎯 高…

python打卡训练营打卡记录day37

知识点回顾&#xff1a; 过拟合的判断&#xff1a;测试集和训练集同步打印指标模型的保存和加载 仅保存权重保存权重和模型保存全部信息checkpoint&#xff0c;还包含训练状态 早停策略 作业&#xff1a;对信贷数据集训练后保存权重&#xff0c;加载权重后继续训练50轮&#xf…

卷积神经网络(CNN)深度讲解

卷积神经网络&#xff08;CNN&#xff09; 本篇博客参考自大佬的开源书籍&#xff0c;帮助大家从头开始学习卷积神经网络&#xff0c;谢谢各位的支持了&#xff0c;在此期待各位能与我共同进步​ 卷积神经网络&#xff08;CNN&#xff09;是一种特殊的深度学习网络结构&#x…

深度体验:海螺 AI,开启智能创作新时代

人工智能 AI 工具如雨后春笋般涌现&#xff0c;而海螺 AI 以其独特的魅力与卓越的性能&#xff0c;迅速在众多产品中崭露头角&#xff0c;成为了无数创作者、办公族以及各行业人士的得力助手。近期&#xff0c;我对海螺 AI 进行了深入的使用体验&#xff0c;接下来就为大家详细…

哈希表day5

242 有效的字母异位词 思路就是转为ASCII码&#xff0c;然后用一个数组记录26位字母出现的次数 #include <string> class Solution{ public:bool isAnagram(string s,string t){int record[26]{0};for (int i0;i<s.size();i){record[s[i]-a];}for (int i0;i<t.si…

【Python数据库全栈指南】从SQL到ORM深度实践

目录 &#x1f31f; 前言&#x1f3d7;️ 技术背景与价值&#x1fa79; 当前技术痛点&#x1f6e0;️ 解决方案概述&#x1f465; 目标读者说明 &#x1f9e0; 一、技术原理剖析&#x1f4ca; 核心概念图解&#x1f4a1; 核心作用讲解&#x1f527; 关键技术模块说明⚖️ 技术选…

Android磁盘占用优化全解析:从监控到治理的存储效率革命

引言 随着移动应用功能的复杂化&#xff0c;磁盘占用问题日益突出。据统计&#xff0c;国内头部应用的平均安装包大小已超100MB&#xff0c;运行时缓存、日志、图片等数据更可能使磁盘占用突破GB级。过度的磁盘消耗不仅影响用户设备空间&#xff0c;还可能触发系统的“应用数据…

AJAX-让数据活起来(一):入门

目录 一、AJAX概念和axios使用 1.1 什么是AJAX ? 1.2 怎么用AJAX ? 1.3 axios使用 二、认识URL 2.1 什么是URL? 2.2 URL的组成 组成 协议 域名 资源路径 获取-新闻列表 三、URL查询参数 URL查询参数 axios - 查询参数 四、常用请求方法和数据提交 常用请求…

【C++篇】list模拟实现

实现接口&#xff1a; list的无参构造、n个val构造、拷贝构造 operator重载 实现迭代器 push_back() push_front() erase() insert() 头尾删 #pragma once #include<iostream> #include<assert.h> using namespace std;namespace liu {//定义list节点temp…

Go 语言范围循环变量重用问题与 VSCode 调试解决方法

文章目录 问题描述问题原因1. Go 1.21 及更早版本的范围循环行为2. Go 1.22 的改进3. VSCode 调试中的问题4. 命令行 dlv debug 的正确输出 三种解决方法1. 启用 Go 模块2. 优化 VSCode 调试配置3. 修改代码以确保兼容性4. 清理缓存5. 验证环境 验证结果结论 在 Go 编程中&…

快速创建 Vue 3 项目

安装 Node.js 和 Vue CL 安装 Node.js&#xff1a;访问 https://nodejs.org/ 下载并安装 LTS 版本。 安装完后&#xff0c;在终端检查版本&#xff1a; node -v npm -v安装 Vue CLI&#xff08;全局&#xff09;&#xff1a; npm install -g vue/cli创建 Vue 3 项目 vue cr…

java学习日志——Spring Security介绍

使用Spring Security要重写UserDetailsService的loadUserByUsername方法&#xff08;相当于自定了认证逻辑&#xff09;