Git使用的常用场景
场景一
小张作为一个开发人员,刚进团队,发现团队是使用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使用的常用场景的更多相关文章
- 【Git】git使用 - 各种常用场景命令解决
(多看git中的各种帮助-h/--help,可能有你想要的命令) 1.分支的创建和切换 创建 >>>> git branch branchName 切换分支 >>& ...
- Git——常用场景解析
总结:本篇文章从初识GitHub.Git,实践GitHub的五种常用场景,分别是:git for windows安装,git配置,克隆远程代码到本地,上传本地代码到远程以及Git的常用指令.相信Jam ...
- git常用命令常用场景
在使用git之前,一直用的是svn版本管理:与svn最大不同的是,git有两个仓库,一个是本地仓库,一个是服务器上共享的仓库:本地仓库是每个开发者自己独有的,即使commit提交也只是提交到本地仓库: ...
- git 安装与使用场景
1. 安装 yum install git #自动安装依赖 centos sudo apt-get install git #ubutu http://msysgit.github.io/ #wind ...
- Git 基础 —— 常见使用场景
Git 基础学习系列 Git 基础 -- 安装 配置 别名 对象 Git 基础 -- 常用命令 Git 基础 -- 常见使用场景 Git基础 -- Github 的使用 突然插入 Bugifx 工作, ...
- [Git] 1、常用Git命令行总结(一)
一.GIT CLONE最常用的有如下几个 1.最简单直接的命令:git clone xxx.git 2.如果想clone到指定目录:git clone xxx.git “指定目录” 3.clone时创 ...
- git 团队开发常用操作流程(适用于 gogs、gitlab、github)
git 团队开发常用操作流程(适用于 gogs.gitlab.github) NO1 项目构建者 (1)在远程仓库创建仓库 (2)将伙伴添加到仓库合作者中(无先后要求) (2)cd 到项目将要存放项目 ...
- Git安装以及常用命令(图文详解)
**Git安装以及常用命令** 1.下载安装Git,傻瓜式安装相信大家都会. 官网下载地址:[https://git-scm.com/downloads] 2.Git基本操作 (1)git --ver ...
- Git的一些常用命令
一:Git是什么? Git是目前世界上最先进的分布式版本控制系统. 简单的说就是托管代码的便于多人开发的管理系统. 二.Git的一些命令,我详细的说一下 我是基于github给大家说一下git的一些常 ...
随机推荐
- BZOJ3238 [Ahoi2013]差异 【SAM or SA】
BZOJ3238 [Ahoi2013]差异 给定一个串,问其任意两个后缀的最长公共前缀长度的和 1.又是后缀,又是\(lcp\),很显然直接拿\(SA\)的\(height\)数组搞就好了,配合一下单 ...
- 2019牛客多校 Round2
Solved:2 Rank:136 A Eddy Walker 题意:T个场景 每个场景是一个长度为n的环 从0开始 每次要么向前走要么向后走 求恰好第一次到m点且其他点都到过的概率 每次的答案是前缀 ...
- 【noi 2.6_8464】股票买卖(DP)
题意:N天可买卖2次股票,问最大利润. 解法:f[i]表示前 i 天买卖一次的最大利润,g[i]表示后 i 天. 注意--当天可以又买又卖,不要漏了这个要求:数据较大. 1 #include<c ...
- P1280 尼克的任务(DP)
题目描述 尼克每天上班之前都连接上英特网,接收他的上司发来的邮件,这些邮件包含了尼克主管的部门当天要完成的全部任务,每个任务由一个开始时刻与一个持续时间构成. 尼克的一个工作日为N分钟,从第一分钟开始 ...
- springboot源码解析-管中窥豹系列之BeanDefinition(八)
一.前言 Springboot源码解析是一件大工程,逐行逐句的去研究代码,会很枯燥,也不容易坚持下去. 我们不追求大而全,而是试着每次去研究一个小知识点,最终聚沙成塔,这就是我们的springboot ...
- CF1462-F. The Treasure of The Segments
题意: 给出n个线段组成的集合,第i个线段用 \(\{l_i, r_i\}\) 表示线段从坐标轴的点\(l_i\)横跨到点\(r_i\).现在你可以删除其中的一些线段,使得剩下的线段组成的集合中至少存 ...
- Nginx基础 - 配置静态web服务
1.静态参数配置1)文件读取高效sendfile Syntax: sendfile on | off; Default: sendfile off; Context: http, server, lo ...
- .NET Core项目自动化测试和代码覆盖率审查
这篇文章给大家分享一下,如何配置.NET Core项目自动化测试和代码覆盖率审查. 基本知识,请参考这里: https://docs.microsoft.com/en-us/dotnet/core/t ...
- leetcode一些细节
取数组中点时不要写 int mid = (left + right) // 2;,「这么写有一个问题:数值越界,例如left和right都是最大int,这么操作就越界了,在二分法中尤其需要注意!」 所 ...
- Ubuntu16安装Caffe+Python3缺少libboost
如果在/usr/lib/x86_64-linux-gnu中找到libboost_python-py3.5.so, 则 sudo ln -s libboost_python-py3.5.so libbo ...