作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我查看了此处针对我遇到的问题的当前解决方案,但他们提供的答案似乎并没有解决让推送工作的问题。
我有一个名为“dev”的本地分支,它应该跟踪一个远程分支“v1.0-7.22-dev”。
我克隆了 repo,并将远程分支“v1.0-7.22-dev” checkout 为本地“dev”。
我向我的本地“开发人员”做了一个提交,当我运行 git status 时,我得到以下信息:
$ git status
# On branch dev
# Your branch is ahead of 'origin/v1.0-7.22-dev' by 3 commits.
#
nothing to commit (working directory clean)
当我提交时:
$ git push
Password:
Everything up-to-date
我的配置文件(服务器名称和 repo 名称已被编辑)
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
[remote "origin"]
fetch = +refs/heads/*:refs/remotes/origin/*
url = ssh://[server-URL]/[remote-repo-directory]
[branch "master"]
remote = origin
merge = refs/heads/master
[branch "dev"]
remote = origin
merge = refs/heads/v1.0-7.22-dev
最佳答案
您有一个本地分支 dev
,它在源上跟踪远程分支 v1.0-7.22-dev
。
如果你只是说 git push
你没有明确指定要推送什么,结果取决于 git config push.default
的值。
如果这个值没有设置,旧的git版本默认将所有本地分支推送到同名的远程分支。 (在您的情况下,这将在原点上创建一个分支 dev
,但是当您跟踪 v1.0-7.22-dev
时,您仍然会领先于它。)
您可能希望将 push.default 设置为 upstream
。然后一个简单的 git push
将推送到其配置的上游分支。 - 完全符合您的预期。
关于git 不会推送到远程分支 "Everything up-to-date",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16638295/
我是一名优秀的程序员,十分优秀!