当前位置: 首页 > news >正文

Git-2025-0818

2. git 常用命令

命令

说明

git add

添加文件到暂存区

git status

查看仓库当前的状态,显示有变更的文件。

git diff

比较文件的不同,即暂存区和工作区的差异。

git difftool

使用外部差异工具查看和比较文件的更改。

git range-diff

比较两个提交范围之间的差异。

git commit

提交暂存区到本地仓库。

git reset

回退版本。

git rm

将文件从暂存区和工作区中删除。

git mv

移动或重命名工作区文件。

git notes

添加注释。

git checkout

分支切换。

git switch(Git 2.23 版本引入)

更清晰地切换分支。

git restore(Git 2.23 版本引入)

恢复或撤销文件的更改。

git show

显示 Git 对象的详细信息。

在 Git 中,`git checkout -b 目标分支 origin/目标分支` 这个命令用于从远程仓库的特定分支创建一个新的本地分支,并切换到该新分支上。这个命令实际上是两个 Git 命令的组合:

1. `git checkout -b 目标分支`:创建并切换到一个新分支。

2. `git branch 目标分支 origin/目标分支`:将远程分支设置为新创建的本地分支的上游(tracking branch)。

git checkout -b 目标分支 origin/目标分支

这里的 `目标分支` 是你想要创建和切换到的本地分支的名称,而 `origin/目标分支` 是远程仓库中对应的分支名称。这个命令的意思是:

- 从远程仓库的 `origin/目标分支` 分支检出(checkout)一个新的本地分支。

- 创建一个新的本地分支,并命名为 `目标分支`。

- 设置新创建的本地分支跟踪远程的 `origin/目标分支` 分支。

执行这个命令后,你将会在本地有一个新分支,并且这个分支会自动设置为跟踪远程仓库中的对应分支。这样,当你在本地分支上进行提交时,可以通过 `git push` 将更改推送到远程分支,也可以通过 `git pull` 从远程分支拉取最新的更改。

  • 提交日志

命令

说明

git log

查看历史提交记录

git blame <file>

以列表形式查看指定文件的历史修改记录

git shortlog

生成简洁的提交日志摘要

git describe

生成一个可读的字符串,该字符串基于 Git 的标签系统来描述当前的提交

  • 远程操作

命令

说明

git remote

远程仓库操作

git fetch

从远程获取代码库

git pull

下载远程代码并合并

git push

上传远程代码并合并

git submodule

管理包含其他 Git 仓库的项目

3. 分支管理

Git 分支管理是 Git 强大功能之一,能够让多个开发人员并行工作,开发新功能、修复 bug 或进行实验,而不会影响主代码库。几乎每一种版本控制系统都以某种形式支持分支,一个分支代表一条独立的开发线。使用分支意味着你可以从开发主线上分离开来,然后在不影响主线的同时继续工作。

  • 创建分支

创建新分支并切换到该分支:

git checkout -b <branchname>

例如:git checkout -b feature-xyz

切换分支命令:

git checkout (branchname)

例如:git checkout main

当你切换分支的时候,Git 会用该分支的最后提交的快照替换你的工作目录的内容, 所以多个分支不需要多个目录。

  • 查看分支

查看所有分支

git branch

查看远程分支

git branch -r

查看所有本地和远程分支

git branch -a

  • 合并分支

将其他分支合并到当前分支:

git merge <branchname>

例如,切换到 main 分支并合并 feature-xyz 分支:

git checkout main
git merge feature-xyz
  • 解决合并冲突

当合并过程中出现冲突时,Git 会标记冲突文件,你需要手动解决冲突。

打开冲突文件,按照标记解决冲突。

标记冲突解决完成:git add <conflict-file>

提交合并结果:git commit

  • 删除分支

删除本地分支

git branch -d <branchname>

强制删除未合并的分支

git branch -D <branchname>

删除远程分支

git push origin --delete <branchname>

二、在IDEA中使用Git

安装好IntelliJ IDEA后,如果Git安装在默认路径下,那么idea会自动找到git的位置,如果更改了Git的安装位置则需要手动配置下Git的路径。选择File→Settings打开设置窗口,找到Version Control下的git选项:

  • 从远程仓库clone项目:

  • 创建分支:

以某个分支为基础创建分支:

  • 提交变更代码:

  • push至远程仓库

  • Merge分支

如何回退到历史版本

进行大量修改和多次commit之后,发现改错了;(特别是误删除了某些重要文件)

Q:如何回退到历史上的某个版本;

A:git-reset

不小心回退多了

开发过程中,偶尔会用回退操作;

Q:不小心回滚多了,代码还能找回吗?

A:git-reflog + git-reset

commit 到了错误的分支上

本应该在A分支上进行开发的,结果因为操作失误,把新增/修改的代码提交到了B分支上;

Q:不想重写一遍代码,怎么办?

A:git-cherry-pick

合并了别人的分支,又不想要了

在开发过程中,合并另一个分支到自己的开发分支是不可避免的,如果不小心合错了分支,然后又进行了多次代码修改并commit;

Q:我的分支还有救吗?

A:git-rebase

http://www.xdnf.cn/news/1321255.html

相关文章:

  • 数据结构:查找表
  • 开源im即时通讯软件开发社交系统全解析:安全可控、功能全面的社交解决方案
  • 从零到GPT:Transformer如何引领大模型时代
  • Nextcloud 私有云部署:cpolar 内网穿透服务实现安全远程文件访问
  • 4G高负荷解决方案
  • 《红色脉-络:一部PLMN在中国的演进史诗 (1G-6G)》 第6篇 | 专题:核心网的第一次革命——从电路交换到“用户/控制面分离”
  • python-----机器学习中常用的数据预处理
  • 英特尔公司Darren Pulsipher 博士:以架构之力推动政府数字化转型
  • Apache RocketMQ,构建云原生统一消息引擎
  • 云原生事件驱动引擎(RocketMQ-EventBridge)应用场景与技术解析
  • Qt5基础控件详细讲解
  • Spring Boot 实用小技巧:多级缓存(Caffeine + Redis)- 第545篇
  • 民俗博物馆如何选择数字技术?交互体验如何创新文化传播方式?
  • mac查看nginx安装位置 mac nginx启动、重启、关闭
  • bun + vite7 的结合,孕育的 Robot Admin 【靓仔出道】(十三)
  • Git+Jenkins 基本使用
  • Windows桌面自动化的革命性突破:深度解析Windows-MCP.Net Desktop模块的技术奥秘
  • 问答社区运营优化:cpolar 提升 Answer 平台远程访问速度方案
  • AI 对话高效输入指令攻略(五):AI+PicDoc文生图表工具:解锁高效图表创作新范式
  • 软考 系统架构设计师系列知识点之杂项集萃(129)
  • LeetCode 45.跳跃游戏II:贪心策略下的最少跳跃次数求解
  • 机器学习的多种算法
  • 【数据集】全球大气监测计划(GAW)简介
  • AR技术为消防救援装上“智能透视眼”
  • 算法-决策树
  • Kafka的ISR、OSR、AR详解
  • 特赞内容运营解决方案,AI重构品牌内容价值链
  • 普通用户使用docker命令
  • 信创产业:从技术突围到生态重构的强国之路
  • 华曦达港股IPO观察丨以创新研发为笔,构建AI Home智慧生活新蓝图