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

我在
GitHub上有一个远程存储库,我的网站有两个分支.主人和开发分支.在本地,我有一个已检出“dev”分支的存储库,另一个已检出“master”的存储库.

问题:虽然使用git commit -am“message”和git push origin dev(或git push origin master)分别适用于两个存储库,但只有远程存储库上的主分支发生了变化.

这些是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上保留未编译和编译的代码.

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

最佳答案 听起来你可能已经用你的其他本地仓库中的dev分支克隆了repo,这个仓库是主分支.如果是这种情况,那么dev repo的原点将设置为带有master的本地仓库的路径.

改变起源:

你想要做的是将原点设置为GitHub上的远程仓库,而不是其他本地仓库.您可以在dev repo中使用这些命令来修复:

git remote rm origin
git remote add origin <url-to-remote-repo>

您还可以使用git remote set-url命令更改别名源在dev repo中指向的位置.

替代方案:从主回购推送

或者,如果您的dev repo的原点设置为本地主仓库,那么当您从dev repo推送时,这意味着它已将其更改推送到本地主仓库.所以你可以从主仓库中推出两个分支,如下所示:

git push origin master dev

不寻常的设置

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

点赞