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

标签 git github repository

我在 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/

相关文章:

git - 在 master 中找到最后 merge 的 git 分支

github 下载 - 它只能是平面文件系统吗?

Git 子树。为什么我不能从子树而不是根分支?

git - ! [远程拒绝] 镜像 git 存储库后出现错误

git - 如何将文件从一个文件夹移动到同一 git 存储库中的另一个文件夹以保留历史记录

带有附加信息的 Git 日志装饰图

windows - Git 配置命令显示权限被拒绝

ruby - 未找到命令 Jekyll

c# - 不使用 Code First 时良好的通用存储库模式

git - 强大的 gitk/gitg 替代品?