0

だから私はhttp://www.kernel.org/pub/software/scm/git/docs/git-rebase.htmlの指示を使用してコミットを分割しようとしています

「SPLITTING COMMITS」で検索してみてください

そこには、「分割したいコミットを「編集」アクションでマークする」と書かれています。

どのように正確にそれを行うのですか

git rebase -i を実行すると、ファイルが開きます

# Commands:
#  p, pick = use commit
#  r, reword = use commit, but edit the commit message
#  e, edit = use commit, but stop for amending
#  s, squash = use commit, but meld into previous commit
#  f, fixup = like "squash", but discard this commit's log message
#  x, exec = run command (the rest of the line) using shell
#
# These lines can be re-ordered; they are executed from top to bottom.
#
# If you remove a line here THAT COMMIT WILL BE LOST.
# However, if you remove everything, the rebase will be aborted.
#
# Note that empty commits are commented out

...

そのダイアログからこれらのコマンドを正確に実行するにはどうすればよいですか

編集

それで、なんとかリベースに成功し、ローカルリポジトリにコミットしました...

問題は、プッシュしようとすると次のエラー メッセージが表示されることです。

 ! [rejected]        JJ-4322 -> JJ-4322 (non-fast-forward)
 ! [rejected]        master -> master (non-fast-forward)
error: failed to push some refs to 'url.git'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Merge the remote changes (e.g. 'git pull')
hint: before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

何か案は?

4

1 に答える 1

0

rebase -i COMMIT

コミットのリストが表示されます。そのリスト内の任意のコマンドでデフォルトの pick コマンドを変更できます

pick 6d6da13 0000, liquibase, fixing build snafu's

# Rebase c56baf2..6d6da13 onto c56baf2

なる

edit 6d6da13 0000, liquibase, fixing build snafu's

# Rebase c56baf2..6d6da13 onto c56baf2

編集:

2 番目の質問は、履歴を書き換えており、現在の状態と競合する古いバージョンを既にプッシュしているためです。あなたがする必要があります:

git push --force YOURBRANCH

これにより、リモートの内容が上書きされます。

于 2013-01-02T20:58:10.040 に答える