git常用命令

以下是常用的 Git 命令操作整理:

📦 仓库操作

# 初始化新仓库
git init

# 克隆远程仓库
git clone <仓库URL>

# 查看远程仓库
git remote -v

# 添加远程仓库
git remote add origin <仓库URL>

📝 提交操作

# 查看状态
git status

# 添加文件到暂存区
git add <文件名>          # 添加单个文件
git add .                # 添加所有文件
git add -A               # 添加所有变更

# 提交
git commit -m "提交说明"
git commit -am "提交说明" # 添加并提交已跟踪文件

# 修改上一次提交
git commit --amend

📊 查看信息

# 查看提交历史
git log
git log --oneline        # 简洁显示
git log --graph          # 图形化显示

# 查看文件差异
git diff                 # 工作区与暂存区差异
git diff --staged        # 暂存区与仓库差异
git diff HEAD           # 工作区与最新提交差异

# 查看指定文件修改历史
git blame <文件名>

🔀 分支操作

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

# 创建分支
git branch <分支名>
git checkout -b <分支名>  # 创建并切换

# 切换分支
git checkout <分支名>
git switch <分支名>       # Git 2.23+ 推荐

# 合并分支
git merge <分支名>

# 删除分支
git branch -d <分支名>    # 安全删除
git branch -D <分支名>    # 强制删除

# 重命名分支
git branch -m <新分支名>

🔄 远程操作

# 拉取远程更新
git pull origin <分支名>
git pull --rebase        # 变基式拉取

# 推送到远程
git push origin <分支名>
git push -u origin <分支名> # 设置上游分支

# 获取远程更新(不合并)
git fetch

# 跟踪远程分支
git checkout -t origin/<分支名>

🔄 合并操作

# 重置到最后两个提交之前(不修改工作区)
git reset --soft HEAD~2

# 操作说明

- pick:保留该commit(缩写:p)
- reword:保留该commit,但我需要修改该commit的注释(缩写:r)
- edit:保留该commit, 但我要停下来修改该提交(不仅仅修改注释)(缩写:e)
- squash:将该commit和前一个commit合并(缩写:s)
- fixup:将该commit和前一个commit合并,但我不要保留该提交的注释信息(缩写:f)
- exec:执行shell命令(缩写:x)
- drop:我要丢弃该commit(缩写:d)


# 暂存所有更改
git add .  

提交并输入新的提交信息
git commit -m "这是合并后的提交描述" 

# 强制推送到远程(如果已推送过)
git push --force-with-lease

撤销操作

# 撤销工作区修改
git checkout -- <文件名>

# 从暂存区移除文件
git reset HEAD <文件名>

# 撤销提交
git reset --soft HEAD^   # 撤销提交,保留修改到暂存区
git reset --mixed HEAD^  # 撤销提交,保留修改到工作区
git reset --hard HEAD^   # 彻底撤销提交

# 恢复文件到指定版本
git checkout <commit-id> -- <文件名>

🏷️ 标签操作

# 创建标签
git tag <标签名>          # 轻量标签
git tag -a <标签名> -m "说明" # 注解标签

# 查看标签
git tag
git show <标签名>

# 推送标签到远程
git push origin <标签名>
git push origin --tags   # 推送所有标签

# 删除标签
git tag -d <标签名>
git push origin :refs/tags/<标签名> # 删除远程标签

🗑️ 清理操作

# 清除未跟踪文件
git clean -n             # 预览将被删除的文件
git clean -f             # 强制删除未跟踪文件
git clean -df            # 删除未跟踪文件和目录

# 储藏更改
git stash                # 储藏当前修改
git stash list           # 查看储藏列表
git stash apply          # 应用最新储藏
git stash pop            # 应用并删除储藏
git stash drop           # 删除储藏

🔧 配置相关

# 用户配置
git config --global user.name "用户名"
git config --global user.email "邮箱"

# 查看配置
git config --list

# 设置别名
git config --global alias.co checkout
git config --global alias.br branch
git config --global alias.ci commit
git config --global alias.st status

🚀 实用技巧

# 交互式添加
git add -p

# 交互式储藏
git stash -p

# 重写提交历史(谨慎使用)
git rebase -i HEAD~3

# 查看文件历史版本
git log --follow <文件名>

# 查找包含某内容的提交
git log -S "搜索内容"

💡 常用工作流示例

# 典型工作流程
git checkout main
git pull origin main
git checkout -b feature/new-feature
# ...进行修改...
git add .
git commit -m "添加新功能"
git push origin feature/new-feature
# 创建Pull Request合并

记住这些核心命令,日常开发就够用了。关键是多实践,形成肌肉记忆!

posted @ 2026-01-10 16:25  鸟不拉诗  阅读(17)  评论(0)    收藏  举报