我一直在推动我的Git dev分支掌握这些东西吗?

时间:2015-12-09 20:46:01

标签: git github version-control merge git-merge

我有一个存储在Github上的Web应用程序。几年前我为这个项目创建了一个dev分支,但从那时起,我从未将“dev”合并为“master”。我一直在“dev”(或dev的功能相关子分支)中完成所有工作,然后将dev分支拉到我的生产服务器。我知道这很愚蠢,但这就是我所做的。今天我决定最终将我的dev分支合并到我的主分支中,这样我就可以开始将master拉到我的生产服务器了。我遇到了这个question,它建议首先将master合并到dev中,然后在将dev合并到master之前解决dev中的任何冲突。这似乎是一个好主意,因为我从未将我的开发者合并到我的主人身上。但当我按照这些说明并将master合并到dev中时,Git说“已经是最新的。”:

    $ git br
    * dev
      master
    $ git checkout dev
    Already on 'dev'
    Your branch is up-to-date with 'origin/dev'.
    $ git merge --no-ff master
    Already up-to-date.

我是否可能在不知不觉中一直将我的dev提交到我的主分支?如果是这样,一旦我将主服务器推回到我的远程仓库并切换回我的dev分支继续工作,我是否应该确保我在Bitbucket上创建我的dev分支的单独远程副本(用于备份目的) push ... --set-upstream“command ...

    $ git checkout dev
    (do work and commit it)
    $ git push --set-upstream origin dev

然后每当我想将我的dev分支中的任何其他更改合并到我的主分支时,请按照我上面描述的过程进行操作?从现在开始,我想确保将dev与master分开,但我总是希望在Github上保留我的dev分支的副本以备份。

谢谢!

2 个答案:

答案 0 :(得分:1)

您正在使用该命令合并本地主服务器。你想要合并origin / master。

git fetch
git checkout develop
git merge origin/master

该分支很可能也是最新的(这意味着master上不存在,dev中也不存在)

由于你的描述,这是可能的。如果您继续为master和dev工作,并希望合并结果

,则会出现更多问题

答案 1 :(得分:0)

首先,你应该知道你的分支在合并后是否会有冲突。您可以使用以下命令对其进行测试: https://stackoverflow.com/a/501461/4430543

如果没有没有理由合并两次,你可以没有任何问题直接将开发合并到master。

否则您应该解决开发分支上的冲突,因为主要是您的更改会产生一些冲突。任何人都可以合并为主人,它应该始终保持稳定。如何解决冲突?您可以使用merge或rebase命令。我个人更喜欢rebase命令,因为它没有引入任何额外的提交,不幸的是它很可能在这个rebasing分支上提交。