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的一些常 ...
随机推荐
- Codeforces 1345 D - Monopole Magnets
传送门:D. Monopole Magnets 这一场也是很神奇了,先是推迟三天,后是评测鸡崩了,unrated... 题意:每一行,每一列必须都要至少有一个s,n要可以到所有的黑格,n的上下左右如果 ...
- 【noi 2.6_9288】&【hdu 1133】Buy the Ticket(DP / 排列组合 Catalan+高精度除法)
题意:有m个人有一张50元的纸币,n个人有一张100元的纸币.他们要在一个原始存金为0元的售票处买一张50元的票,问一共有几种方案数. 解法:(学习了他人的推导后~) 1.Catalan数的应用7的变 ...
- python代理池的构建5——对mongodb数据库里面代理ip检查
上一篇博客地址:python代理池的构建4--mongdb数据库的增删改查 一.对数据库里面代理ip检查(proxy_test.py) #-*-coding:utf-8-*- ''' 目的:检查代理I ...
- 智能社讲解js基础
一,Javascript的组成ECMAScript:翻译,核心,解释器,DOM:文档对象模型,Document Object Model 操作HTML的能力,document对象BOM:浏览器对象模型 ...
- IOS键盘收起后,页面底部留白处理
环境:vue+vant 的H5页面 场景:输入框输入信息时,如登录.注册等表单信息 问题:键盘收回后页面底部留白,导致dialog组件按钮位移,视觉上,其中的按钮无法正常工作 解决方案:监听失去焦点时 ...
- Petrozavodsk Summer Training Camp 2016H(多标记线段树)题解
题意: \(n\)个草,第\(0\)天种下,高度都为\(0\),每个草每天长高\(a_i\).现给出\(q\)询问,每次给出第\(b_i\)天,然后把高于\(d_i\)的全削成\(d_i\),每次问你 ...
- 部署gitlab-01
Gitlab Server 部署 1.环境配置 关闭防火墙.SELinux 开启邮件服务 systemctl start postfix systemctl enable postfix#ps:不开去 ...
- webpack4.0源码解析之esModule打包分析
入口文件index.js采用esModule方式导入模块文件,非入口文件index1.js分别采用CommonJS和esmodule规范进行导出. 首先,init之后创建一个简单的webpack基本的 ...
- codepen 上25个最受欢迎的HTML/CSS代码
Codepen是一个非常了不起的网站,优设哥在设计师网址导航上也大力推荐过,得到了很多同学的喜爱,也是全球web前端开发人员的圣地! 我搜索了一些时下最好最流行的codepen(仅限于HTML和CSS ...
- 手把手搭建一套私有 npm 服务
手把手搭建一套私有 npm 服务 gnpm xnpm pnpm lnpm refs xgqfrms 2012-2020 www.cnblogs.com 发布文章使用:只允许注册用户才可以访问!