我一直在推动我的 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 分支上重新提交所有提交。
我有一个存储在 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 分支上重新提交所有提交。