场景一

小张作为一个开发人员,刚进团队,发现团队是使用git进行代码管理的,现在需要去初始化团队的代码仓库以及新增提交自己修改的一部分代码

1.克隆远程仓库 git clone <ssh>

git clone git@github.com:walt-liuzw/gitdemo.git

2.修改代码,比如新增一个readme.txt说明文件

3.多此一举的操作,查看变动的文件

git status

4.提交代码三板斧

git add .

git commit -m "docs: 增加说明文档"

git push

场景二

小张正在dev分支上开发代码,突然有人告诉他,现在master分支上有个紧急的bug需要他去处理,此时有分三种情况

第一种情况:现在在dev分支上修改的文件,可以丢弃掉,然后切换成master分支去修复紧急问题

1.先用git status 查看dev分支有哪些更改的文件

2.使用git checkout . 命令丢弃该分支下的所有变更

第二种情况:小张在dev分支上的变更有很多,而且并没有开发完善,不能提交到远程分支上,而且这些变更不想丢弃,此时可以将代码保存到暂缓区。

使用git stash,将代码存到本地的缓冲区内

将dev分支的变更暂存到暂缓区后,你用干净的分支修改bug或者切换到master分支上去修改bug都行,修改完成后,小张接着之前的开发步骤进行,需要将暂缓区的代码pop出来

然后跟之前的提交代码做合并,继续往下开发。

第三种情况:小张在开发过程中的代码可以随时提交到远程分支(远程分支没有集成ci/cd),这样当遇到切换分支的情况,先把本分支的内容提交到远程分支上。

参考场景一

场景三

小张在修改完一个bug后,去提交代码,此时他发现他刚才修改的bug并不彻底,还漏了几个文件,此时小张可以再提交一个commit,但是这样

两个甚至多个commit都是解决一个问题,在提交记录上并不好看

1.遇到频繁提交,解决一个问题,使用一个commit使用命令

git commit --amend

git push

场景四

小张把两次提交合成一个fix,已经推送到远程分支上了,此时他发现自己脑残了,这两个修改根本不是解决bug的原因,bug是其他问题造成的,此时小张打算将提交回滚到“第一次修改”这个commit上

目标要是实现如下图

1.使用git log看到具体提交的commit id,采用git reset <commit-id>

2.注意一个问题,在下面图中小张使用了git reset方法

使用reset后,又用了git checkout . 才使代码恢复的,这是因为只用reset只会将commit回滚到目标的id,但是之后的代码作为修改状态存在,可以通过git status看到。

场景五

小张现在在dev分支上,dev上的文件是空白的,而master上已经有很多修改了,如果现在打算将master分支的东西合并到dev分支上

1.使用git merge <source-branch>命令

2.当然,如果是简单的合并,可以通过pull的方式实现,在dev上直接pull master分支

Git使用的常用场景的更多相关文章

  1. 【Git】git使用 - 各种常用场景命令解决

    (多看git中的各种帮助-h/--help,可能有你想要的命令) 1.分支的创建和切换 创建 >>>> git branch branchName 切换分支 >>& ...

  2. Git——常用场景解析

    总结:本篇文章从初识GitHub.Git,实践GitHub的五种常用场景,分别是:git for windows安装,git配置,克隆远程代码到本地,上传本地代码到远程以及Git的常用指令.相信Jam ...

  3. git常用命令常用场景

    在使用git之前,一直用的是svn版本管理:与svn最大不同的是,git有两个仓库,一个是本地仓库,一个是服务器上共享的仓库:本地仓库是每个开发者自己独有的,即使commit提交也只是提交到本地仓库: ...

  4. git 安装与使用场景

    1. 安装 yum install git #自动安装依赖 centos sudo apt-get install git #ubutu http://msysgit.github.io/ #wind ...

  5. Git 基础 —— 常见使用场景

    Git 基础学习系列 Git 基础 -- 安装 配置 别名 对象 Git 基础 -- 常用命令 Git 基础 -- 常见使用场景 Git基础 -- Github 的使用 突然插入 Bugifx 工作, ...

  6. [Git] 1、常用Git命令行总结(一)

    一.GIT CLONE最常用的有如下几个 1.最简单直接的命令:git clone xxx.git 2.如果想clone到指定目录:git clone xxx.git “指定目录” 3.clone时创 ...

  7. git 团队开发常用操作流程(适用于 gogs、gitlab、github)

    git 团队开发常用操作流程(适用于 gogs.gitlab.github) NO1 项目构建者 (1)在远程仓库创建仓库 (2)将伙伴添加到仓库合作者中(无先后要求) (2)cd 到项目将要存放项目 ...

  8. Git安装以及常用命令(图文详解)

    **Git安装以及常用命令** 1.下载安装Git,傻瓜式安装相信大家都会. 官网下载地址:[https://git-scm.com/downloads] 2.Git基本操作 (1)git --ver ...

  9. Git的一些常用命令

    一:Git是什么? Git是目前世界上最先进的分布式版本控制系统. 简单的说就是托管代码的便于多人开发的管理系统. 二.Git的一些命令,我详细的说一下 我是基于github给大家说一下git的一些常 ...

随机推荐

  1. 2019牛客多校 Round8

    Solved:3 Rank:261 E Explorer (线段树) 题意:n个点 m条边 每条边只有身高l,r内的人可以穿过 问有几种身高可以从1走到n 题解:把l,r离散化后(左闭右开) 线段树叶 ...

  2. Caocao's Bridges HDU - 4738 找桥

    题意: 曹操在赤壁之战中被诸葛亮和周瑜打败.但他不会放弃.曹操的军队还是不擅长打水仗,所以他想出了另一个主意.他在长江上建造了许多岛屿,在这些岛屿的基础上,曹操的军队可以轻易地攻击周瑜的军队.曹操还修 ...

  3. JavaScript_继承

  4. 前端模块化之ES Module

    一.概述 之前提到的几种模块化规范:CommonJS.AMD.CMD都是社区提出的.ES 2015在语言层面上实现了模块功能,且实现简单,可以替代CommonJS和AMD规范,成为在服务器和浏览器通用 ...

  5. 1、Django框架目录介绍

    1.windows上安装django pip install django==1.10.3 安装完成后:django-admin.exe 默认存放路径:C:\Users\licl11092\AppDa ...

  6. 计算机网络基础篇-ppp协议

    所谓的PPP协议是点对点协议,是目前使用最广泛的数据链路层的协议.大部分用户使用电话线拨号入网的,从用户计算机到ISP的链路所使用的数据链路层协议就是PPP协议. 首先介绍下拨号入网的过程.因特网服务 ...

  7. Leetcode(105)-从前序与中序遍历序列构造二叉树

    根据一棵树的前序遍历与中序遍历构造二叉树. 注意:你可以假设树中没有重复的元素. 例如,给出 前序遍历 preorder = [3,9,20,15,7] 中序遍历 inorder = [9,3,15, ...

  8. VuePress 最新教程

    VuePress 最新教程 https://vuepress.vuejs.org/ https://github.com/vuejs/vuepress VuePress plugins 插件通常会为 ...

  9. Nginx环境下,PHP下载,中文文件,下载失效(英文可以下载)怎么解决呢?

    参考出处: http://www.imooc.com/qadetail/76393 Nginx环境下,PHP下载,中文文件,下载失效(英文可以下载)怎么解决呢? 背景介绍: 文件名  为英文时可以下载 ...

  10. Android 开启 WebView 页面 Chrome debug

    Android 开启 WebView 页面 Chrome debug WebView debug // 开启 WebView 页面 debug testWebView.setWebContentsDe ...