- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我的 Git 存储库有两个文件,alpha
和 beta
,内容相同。
如果我在我的 master 分支中删除 alpha
,并在我的 feature 分支中编辑它,那么当我将 master merge 到 feature 时,我会收到冲突警告。假设我通过删除 alpha
来解决这个问题。
如果我随后使用 git rebase master
将我的功能分支 rebase 到 master,alpha
将被删除,但我对 alpha
所做的更改是功能分支现在应用于 beta
!我收到了一个冲突警告,但很高兴通过自动 merge 解决了这个问题,没有阻止提交供我审查。
有趣的是,如果我执行 git rebase -i
并只接受默认值,beta
不会被编辑,我将解决与 merge 时解决的相同冲突时间。
然后是三个相关的问题:
我在 Win7 的 Cygwin 上运行 Git 1.7.9。我放了一个 transcript on pastebin在空目录中以 git init
开头显示此内容,如果有人想自己查看详细信息(由于篇幅,我不会在此处发布)。
最佳答案
来自documentation for git-rebase
:
-m
--merge
Use merging strategies to rebase. When the recursive (default) merge strategy is used, this allows rebase to be aware of renames on the upstream side.
当一个文件被删除时,Git 认为它是重命名的候选者,并尝试将 rebased 补丁应用于相应的重命名文件。听起来它可能对您的情况做出了错误的猜测。
您可以使用-m
选项来选择不同的 merge 策略。例如,resolve
merge 策略可以通过自动检测重命名来避免此问题(有关 merge 策略的详细信息,请参阅 git-merge
)。
关于 merge 后的 Git rebase 对已删除的文件感到困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11985346/
我正在尝试学习Rust。我正在阅读一本书online,该书实现了unix程序cat。现在,我试图读取作为像cargo run file1.txt file2.txt这样的参数传递的文件的内容,但是程序
我在 GHC 8.0.1 中遇到了一个带有种类索引 (?) GADT 的奇怪情况,其中在类型与种类签名中引入 foralls 会产生不同的类型检查行为。 考虑以下数据类型: {-# LANGUAGE
我正在使用 Perl 5.10 开发应用程序,HTML::Mason和 Apache 2.2。这是我第一次在大型项目中使用 Perl 5.10。我每隔一段时间就会出现奇怪的行为。应用程序因一个非常奇怪
我正在尝试将文件上传到aws中的rust中,因为我使用的是 rusoto_s3 的s3 rust客户端,当这些部分从单个线程发送时,我设法使分段上传代码正常工作不是我想要的,我想上传大文件,并且希望能
我是一名优秀的程序员,十分优秀!