git常用命令总结

当使用 Git 进行版本控制时,以下是一些常用的 Git 命令的详细总结:

  1. 创建仓库和初始化:
    • git init: 在当前目录创建一个新的 Git 仓库。执行后会在当前目录下生成一个名为 ".git" 的子目录,用于保存仓库的版本历史等信息。
    • git clone <repository-url>: 克隆远程仓库到本地。使用这个命令可以在本地创建一个已经存在的远程仓库的副本。
  2. 添加和提交更改:
    • git add <file>: 将文件添加到暂存区(Staging Area)。使用这个命令可以告诉 Git 将指定文件的更改包含在下一次提交中。
    • git add .: 将所有修改过的文件添加到暂存区。使用这个命令可以批量添加所有已修改文件的更改。
    • git commit -m "Commit message": 提交暂存区的文件,并添加提交消息。使用这个命令会将暂存区中的更改永久地保存到版本历史中。
  3. 分支管理:
    • git branch: 显示所有本地分支。使用这个命令可以查看当前仓库中存在的所有分支,并标识出当前所在的分支。
    • git branch <branch-name>: 创建新的分支。使用这个命令可以在当前的提交上创建一个新的分支。
    • git checkout <branch-name>: 切换到指定分支。使用这个命令可以在已有分支之间切换。
    • git merge <branch-name>: 将指定分支合并到当前分支。使用这个命令可以将指定分支的更改合并到当前所在的分支。
  4. 查看状态和历史:
    • git status: 显示工作区和暂存区的状态。使用这个命令可以查看当前修改的文件以及暂存区的状态。
    • git reflog:显示commit的历史提交记录
    • git log: 查看提交历史。使用这个命令可以查看仓库中所有提交的历史记录,包括提交的作者、日期、提交消息等信息。
    • git diff: 查看工作区和暂存区之间的差异。使用这个命令可以查看当前工作区中与暂存区之间的差异。
    • git diff --staged: 查看暂存区和最后一次提交之间的差异。使用这个命令可以查看已暂存的更改和最后一次提交之间的差异。
  5. 撤销更改:
    • git checkout -- <file>: 丢弃工作区中文件的更改。使用这个命令可以将指定文件恢复到最近的提交状态。
    • git reset HEAD <file>: 将文件从暂存区移回工作区。使用这个命令可以取消暂存文件的更改,但保留在工作区中的更改。
    • git reset --hard HEAD^:回到上一个版本
    • git reset --hard <history-name>:回到指定名称版本的
    • git revert <commit>: 创建一个新的提交,撤销指定提交的更改。使用这个命令可以撤销某次提交的更改而不影响历史记录。
  6. 远程仓库:
    • git remote -v: 查看远程仓库信息。使用这个命令可以查看当前仓库配置的远程仓库地址。
    • git remote add <remote-name> <repository-url>: 添加远程仓库。使用这个命令可以将一个远程仓库添加到当前仓库的远程仓库列表中。
    • git pull <remote> <branch-name>: 拉取远程分支并自动合并到当前分支。使用这个命令可以从远程仓库获取最新更改并将其合并到当前分支。
    • git push <remote> <branch-name>: 将当前分支推送到远程仓库。使用这个命令可以将本地分支的更改推送到远程仓库。
相关推荐
oscar99910 小时前
Monorepo 全面解析:优势、挑战与适用场景
git·monorepo
龙之叶12 小时前
Git Commit 生成与合入 Patch 指南
git
裸奔的大金毛20 小时前
Tekton - 自定义镜像配置git仓库克隆
git·ci/cd·devops·tekton
Adorable老犀牛1 天前
可遇不可求的自动化运维工具 | 2 | 实施阶段一:基础准备
运维·git·vscode·python·node.js·自动化
xiaok1 天前
把代码上传到gitee的时候,怎么忽略node_modules文件夹
git·gitlab·github
唐叔在学习1 天前
听说有老哥分不清Git branch和tag?这不看看嘛
git·后端
雁于飞1 天前
vscode中使用git、githup的基操
笔记·git·vscode·学习·elasticsearch·gitee·github
小毛驴8502 天前
所有微服务部署都使用一个git地址,并且通过docker部署各个服务的情况下,如何编写mvn指令来处理各个服务。
git·docker·微服务
国王不在家2 天前
git 切换仓库后清理分支缓存
git
柯南二号2 天前
【Gitlab】Ubuntu 20.04服务器部署Gitlab
git·gitlab