通常、私はただ走る
git add file
git commit
git Push
しかし、コミットを修正する場合beforeプッシュ(git commit --amend
で)、次のプッシュは失敗します
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Integrate the remote changes (e.g.
hint: 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git Push --help' for details.
ブランチをマージせずに変更をGitにプッシュさせるにはどうすればよいですか?ブランチは1つしかありません(master
)。このリポジトリを使用しているのは私だけなので、なぜこれを言っているのですか?
gitブランチ-a:
* master
remotes/Origin/HEAD -> Origin/master
remotes/Origin/master
編集:gitk HEAD @{u}
を使用して、2つのブランチがあることがわかります。1つは元のコミット、もう1つは修正されたコミットです。
これは、既にプッシュされたコミットを修正する場合にのみ該当します。一般に、公開された履歴を変更しているので、決してそうするべきではありません。ただし、あなたの場合は、Push -f
、修正されたリビジョンでリモートコミットを上書きします。
うん、あなたはそれをするべきではありません(コミットをプッシュしてから変更して、もう一度プッシュしようとします)。
代わりに、ファイルを変更せずにGitを以前のコミットにロールバックしてから、新しいコミットを作成できます。
git reset --mixed Origin/master
git add .
git commit -m "This is a new commit for what I originally planned to be an amendmend"
git Push Origin master
これにより、修正しようとしていた変更で新しいコミットが作成されます。
プルされたコミットを次のように修正しました
git pull Origin master
git commit -a --amend -m "..."
git Push
修正されたコミットを元に戻すことで問題を解決できます。
git reset --mixed Origin/master
そして、本格的なコミットとして再びそれを作ります