今週は、特に Git リモートの操作について、Git についての理解を深めました。前提条件として、リモートを扱う場合は、Git マージに精通していることが不可欠です。先週、私は Git マージの最初の経験を共有し、いくつかのベスト プラクティスについて説明しました。今週、私はその知識を、自分自身のリポジトリではなく、共同作業者のリポジトリ、つまり友人の Mayank のリポジトリで新機能に取り組む際に適用しました。同時に、彼は私のリポジトリの機能に取り組み、Git を使用したリモート コラボレーションを実践できるようになりました。
現在、私が過去数週間にわたって開発してきたツールでは、温度やモデルなどのオプションにデフォルトの値セットが使用されており、これらはユーザーが特定の引数を指定しない場合に適用されます。この新機能の目標は、ユーザーのホーム ディレクトリにある TOML ファイルから構成設定を読み取るためのサポートを追加することで、ツールの機能を拡張することでした。
たとえば、ユーザーが C:\User\Anh\config.toml に構成ファイルを持っている場合、ツールはユーザーのホーム ディレクトリに .toml ファイルが存在するかどうかを確認します。このようなファイルが存在する場合、ツールはファイルを読み取り、その値を適用してデフォルト構成を設定し、組み込みのデフォルトをオーバーライドします。ただし、ユーザーは引き続きコマンドライン引数を指定でき、これは TOML ファイルの値より優先されます。
この機能を実装するために、toml パッケージを利用して TOML 構成ファイルの内容を解析しました:
import * as toml from 'toml';
このツールはユーザーのホーム ディレクトリで .toml ファイルを検索するため、Node.js の組み込み OS モジュールを使用してホーム ディレクトリのパスを取得しました。
const os = require("os"); const homeDir = os.homedir();
ユーザーのホーム ディレクトリからすべてのファイルを収集した後、それらを繰り返し処理して、.toml で終わる隠しファイル (ドット . で始まるファイル) を見つけました。最初に見つかった .toml ファイルは、ツールの構成ソースとして使用されました。
前述したように、今週は Git リモート ワークフローの練習と Git と Mayank のマージが含まれていました。彼のリポジトリ内の機能に取り組むために、次の手順に従いました:
git push origin
Mayank が変更を新しいブランチにプッシュし、プル リクエスト (PR) をリクエストしたら、マージする前にコードをテストしたいと思いました。ここで git リモートが不可欠になります:
git remote add
git fetch
git checkout -b/
テスト中に、Mayank のブランチで 2 つの重要な問題を特定しました:
// Resolve the path to the configuration file const configPath = path.resolve(__dirname, "../.toml"); // Load configuration from config.toml const config = loadConfig(configPath);
これらの問題を特定した後、Slack 上で Mayank と話し合い、協力して解決策を見つけました。また、彼のプル リクエストに対して直接フィードバックを提供しました。このプロセスにより、現実世界の共同プロジェクトに貢献しているように感じました。修正に満足したら、彼のブランチをメイン ブランチにマージし、リモート リポジトリにプッシュしました。
Git リモートを操作してマージするこのプロセスは、非常に勉強になりました。共有コードベースでの共同作業に自信が持てるようになりました。以前は、さまざまな開発者からの複数のコミットや貢献に圧倒されることがよくありましたが、今では Git ワークフローをよりよく制御し、理解できるようになりました。
この機能に取り組み、Git リモートを統合することで、将来のプロジェクトに貴重な実践的な経験を積むことができました。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3