[英]can't push subtree branch
我有一个包含应用程序的git存储库,并且我想使用该存储库的子目录来更新共享库存储库。 我可以获取库回购,提交更新,但是我不能使其提交将其推回远程。 它应该是一个快进,但事实并非如此。 我究竟做错了什么?
$ git remote add lib goertzen@minerva:/pub/shared_git_repositories/lib.git
$ git fetch
From minerva:/pub/shared_git_repositories/lib
* [new branch] master -> lib/master
$ git checkout -b libmaster lib/master
Branch libmaster set up to track remote branch master from lib.
Switched to a new branch 'libmaster'
$ git merge --squash -s subtree -X theirs master
Auto-merging lib.yaml
Squash commit -- not updating HEAD
Automatic merge went well; stopped before committing as requested
$ git commit -m "blah blah blah"
[libmaster 4949ef3] blah blah blah
1 files changed, 148 insertions(+), 95 deletions(-)
$ git push lib
To goertzen@minerva:/pub/shared_git_repositories/lib.git
! [rejected] master -> master (non-fast-forward)
error: failed to push some refs to 'goertzen@minerva:/pub/shared_git_repositories/lib.git'
To prevent you from losing history, non-fast-forward updates were rejected
Merge the remote changes (e.g. 'git pull') before pushing again. See the
'Note about fast-forwards' section of 'git push --help' for details.
$ git pull
Already up-to-date.
$ git log --graph --all --full-history --branches --decorate
* commit 4949ef3181c21d85340b9fb16af5f9c2c58e75ae (HEAD, libmaster)
| Author: <snip>
| Date: Tue Mar 8 15:25:03 2011 -0600
|
| minitransfer changes
|
* commit e2dca9e2bcd28d09a455e9cc662f7eb630a0adc2 (lib/master)
Author: <snip>
Date: Thu Feb 24 10:54:31 2011 -0600
initial commit of shared lib repo
* commit b70bde69e5c4ddb079d06d7310d415fa89764b95 (origin/master, origin/HEAD, master)
| Author: <snip>
| Date: Fri Mar 4 15:41:05 2011 -0600
|
| fix typo
|
* commit cc64b565fbb88729e16314f76867ab24c37bfc47
| Author: <snip>
| Date: Fri Mar 4 15:38:59 2011 -0600
|
...
我可以用简单的编辑替换压缩的子树合并,但是我仍然遇到相同的问题。
事实证明,“ git push lib”实际上是在尝试将libmaster推送到origin / master而不是lib / master(我尝试了一些牺牲存储库)。 当我像这样详细拼写出来时...
git push lib libmaster:master
...有效。
我当然希望能够在不必详细说明的情况下进行推送。 这让我想知道我是否以一种奇怪的方式将lib引入到了仓库中,或者是否需要以某种方式配置分支。 我需要读书...
按照Git的说明进行操作,然后先运行git pull
...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.