Git常用语法

Git 是一个分布式版本控制系统,其核心工作流程围绕工作区、暂存区、本地仓库和远程仓库展开。为了方便您学习和使用,以下将 Git 的常用语法按照功能场景进行了分类整理:

1. 配置与初始化

在开始使用 Git 前,通常需要配置您的个人信息并创建代码库。

  • git config --global user.name "Your Name":设置全局用户名。
  • git config --global user.email "your.email@example.com":设置全局用户邮箱。
  • git init:在当前目录下初始化一个新的 Git 仓库。
  • git clone <url>:从远程服务器克隆一个完整的仓库到本地。

2. 基本文件操作

用于将代码修改记录到本地仓库。

  • git status:查看当前工作区和暂存区的状态,了解哪些文件被修改或待提交。
  • git add <file>:将指定文件添加到暂存区(使用 git add . 可添加当前目录下所有修改)。
  • git commit -m "提交信息":将暂存区的修改正式提交到本地仓库,并附带提交说明。

3. 分支管理

Git 的核心优势在于轻量级的分支管理。

  • git branch:列出所有本地分支。
  • git branch <branch-name>:创建一个新分支,但不会自动切换过去。
  • git checkout <branch-name>:切换到指定的分支。
  • git checkout -b <branch-name>:创建并立即切换到新分支(这是 git branch 和 git checkout 的组合命令)。
  • git merge <branch-name>:将指定的分支合并到当前所在的分支。
  • git branch -d <branch-name>:删除一个已经合并过的本地分支。

4. 远程仓库同步

用于与 GitHub、GitLab 等远程服务器上的代码库进行交互。

  • git remote -v:查看当前配置的所有远程仓库地址。
  • git push <remote> <branch>:将本地分支的提交推送到远程仓库(例如 git push origin main)。
  • git pull <remote> <branch>:从远程仓库拉取最新代码,并自动合并到当前本地分支。
  • git fetch <remote>:从远程仓库下载最新的提交记录,但不会自动合并到本地,需要手动执行 merge。

5. 查看历史与差异

用于追溯代码的变更过程。

  • git log:查看当前分支的提交历史记录。
  • git diff:查看工作区与暂存区之间的文件差异。
  • git show <commit>:查看某次特定提交的详细元数据和内容变更。

6. 撤销与回退操作

当出现误操作时,可以使用以下命令进行补救。

  • git reset <file>:取消指定文件的暂存状态,将其退回到工作区。
  • git reset --hard <commit>:将当前分支的 HEAD 指针强制回退到指定提交,丢弃该提交之后的所有修改(危险操作,需谨慎使用)。
  • git revert <commit>:创建一个全新的提交来撤销指定提交的修改,这是保留历史记录的安全回退方式。
  • git stash:临时储藏当前未提交的修改,方便切换分支处理其他紧急任务。
  • git stash pop:恢复最近一次储藏的修改,并将其从储藏列表中移除。

如果您在实际开发中遇到特定的 Git 问题,也可以随时告诉我具体的场景,我可以为您提供针对性的命令建议。

相关推荐
行思理7 小时前
go语言学习难度及适合学习的人群
开发语言·学习·golang
楚山之石11 小时前
【Medical Image Analysis】深度学习医学图像合成综述:伪CT、合成MRI与合成PET的架构、性能与临床边界
图像处理·人工智能·学习·mr·mri
KaiwuDB12 小时前
KaiwuDB 分布式集群扩缩容,从原理到完整操作踩坑总结
运维·数据库·分布式
LannyChung12 小时前
PowerShell 下 git log 中文乱码的完整排查与解决
windows·git
Li_RuiQi12 小时前
DAgger方法演进_独立学习笔记
笔记·学习·计算机视觉
泡海椒12 小时前
深度解析JQuick-SQL AST到逻辑计划转换机制|分布式SQL原理
数据库·分布式·sql
import_random13 小时前
[git]本地main,origin/main,远程main(关系2)
git
golang学习记13 小时前
Zed Git重大更新:目录级对比支持分栏Diff
git·vscode·zed
SteveSenna15 小时前
aubo学习:realsense手眼标定
学习·机器人·视觉检测
泡海椒15 小时前
深度解析JQuick-SQL SQL解析与AST生成机制|分布式SQL原理
数据库·分布式·sql