zoukankan      html  css  js  c++  java
  • Git常用的命令

    一、前言

    git的操作可以通过命令的形式执行,日常使用就如下图6个命令即可

    实际上,如果想要熟练使用,超过60多个命令需要了解,下面则介绍下常见的的git命令

    二、有哪些

    大致分成了以下几个类别

    • 配置
    • 初始化
    • 日常基本操作
    • 分支操作
    • 远程同步
    • 撤销
    • 存储

    配置

    Git自带一个 git config 的工具来帮助设置控制 Git外观和行为的配置变量,在我们安装完git之后,第一件事就是设置你的用户名和邮件地址

    后续每一个提交都会使用这些信息,它们会写入到你的每一次提交中,不可更改

    设置提交代码时的用户信息命令如下:

    • git config [--global] user.name "[name]"
    • git config [--global] user.email "[email address]"

    启动

    一个git项目的初始有两个途径,分别是:

    • git init [project-name]:创建或在当前目录初始化一个git代码库
    • git clone url:下载一个项目和它的整个代码历史

    日常基本操作

    在日常工作中,代码常用的基本操作如下:

    • git init 初始化仓库,默认为 master 分支
    • git add . 提交全部文件修改到缓存区
    • git add <具体某个文件路径+全名> 提交某些文件到缓存区
    • git diff  查看当前代码 add后,会 add 哪些内容
    • git diff --staged查看现在 commit 提交后,会提交哪些内容
    • git status 查看当前分支状态
    • git pull <远程仓库名> <远程分支名> 拉取远程仓库的分支与本地当前分支合并
    • git pull <远程仓库名> <远程分支名>:<本地分支名> 拉取远程仓库的分支与本地某个分支合并
    • git commit -m "<注释>" 提交代码到本地仓库,并写提交注释
    • git commit -v 提交时显示所有diff信息
    • git commit --amend [file1] [file2] 重做上一次commit,并包括指定文件的新变化

    关于提交信息的格式,可以遵循以下的规则:

    • feat: 新特性,添加功能
    • fix: 修改 bug
    • refactor: 代码重构
    • docs: 文档修改
    • style: 代码格式修改, 注意不是 css 修改
    • test: 测试用例修改
    • chore: 其他修改, 比如构建流程, 依赖管理

    分支操作

    • git branch 查看本地所有分支
    • git branch -r 查看远程所有分支
    • git branch -a 查看本地和远程所有分支
    • git merge <分支名> 合并分支
    • git merge --abort 合并分支出现冲突时,取消合并,一切回到合并前的状态
    • git branch <新分支名> 基于当前分支,新建一个分支
    • git checkout --orphan <新分支名> 新建一个空分支(会保留之前分支的所有文件)
    • git branch -D <分支名> 删除本地某个分支
    • git push <远程库名> :<分支名> 删除远程某个分支
    • git branch <新分支名称> <提交ID> 从提交历史恢复某个删掉的某个分支
    • git branch -m <原分支名> <新分支名> 分支更名
    • git checkout <分支名> 切换到本地某个分支
    • git checkout <远程库名>/<分支名> 切换到线上某个分支
    • git checkout -b <新分支名> 把基于当前分支新建分支,并切换为这个分支

    远程同步

    远程操作常见的命令:

    • git fetch [remote] 下载远程仓库的所有变动
    • git remote -v 显示所有远程仓库
    • git pull [remote] [branch] 拉取远程仓库的分支与本地当前分支合并
    • git fetch 获取线上最新版信息记录,不合并
    • git push [remote] [branch] 上传本地指定分支到远程仓库
    • git push [remote] --force 强行推送当前分支到远程仓库,即使有冲突
    • git push [remote] --all 推送所有分支到远程仓库

    撤销

    • git checkout [file] 恢复暂存区的指定文件到工作区

    • git checkout [commit] [file]  恢复某个commit的指定文件到暂存区和工作区

    • git checkout . 恢复暂存区的所有文件到工作区

    • git reset [commit] 重置当前分支的指针为指定commit,同时重置暂存区,但工作区不变

    • git reset --hard 重置暂存区与工作区,与上一次commit保持一致

    • git reset [file] 重置暂存区的指定文件,与上一次commit保持一致,但工作区不变

    • git revert [commit]  后者的所有变化都将被前者抵消,并且应用到当前分支

    reset:真实硬性回滚,目标版本后面的提交记录全部丢失了

    revert:同样回滚,这个回滚操作相当于一个提价,目标版本后面的提交记录也全部都有

    存储操作

    你正在进行项目中某一部分的工作,里面的东西处于一个比较杂乱的状态,而你想转到其他分支上进行一些工作,但又不想提交这些杂乱的代码,这时候可以将代码进行存储

    • git stash 暂时将未提交的变化移除

    • git stash pop 取出储藏中最后存入的工作状态进行恢复,会删除储藏

    • git stash list 查看所有储藏中的工作

    • git stash apply <储藏的名称>  取出储藏中对应的工作状态进行恢复,不会删除储藏

    • git stash clear 清空所有储藏中的工作

    • git stash drop <储藏的名称>  删除对应的某个储藏

    三、总结

    git常用命令速查表如下所示:

     

     

     

     

     

     

    本文来自博客园,作者:喆星高照,转载请注明原文链接:https://www.cnblogs.com/houxianzhou/p/15127027.html

  • 相关阅读:
    前端的一些工具
    ubuntu安装intelij idea 和pycharm
    广义欧几里得算法,求解形如ax+by=c的整数解
    Kali安装jdk8
    ARP 项添加失败: 拒绝访问
    Python扩展包,解决”unable to find vcvarsall.bat“
    python实现mschap2
    Ubuntu 安装 Corsaro v2.0.0 全过程
    使用GridFS上传下载图片以及其他文件
    Eclipse设置工作空间编码
  • 原文地址:https://www.cnblogs.com/houxianzhou/p/15127027.html
Copyright © 2011-2022 走看看