プログラミング
 Computer >> コンピューター >  >> プログラミング >> プログラミング

Gitコミット

変更をGitリポジトリに保存することは、ファイルを保存することほど簡単ではありません。 Gitバージョン管理システムは、変更を追跡するためのより複雑な方法を使用します。これにより、開発者は、リポジトリ内のコードに加えた変更をよりきめ細かく制御できます。

git commitコマンドは、プロジェクトに加えられた変更をリポジトリに「保存」するための1つのステップです。 git addコマンドライン関数は、最初にコミットに保存される変更のレコードを作成するために使用され、次にgitcommitを使用してそれらの変更を含むコミットを作成します。最後に、gitpushを使用してコミットを中央リポジトリにプッシュします。

このチュートリアルでは、例を挙げて、gitcommitコマンドを使用してGitでコミットを作成する方法について説明します。このチュートリアルを読み終えると、gitcommitを使用してコミットを作成するエキスパートになります。

Gitコミット

コミットはGitバージョン管理システムの重要な部分です。

コミットについて考える1つの方法は、コミットがプロジェクトの履歴の特定の瞬間におけるプロジェクトのスナップショットであるということです。コミットが作成されると、コミットが作成されたときにすべてのファイルとディレクトリがプロジェクトにどのように表示されたかの記録が作成されます。

その後、このレコードを読み取って、プロジェクトが特定の時点でどのように見え、誰がプロジェクト内のどのファイルにどのような変更を加えたかを確認できます。実際、コミットはGitの重要な機能です。これにより、開発者は、リポジトリが時間の経過とともにどのように進化したかを包括的に記録できます。

他のバージョン管理システムとは異なり、コミットは準備が整うまで中央リポジトリに影響を与えません。つまり、リポジトリに加えられた変更とリポジトリのメインバージョンとの間のギャップとして機能する可能性があります。

つまり、リポジトリのメインバージョンに直接変更を加える必要はなく(多くの寄稿者がリポジトリを積極的に監視している可能性があります)、開発者はローカルリポジトリにコードをコミットし、後でメインリポジトリにプッシュできます。

参加者の81%は、ブートキャンプに参加した後、自分たちの技術的な仕事の見通しについてより自信を持っていると述べました。今日のブートキャンプにマッチしましょう。

平均的なブートキャンプの卒業生は、ブートキャンプの開始から最初の仕事を見つけるまで、キャリアの移行に6か月も費やしませんでした。

コミットの作成は、Gitの変更を「保存」する最後から2番目の段階です。コミットを作成したら、次のステップはgit pushを使用して、行った変更を中央リポジトリにプッシュすることです。

Gitコミットの使用方法

git commitコマンドは、段階的な変更をすべてローカルリポジトリに保存します。

「段階的変更」とは、gitaddコマンドを使用して追加されるステージング領域内のすべてのファイルを指します。 git addコマンドの詳細については、gitaddの初心者向けガイドをご覧ください。

gitcommitコマンドの使用方法を見てみましょう。

git commit

gitcommitコマンドの最も基本的な使用法は次のとおりです。

git commit

このコマンドは、段階的な変更をローカルリポジトリにコミットします。このコマンドを実行すると、テキストエディタが開き、コミットメッセージを送信するように求められます。

このメッセージは、コミットでリポジトリに加えた変更について簡単に説明する必要がある場所です。コミットメッセージを書き込んだ後、テキストエディタを閉じると、コミットが作成されます。

git commit -a

allを表す-aフラグを使用すると、変更されたすべてのファイルを自動的にステージングしてコミットできます。

リポジトリにコミットしたCONTRIBUTORS.mdというファイルがあるとします。このファイルを変更する場合は、git commit -aコマンドを使用して、変更をステージングしてリポジトリに追加できます。

-aフラグを使用すると、変更されたすべてのファイルでの「gitadd」の実行をスキップできます。これは、-aフラグがgitにすべての変更されたファイルをステージングするように指示するためです。ただし、-aフラグは新しいファイルをステージングしません。したがって、「README.md」というファイルを作成した場合、最初に「git add」を実行しない限り、そのファイルはステージングされません。

-aフラグの構文は次のとおりです。

git commit -a

このコマンドは、変更されたすべてのファイルを自動的にステージングして、リポジトリにコミットします。

git commit -m

おそらく、git commitで使用される最も一般的なフラグは、-mフラグです。メッセージを表す-mフラグは、コミットメッセージをコミットに追加するために使用されます。

-mフラグを指定せずにgitcommitコマンドを使用すると、前述のように、メッセージを書き込むことができるテキストエディターが開きます。ただし、-mフラグを使用すると、コミットメッセージを直接指定することで、テキストエディタの開始をスキップできます。

-mフラグを指定してgitcommitコマンドを使用するための構文は次のとおりです。

git commit -m "feat: commit message"

このコマンドでは、-mフラグを指定して、コミットメッセージをコミットに直接追加することを示します(メッセージを追加する場所でテキストエディターを開く代わりに)。次に、コミットメッセージを-mフラグに続く引用符で囲みます。この場合、コミットメッセージは「feat:commitmessage」です。

