2

我正在尝试将我的主分支推送到我的生产分支。

通常,当我在我的 Ubuntu 计算机上进行更改时,我会通过以下方式推送到 master:

git add .
git commit -m "message"
git push

一切正常。然后我只是这样做:

git push origin master:production

一切正常。但是现在由于某种原因,当我在终端中执行“git push origin master:production”时,我收到了以下消息:

To git@github.com:Username1/myapp.git
 ! [rejected]        master -> production (non-fast-forward)
error: failed to push some refs to 'git@github.com:Username1/myapp.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.
mypc@ubuntu:~/myapp$ 

我该如何解决这个神秘出现的恼人问题?我尝试了“git pull origin master”,如消息中和我研究的其他地方所建议的那样,但我在终端中得到的只是“一切都是最新的”,当我再次尝试时问题再次出现。谢谢。

4

3 回答 3

2

有人已经致力于生产部门。

正如@user1281385 所说,你应该

git pull origin master:prooduction或者在以其他方式查看生产分支上的更改之前更好。

尝试git help pull阅读更多。

于 2013-07-19T09:10:05.810 回答
1

remote changes are done on the repository. as the error messages says:

Merge the remote changes (e.g. 'git pull') before pushing again.

pull first, then push.

于 2013-07-19T13:17:31.267 回答
1

git push origin --force master:production如果您在此推送和上一次推送之间进行了重置,您可以尝试。

于 2017-10-16T07:28:56.793 回答