Git常用命令全解析:开发者必备的版本控制指南

Git作为当今最流行的分布式版本控制系统,已经成为开发者日常工作中不可或缺的工具。本文将全面介绍Git的常用命令,帮助开发者高效管理代码版本。

一、Git基础配置

在开始使用Git前,需要进行基础配置:

# 设置全局用户名
git config --global user.name "你的用户名"

# 设置全局邮箱
git config --global user.email "你的邮箱"

# 查看所有配置信息
git config --list

# 查看配置来源
git config --list --show-origin

# 编辑Git配置文件
git config -e [--global]

二、仓库操作

1. 仓库初始化与克隆

# 初始化新仓库
git init [项目名称]

# 克隆远程仓库
git clone [url]

# 克隆指定分支
git clone -b [分支名] [url]

# 浅克隆(只获取最近历史)
git clone --depth 1 [url]

2. 远程仓库管理

# 查看远程仓库信息
git remote -v

# 查看远程仓库详细信息
git remote show [remote]

# 添加远程仓库
git remote add [名称] [url]

# 修改远程仓库URL
git remote set-url [名称] [新url]

三、文件操作与提交

1. 文件状态管理

# 查看当前状态
git status

# 添加文件到暂存区
git add [file]
git add .  # 添加所有更改

# 交互式添加
git add -p

# 撤销工作区更改
git checkout -- [file]

# 撤销暂存区更改
git reset HEAD [file]

2. 提交更改

# 提交更改
git commit -m "提交信息"

# 添加并提交(仅对已跟踪文件)
git commit -am "提交信息"

# 修改最后一次提交
git commit --amend

3. 差异比较

# 比较工作区与最新提交
git diff

# 比较暂存区与最新提交
git diff --cached

# 比较两个提交
git diff [commit1] [commit2]

四、分支管理

1. 基础分支操作

# 查看所有分支
git branch      # 本地分支
git branch -a   # 所有分支(含远程)
git branch -r   # 远程分支

# 创建分支
git branch [分支名]

# 切换分支
git checkout [分支名]

# 创建并切换分支
git checkout -b [新分支名]

# 删除分支
git branch -d [分支名]  # 安全删除
git branch -D [分支名]  # 强制删除

# 重命名分支
git branch -m [新分支名]

2. 分支合并与同步

# 合并分支
git merge [分支名]

# 变基操作
git rebase [分支名]

# 交互式变基
git rebase -i [commit_id]

# 推送分支
git push origin [分支名]

# 拉取远程分支
git pull origin [分支名]

五、提交历史与版本控制

1. 查看历史

# 查看提交历史
git log

# 简洁版历史
git log --oneline

# 图形化显示
git log --graph

# 显示文件修改历史
git log -p [file]

# 查看提交详情
git show [commit]

2. 版本回退

# 回退到上一个版本
git reset --hard HEAD~1

# 回退到指定提交
git reset --hard [commit_id]

# 撤销某次提交(创建新提交)
git revert [commit_id]

六、高级功能

1. 储藏与恢复

# 储藏当前修改
git stash
git stash save "描述信息"

# 查看储藏列表
git stash list

# 恢复储藏
git stash pop       # 恢复并删除
git stash apply    # 恢复不删除

# 删除储藏
git stash drop stash@{n}

2. 子模块管理

# 添加子模块
git submodule add [url] [path]

# 初始化子模块
git submodule init

# 更新子模块
git submodule update

# 克隆包含子模块的项目
git clone --recurse-submodules [url]

3. 忽略文件

在项目根目录创建.gitignore文件,添加要忽略的文件或目录:

# 忽略日志文件
*.log

# 忽略编译产物
/build/
/bin/

# 忽略IDE配置文件
.idea/
.vscode/

七、常见问题解决

1. 冲突解决

当合并或变基遇到冲突时:

  1. 打开冲突文件,解决冲突标记(<<<<<<<, =======, >>>>>>>)

  2. 标记为已解决:

    git add [file]
  3. 继续操作:

    git commit   # 合并冲突
    git rebase --continue  # 变基冲突

2. 找回丢失代码

# 查看操作历史
git reflog

# 恢复丢失的提交
git checkout [commit_id]

猜你喜欢

转载自blog.csdn.net/m0_66197486/article/details/146941585
今日推荐