Git 常用命令大全

Git 常用命令大全

1. 仓库创建与克隆

命令 说明
git init 初始化新仓库
git clone 克隆远程仓库
git clone --depth 1 浅克隆(只获取最新版本)

2. 基本操作

命令 说明
git status 查看仓库状态
git add 添加文件到暂存区
git add . 添加所有修改文件
git commit -m "message" 提交更改
git commit -am "message" 添加并提交所有已跟踪文件的修改
git restore 撤销工作区修改
git restore --staged 撤销暂存区修改

3. 分支操作

命令 说明
git branch 查看本地分支
git branch -a 查看所有分支(包括远程)
git branch 创建新分支
git checkout 切换分支
git checkout -b 创建并切换分支
git merge 合并分支
git branch -d 删除分支
git branch -D 强制删除分支
git rebase 变基操作

4. 远程操作

命令 说明
git remote -v 查看远程仓库
git remote add 添加远程仓库
git remote remove 移除远程仓库
git fetch 获取远程更新
git pull 拉取并合并远程分支
git push 推送本地分支到远程
git push -u 推送并设置上游分支
git push --force 强制推送(慎用)

5. 查看信息

命令 说明
git log 查看提交历史
git log --oneline 简洁版提交历史
git log --graph 图形化显示分支历史
git show 显示某次提交的详情
git diff 查看未暂存的更改
git diff --staged 查看已暂存的更改
git blame 查看文件修改历史

6. 撤销与重置

命令 说明
git reset --soft 重置到指定提交(保留更改)
git reset --mixed 重置到指定提交(取消暂存)
git reset --hard 彻底重置到指定提交
git revert 撤销指定提交
git clean -fd 删除未跟踪的文件和目录

7. 标签操作

命令 说明
git tag 查看所有标签
git tag 创建轻量标签
git tag -a -m "message" 创建带注释标签
git push origin 推送标签到远程
git push origin --tags 推送所有标签
git tag -d 删除本地标签
git push origin :refs/tags/ 删除远程标签

8. 储藏与清理

命令 说明
git stash 储藏当前工作
git stash list 查看储藏列表
git stash apply 恢复最近储藏
git stash pop 恢复并删除储藏
git stash drop 删除储藏
git stash clear 清除所有储藏

9. 子模块

命令 说明
git submodule add 添加子模块
git submodule update --init 初始化并更新子模块
git submodule update --remote 更新子模块到最新提交

10. 配置相关

命令 说明
git config --list 查看所有配置
git config --global user.name "name" 设置全局用户名
git config --global user.email "email" 设置全局邮箱
git config --global core.editor "vim" 设置默认编辑器

11. 其他实用命令

命令 说明
git reflog 查看所有操作记录
git cherry-pick 选择性地合并提交
git bisect 二分查找引入bug的提交
git grep "pattern" 在代码库中搜索内容
git fsck 检查仓库完整性

使用技巧

  1. 简化常用命令:

    git config --global alias.co checkout
    git config --global alias.br branch
    git config --global alias.ci commit
    git config --global alias.st status
    
  2. 查看帮助:

    git help 
    git  --help
    
  3. 忽略文件权限变化:

    git config core.fileMode false
    

你可能感兴趣的:(笔记,git)