Gitコミットの例

例を見て、gitcommitコマンドを使用する方法を説明しましょう。

プロジェクトに取り組んでいて、プロジェクトのapp.pyファイルを編集したとします。ファイルに加えたいすべての変更を行い、ファイルのコミットを作成する準備が整いました。

最初のステップは、gitaddを使用してファイルをステージング領域に追加することです。次のコードを使用してこれを行うことができます:

git add app.py

これで、app.pyファイルがステージング領域にあります。これは、準備ができたらコードにコミットできることを意味します。

app.pyファイルに「runApp()」という新しい関数を追加しました。これをローカルリポジトリにコミットします。このコードを使用してこれを行うことができます:

git commit -m "feat: Add runApp() function"

このコマンドは、app.pyファイルに加えられた変更を使用してコミットを作成します。コミットに関連するメッセージは「feat:Add runApp()function」です。これは、リポジトリに加えた変更について簡単に説明しています。

Gitコミットを修正する

git commitコマンドを使用すると、前のコミットを修正することもできます。 –amendオプションを使用して、前のコミットを修正できます。

コミットを作成したばかりで、__init__。pyファイルをコミットに追加するのを忘れたとします。次のコードを使用してファイルが含まれるように、最初のコミットを修正できます。

git add __init__.py
git commit --amend -m "feat: Add runApp() function and update init file"

これにより、以前のコミットが__init __。pyファイルを含むように修正され、上記のコマンドで指定した新しいコミットメッセージを使用するようにコミットが修正されます。

–amendフラグは、ソフトウェアのバージョン管理時に間違いを犯しやすいため、ソフトウェア開発者がよく使用します。たとえば、ファイルをコミットにステージングするのを忘れたり、コミットメッセージを書いているときにタイプミスをしたり、コミットメッセージにコードに加えた大きな変更が含まれていない場合があります。

したがって、ソフトウェアを開発するときは、–amendフラグを頻繁に使用する可能性があります。

適切なコミットメッセージを書く

すでに説明したように、gitコマンドを使用する場合は、コミットメッセージの記述が必須です。コミットメッセージには技術的には必要なものをすべて含めることができますが、コミットメッセージに何を含めたいかを考えるのに時間をかける必要があります。

優れたコミットメッセージを作成する方法に関するルールはありませんが、開発者が一貫性のある説明的なコミットメッセージを作成するためによく使用するベストプラクティスがいくつかあります。

git commitメッセージを作成するときに、次の点に注意する必要があります。

  • コミットメッセージの件名を大文字にします
  • 件名を50文字に制限します
  • コミットの本文を使用して、(理由ではなく)変更した内容を説明します
  • コミットの本文の各行は72文字未満にしてください。

これらのルールに従うと、解釈しやすい、より読みやすいコミットメッセージを作成できます。

さらに、コミットメッセージで他の問題を参照したり、リクエストをプルしたりすることもできます。たとえば、コミットがリポジトリ内の問題#22を解決する場合、コミットに「修正:問題#22を解決する」というタイトルを付け、問題を解決するために変更した内容についてコミットの本文に説明を含めることができます。



結論

git commitコマンドは、ファイルをステージング領域からコミットに移動するために使用されます。このコマンドは、ステージング領域にファイルを追加するために使用されるgitaddの後に実行されます。 git commitは、Gitリポジトリに加えられた変更のスナップショットを作成し、開発者がそうする準備ができたら、メインリポジトリにプッシュできます。

このチュートリアルでは、gitcommitコマンドを使用してGitリポジトリに変更をコミットする方法について説明しました。これで、エキスパートのようにgitcommitコマンドの使用を開始するために必要な知識を身に付けることができました。


  1. レスキューへのGitリセット

    自分で、またはチームの一員としてプロジェクトに取り組んでいる場合、コミットを元に戻したい場合があります。 git reset コマンドは、実際の命の恩人として知られているツールの1つです。 Gitの追跡メカニズム git resetに進む前に 、gitの基本構造について理解する必要があります。 Gitは、ノードとポインターを備えたツリーのような構造を介して、ファイルを管理および追跡します。 ローカルのgitリポジトリには基本的にこれらの「ツリー」が3つあります: 作業ディレクトリ :または作業ツリー。ローカルディレクトリと git statusを参照します。 作業ディレクトリの

  2. Git Cherry Pick:ステップバイステップガイド

    初心者の開発者として、私たちは単に繰り返しを通してgitを学びます。 git pull、git push、およびgitcommitがそれぞれ何を意味するのかをすばやく学びます。より大きなプロジェクトでの作業に移行し、チームと協力するにつれて、プロジェクトで作業する個人間でコードベースのバージョン管理履歴をまっすぐに保つのに役立つ、より高度なgitコマンドを学び始めます。 そのようなコマンドの1つは、gitcherry-pickです。 gitcherry-pickコマンドは、あるブランチから特定のコミットを取得し、それらを別の機能ブランチまたはマスターブランチのHEADにアタッチする場合に