15

我的远程 GitHub 存储库中有这两个分支:

  • 发展
  • 掌握

如何将开发合并到远程存储库上的 master 中?我试过了

git merge development

git merge origin

但它说 repo 是最新的,所以我做错了,因为 github 说开发比 master 提前 12 次提交。

更新

感谢您的跟进 - 这里有更多信息,我使用了推送到远程存储库

git push origin 

并且我的更改已提交。如果我在另一个文件夹中进行克隆,如果我签出开发分支,我会看到那里的所有更改。

git branch -av 
development      8265e30 - etc
hotfix-t4        8342e44 - etc 
*master          0041bod - Initial Commit
  remotes/origin/HEAD  -> origin/master
  remotes/origin/development 8265e30 - etc
  remotes/origin/experimental 22cd3ef test1
  remotes/origin/hotfix-t4 8342e44 test
  remotes/origin/master 0041bod Initial commit
4

1 回答 1

29

git pushor的行为git push origin(即,当您没有将 refspec 指定为最后一个参数时)相当令人惊讶 - 默认情况下,只要具有该名称的分支在本地和远程都存在,它就会将每个分支推送到同名之一。(可以使用push.defaultconfig 选项更改此默认值。)

因此,为了确保您已正确地将特定分支推送到远程中的相同名称origin,最好始终使用这种形式:

git push origin <branch-name>

...相当于git push origin <branch-name>:<branch-name>.

所以,为了确保你已经合并developmentmaster本地,然后推master送到 GitHub,请完全执行以下操作:

git checkout master
git merge development
git push origin master
于 2012-05-06T10:08:14.490 回答