我一直在推动我的 Git 开发分支掌握吗?

Have I been pushing my Git dev branches to master all this time?

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

    $ 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.

我会不会一直在不知不觉中将我的开发提交推送到我的主分支?如果是这样,一旦我将 master 推回到我的远程仓库并切换回我的开发分支以继续工作,我是否应该确保我在 Bitbucket 上创建我的开发分支的单独远程副本(用于备份目的)这个 "push... --set-upstream"命令...

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

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

谢谢!

您正在用该命令合并您的本地主机。您想要合并 origin/master。

git fetch
git checkout develop
git merge origin/master

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

根据您的描述,这是可能的。如果您继续为 master 和 dev 使用不同的功能并希望合并结果,将会出现更多问题

首先你要知道你的分支合并后会不会有冲突。您可以使用以下命令对其进行测试: .

如果不是,则没有理由合并两次,您可以毫无问题地直接将 development 合并到 master 中。

否则,您应该在开发分支上解决冲突,因为主要是您的更改会产生一些冲突。任何人都可以合并掌握,它应该一直稳定。如何解决冲突?您可以使用 merge 或 rebase 命令。就我个人而言,我更喜欢 rebase 命令,因为它不会引入任何额外的提交,不幸的是,它会在这个 rebase 分支上重新提交所有提交。