热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

我的gitrebase工作流程出了什么问题?

如何解决《我的gitrebase工作流程出了什么问题?》经验,为你挑选了1个好方法。

我的团队正在从git merge工作流转向rebase工作流,我不明白我做错了什么.我主要是从这篇博文作为模板.最终,希望能够提交一个github pull请求,其中包含来自我的分支的提交,该请求与master没有合并冲突.如果拉请求只能包含我的提交(用于代码审查),那就太好了.

方案如下:

    我为我的功能创建了一个master的分支

    做一些工作...

    我从主人到我当地的分支机构:

    git fetch
    git rebase origin/master
    

    我处理任何合并冲突,然后继续变基

    git mergetool
    git rebase --continue
    

    因为我是唯一一个在我的分支上工作的人,所以我希望能够将我当前的状态推到一起

    git push origin myBranch
    

    但是,当我尝试推动时,我得到以下内容

    $ git push origin myBranch 
    To 
     ! [rejected]        myBranch -> myBranch (non-fast-forward)
    error: failed to push some refs to 
    hint: Updates were rejected because the tip of your current branch is behind
    hint: its remote counterpart. Integrate the remote changes (e.g.
    hint: 'git pull ...') before pushing again.
    hint: See the 'Note about fast-forwards' in 'git push --help' for details.
    

    如果我尝试git rebase origin/myBranch我会遇到很多冲突,因为我从主人那里提交的提交都抱怨我的分支中存在的提交来自之前的rebase (但我从未亲自改变过).

小智.. 5

如果您不想强制推送(push -f)功能分支,则必须在将功能分支推送到GitHub后避免重新设置功能分支.

我使用此工作流程时没有收到您在步骤6中提到的错误.

git checkout master

git pull

git checkout -b feature_branch

git commit -m "Finish my work"

git checkout master

git pull

git checkout feature_branch

git rebase master

解决合并冲突.

git push origin feature_branch

开拉请求.

正如mipadi在他的回答中所说的那样,如果在签出功能分支时执行以下操作,则必须强行推送功能分支:

git push origin feature_branch

git rebase master

git push origin feature_branch#错误

git push -f origin feature_branch

最后一个命令 -  git push -f origin feature_branch- 如果你是唯一一个在该分支上工作的人,不应该导致任何问题.



1> 小智..:

如果您不想强制推送(push -f)功能分支,则必须在将功能分支推送到GitHub后避免重新设置功能分支.

我使用此工作流程时没有收到您在步骤6中提到的错误.

git checkout master

git pull

git checkout -b feature_branch

git commit -m "Finish my work"

git checkout master

git pull

git checkout feature_branch

git rebase master

解决合并冲突.

git push origin feature_branch

开拉请求.

正如mipadi在他的回答中所说的那样,如果在签出功能分支时执行以下操作,则必须强行推送功能分支:

git push origin feature_branch

git rebase master

git push origin feature_branch#错误

git push -f origin feature_branch

最后一个命令 -  git push -f origin feature_branch- 如果你是唯一一个在该分支上工作的人,不应该导致任何问题.


推荐阅读
  • git 提交代码命令_Git命令可视化展示,代码管理再也不愁了,建议收藏!
    本文翻译自LydiaHallie的博客:https:dev.tolydiahalliecs-visualized-useful-git-commands-37p1gi ... [详细]
  • Git GitHub多人协作
    在学校做一个小项目需要多人协作,就用到了gitHub,百度了一下多数写得乱七八糟或者支离破碎,于是总结了一下自己的步骤如下,第一次使用GitHUb,哪里不对望大神指出一.前期准备: ... [详细]
  • Za2019.8.30SDOI2011计算器[BZOJ2242][luoguP2485]1、给定y、z、p,计算y^zmodp的值;2、给定y、z、p& ... [详细]
  • 1.私有服务器搭建的环境,先clone下来了 ... [详细]
  • GitLab 8.3.3 发布 开源代码管理
    2019独角兽企业重金招聘Python工程师标准GitLab8.3.3发布,包括GitLabCommunityEdition(CE)和EnterpriseEdi ... [详细]
  • 使用在线工具jsonschema2pojo根据json生成java对象
    本文介绍了使用在线工具jsonschema2pojo根据json生成java对象的方法。通过该工具,用户只需将json字符串复制到输入框中,即可自动将其转换成java对象。该工具还能解析列表式的json数据,并将嵌套在内层的对象也解析出来。本文以请求github的api为例,展示了使用该工具的步骤和效果。 ... [详细]
  • 本文介绍了在git中如何对指定的commit id打标签,并解决了忘记打标签的问题。通过查找历史提交的commit id,可以在任意时间点打上标签。同时,还介绍了git中的一些常用命令和操作。 ... [详细]
  • 本文详细介绍了git常用命令及其操作方法,包括查看、添加、提交、删除、找回等操作,以及如何重置修改文件、抛弃工作区修改、将工作文件提交到本地暂存区、从版本库中删除文件等。同时还介绍了如何从暂存区恢复到工作文件、恢复最近一次提交过的状态,以及如何合并多个操作等。 ... [详细]
  • 初始化初始化本地空版本库,仓库,英文名repositorymkdirtest&&cdtestgitinit克隆项目到本地gitclone远程同 ... [详细]
  • 先记住几个专用名词,如下:Workspace:工作区IndexStage:暂存区Repository:仓库区(或本地仓库)Remote:远程仓库一、新建代码库#在当前目录新建一个G ... [详细]
  • Problemexplanation: ... [详细]
  • 前言本篇为大家总结社区多人合作常见的场景和对应的git操作命令。本篇非新手教程,阅读本篇前需具备Git基础知识。Git入门教程请参考https://www ... [详细]
  • 记一次git的版本回退
    背景本地有个项目已经修改了很久(是自己的小项目不是公司的),文件挺多的,还有大量的log文件。一些资源文件是中文名,工作区修改后使用了命令gitadd.本来在.gitignore文 ... [详细]
  • 注意:尽量不要直接gitpull,因为gitpull会隐藏一些中间细节,它会直接将远程主机的最新内容合并到当前分支,建议使用 ... [详细]
  • 起因之前,我写过一篇文章:在GitHub上fork项目后,如何与原仓库同步?图解全过程,介绍如何在自己for ... [详细]
author-avatar
血流的风霜_565
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有