問題タブ [git-amend]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
git - 既存のプッシュされていないコミットメッセージを変更するにはどうすればよいですか?
コミットメッセージに間違ったことを書きました。
メッセージを変更するにはどうすればよいですか?コミットはまだプッシュされていません。
git - 修正されたコミットをリモートGitリポジトリにプッシュするにはどうすればよいですか?
ソースコードを少し操作した後、通常のことをコミットしてから、リモートリポジトリにプッシュしました。しかし、その後、ソースコードでインポートを整理するのを忘れていることに気づきました。だから私は前のコミットを置き換えるためにamendコマンドを実行します:
残念ながら、コミットをリポジトリにプッシュバックすることはできません。これは次のように拒否されます:
私は何をすべきか?(リモートリポジトリにアクセスできます。)
git - 「gitcommit」の代わりに行われた「gitcommit--amend」を元に戻す方法
以前のコミットを誤って修正しました。特定のファイルに加えた変更の履歴を保持するために、コミットは分離されている必要があります。
その最後のコミットを元に戻す方法はありますか?のようなことをgit reset --hard HEAD^
すると、最初のコミットも取り消されます。
(私はまだリモートディレクトリにプッシュしていません)
git - Gitでルートコミットを編集しますか?
後のコミットからメッセージを変更する方法があります。
最初のコミット(親がない)のコミットメッセージをどのように変更できますか?
svn - git commit からファイルを削除して svn にプッシュする方法
フォルダーとそのすべてのコンテンツをシンボリックリンクに置き換えました。これにより、単一の git コミットで、フォルダーが削除され、シンボリック リンクが追加されます。
Git commit は正常に行われました。ただし、上流のsvnにプッシュしようとすると、ファイルが存在すると不平を言います。
さて、新しいシンボリックリンクの git add を含まないようにコミットを修正して新しいコミットにする方法を教えてください。これにより、SVN はフォルダーの削除と置換を理解できます。または、git amend 経由で svn commit force を使用できますか。
これは私が得るエラーです:
git - 古いコミットを git で修正するとどうなりますか?
古いコミットをチェックアウトし、いくつかの変更を加えて、 を使用してコミットするとどうなるか、よくわかりませんgit commit --amend
。
その変更は将来のコミットに自動的に反映されますか? それはどのように機能しますか?
ruby - git commitが他のcommitの親であるかどうかをどのように検出できますか?
私はいくつかの些細な変更を加えてからそれらをgitにコミットするスクリプトを書いています。これらは些細な変更なので、それを回避できるときはgit commit --amend
いつでも、具体的には、修正によって他のブランチの履歴が「混乱」しないときに実行したいと思います。修正によって別のブランチが台無しになる場合は、git commit
代わりに標準を実行したいと思います。
たとえば、私のブランチが次のようになっている場合(Git GUIの「すべてのブランチ履歴を視覚化する」):
このスクリプトをマスターブランチで実行している場合、実験ブランチの履歴の一部を置き換えるため、修正は行いません。技術的には、これは実際には何も壊しません-元のコミットはまだ実験の歴史の一部であり、ガベージコレクションされないように参照されます-しかし、ほぼ同一ではありませんが、 2つの異なるブランチは、後でリベースまたはマージしたいときに生活を困難にするので、避けたい状況です。
コミットに何かが分岐しているかどうかをスクリプトに自動的に検出させるにはどうすればよいですか?
仮定を単純化することが役立つ場合、私は常にマスターのヘッドでこのスクリプトを実行し、ローカルリポジトリとしてgitのみを使用します-変更をどこにもプッシュまたはプルしません。
このスクリプトはRubyであるため、gitコマンドラインにシェルアウトするか、gitにRubyバインディングを使用することができます。どちらでもこのタスクが簡単になります。
git - 誤ってコミットをプッシュ: git commit メッセージを変更
私のローカル リポジトリには、コミット メッセージが正しくないコミットが 1 つあります。
で間違ったコミット メッセージを既に公開していますgit push
。
現在、リモート リポジトリ (GitHub でホストされている) にも間違ったコミット メッセージがあります。
私はすでに を試しgit commit --amend
ましたが、間違ったコミット以降に追加のコミットを行ったため、この状況ではうまくいかないことがわかりました。
この状況をどのように修正しますか?
git - git: 完全な履歴を表示するには、ファイル内の 1 行を変更します
git リポジトリを開始したとき、最初のコミットとしていくつかのファイルをコミットしました。さて、後で多くのコミットを行った後、これらのファイルに公開したくない情報を含む行が含まれていることに気付きました (残りのコードとは異なります)。したがって、この1行を削除/変更して、残りのコードを保持したいと思います。
周りを検索すると、この解決策が見つかりました: 最初のコミットとして空のコミットを挿入し (ここで説明: Git のルート コミットの前にコミットを挿入しますか? )、それをリベースしてから、古い最初のコミットを amend で編集します。残念ながら、リベース中に多くの残酷なマージ競合が発生します (ここで説明されているように: git: Solving conflicts due to rebase )。
私の問題を解決する別の方法はありますか、またはすべての競合を手動でリベースして編集する必要がありますか?
前もって感謝します :)
git - Git:マージコミットのメッセージを編集/言い換える方法は?
マージコミットのメッセージを編集または言い換えるにはどうすればよいですか?
git commit --amend
それが最後に行われたコミット(HEAD
)の場合は機能しますが、それが前に来る場合はどうなりHEAD
ますか?
git rebase -i HEAD~5
マージコミットは一覧表示されません。