文档章节

Git使用的一个注意事项--删除文件后的rebase/merge导致文件丢失

zgw06629
 zgw06629
发布于 2015/04/29 19:11
字数 227
阅读 5K
收藏 0

#程序员薪资揭榜#你做程序员几年了?月薪多少?发量还在么?>>>

代码衍合过程中发现的一个问题:

只要在某个分支A中删除了某个文件(如file1)且另外一个分支B也包含此文件,则分支B rebase或merge 分支A时会丢失该文件。

如下所示:

$ mkdir temp
$ cd temp
$ touch file1
$ git init
$ git add .
$ git commit -m 'first commit in master'
$ ls
file1
$ git checkout -b bran-1
$ git checkout -b bran-2
$ git checkout bran-1
$ ls
file1
$ rm file1
$ touch file2
$ git add --all
$ git commit -m 'first commit in bran-1'
[bran-1 709dc71] first commit in bran-1
 1 file changed, 0 insertions(+), 0 deletions(-)
 rename file1 => file2 (100%)
$ git checkout bran-2
$ touch file3
$ ls
file1  file3
$ git add .
$ git commit -m 'first commit in bran-2'
$ git rebase bran-1
#file1丢失了
$ ls
file2  file3

鉴于以上的结论,建议在开发过程中应该避免删除操作。除非确定所有分支都不会再用到。

© 著作权归作者所有

zgw06629

zgw06629

粉丝 19
博文 54
码字总数 30471
作品 0
海淀
程序员
私信 提问
加载中

评论(0)

[译] Commit 提交指南

原文地址:Commit messages guide 原文作者:RomuloOliveira 译文出自:掘金翻译计划 本文永久链接:github.com/xitu/gold-m… 译者:Mirosalva 校对者:Chorer,zoomdong 一份理解 commit 信...

niithub
2019/05/11
22
0
Git Rebase 操作的分析与整理

文前说明 作为码农中的一员,需要不断的学习,我工作之余将一些分析总结和学习笔记写成博客与大家一起交流,也希望采用这种方式记录自己的学习之旅。 本文仅供学习交流使用,侵权必删。 不用...

羽杰
2017/04/23
0
0
git一些实践命令,关于reabse和merge的区别在最后做了一个比较

git命令 一. 克隆,提交,拉取代码 1. 克隆,提交代码 git clone:远端仓库地址 git remote add upstream: 上游远端仓库地址(fork代码的原地址)。添加上游远端仓库 git add -A git commi...

osc_b2jf5efr
2018/11/16
6
0
【Git】git pull和git pull --rebase的使用

git pull = git fetch + git merge git pull --rebase = git fetch + git rebase 现在来看看git merge和git rebase的区别。 假设有3次提交A,B,C。 在远程分支origin的基础上创建一个名为"my......

陈泽泽
2019/03/22
0
0
git rebase 使用详解

rebase 假设你现在基于远程分支"origin",创建一个叫"mywork"的分支。 $ git checkout -b mywork origin 现在我们在这个分支做一些修改,然后生成两个提交(commit). $ vi file.txt$ git comm......

osc_mersr09e
2018/09/08
5
0

没有更多内容

加载失败,请刷新页面

加载更多

vue组件大小写说明

https://cn.vuejs.org/v2/style-guide/#%E6%A8%A1%E6%9D%BF%E4%B8%AD%E7%9A%84%E7%BB%84%E4%BB%B6%E5%90%8D%E5%A4%A7%E5%B0%8F%E5%86%99%E5%BC%BA%E7%83%88%E6%8E%A8%E8%8D%90......

李超明
25分钟前
29
0
uni-app集成WebSocket

摘自: https://uniapp.dcloud.io/api/request/websocket?id=connectsocket uni.connectSocket(OBJECT) 创建一个 WebSocket 连接。 在各个小程序平台运行时,网络相关的 API 在使用前需要配置...

SummerGao
30分钟前
11
0
关于Oracle子查询各大用法详解

子查询 一.概述: 子查询:一个select语句,作为另一条select语句语法的一部分。 select语句语法: select distinct * | 字段 from 表名 where 查询条件 group by 分组字段 having 分组条件 ...

煌sir
32分钟前
29
0
您能说说序列化和反序列化吗?是怎么实现的?什么场景下需要它?

序列化和反序列化是Java中最基础的知识点,也是很容易被大家遗忘的,虽然天天使用它,但并不一定都能清楚的说明白。我相信很多小伙伴们掌握的也就几句概念、关键字(Serializable)而已,如果深...

费先森
35分钟前
26
0
可以让你用到老的IntelliJ idea 破解法子

看下效果图如下: 安装的时候选择试用,然后进入idea 下载插件 插件地址 然后将jetbrains-agent.jar文件拖入到idea中 然后重启 然后选择Activation code 然后就ojbk了...

布袋和尚_爱吃鱼
57分钟前
31
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部