我正在从事一个项目,并使用两个不同位置的机器来完成它。我为正在开发的功能创建了一个分支,当我完成一些工作后,将修改过的提交合并到该分支上,并将其推送到服务器上,以便在其他机器上继续进行。
当我尝试发送我的改动提交时,它会拒绝我的推送。我猜测这是因为我正在推送一个旨在覆盖功能分支当前HEAD的提交。我通常只使用--force选项。
有更好的方法吗?
mike@sleepycat:~/projects/myproject$ git pull origin topx
From heroku.com:myproject
* branch topx -> FETCH_HEAD
Already up-to-date.
mike@sleepycat:~/projects/myproject$ git add app/models/reward.rb
mike@sleepycat:~/projects/myproject$ git commit --amend
[topx 82a9880] Added topX reward
9 files changed, 106 insertions(+), 21 deletions(-)
rewrite app/views/ceo/_reward_criteria.html.erb (96%)
create mode 100644 public/javascripts/jquery.multiselect.min.js
create mode 100644 public/site/javascripts/jquery.multiselect.min.js
create mode 100644 public/stylesheets/jquery.multiselect.css
mike@sleepycat:~/projects/myproject$ git push origin topx
To git@heroku.com:myproject.git
! [rejected] topx -> topx (non-fast-forward)
error: failed to push some refs to 'git@heroku.com:myproject.git'
To prevent you from losing history, non-fast-forward updates were rejected
Merge the remote changes before pushing again. See the 'Note about
fast-forwards' section of 'git push --help' for details.
push --force
来传输您的工作。那没问题。) - Cascabel