远程存储库不包含最近的提交

时间:2014-02-28 16:07:03

标签: git github repository

我在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上保留未编译和编译的代码。

我不知道如何从一个本地存储库处理这个问题。我想这是一个肮脏的解决方法。

1 个答案:

答案 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命令更改别名origindev回购中指向的位置。

替代方案:来自push repo

master

或者,如果您的dev回购邮件已将origin设置为您的本地master回购,那么当您从dev回购邮件推送时,这意味着它一直在推送它对本地master仓库的更改。所以你可以像master repo那样推动两个分支:

git push origin master dev

不寻常的设置

但是,您使用master和另一个带dev的回购的设置是不寻常的,通常人们在同一个回购中都有两个分支,这样可以避免您遇到的问题,并使您的工作流程更简单。