我在 GitHub 上有一个远程存储库,我的网站有两个分支。一个 master 和一个 dev 分支。在本地,我有一个 check out “dev”分支的存储库,另一个 check out “master”分支的存储库。
问题:尽管使用 git commit -am "message"
和 git push origin dev
(或 git push origin master
分别适用于两个存储库,只有远程存储库上的 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
问题:解决此问题需要执行哪些步骤?另外,我可以提供哪些额外信息来帮助您回答这个问题。
更新:为什么我要使用如此不寻常的设置?
我的开发存储库包含未编译的 Jekyll 源代码。我不能只将它部署到 GitHub,因为 GitHub Pages 构建时没有插件。我需要在本地构建站点以使用插件。但是我仍然想在 GitHub 上保留未编译和已编译的代码。
我不知道如何从一个本地存储库处理这个问题。我想这是一个肮脏的解决方法。
最佳答案
听起来您可能已经从其他本地存储库(具有 master
分支的存储库)克隆了带有 dev
分支的存储库。如果是这种情况,则 dev
存储库的 origin
将设置为带有 master
的本地存储库的路径。
改变来源
:
您要做的是将 origin
设置为 GitHub 上的远程仓库,而不是其他本地仓库。您可以在 dev
存储库中使用这些命令来修复该问题:
git remote rm origin
git remote add origin <url-to-remote-repo>
您还可以使用 git remote set-url
命令更改别名 origin
在您的 dev
存储库中指向的位置。
备选方案:从 master
存储库中推送
或者,如果您的 dev
存储库将其 origin
设置为本地 master
存储库,那么当您从 dev 推送时
repo,这意味着它一直在将其更改推送到本地 master
repo。所以你可以像这样从 master
仓库中推送两个分支:
git push origin master dev
不寻常的设置
但是,您设置一个带有 master
的 repo 和另一个带有 dev
的 repo 是不寻常的,通常人们在同一个 repo 中有两个分支,这可以避免这个问题您所拥有的,并使您的工作流程总体上更简单。
关于git - 远程存储库不包含最近的提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22100086/