场景一

小张作为一个开发人员,刚进团队,发现团队是使用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. 【洛谷 p3373】模板-线段树 2(数据结构--线段树)

    题意:已知一个数列,你需要进行下面三种操作:1.将某区间每一个数加上x:2.将某区间每一个数乘上x:3.求出某区间每一个数的和. 解法:(唉 :-(,这题卡住我了......)对于加法和乘法的混合操作 ...

  2. 第 45 届国际大学生程序设计竞赛(ICPC)亚洲网上区域赛模拟赛. A.Easy Equation (前缀和/差分)

    题意:RT,给你四个数\(a,b,c,d\),求\(x+y+z=k\)的方案数. 题解:我们可以先枚举\(x\)的值,然后\(x+y\)能取到的范围一定是\([x,x+b]\),也就是说这个区间内每个 ...

  3. μC/OS-III---I笔记7---消息队列

    消息队列 任务之间仅仅靠信号量进行"沟通"是不够的,信号量可以标志事件的发生,却无法传递更多的数据,在需要任务间的数据信息传递时就绪要用到消息队列,传统我们一般在前后太系统中都是通 ...

  4. 海 鱼立 鲷 & 海䲞鲷

    海 鱼立 鲷 & 海䲞鲷 䲞 lì 鲷 diāo 二长棘鲷 二长棘鲷(学名:Parargyrops edita)为辐鳍鱼纲鲈形目鲷科二长棘鲷属的鱼类,俗名板鱼.䲞鱼.盘仔鱼.立花.赤鬃.长鳍. ...

  5. ES6 Class vs ES5 constructor function All In One

    ES6 Class vs ES5 constructor function All In One ES6 类 vs ES5 构造函数 https://developer.mozilla.org/en- ...

  6. Axios 取消 Ajax 请求

    Axios 取消 Ajax 请求 Axios XMLHttpRequest https://caniuse.com/?search=XMLHttpRequest https://developer.m ...

  7. PostgreSQL All In One

    PostgreSQL All In One SQL macOS https://www.postgresql.org/download/macosx/ EDB installer PostgreSQL ...

  8. APP 跳转到支付包小程序

    APP 跳转到支付包小程序 APP选择支付宝支付,会跳转到支付宝小程序再支付 支付包 小程序 我司有自己的APP.生活号,小程序,这种情况下如何和小程序关联,跳转到小程序里去,做到无缝对接? 其实,小 ...

  9. 10月上线的NGK global有怎样的发展前景?

    随着NGK global 10月份的上线时间将近,社区中也开始纷纷讨论.预测起NGK global上线后的表现,对此小编也有一些自己的理解,就此分享给大家. 在基于实体生态的赋能下,NGK globa ...

  10. 1. VUE介绍

    今天开始系统学习vue前端框架. 我是有前端基础的, 刚工作那会, 哪里分那么清楚啊, 前后端我都得做, 所以, css, js, jquery, bootstrap都会点, 还系统学过ext, 哈哈 ...