Git: отправка исправленных коммитов

В настоящее время я работаю над проектом и использую для этого машины в двух разных местах. Я создал ветку для функции, над которой я работаю, и когда я закончу работу над ней, я изменяю свою фиксацию для этой ветки и отправляю ее на сервер, чтобы я мог продолжить с того места, где остановился на другом компьютере.

Когда я пытаюсь отправить измененный коммит, он отклоняет мой запрос. Я предполагаю, что это потому, что я подталкиваю коммит, который предназначен для затирания текущего 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.
9
задан mikewilliamson 19 October 2010 в 12:27
поделиться