文档章节

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

zgw06629
 zgw06629
发布于 2015/04/29 19:11
字数 227
阅读 1583
收藏 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
粉丝 16
博文 54
码字总数 30471
作品 0
海淀
程序员
Git Rebase 操作的分析与整理

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

羽杰
2017/04/23
0
0
git使用命令, 特别:git checkout -b a 与 git branch a区别

创建分支: $ git branch mybranch 切换分支: $ git checkout mybranch 创建并切换分支: $ git checkout -b mybranch 更新master主线上的东西到该分支上:$git rebase master 切换到maste...

keke321
2012/08/24
0
0
git stash与git rebase

git stash 先看命令行 git stash - -help的帮主页面 也就是储藏你在当前工作的一些代码,状态。比如我在工作中常用的。 每次从远程拉代码的时候,拉完代码之后需要在本地将本地的一些配置应用...

avery1
06/11
0
0
Git超实用总结,再也不怕记忆力不好了

欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由腾讯工蜂发表于云+社区专栏 Git 是什么? Git 是一个分布式的代码管理容器,本地和远端都保有一份相同的代码。 Git 仓库主...

腾讯云加社区
10/16
0
0
git rebase简介(基本篇)

一、基本 git rebase用于把一个分支的修改合并到当前分支。 假设你现在基于远程分支"origin",创建一个叫"mywork"的分支。 $ git checkout -b mywork origin 假设远程分支"origin"已经有了2...

china008
2015/11/09
0
0

没有更多内容

加载失败,请刷新页面

加载更多

awk命令扩展使用操作

awk 中使用外部shell变量 示例1 [root@centos01 t1022]# A=888[root@centos01 t1022]# echo "" | awk -v GET_A=$A '{print GET_A}'888[root@centos01 t1022]# echo "aaaaaaaaaaaaa" | aw......

野雪球
12分钟前
0
0
深入解析MySQL视图VIEW

Q:什么是视图?视图是干什么用的? A:视图(view)是一种虚拟存在的表,是一个逻辑表,本身并不包含数据。作为一个select语句保存在数据字典中的。   通过视图,可以展现基表的部分数据;...

IT--小哥
今天
4
0
虚拟机学习之二:垃圾收集器和内存分配策略

1.对象是否可回收 1.1引用计数算法 引用计数算法:给对象中添加一个引用计数器,每当有一个地方引用它时,计数器值就加1;当引用失效时,计数器值就减1;任何时候计数器值为0的对象就是不可能...

贾峰uk
今天
6
0
smart-doc功能使用介绍

smart-doc从8月份底开始开源发布到目前为止已经迭代了几个版本。在这里非常感谢那些敢于用smart-doc去做尝试并积极提出建议的社区用户。因此决定在本博客中重要说明下smart-doc的功能,包括使...

上官胡闹
昨天
11
0
JavaEE——Junit

声明:本栏目所使用的素材都是凯哥学堂VIP学员所写,学员有权匿名,对文章有最终解释权;凯哥学堂旨在促进VIP学员互相学习的基础上公开笔记。 Junit Junit又名单元测试,Junit是用来测试Jav...

凯哥学堂
昨天
8
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部