我有一个长期运行的本地功能分支,我定期与master进行挤压和重新定位,以使其在本地保持最新。
完成后,我希望我的功能在主节点上的单个压缩提交中。
但是,我担心由于硬件问题而失去工作,因此作为预防措施,我将其推送到github上的新功能分支。自从这样做以来,我真的不确定如何使功能分支保持最新状态,因为它已经被推送了(我宁愿不合并来自主创建合并提交的更改)。
我是唯一使用此功能分支的开发人员。因此,我不必担心在已经推送的分支上重写历史记录。将其他提交推送到我的远程功能分支,然后在完成功能后压扁该分支,然后将其重新建立为基础就可以了吗?还是因为分支已经公开,git会对分支分支抛出一些错误?
或者,我以为完成工作后,可以简单地取消跟踪远程功能分支(因此我的本地分支不再与远程分支有关联),将提交压缩在本地功能分支中,然后重新建立我的功能在master上本地分支。
嗨,我vile使用以下方法成功删除了提交:
git rebase -p 0df8fg5^ 0df8fg5
我在master分行工作。但是现在当我:
git push
它给:
To git@github.com:my_user/my_repo.git
! [rejected] master -> master (fetch first)
error: failed to push some refs to 'git@github.com:my_user/my_repo.git'
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first merge the remote changes (e.g.,
hint: 'git pull') before pushing again.
hint: See the 'Note …Run Code Online (Sandbox Code Playgroud) 我有一个大型 Git 存储库,几个月前在其中引入了一个错误,我想bisect通过首先在存储库的过去引入提交,然后重放合并(执行rebase新提交),如图所示在下图中。
我知道由于合并,Git 似乎没有像预期的那样工作,但我想更好地了解为什么会发生这种情况(以及是否有参数可以帮助它更好地工作)。
修改的文件patch永远不会被任何提交再次修改master
我尝试rebase使用和不使用--preserve-merges,并且都在离提交不远的某个合并中失败patch
冲突中显示的差异没有意义,例如文件中有一些空格,另一个文件中有一些不相关的行......我可以尝试从中提取任何有用的信息,或者它只是垃圾,我不应该花任何时间尝试明白吗?
是否有不同的参数/合并策略可以帮助推进合并?
注意:最后,我的组合git apply; git bisect确实有效,但我仍然对有关 Git 行为的替代解决方案或解释感兴趣。
我正在尝试删除我最后一次使用 VSCode 的推送。我尝试使用“撤消上次提交”和“放弃所有更改”。
当我这样做时,我的最后一次提交被删除在我的计算机上,但我无法再次推送它,因为它说没有更改。
您有什么建议来解决这个问题吗?谢谢。