git commit -m と git commit -am の違いを教えてください
git add <change file>
を介して stage
に変更が追加された場合、git commit -m "< を介して変更を行うことができます。 message>"
ステージ
に入ったすべての変更に対してcommit
メッセージを追加します。 ステージ
には何が含まれていますか?以下をご覧ください git add <change file>
將其添加到stage
,可以通過git commit -m "<message>"
為這所有已經(jīng)進入stage
的改變添加一個commit
信息。什么是在stage
中?看下面
如果你的文件之前已經(jīng)提交過,但這次的改動還沒有進stage
,如下:
可以直接使用git commit -am "<message>"
,將所有修改,但未進stage
的改動加入stage
,并記錄commit
信息。(某種程度上相當(dāng)于git add
和git commit -m
的組合技,前提是被改動文件已經(jīng)是tracked
stage
に入っていない場合は、次のようになります: #????#
#????#git commit -am "<message>"
を直接使用して、stage
に入っていないすべての変更を stage
に追加できます。をクリックし、commit
情報を記録します。 (変更されたファイルがすでに 追跡
されている場合、これはある程度、 git add
と git commit -m
の組み合わせと同等です) #????#リーリー
実行してみましょう
リーリーパラメータの意味を理解するには、違いが分かります。 a
オプションは-a, --all
変更および削除されたファイルを自動的にステージングするようにコマンドに指示しますが、Git に通知していない新しいファイルは影響を受けません。
を意味します
現(xiàn)在変更および削除されているすべてのファイルを自動的にスタックに置きますが、追加していないファイルは影響を受けません。拡張する
リーリー
これら 3 つの大きな手順ですが、実際には、追加する新しいファイルがない限り、必要なコマンドは 2 つだけです。リーリー
文字通りに説明すると、 git commit -m はステージング領(lǐng)域にファイルを送信するために使用され、 git commit -am は追跡されたファイルを送信するために使用されます
それらの違いを理解するには、まず、以下の図に示すように、git のファイルステータス変更サイクルを理解する必要があります
作業(yè)ディレクトリの下にあるすべてのファイルは、追跡済みまたは追跡されていないという 2 つの狀態(tài)になります。追跡されたファイルは、バージョン管理管理に含まれているファイルを指し、一定期間作業(yè)した後、ステータスが更新、変更、またはステージング領(lǐng)域に配置されない可能性があります。
以下は一例です「a.txt」などの新しいファイルがプロジェクトフォルダーに追加されると、ファイルは追跡されていない狀態(tài)になります。未追跡ステータスのファイルは送信できません
次に、コンテンツ「a」をa.txtに追加します
git commit -am を使用すると、追跡されたファイルを送信でき、a.txt は最初から追跡されているため、git add a.txt の手順を省略できます
git add コマンドは多機能コマンドであり、ターゲット ファイルのステータスに応じて、このコマンドの効果も異なります。このコマンドを使用して、新しいファイルの追跡を開始したり、追跡されたファイルを一時ストレージ領(lǐng)域に配置したりできます。 、ファイルをマージするためにも使用できます。競合したファイルは解決済みステータスとしてマークされます。
新しいファイルを追跡するには git add コマンドを使用する必要がありますが、 git commit -am を使用すると、追跡したファイルをステージング領(lǐng)域に配置する git add コマンドを使用する機能を省略できます