Git 2.45.2常用命令记录

        Git是一款分布式版本控制系统,有别于CVS和SVN等集中式版本控制系统。分布式版本控制系统最大的反传统之处在于,可以不需要集中式的版本库,每个人都工作在通过克隆建立的本地版本库中,也就是说每个人都拥有一个完整的版本库,查看提交日志、提交、创建里程碑、分支、合并分支、回退等所有操作都直接在本地完成而不需要网络连接。。

一、配置操作

  • 全局配置
git config -- global user.name '用户名 '
git config -- global user.email '用户 邮箱 '
  • 当前仓库配置
git config -- local user.name ' 用户名 '
git config -- local user.email '用户 邮箱 '
  • 查看 global 配置
git config -- global -- list
  • 查看当前仓库配置
git config -- local -- list
  • 删除 全局仓库配置
git config -- unset -- global 要删除的配置项
  • 删除本地仓库配置
git config -- unset -- local 要删除的配置项

二、本地操作

  • 查看变更情况
git status
  • 将当前目录及其子目录下所有变更都加入到暂存区
git add .
  • 将仓库内所有变更都加入到暂存区
git add - A
  • 将指定文件夹添加到暂存区
git add 文件夹

将指定文件添加到暂存区

git add 文件 1 文件 2 文件 3
  • 比较工作区和暂存区的所有差异
git diff
  • 比较某文件工作区和暂存区的差异
git diff 文件
  • 比较暂存区和 HEAD 的所有差异
git diff -- cached
  • 比较某文件暂存区和 HEAD 的差异
git diff -- cached 文件
  • 比较某文件工作区和 HEAD 的差异
git diff HEAD 文件
  • 创建 commit并加入提交注释
git commit -m “备注”
  • 创建 commit
git commit
  • 将工作区指定文件恢复成和暂存区一致
git checkout 文件 1 文件 2 文件 3
  • 将暂存区指定文件恢复成和 HEAD 一致
git reset 文件 1 文件 2 文件 3
  • 将暂存区和工作区所有文件恢复成和 HEAD 一样
git reset -- hard
  • difftool 比较任意两个 commit 的差异
git difftool 提交 1 提交 2
  • 查看哪些文件没被 Git 管控
git ls - files -- others
  • 将未处理完的变更先保存到 stash
git stash
  • 临时任务处理完后继续之前的工作
pop 不保留 stash
apply 保留 stash
git stash pop
git stash apply
  • 查看所有 stash
git stash list
  • 取回某次 stash 的变更
git stash pop stash@{ 数字 n}
  • 优雅修改最后一次 commit
git add.
git commit -- amend


三、分支操作

  • 查看当前工作分支及本地分支
git branch - v
  • 查看本地和远端分支
git branch - av
  • 查看远端分支
git branch - rv
  • 切换到指定分支
git checkout 指定分支
  • 基于当前分支创建新分支
git branch 新分支
  • 基于指定分支创建新分支
git branch 新分支 指定分支
  • 基于某个 commit 创建分支
git branch 新分支 某个 commit id
  • 创建并切换到该分支
git checkout - b 新分支
  • 安全删除本地某分支
git branch - d 要删除的分支
  • 强行删除本地某分支
git branch - D 要删除的分支
  • 删除已合并到 master 分支的所有本地分支
git branch -- merged master | grep - v '^\*\| master' | xargs - n 1 git branch - d
  • 删除远端 origin 已不存在的所有本地分支
git remote prune orign
  • A 分支合入到当前分支中且为 merge 创建 commit
git merge A 分支
  • A 分支合入到 B 分支中且为 merge 创建 commit
git merge A 分支 B 分支
  • 将当前分支基于 B 分支做 rebase,以便将B分支合入到当前分支
git rebase B 分支
  • A 分支基于 B 分支做 rebase,以便将 B 分支合入到 A 分支
git rebase B 分支 A 分支

四、变更历史

  • 当前分支各个 commit 用一行显示
git log -- oneline
  • 显示就近的 n commit
git log - n
  • 用图示显示所有分支的历史
git log -- oneline -- graph -- all
  • 查看涉及到某文件变更的所有 commit
git log 文件
  • 某文件各行最后修改对应的 commit 以及作者
git blame 文件

五、标签操作

  • 查看已有标签
git tag
  • 新建标签
git tag v1.0
  • 新建带备注标签
git tag - a v1.0 - m ' 前端食堂 '
  • 给指定的 commit 打标签
git tag v1.0 commitid
  • 推送一个本地标签
git push origin v1.0
  • 推送全部未推送过的本地标签
git push origin -- tags
  • 删除一个本地标签
git tag - d v1.0
  • 删除一个远端标签
git push origin :refs/tags/v1.0

六、远端交互

  • 查看所有远端仓库
git remote - v
  • 添加远端仓库
git remote add url
  • 删除远端仓库
git remote remove remote 的名称
  • 重命名远端仓库
git remote rename 旧名称 新名称
  • 将远端所有分支和标签的变更都拉到本地
git fetch remote
  • 把远端分支的变更拉到本地,且 merge 到本地分支
git pull origin 分支名
  • 将本地分支 push 到远端
git push origin 分支名
  • 删除远端分支
git push remote -- delete 远端分支名
git push remote : 远端分支名

        PS:当前实际开发中都是使用功能IDE工具进行代码编写,在IDE工具中都会很好的集成Git工具,使用非常的方便,不用在面对复杂而且容易搞忘的命令。

  • 16
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

搞工地的

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值