github tutorial developers how use github
このGitHubチュートリアルでは、GitHubとは何か、リポジトリ、ブランチ、プルリクエストを作成する方法について説明します。これには、ブランチ保護ルールと競合解決が含まれます。
GitHubとは何ですか?
GitHubは、開発者がソースコードを保存および管理し、ソースコードへのすべての変更を追跡および制御するのに役立つクラウドサービスです。
簡単に言うと、GitHubは、プロジェクトを管理し、ソースコードをホストし、レビューすることができる開発者を対象としています。このシリーズでは、これらすべてについて説明します。
このGitHubシリーズのチュートリアルのリスト:
チュートリアル#1: 開発者向けのGitHubチュートリアル| GitHubの使用方法 (このチュートリアル)
チュートリアル#2: プロジェクトを文書化するためのGitHubプロジェクト、チーム、フォーク、Wiki
チュートリアル#3: 高度なGitコマンドとGitHub統合チュートリアル
チュートリアル#4: GitHub REST APIチュートリアル–GitHubでのRESTAPIサポート
チュートリアル#5: GitHubデスクトップチュートリアル–デスクトップからGitHubとコラボレーションする
チュートリアル#6: TortoiseGitチュートリアル–バージョン管理にTortoiseGitを使用する方法
学習内容:
Gitとは何ですか?
Gitはオープンソースのバージョン管理システムであり、ソースコード全体を開発者のマシンで利用できます。 Gitは、ブランチとマージを実行できるクライアントおよび分散バージョン管理システム(DVCS)でもあります。
GitHub入門
GitHubの使用を開始するには、次の手順を実行します。
- プロジェクトを整理するためのリポジトリを作成します。
- ブランチを作成する
- ファイルに変更を加えてコミットします。
- コンテンツをマージするプルリクエストを作成します。
- ブランチを保護する
シリーズの第2部では、組織の作成、チーム、問題、マイルストーン、フォーク、リリース、WikiなどのGitHubの他の機能についても説明します。
GitHubリポジトリを作成する
GitHubリポジトリには、ソースコード、ドキュメント、画像などのプロジェクトのアーティファクトが含まれています。デモリポジトリを作成して使用し、上記のすべての手順を実行します。
Github.comにログインして 新しいリポジトリを作成する 。クリックしてください 新着 ボタン。
図のように以下のリポジトリの詳細を追加し、をクリックします リポジトリを作成する 。プライベートまたはパブリックのいずれかにアクセスを設定します。このアクセスに依存する機能はほとんどないため、公開に設定することをお勧めします。
注:リポジトリを作成するユーザーは、GitHubリポジトリの所有者です。
リポジトリはREADMEファイルで作成されます。
GitHubリポジトリへの共同編集者の追加
チームにこのリポジトリで作業してもらいたいと思います。このために、リポジトリで作業するように共同作業者を招待する必要があります。共同編集者を追加するには、リポジトリのメインページに移動し、 設定 アイコン。
クリック 共同編集者 左側のペインで、Githubアカウントを持っている共同編集者を追加します。招待状が送信され、共同編集者は招待状を受け入れる必要があります。
以下に示すように、共同編集者が追加されます。後のこのチュートリアルでは、コードをマージするために作成されたプルリクエストのレビュー担当者としてコラボレーターがどのように追加されるかを確認します。
基本的なCの実行 省略
READMEファイルを開き、基本的なコミットを実行します。クリックしてください アイコンを編集 ファイルの変更を開始します。
ファイルを変更し、コメントを追加して、をクリックします コミット 。
ファイルはGithubリポジトリにコミットされます(変更が保存されます)。
リポジトリ内にフォルダとファイルを作成するための操作はほとんど見られません。
内にフォルダとファイルを作成するには: クリックしてください 新しいファイルを作成する リポジトリレベルのボタン。以下に示すように、ディレクトリの名前に続けて/とファイルの名前を入力します。
クリック コミット 下部にあります。フォルダーとファイルは次のように作成されます。したがって、ファイルとフォルダは上に作成されます 主人 メインの統合ブランチであり、主にソフトウェアリリースを構築できるブランチ。
開発者は通常、別のブランチで割り当てられたタスクに取り組み、変更をマスターブランチにマージします。 例えば、 ブランチは、機能の開発、バグの解決、拡張機能などのために作成できます。したがって、ブランチを作成することにより、他のブランチを妨げることなく作業を分離できます。
次のステップでは、ブランチを作成し、プルリクエストを定義して、コードを確認してマスターブランチにマージする方法を確認できます。
ファイルの移動
ファイルを別のフォルダに移動するには、次の手順を実行します。 例えば、 ファイルrules.txtをdocフォルダーに移動します。ファイルをクリックします。
アイコンをクリックしてファイルを編集します。
パスを追加します doc / ファイルの前 rules.txt 。クリック 変更をコミットします。
パスが更新されました。
GitHubブランチの作成
リポジトリのメインページに移動し、次のように入力して作成します 特徴 示されているように分岐します。クリック ブランチを作成します。
私たちは今にいます 特徴 ブランチ。ファイルは同じです。ここで、のファイルにいくつかの変更を加えます。 特徴 ブランチしてプルリクエストを作成し、変更を確認してコードをにマージします 主人 ブランチ。
機能ブランチのファイルに変更を加えます。
SrcフォルダーにあるJavaファイルを開き、コードを追加して変更をコミットします。
GitHubプルリクエストを作成する
前のセクションでは、ブランチを作成しました 特徴 ファイルにいくつかの変更を加えました。変更はありません 主人 ブランチ。このために、プルリクエストを作成する必要があります。これにより、ユーザーは特定の変更をレビューして、 主人 ブランチ。
プルリクエストを作成すると、ソースブランチとターゲットブランチの違いが表示され、競合がある場合は解決する必要があります。
クリック 比較とプルリクエスト リポジトリのメインページにあります。
両方のブランチ間の変更をマージできることがわかります。クリック プルリクエストを作成します。
クリック プルリクエストのマージ そして 確認 マージを完了します。
変更は正常にマージされます 主人 ブランチ。最初のプルリクエストは正常に完了しました。
プルリクエストとコードレビューでレビューアを割り当てる
Githubには、リポジトリ内のソースコードの責任者を選択できるCODEOWNERSファイルを使用するという優れた機能があります。リポジトリの所有者はこのファイルを作成でき、ファイルで定義されているすべてのユーザーは、プルリクエストの作成中にデフォルトでレビューを要求されます。
この機能を使用するには、GitHub Proバージョンを使用するか、リポジトリを公開する必要があります。
リポジトリのルートで、このファイルを次の形式で作成し、ファイルをコミットします。
* @ usernameまたは@orgnameまたは@teamname
* 主に、リポジトリ内のすべてのファイルを意味します。 * .javaや* .jsなどの特定の拡張子を指定することもできます。ファイルで定義されたユーザーには、レビューのリクエストが自動的に送信されます。 CODEOWNERSファイルを定義すると、レビュー担当者を手動で明示的に追加する必要がなくなり、レビューするファイルを選択する柔軟性が少し向上します。
に戻る 特徴 ブランチはJavaファイルに小さな変更を加え、プルリクエストを作成します。プルリクエスト画面で、右側にレビュー担当者を割り当てます。クリック プルリクエストを作成します。
上記の画面で、レビュー担当者を手動で割り当てることができますが、レビュー担当者はCODEOWNERSファイルで定義されており、コードの変更を確認するリクエストを自動的に取得します。
とにかく、とりあえず、 ログインする レビュー担当者として、変更を承認します。ユーザーvniranjan2512としてログインし、変更を承認します。
下に変更を承認/拒否するリクエストがあります プルリクエスト。
プルリクエストをクリックして レビューを追加します。
あなたはをクリックすることができます + 表示される画面で、追加/変更/削除されたコード行のレビューコメントに署名して追加します。
クリック レビューを開始します。
クリック レビューを終了します。 示されているように承認し、 レビュー送信 。
プルリクエストを発行した元のユーザーに戻って、コメントを追加し、会話を解決または閉じることができます。
これで、マージプルリクエストを完了できます。
変更は正常にマージされます 主人 ブランチはレビューを投稿し、プルリクエストをマージします。
したがって、この段階で要約すると、開発者は 特徴 ブランチしてからプルリクエストを発生させて、変更をマージします 主人 ブランチ。上記は、競合が発生しなかったシナリオです。次のセクションでは、ファイルが複数のブランチで変更された場合に、競合を手動で解決する方法を説明します。
競合の解決
複数のブランチの同じファイルが変更される可能性があります。この場合、競合が発生するため、プルリクエストを発生させて解決する必要があります。
例えば、 両方のJavaファイルに変更を加える 主人 そして 特徴 分岐してプルリクエストを発生させます。
表示されるプルリクエストメッセージは、変更を自動的にマージできないことを示しています。したがって、競合を解決する必要があります。プルリクエストの作成に進みます。
プルリクエストが発生したら、(をクリックして競合を解決する必要があります 競合を解決する ボタン。
基本的に競合を手動で解決しているマーキングを削除し、をクリックします 解決済みとしてマーク そして マージをコミットします。
マーキングが削除された後のファイルの最終ビュー。
マージプルリクエストを完了できます。ザ・ 主人 そして 特徴 ブランチは同一になります。
上記の画面では、レビューが要求されているが必須ではないことがわかります。次のセクションでは、リポジトリの所有者が強制的にレビューを要求し、保護することができるブランチ保護ルールについて説明します。 主人 直接コミットから分岐しますが、プルリクエストを介してのみコミットします。
ブランチ保護ルール
前のセクションでは、Githubプルリクエストについて説明しました。また、必須またはオプションではないレビューのリクエストについても説明しました。典型的なプロジェクトシナリオコードでは、レビューは必須であり、開発プロセスの一部です。
これを実施する方法を見てみましょう。
github.comでは、この機能はパブリックリポジトリまたはGithubproバージョンを使用する場合にのみ設定できます。リポジトリのメインページで、 設定 をクリックします ブランチ 左側のカテゴリ。
クリック ルールを追加 下 ブランチ保護ルール。 ルールは、マージする前に、コード所有者からの必須のプルリクエストレビューのリクエストを追加しました 主人 ブランチ。
これにより、 マスターブランチ は保護されており、このブランチで直接コミットすることはできません。また、徹底的なレビューの後にプルリクエストを介してのみコミットできます。この設定は、リポジトリの所有者によって設定されます。
確かに素晴らしい機能!!!
クリック 作成する 一度行われた。このシナリオをテストするには、内のファイルに変更を加えます 特徴 ブランチしてプルリクエストを作成します。
次の画面は、コード所有者がレビューを強制的に要求していることを示しています。
コード所有者からのレビューを投稿して、プルリクエストをマージできます。
リポジトリの共同作業者として、保護されたブランチのルールが作成されているためにファイルに変更を加えると、マスターブランチに直接コミットすることはできず、図のようにブランチを作成した後にプルリクエストを介してのみコミットできます。未満。
リポジトリを別のユーザーアカウントに転送する
通常、個人ユーザーリポジトリには単一の所有者がいて、他のすべてのリポジトリは共同作業者です。したがって、ユーザーアカウントリポジトリに複数の所有者を含めることはできないという意味で。ただし、所有権は別のユーザーアカウントに譲渡できます。完了すると、元のリポジトリ所有者は自動的に新しいユーザーアカウントリポジトリの共同編集者になります。
その後、新しい所有者は、アーティファクト、問題、プルリクエスト、プロジェクト、リリース、および設定の管理を開始できます。
通常、「gitclone」や「gitpush」などのコマンドがローカルリポジトリで実行されると、コマンドは新しいリポジトリにリダイレクトされます。ただし、「git remote -v」コマンドを実行すると、元のリポジトリURLが表示されます。新しいリモートURLに変更する際の混乱を避けるために、「gitremoteset-url」コマンドを使用してリポジトリを転送してください。
リポジトリを転送するには、リポジトリの(設定)タブに移動し、(オプション)の下に移動しますか?危険ゾーンをクリックします 転送
リポジトリ名と、所有権の譲渡先となる新しいユーザーアカウントを入力します。
(理解しました)をクリックして、このリポジトリを転送します
リポジトリが新しい所有者に転送されたことを示すメッセージが表示されます。
転送を承認するために、元のリポジトリ所有者にメールが送信されます。転送が承認されると、リポジトリは新しい所有者に転送され、元のリポジトリ所有者が共同編集者として追加されます。
次に、古いリポジトリのクローンが作成されたマシンに新しいリポジトリのURLを設定します。次のコマンドは、古いリポジトリのクローンが作成されたすべてのマシンで設定する必要があります。
すべてのプルリクエスト、問題、ウィキが転送されます。問題の割り当てはそのまま残ります。
いくつかの便利なGitコマンド
LinuxまたはWindowsマシンにGitクライアントをインストールした後、ローカルマシンで最初に構成する基本的なGitコマンドがいくつかあります。開発者は、GitHubのリポジトリに接続せずに、GitHubで利用可能なソースコードの完全なコピーをローカルで操作し、同期します。
まず、ユーザー名とメールアドレスを設定して、すべてのコミットでこの情報が使用されるようにします。
git config –global user.name“ UserName”
git config –global user.email“ myemail@myemail.com”
コミット中にメッセージを追加する必要がある場合は、それに必要なエディターを構成することもできます。
DVDを無料でリッピングする方法
git config –globalcore.editorメモ帳
設定されているすべての構成値のリストを取得します。
git config –list
組織には、インターネットに接続するためのプロキシサーバーがある場合があります。その場合、GitHubのすべてのリポジトリにアクセスするには、プロキシサーバーとポート番号を指定する必要があります。
git config –global http.proxyhttp:// Username:Password @ proxyserver:port
リポジトリのクローンを作成するか、ローカルコピーを作成します。 GitHubでリポジトリのクローンURLを取得し、gitコマンドを実行します。
結論
このチュートリアルでは、GitHubリポジトリの作成、ブランチ、プルリクエスト、ブランチの保護、およびいくつかの基本的なGitコマンドから、開発者がGitHubでの作業を開始する方法を説明しました。
今後のチュートリアルでは、主に組織、チームの作成、リポジトリのフォーク、問題の作成、マイルストーン、プルリクエスト、Wikiとその使用法、およびその他の便利な高度なGitコマンドの関連付け方法に関するGitHubの他の機能について説明します。開発者に。