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

【Git】常用命令大全(带注释)

目录

    • 1. 配置
      • 设置用户名和邮箱
      • 查看配置
    • 2. 创建和初始化仓库
      • 创建新的 Git 仓库
      • 克隆现有仓库
    • 3. 分支管理
      • 查看本地分支
      • 创建新分支
      • 切换分支
      • 创建并切换到新分支
      • 合并分支
      • 删除分支
    • 4. 提交更改
      • 查看文件状态
      • 添加文件到暂存区
      • 提交更改
      • 提交并跳过暂存区
    • 5. 查看提交历史
      • 查看提交日志
      • 查看提交历史的图形表示
    • 6. 远程仓库交互
      • 添加远程仓库
      • 查看远程仓库
      • 拉取远程更改
      • 推送本地更改
      • 删除远程分支
    • 7. 冲突解决
      • 查看冲突文件
      • 标记冲突文件为已解决
      • 提交合并更改
    • 8. 其他常用命令
      • 撤销更改
      • 重置到上一个提交
      • 临时保存修改,然后再恢复
      • 查看差异
      • 生成补丁文件
      • 应用补丁文件
      • 查看文件历史
      • 配置 Git 忽略文件

Git 是一个强大的版本控制工具,下面详细介绍了 Git 的常用命令,包括本地配置、分支操作和远程仓库交互等。

1. 配置

设置用户名和邮箱

# 设置全局用户名
git config --global user.name "Your Name"
# 设置全局邮箱
git config --global user.email "your_email@example.com"

查看配置

# 显示所有 Git 配置项
git config --list
# 查看具体的用户名配置
git config user.name
# 查看具体的邮箱配置
git config user.email

2. 创建和初始化仓库

创建新的 Git 仓库

# 创建项目目录并进入
mkdir my_project
cd my_project
# 初始化 Git 仓库
git init

克隆现有仓库

# 从远程仓库克隆代码到本地
git clone https://github.com/username/repository.git

3. 分支管理

查看本地分支

# 列出所有本地分支
git branch

创建新分支

# 创建新分支但不切换
git branch new-branch

切换分支

# 切换到指定分支
git checkout new-branch
  • 使用更快捷的命令:
# 更快捷的切换分支命令
git switch new-branch

创建并切换到新分支

# 创建并切换到新分支
git checkout -b new-branch
  • 或使用更快捷的命令:
# 更快捷的创建并切换分支命令
git switch -c new-branch

合并分支

# 切换到主分支,然后合并新分支
git checkout main
git merge new-branch

删除分支

# 删除本地分支
git branch -d branch-name
  • 使用 -D 强制删除未合并的分支:
# 强制删除分支
git branch -D branch-name

4. 提交更改

查看文件状态

# 查看文件的当前状态
git status

添加文件到暂存区

# 将文件添加到暂存区
git add file1 file2
# 或将所有更改的文件添加到暂存区
git add .

提交更改

# 提交暂存区的更改并添加提交信息
git commit -m "Commit message"

提交并跳过暂存区

# 提交工作区和暂存区的所有更改
git commit -am "Commit message"

5. 查看提交历史

查看提交日志

# 显示提交历史记录
git log
  • 使用 --oneline 简化输出:
# 以简洁的格式查看提交历史
git log --oneline

查看提交历史的图形表示

# 以图形化方式查看提交历史
git log --graph --oneline --decorate --all

6. 远程仓库交互

添加远程仓库

# 添加远程仓库的别名
git remote add origin https://github.com/username/repository.git

查看远程仓库

# 显示已配置的远程仓库及其 URL
git remote -v

拉取远程更改

# 从远程仓库拉取最新更改
git pull origin main

推送本地更改

# 将本地更改推送到远程仓库
git push origin main

删除远程分支

# 从远程仓库删除分支
git push origin --delete branch-name

7. 冲突解决

查看冲突文件

# 查看冲突文件列表
git status

标记冲突文件为已解决

# 将解决了冲突的文件添加到暂存区
git add resolved-file

提交合并更改

# 提交合并过程中的更改
git commit

8. 其他常用命令

撤销更改

  • 撤销暂存区更改:
# 从暂存区移除文件的更改
git reset HEAD file
  • 撤销工作区更改:
