一些常用的git命令操作简单总结

记录常用的git命令,附带命令的简单使用说明

git区域分布

remote远程仓库 repository本地仓库 index暂存区 workspace工作区 stash与独立分支的堆区

  1. workspace add/stage=> index git add ./filename git stage ./filename
  2. index commit=> repository git commit -m "xxx"
  3. repository push=> remote 不同名:git push origin branchName 同名:git push本地分支与远程分支必须具有track关系
  4. remote fetch=> repository 初次建本地仓库git clone 拉最新代码git fetch
  5. remote pull=> workspace git pull
  6. repository => workspace git checkout

分支处理

查看分支

  • git branch 查看本地分支
  • git branch -a 查看本地分支和远程分支(git pull origin更新最新创建的远程分支)

分支创建

  • git branch develop 创建本地分支名为develop(此时没有track跟踪远程分支,git branch -vv查看跟踪关系)
  • git checkout develop 本地切换分支到develop
  • git checkout -b develop ===前两步

本地分支track跟踪远程分支

假设要创建一个分支develop

远程有分支,新建本地分支跟踪远程分支(分支名:origin/develop)

本地创建分支track跟踪远程分支:git checkout --track origin/branch_name

  1. 方法1
  • git checkout --track origin/develop 将自动新建一个与远程分支同名的本地分支develop ,会自动track跟踪远程的同名分支origin/develop。
  1. 方法2
  • git checkout -b new_branch_name origin/branch_name 根据远程分支origin/branch_name 创建一个本地分支 new_branch_name,会自动track跟踪。这样可创建不同名分支。建议分支名一样。

远程没有分支,新建远程分支

本地创建无track关系的分支,推送到远程,并且:git push --set-upstream origin branch_name 自动在远程创建一个 branch_name 分支,然后自动本地分支 branch_name track origin/branch_name 远程分支

  1. 方法1
  • git branch develop
  • git checkout develop
  • git push --set-upstream origin develop 会自动在远程创建一个同名分支origin/develop,并跟踪

分支合并与删除

假设要将develop合并到master

  1. 先切换到要主分支: git checkout master
  2. 合并分支: git merge develop
  3. 删除本地分支 git branch -d develop
  4. 删除远程分支 git push origin --delete develop

代码回滚

checkout

  1. 重置workspace的代码:git checkout fileName 重置所有git checkout .
  2. 1中不可重置新建的文件。git clean -df 重置workspace所有新加的代码和文件

revert

  1. git revert HEAD~1 / commit_id 撤销一个提交的同时会创建一个新的提交。安全。不会移除当前分支的一些提交commit记录

reset

  1. git reset HEAD~1 / commit_id 在提交层面上,reset将一个分支的末端指向另一个提交。不安全,最好不要再公共分支上使用。会移除当前分支的一些提交commit记录

独立堆区

stash

  1. git stash 将当前的更改存放到独立于所有分支的堆区(例如切换分支时,又不想commit当前更改)
  2. git stash pop 将堆区返回workspace
  3. git stash list 查看stash列表

对比stage, stash隶属于当前分支的暂存区,属于分支的子集。

tag标签

  1. git tag tag-name 给最新commit打标签
  2. git tag -d tag-name 删除对应标签
  3. git push origin tag-name 推送标签到远程

