我在GitHub上有一个远程存储库,我的网站有两个分支。主人和开发分支。在本地,我有一个存储库,其中已检出“dev”分支,另一个存储库中已检出“master”。
问题:虽然分别使用git commit -am "message"
和git push origin dev
(或git push origin master
)适用于两个存储库,但只有远程存储库上的主分支发生更改。 / p>
这是git log --oneline
的前几行:
$ git log --oneline
e111369 Minor changes to CSS
2bdd236 Deleted _land-nav.scss
0bda307 Reworked lang-nav, site-nav/CSS update
165de39 Added .nojekyll file
ffeb959 BIG BILINGUAL UPDATE
# ^ above commits aren't recognized.
d24fa3d Preparing for bilingual update
bbcb7a3 Adjusted nav__item padding #3
216213e Adjusted nav__item padding #2
8bfea5d Adjusted nav__item padding
问题:我需要遵循哪些步骤来解决此问题?此外,我可以提供哪些其他信息来帮助您回答此问题。
更新:为什么我使用这种不寻常的设置?
我的dev存储库包含未编译的Jekyll源代码。我不能只将它部署到GitHub,因为GitHub Pages在没有插件的情况下构建。我需要在本地构建站点以使用插件。但是我仍然希望在GitHub上保留未编译和编译的代码。
我不知道如何从一个本地存储库处理这个问题。我想这是一个肮脏的解决方法。
答案 0 :(得分:2)
听起来你可能已经使用来自其他本地仓库的dev
分支克隆了回购,该分支是master
分支。如果是这种情况,那么dev
回购邮件会将origin
设置为master
的本地回购路径。
origin
:您要做的是将origin
设置为GitHub上的远程仓库,而不是其他本地仓库。您可以在dev
repo中使用这些命令来修复:
git remote rm origin
git remote add origin <url-to-remote-repo>
您还可以使用git remote set-url
命令更改别名origin
在dev
回购中指向的位置。
push
repo master
或者,如果您的dev
回购邮件已将origin
设置为您的本地master
回购,那么当您从dev
回购邮件推送时,这意味着它一直在推送它对本地master
仓库的更改。所以你可以像master
repo那样推动两个分支:
git push origin master dev
但是,您使用master
和另一个带dev
的回购的设置是不寻常的,通常人们在同一个回购中都有两个分支,这样可以避免您遇到的问题,并使您的工作流程更简单。