# 恢复工作区文件到最后提交状态
git checkout -- file

重置到上一个提交

# 重置本地仓库到上一个提交状态
git reset --hard HEAD~1

临时保存修改,然后再恢复

git stash
# 执行其他操作,比如拉取最新代码
git pull origin your-branch
# 恢复之前的修改
git stash pop

查看差异

# 查看工作区和暂存区之间的差异
git diff
  • 查看已暂存的更改:
# 查看暂存区的更改
git diff --cached

生成补丁文件

# 生成补丁文件用于分享或应用更改
git format-patch -1 HEAD

应用补丁文件

# 应用补丁文件
git apply patch-file

查看文件历史

# 查看特定文件的历史记录
git log -- file

配置 Git 忽略文件

  • 编辑 .gitignore 文件,添加不需要跟踪的文件或目录:
# 忽略所有 .log 文件
*.log
# 忽略 node_modules 目录
node_modules/

这些命令涵盖了 Git 使用的基本和高级功能,注释旨在帮助你更好地理解每个命令的用途,希望对你的工作有所帮助。


相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • GPT-4.0 新手使用教程(保姆级入门)
  • OpenCV小练习:身份证号码识别
  • linux-----内核(Kernel)与文件系统(File System)
  • 排序---
  • 04:创建PADS Logic软件逻辑库
  • 乾元通渠道商中标湖南省煤业集团公司安全生产预防和应急救援能力建设装备配备采购项目
  • 快速安全部署 Tomcat
  • 电路笔记(PCB): kicad freerouting自动布线
  • UVM仿真的启动(二)—— uvm_phase::m_run_phase()
  • 微信小程序利用canva进行大图片压缩
  • 【人工智能】AI算法系统设计与算法建模的详细阐述
  • leetcode 1957 删除字符使字符串变好
  • 【ubuntu20.4 常用经验分享】
  • [RIS]GRES: Generalized Referring Expression Segmentation
  • JAVA中如何使用反射获取数组元素类型
  • @angular/forms 源码解析之双向绑定
  • [NodeJS] 关于Buffer
  • 【翻译】babel对TC39装饰器草案的实现
  • 【许晓笛】 EOS 智能合约案例解析(3)
  • Consul Config 使用Git做版本控制的实现
  • css的样式优先级
  • idea + plantuml 画流程图
  • Javascript编码规范
  • Linux编程学习笔记 | Linux多线程学习[2] - 线程的同步
  • mongodb--安装和初步使用教程
  • tweak 支持第三方库
  • TypeScript实现数据结构(一)栈,队列,链表
  • Vue小说阅读器(仿追书神器)
  • XML已死 ?
  • 创建一个Struts2项目maven 方式
  • 第2章 网络文档
  • 工作中总结前端开发流程--vue项目
  • 每个JavaScript开发人员应阅读的书【1】 - JavaScript: The Good Parts
  • 前嗅ForeSpider中数据浏览界面介绍
  • 设计模式(12)迭代器模式(讲解+应用)
  • 学习笔记DL002:AI、机器学习、表示学习、深度学习,第一次大衰退
  • 东超科技获得千万级Pre-A轮融资,投资方为中科创星 ...
  • !!Dom4j 学习笔记
  • #HarmonyOS:Web组件的使用
  • #控制台大学课堂点名问题_课堂随机点名
  • #前后端分离# 头条发布系统
  • (1)无线电失控保护(二)
  • (2)STL算法之元素计数
  • (C#)Windows Shell 外壳编程系列4 - 上下文菜单(iContextMenu)(二)嵌入菜单和执行命令...
  • (C11) 泛型表达式
  • (DenseNet)Densely Connected Convolutional Networks--Gao Huang
  • (附源码)springboot青少年公共卫生教育平台 毕业设计 643214
  • (四)Controller接口控制器详解(三)
  • (原創) 未来三学期想要修的课 (日記)
  • (转)scrum常见工具列表
  • (转)大道至简,职场上做人做事做管理
  • (转载)微软数据挖掘算法:Microsoft 时序算法(5)
  • (自用)gtest单元测试
  • .L0CK3D来袭:如何保护您的数据免受致命攻击
  • .net core Swagger 过滤部分Api