git的一些常用基础命令的更多相关文章

  1. Linux常用基础命令整理:关机命令、查看目录下文件命令等

    Linux常用基础命令整理:关机命令.查看目录下文件命令等 整理了一些Linux常用基础命令,欢迎指正. 首先记住四个热键,学会这四个键,收益一辈子. Tab按键---命令补齐功能Ctrl+c按键-- ...

  2. git bush的一些基础命令

    git bush的一些基础命令(不区分大小写) 通过命令创建本地仓库 首先自己需要手动建一个文件夹用于本地仓库 进行如下输入,使用cd跳转到刚刚创建的文件夹中 之后再输入 git init 即可创建 ...

  3. CentOS常用基础命令大全

    这篇文章主要介绍了CentOS常用基础命令大全,学习centos的朋友需要掌握的知识,需要的朋友可以参考下 1.关机 (系统的关机.重启以及登出 ) 的命令shutdown -h now 关闭系统(1 ...

  4. MySQL数据库入门常用基础命令

    MySQL数据库入门———常用基础命令      数据——公司的生命线,因此在大多数的互联网公司,都在使用开源的数据库产品,MySQL也因此关注度与使用率非常的高,所以做为运维的屌丝们,掌握它的一些基 ...

  5. Docker 使用笔记-常用基础命令

    常用基础命令 环境:Linux Ubuntu 1.查看docker信息 docker version | docker info 2.启动docker服务 sudo systemctl start d ...

  6. Linux常用基础命令(二)

    Linux常用基础命令 一.-ls--列表显示目录内容 二.-alias--设置别名 三.-du--统计目录及文件空间占用情况 四.-mkdir--创建新目录 五.-touch--创建空文件 六.-l ...

  7. git总结一、工作中常用基础命令

    首先来了解两个概念: 工作区:比如你的项目目录 暂存区:git和其他版本控制系统的不同之处就是有这个暂存区的概念. .git不是工作区,而是git 版本库,在版本库中存放着很多东西,比如暂存区(sta ...

  8. Docker 容器安装及常用基础命令

    为什么用docker 作为一种新兴的虚拟化方式,Docker 跟传统的虚拟化方式相比具有众多的优势. Docker 在如下几个方面具有较大的优势: 更快速的交付和部署 Docker在整个开发周期都可以 ...

  9. 前后端同学,必会的Linux常用基础命令

    无论是前端还是后端同学,一些常用的linux命令还是必须要掌握的.发布版本.查看日志等等都会用到.以下是我简单的总结了一些简单又常用的命令,欢迎大家补充.希望能帮助到大家 本文首发于公众号 程序员共成 ...

随机推荐

  1. BAD SLAM:捆绑束调整直接RGB-D SLAM

    BAD SLAM:捆绑束调整直接RGB-D SLAM BAD SLAM: Bundle Adjusted Direct RGB-D SLAM 论文地址: http://openaccess.thecv ...

  2. 3D点云点云分割、目标检测、分类

    3D点云点云分割.目标检测.分类 原标题Deep Learning for 3D Point Clouds: A Survey 作者Yulan Guo, Hanyun Wang, Qingyong H ...

  3. Linux操作系统(一)

    计算机本身就是一堆硬件,这些硬件中最核心的就是CPU(运算器,控制器) 和存储器设备. 为了能够实现计算机获取数据,数据的输入输出等等需要输入设备和输出设备. 计算机体系内部:主要是通过桥接接入当前系 ...

  4. 精通LED驱动芯片HT1632C指令与编程应用

    HT1632C是一款很常用的LED(数码管或点阵)驱动芯片,虽然官方已经宣布该芯片明年(2021年)即将寿终正寝(停产),但是相同厂家生产的同系列芯片的控制方式通常是相同的(事实上,大多数LED驱动芯 ...

  5. 【Azure API 管理】APIM集成内网虚拟网络后,启用自定义路由管理外出流量经过防火墙(Firewall),遇见APIs加载不出来问题

    问题描述 使用 Azure 虚拟网络,Azure APIM 可以管理无法通过 Internet 访问的 API,达到以保护企业内部的后端API的目的.在虚拟网络中,启用网络安全组(NSG:Networ ...

  6. element的日期选择使用value-format之后表单验证报错

    在表单验证的时候报错 添加一个日期控件,但是发现在表单验证中遇到了冲突如下: Error in event handler for "el.form.change": " ...

  7. 怎么停掉或关闭运行的npm run dev

    可以直接Ctrl+C就会出现 输入是就可以了

  8. ES6、ES7的一些新特性

    1.常见的就是let 和 const 命令 let 只在命令所在的代码块内有效 const声明一个只读的常量 2.变量的赋值 let [a, b, c] = [1, 2, 3]; 这样输出的话a=1, ...

  9. 学会使用Python的threading模块、掌握并发编程基础

    threading模块 Python中提供了threading模块来实现线程并发编程,官方文档如下: 官方文档 添加子线程 实例化Thread类 使用该方式新增子线程任务是比较常见的,也是推荐使用的. ...

  10. jQuery筛选选择器

    <!DOCTYPE html><html><head>    <meta http-equiv="Content-type" conten ...