为git伸冤(使用git中可能会踩的一些坑)
窦娥被冤,六月飞霜。今天我两次遇到git被冤枉的情况,要是其它人也遇到这种情况导致git使用量缩小,那也要六月飞霜了。
git第一次被冤枉是同事以为git的版本管理有问题。事情是这样的,同事提交新版本后,我也提交了一个版本。然后他不小心拉取了代码,他想回滚的时候,发现回滚不到他那个版本了。因为他发现他今天13点钟提交的版本中,包含我前两天提交的若干版本库。但其实这些版本是我今天14:00提交到git服务器的,之前是存储在我本地版本库中。同事很绝望,他要发布他那个经过测试的版本,他看log的版本,认为回滚到他那个版本,也包含我14:00提交,但在两天或一天前已经提交到本地版本库的版本。但虽然git是这样显示,但我这些版本是在他的版本之后的,我直接帮他回滚,他需要的版本出来了。不过git展示的方式也容易让人误解。
第二次情况也是在今天碰到。今晚技术群里突然有人说十几天的工作成果没了,他快要崩溃了。我了解了情况是他都提交到了本地,但还没提交到服务器,回滚到之前的版本后,再回不到最近一次版本了。连log都没了那些版本。经过一番劝解,他终于打上git reflog命令,再用git reset --HARD HEAD@{版本号},恢复到了他需要的版本。
在此本人也记录一下git的pull操作:
git fetch origin master:tmp //从远程仓库master分支获取最新,在本地建立tmp分支 git diff tmp //將當前分支和tmp進行對比 git merge tmp //合并tmp分支到当前分支 from:https://www.cnblogs.com/qiu-Ann/p/7902855.html
或者
git stash //存储本地修改最新版
git pull //从服务器拉取代码
git stash pop stash@{0} //还原暂存的内容
如果大佬们有什么git的使用技巧,可以在评论区分享下,或者有什么独到的见解,也可以指导下,谢谢!
为git伸冤(使用git中可能会踩的一些坑)的更多相关文章
- Fuel9.0安装openstack过程中所踩过的坑2018最新版
坑一,安装好后,无法访问Web UI画面 访问https//10.20.0.2:8443无法打开UI画面.首先我们不管以后的步骤,打不开是很不爽的. 解决方法:把下面网卡1,网卡2,网卡3的界面名称都 ...
- 那些天,shell脚本中曾经踩过的坑
前些天,需要实现一个需求,用脚本轮流kill服务器上的进程,观察内存变化情况,并写日志.脚本逻辑不难,但shell脚本好久不用,看过书里的语法都忘得差不多了,中间踩了不少的坑,特此记录一下,留作后续参 ...
- git工作中常用命令-工作中踩过的坑
踩坑篇又来啦,这是我在工作中从git小白进化到现在工作中运用自如的过程中,踩过的坑,以及解决办法. 1.基于远程develop分支,建一个本地task分支,并切换到该task分支 git checko ...
- Git知识总览(六) Git分支中的远程操作实践
前几篇博客陆陆续续的讲了好多关于Git操作的内容,本篇博客仍然也不例外,不过本篇博客的主题是关于git的远程操作的.依照之前博客的风格,我们依然依托于LearningGitBranch中的相关内容来探 ...
- 在git多分支repo仓库中彻底清除大文件
坑的由来 repo中不小心上传了许多测试生成的data.结果可想而知,原本只有代码的仓库突然间变得无比臃肿(或者是慢慢臃肿),从早期的几十MB,迅速飙升至1G. 到底发生了什么 早些时候我对git的原 ...
- [.net 面向对象程序设计进阶] (27) 团队开发利器(六)分布式版本控制系统Git——在Visual Studio 2015中使用Git
[.net 面向对象程序设计进阶] (26) 团队开发利器(六)分布式版本控制系统Git——在Visual Studio 2015中使用Git 本篇导读: 接上两篇,继续Git之旅 分布式版本控制系统 ...
- Git知识总览(五) Git中的merge、rebase、cherry-pick以及交互式rebase
上篇博客聊了<git分支管理之rebase 以及 cherry-pick相关操作>本篇博客我们就以Learning Git中的关卡进行展开.下方列举了LearningGit中的 merge ...
- git总结一、工作中常用基础命令
首先来了解两个概念: 工作区:比如你的项目目录 暂存区:git和其他版本控制系统的不同之处就是有这个暂存区的概念. .git不是工作区,而是git 版本库,在版本库中存放着很多东西,比如暂存区(sta ...
- Git Extensions 和 Tortoisegit 到底是什么?Git For VS(Git For Visual Studio)(Visual Studio 中使用 Git)
前言: 我们使用 Git 作为版本控制的朋友们,一定都熟悉 Git Extensions 和 Tortoisegit 两款工具,但是对于初学者,可能就不那么了解了. 当然如果有幸,你接触过 SVN , ...
随机推荐
- 关于Tiff图片的编解码
TiffBitmapEncoder 类 (System.Windows.Media.Imaging)https://msdn.microsoft.com/zh-cn/library/ms635161( ...
- C#的Task、async、await关键字
Task,一个类,可以执行一个方法,构造函数需要传一个Action类型的委托,Action类型的委托是可以拥有多个参数,没有返回值的. Task<T> Task的泛型,构造函数传入一个Fu ...
- 枚举当前系统用户(使用NetUserEnum API枚举)
using System.Runtime.InteropServices; [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unico ...
- git(二)
一.GitHub(代码的云仓库) 1.创建一个新的项目 git remote add origin https://github.com/1352282824shy/COCAP.git git pus ...
- mysql-5.7.24-winx64安装与Navicat_for_MySQL_10.1.7注册码
mysql安装图解:https://blog.csdn.net/qq_38455201/article/details/83419450 Navicat注册码名:组织:注册码:均为NAVN-LNXG- ...
- Binary classification - 聊聊评价指标的那些事儿【回忆篇】
在解决分类问题的时候,可以选择的评价指标简直不要太多.但基本可以分成两2大类,我们今分别来说道说道 基于一个概率阈值判断在该阈值下预测的准确率 衡量模型整体表现(在各个阈值下)的评价指标 在说指标之前 ...
- Spring-Boot + MyBatis-Plus 踩坑记录
这两天在学SpringBoot+MyBatis的开发,配置开发环境和DEMO的过程中踩了很多坑,在这里记录一下. 我的开发环境是idea + JDK 1.8.0.211. 首先展示一下demo的项目整 ...
- 长春理工大学第十四届程序设计竞赛(重现赛)F
F. Successione di Fixoracci 题目链接:https://ac.nowcoder.com/acm/contest/912/F 题目: 动态规划(Dynamic programm ...
- 深度优先(DFS)和广度优先(BFS)
深度优先(Depth-First-Search)和广度优先(Breadth-First-Search)是我们遍历图的两种方式,它们都属于穷举法,用来系统的遍历图中的所有顶点 关于如何再一个有向图/无向 ...
- Kafka集群部署指南
一.前言 1.Kafka简介 Kafka是一个开源的分布式消息引擎/消息中间件,同时Kafka也是一个流处理平台.Kakfa支持以发布/订阅的方式在应用间传递消息,同时并基于消息功能添加了Kafka ...