オープンソース プロジェクトの台頭により、オープンソース コミュニティに参加し、オープンソース プロジェクトに貢献することに惹かれるソフトウェア エンジニアがますます増えています。中でも、Git ウェアハウスをベースとしたオープンソース プロジェクトである GitLab は非常に人気があり、無料のコード ホスティング サービスを提供するだけでなく、開発者がチームでより簡単に共同作業できるようにするさまざまな強力なコラボレーション ツールも提供します。
ただし、コードの開発プロセス中に特定の要件が発生する場合があり、GitLab のソース コードを直接変更すると、今後の更新が面倒になる可能性があります。したがって、現時点では二次開発が非常に必要です。この記事では、GitLab プロジェクトをベースにした二次開発の方法を以下の観点から紹介します。
まず、GitLab の公式 Web サイトからソース コードを入手する必要があります。ここでは gitlab-ce を選択しました。 Git をインストールした後、ターミナルで次のコマンドを入力します。
git clone https://gitlab.com/gitlab-org/gitlab-ce.git
このコマンドは、GitLab プロジェクト全体のソース コードをローカルにダウンロードし、ファイルはローカル ウェアハウスに次の形式で表示されます。 gitlab-ce のルート ディレクトリ。
これで、ローカル リポジトリで GitLab のソース コードを見つけることができます。ただし、将来の更新が非常に面倒になるため、master ブランチ上でソース コードを直接変更することはできません。したがって、専用の開発ブランチを作成する必要があります。
ターミナルで GitLab ルート ディレクトリを入力します:
cd gitlab-ce/
次に、新しいブランチを作成します:
git checkout -b my-feature-branch
ここでは例として新しい関数ブランチを作成します。必要に応じて、他の種類のブランチを作成します。
これで、my-feature-branch ブランチのコードを変更できます。変更が完了したら、次のコマンドを使用して変更されたファイルを表示します:
git status
ファイルを 1 つだけ変更した場合は、次のコマンドを使用して送信できます:
git commit -m "feat: 修改XXX文件"
新しいブランチを作成した後、ローカルで開発しているため、このプロセス中に、GitLab 公式チームがコードを更新する状況に遭遇する可能性があります。これらの公式に更新されたコードをブランチにマージする場合は、次のコマンドを使用できます:
最初に master ブランチに入ります:
git checkout master
次に、最新の公式コードをプルします:
git pull origin master
その後、開発ブランチに戻ります:
git checkout my-feature-branch
このようにして、ブランチは最新のコードと同期されます。ここで注意する必要があるのは、2 つのブランチが同じファイルの異なる部分のみを変更する場合、Git が自動的にコードをマージしてくれるということです。 2 つのブランチが同じ場所を変更する場合、コードの競合を手動で処理する必要があります。
変更されたコードがすべて完了したことを確認したら、次のコマンドを使用してコードを送信できます:
git push origin my-feature-branch
このコマンドにより、新しく作成されたブランチが GitLab サーバーに更新されます。次に、公式の GitLab チームにマージ リクエストを送信して、コードが基準を満たしているかどうかをレビューしてもらい、メインライン ブランチにマージしてもらう必要があります。
コードが公式チームによってマージされたら、引き続きそれを運用環境にデプロイする必要があります。通常、最新のコードをローカルにプルし、次のコマンドを使用してサーバーにデプロイする必要があります:
bundle exec rake gitlab:backup:create RAILS_ENV=production sudo gitlab-ctl stop sudo gitlab-ctl start
上記のコマンドは、既存の GitLab データをバックアップし、デプロイされた GitLab サービスを停止するために使用されます。そして新しいコードを開始します。もちろん、ここで説明したのは単なる例であり、実際の導入プロセスでは他にも注意が必要な点がある可能性があります。
概要:
この記事の紹介が、開発者が GitLab の二次開発プロセスをよりよく理解するのに役立つことを願っています。技術的背景の違いやコード品質の違いにより、各開発者の GitLab 二次開発プロセスが異なる場合があることに注意してください。したがって、実際の開発プロセスでは、より良い結果を得るために、特定の問題に応じて柔軟に対応する必要があります。
以上がgitlabプロジェクトをベースにした二次開発のやり方の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。