バージョン管理システムがなければ、ソースコードを管理することはほぼ不可能です。 C、C#、Java、またはその他の言語のソフトウェア開発者になることができますが、バージョン管理が必要です。最も人気のあるバージョン管理システムの1つはGitです。
Gitは、多くの大小の企業で使用されている無料のオープンソース分散バージョン管理システム(VCS)です。その機能は印象的であり、何千人ものGitサポーターが、ソース管理をより生産的にするための実践とヒントを喜んで追加しています。
現在、35を超えるGitのベストプラクティスと多くのヒントを使用できます。ただし、この記事では、初心者に最適な11のGitのヒントと実践に焦点を当てます。
私はこれまでのお気に入りであるAFTERテクニックから始めます。 AFTERの略:
- A トミックコミット
- F 頻繁なコミット
- T プッシュ前の変更
- E nforce標準
- R エファクタリング。
アトミックコミット
アトミックコミット 1つのコンテキストのみに基づく単一のコミットです。これは、コンテキストの観点から、機能、バグ修正、リファクタリング、更新という単一の主題を意味します。すべてのプロジェクトの変更が単一のコミットとして行われる場合、それはモノリシックな方法またはスパゲッティコミット 。
頻繁なコミット
Gitのベストプラクティスでは、コミットは時間ベース(時間単位、日単位など)に基づくべきではないと主張しています。代わりに、関数ベースに基づいてコミットする必要があります。したがって、コミットに値する変更を追加するときはいつでもコミットする必要があります。
作業技術を取り入れましたか?コミットします。
タイプミスを修正しましたか?コミットします。
間違ったインデントファイルにパッチを適用しましたか?コミットします。
献身が不可欠であるとすぐに、小さな調整を行うことに何の問題もありません。
プッシュする前に変更をテストする
Gitでは、単独で作業することも、チームと共同で作業することもできます。コードをコミットするときはローカルリポジトリで作業し、変更をプッシュするときはリモートリポジトリで作業し、コードの変更をチームと共有します。
変更をプッシュする前にテストする必要があります。壊れたコードをプッシュすると、エラーが原因でチームがデッドロック状態になる可能性があります。したがって、変更をリモートにプッシュする前に、必ずローカルでテストしてください。
基準の施行
どのプロジェクトでも、標準は非常に重要です。それらは全体的な効率をスピードアップし、エラーと遅延を最小限に抑えます。チームで常に実施できる2つの簡単な原則に注意してください。
- gitignoreファイルを使用する–特定のファイルはコードの一部ではないため、無視する必要があることをGitに通知します。また、リポジトリを健全に保つのにも役立ちます。
- コミットするたびに適切な解説を追加します。開発者にとって有用であり、ドキュメントとして機能します。
リファクタリングは機能ではありません
開発者にとって、コードのリファクタリングは一般的です。また、次のような多くの理由で有益です。
- チームのコードを読みやすくします。
- 洗練度を下げる。
- ソースコードをより保守しやすくするなど。
ただし、最悪のことは、同じコミットでリファクタリングして新しい機能を追加することです。
リファクタリングを行う場合は、別のコミットにする必要があります。 また、新しい機能に取り組んでいる場合は、特定のコミットを行う必要があります。
これらのプラクティスは、AFTERテクニックをコンパイルします。それでは、Gitを操作するためのその他の役立つヒントに進みましょう。
ブランチのクローンを作成する
リポジトリ全体ではなく、リモートリポジトリから特定のブランチのクローンを作成する必要がある場合があります。この場合、Git Remote Addが解決策です:
git remote add -t
作成者の設定とリセット
Gitを使用するには、ダウンロード後に名前とメールアドレスを設定する必要があります。データは、実行する各コミットに添付されます。したがって、それなしではコミットを構築することはできません。
git config –global user.name“ Your name”
git config –global user.email [email protected]
何らかの理由で名前やメールアドレスをリセットする必要がある場合は、次の方法があります。
git commit –amend –reset-author –no-edit
最適化リポジトリ
リポジトリに何百ものオブジェクトが含まれている場合、不要なオブジェクトが多数存在する可能性があります。特定のコマンド(ローカルリポジトリをクリーンアップするガベージコレクションコマンド)を使用してそれらを削除することができます。
構文は次のとおりです。gitgc
Gitガイドを入手する
gitコマンドを知っていることをお勧めします。 Gitは、この目的のために別のコマンドであるgithelpコマンドを提供しています。
git help -g
これを実行することで、利用可能なすべてのgitコマンドにアクセスして読み取ることができます。このコマンドは、Gitを学習しているときに特に重要です。
Gitアーカイブ
Git Archiveコマンドは、リストされたGit参照からコミット、ブランチ、ツリーなどのアーカイブファイルを生成するGitコマンドラインユーティリティです。アーカイブ出力を変更する追加の引数は、gitアーカイブによって承認されます。
git archive –format =tar HEAD
このコマンドは、実行時にリポジトリの現在のHEADrefからアーカイブを構築します。分散型gitリポジトリパッケージを構築するための貴重なユーティリティです。注:追加の圧縮を使用できるGitのアーカイブ内のいくつかの出力形式を許可します。
.gitフォルダーを知る
.gitフォルダーには、プロジェクトに必要なすべてのバージョン管理情報と、すべてのコミット情報、リモートリポジトリアドレスなどが含まれます。また、履歴に戻ることができるように、コミットの履歴を保存するログも提供します。
.gitフォルダーは、gitinitまたはgitcloneを実行するときに作成されるディレクトリです。この「もの」は、プロジェクトの「git」リポジトリになります。これがないと、プロジェクトはローカルであり、gitプロジェクトではなく、git操作を適用できません。
.gitフォルダーを削除しても、gitリポジトリの一部である他のファイルは削除されません。ただし、バージョン管理は行われなくなります。したがって、このフォルダは削除しないでください。
結論
数十万人のサポーターがいる広大なシステムであるGitは、絶えず改善されています。開発者は新しいオプションを追加し、ユーザーの協力をより効果的にし、タスクのパフォーマンスをよりスムーズかつ迅速にします。
変更をコミットし、リモートリポジトリを操作するための多くのソフトウェアソリューション。その中で、多機能SSMSアドインであるdbForgeSourceControlについて言及する価値があります。 Ifs機能を使用すると、Gitや、SVN、TFS、MicrosoftAzureDevOpsなどのシステムを操作できます。
この記事で、Gitのヒントとベストプラクティスに関する基本的な知識を身に付けて、生産性を向上できることを願っています。読んでいただきありがとうございます。この投稿があなたの仕事に役立つことを願っています。