検索

ホームページ  >  に質問  >  本文

git commit -m と git commit -am の違い

git commit -m と git commit -am の違いを教えてください

为情所困为情所困2792日前1081

全員に返信(3)返信します

  • 迷茫

    迷茫2017-05-02 09:38:32

    git add <change file> を介して stage に変更が追加された場合、git commit -m "< を介して変更を行うことができます。 message>" ステージに入ったすべての変更に対してcommitメッセージを追加します。 ステージには何が含まれていますか?以下をご覧ください git add <change file>将其添加到stage,可以通过git commit -m "<message>"为这所有已经进入stage的改变添加一个commit信息。什么是在stage中?看下面

    如果你的文件之前已经提交过,但这次的改动还没有进stage,如下:

    可以直接使用git commit -am "<message>",将所有修改,但未进stage的改动加入stage,并记录commit信息。(某种程度上相当于git addgit commit -m的组合技,前提是被改动文件已经是tracked

    #🎜🎜# #🎜🎜#ファイルが以前に送信されたことがあるが、この変更がまだ stage に入っていない場合は、次のようになります: #🎜🎜# #🎜🎜# #🎜🎜# #🎜🎜#git commit -am "<message>" を直接使用して、stage に入っていないすべての変更を stage に追加できます。をクリックし、commit 情報を記録します。 (変更されたファイルがすでに 追跡 されている場合、これはある程度、 git addgit commit -m の組み合わせと同等です) #🎜🎜#

    返事
    0
  • 给我你的怀抱

    给我你的怀抱2017-05-02 09:38:32

    リーリー

    実行してみましょう

    リーリー

    パラメータの意味を理解するには、違いが分かります。 a

    オプション

    -a, --all
    変更および削除されたファイルを自動的にステージングするようにコマンドに指示しますが、Git に通知していない新しいファイルは影響を受けません。

    を意味します

    現在変更および削除されているすべてのファイルを自動的にスタックに置きますが、追加していないファイルは影響を受けません。

    拡張する

    通常、git を送信するとき

    リーリー

    これら 3 つの大きな手順ですが、実際には、追加する新しいファイルがない限り、必要なコマンドは 2 つだけです。

    リーリー

    返事
    0
  • 伊谢尔伦

    伊谢尔伦2017-05-02 09:38:32

    文字通りに説明すると、 git commit -m はステージング領域にファイルを送信するために使用され、 git commit -am は追跡されたファイルを送信するために使用されます

    それらの違いを理解するには、まず、以下の図に示すように、git のファイルステータス変更サイクルを理解する必要があります

    作業ディレクトリの下にあるすべてのファイルは、追跡済みまたは追跡されていないという 2 つの状態になります。追跡されたファイルは、バージョン管理管理に含まれているファイルを指し、一定期間作業した後、ステータスが更新、変更、またはステージング領域に配置されない可能性があります。

    以下は一例です

    「a.txt」などの新しいファイルがプロジェクトフォルダーに追加されると、ファイルは追跡されていない状態になります。未追跡ステータスのファイルは送信できません


    次に、 git add a.txt を使用して追跡します

    この時、 git commit -m 'add a.txt' を利用するとスムーズに送信できます

    しかし、git commit -m と git commit -am の違いは何でしょうか? a.txtファイルを修正した後の処理次第です

    次に、コンテンツ「a」をa.txtに追加します

    ファイル a.txt は追跡されますが、ステージングされません。このとき、 git commit -m を使用すると、最新バージョンの a.txt を送信することはできません。送信されるのは、先頭が空の古いバージョンの a.txt のみです

    a.txt の新しいバージョン、つまりコンテンツ「a」を含む a.txt を送信するには、 git add a.txt を使用して a.txt の新しいバージョンをステージングされた一時ストレージ領域に配置する必要があります。次に git commit -m を使用して送信を行います

    git commit -am を使用すると、追跡されたファイルを送信でき、a.txt は最初から追跡されているため、git add a.txt の手順を省略できます

    要約すると、これら 2 つのコマンドの使用の違いの鍵は git add コマンドです

    git add コマンドは多機能コマンドであり、ターゲット ファイルのステータスに応じて、このコマンドの効果も異なります。このコマンドを使用して、新しいファイルの追跡を開始したり、追跡されたファイルを一時ストレージ領域に配置したりできます。 、ファイルをマージするためにも使用できます。競合したファイルは解決済みステータスとしてマークされます。

    新しいファイルを追跡するには git add コマンドを使用する必要がありますが、 git commit -am を使用すると、追跡したファイルをステージング領域に配置する git add コマンドを使用する機能を省略できます

    返事
    0
  • キャンセル返事