Git 常用命令详解

发布于:2025-05-16 ⋅ 阅读:(10) ⋅ 点赞:(0)

Git 常用命令详解(含详细示例)

本文整理了 Git 日常使用中最常用的命令,适合初学者和日常查阅,如有错误,敬请指正,谢谢!


☁️ Git 使用流程入门(从 pull 和 push 开始)

1️⃣ 克隆远程仓库(首次使用)

git clone https://github.com/user/repo.git
cd repo
  • 说明:将远程仓库代码下载到本地并进入项目目录。

2️⃣ 日常更新远程仓库的代码(pull)

git branch                 # 查看当前所在的分支

git checkout main              # 如果当前不在 main 分支,切换到主分支

git pull origin main           # 拉取远程主分支的最新代码
  • 说明:每次开始开发前,建议先拉取最新远程更新,防止提交冲突。

3️⃣ 修改文件并保存

# 例如修改了 hello.py 文件
# 修改后保存文件

4️⃣ 添加到暂存区并提交

# 添加单个文件到暂存区
git add hello.py

# 或添加所有已修改文件
git add .

# 提交保存修改,并添加提交信息
git commit -m "修复 hello.py 中的语法错误"

5️⃣ 推送到远程仓库

git push origin main
  • 说明:将提交内容同步到远程仓库。

📁 初始化本地仓库

mkdir my-project
cd my-project
git init
  • 说明:在 my-project 目录中初始化一个空的 Git 仓库。

🔍 查看状态

git status
  • 说明:查看工作目录与暂存区的文件状态。

➕ 添加文件到暂存区

git add <文件名>     # 添加单个文件
git add .            # 添加所有更改过的文件

✅ 提交更改

git commit -m "提交说明"
  • 说明:将暂存区中的内容提交到本地版本库。

🔁 查看提交记录

git log              # 全量日志
git log --oneline    # 简洁格式

🔄 查看修改内容

git diff             # 工作目录与暂存区差异
git diff --cached    # 暂存区与上次提交差异

🗑️ 撤销修改

git checkout -- <文件名>
  • 说明:放弃当前工作目录对指定文件的修改(不可恢复)。

🔙 回退到某次提交

git log --oneline            # 找到想回退的提交ID
git reset --hard a1b2c3d     # 回退到指定提交(不可恢复)
  • 说明:强制回退 HEAD 和工作目录到指定提交。

  • 注意:此操作会清除之后的提交,谨慎使用。


🌱 创建和查看分支

git branch                    # 查看所有本地分支
git branch dev                # 创建名为 dev 的新分支
git checkout dev              # 切换到 dev 分支
git switch dev                # 更推荐的新语法

🔀 合并分支

git checkout main             # 当前所在分支是 main
git pull origin main          # 确保 main 是最新的
git merge dev                 # 将 dev 分支合并进 main
  • 说明

    • 合并之前一定要确保处于目标分支(如 main)。
    • 合并来源是指定的分支(如 dev)。
    • 合并后若有冲突需手动解决再提交。

🧹 删除分支

git branch -d dev                     # 删除本地分支
git push origin --delete dev         # 删除远程分支

🔗 连接远程仓库和修改远程地址

查看当前远程仓库地址

git remote -v
  • 说明:查看当前仓库的远程地址和 fetch/push 配置。

添加远程仓库(首次)

git remote add origin https://github.com/user/repo.git

修改远程仓库地址

git remote set-url origin https://github.com/newuser/newrepo.git
  • 说明:若原远程地址变更(如换了 GitHub 账户或项目迁移),可用此命令更新。
git remote add origin https://github.com/user/repo.git
  • 说明:添加名为 origin 的远程仓库地址。

☁️ 推送到远程仓库(首次)

git push -u origin main
  • 说明:第一次推送时使用 -u 绑定远程分支,以后只需执行 git push 即可。

❗ 如果远程已有提交怎么办?

git pull origin main --rebase        # 拉取并与本地代码衔接
# 或强推(慎用)
git push -f origin main

☁️ 拉取远程仓库更新

git pull origin main
  • 说明:获取远程更新并自动合并。

🔄 覆盖本地代码(慎用)

git fetch --all
git reset --hard origin/main
  • 说明:强制使用远程代码覆盖本地所有更改。

🧰 常用组合操作流程(工作流建议)

# Step 1: 新建分支并切换

git checkout -b feature-x      # 创建并切换到新分支 feature-x

# Step 2: 开发代码并提交

git add .
git commit -m "完成了 feature-x 功能"

# Step 3: 推送分支

git push -u origin feature-x   # 将分支推送到远程

# Step 4: 合并到主分支

git checkout main
git pull origin main           # 保证 main 是最新的
git merge feature-x            # 合并 feature-x 分支

git push origin main           # 推送合并后的主分支

🧳 暂存工作进度(stash)

git stash                      # 暂存当前未提交的更改
git stash list                 # 查看所有 stash 项
git stash pop                  # 恢复最近一次 stash 的内容并删除该 stash
  • 说明:适用于临时切换分支或保存当前工作进度。

🏷️ 打标签(tag)

git tag v1.0                   # 创建标签 v1.0(默认基于当前提交)
git tag                        # 查看所有标签
git push origin v1.0          # 推送单个标签到远程
git push origin --tags        # 推送所有标签
  • 说明:标签用于标记某次关键提交,常用于版本管理。

如需继续补充其他 Git 场景,可放评论区进行补充。