コミットを分岐して記録できるようにするものです。リポジトリ作成時にはローカル・リモート問わずmainブランチが存在しています。
分岐したブランチを他のブランチと合流させる操作のことです。
プロジェクトにおけるタスクのことです。機能開発やバグ対応などをissueとして書き出しておき、issueごとにブランチを作成してタスクを実行することで、タスクとコードを紐づけて管理することができます。 なおGitに備わった仕組みではなく、GitHubやGitLabなどリモートリポジトリ機能を持つサービスに備わった仕組みです。
ブランチをマージする際、変更点を確認できる仕組みです。レビューに使うことができます。
なおこれもGitに備わった仕組みではなく、GitHubやGitLabなどリモートリポジトリ機能を持つサービスに備わった仕組みです。GitHubではプルリクエスト、GitLabではマージリクエストと呼びます。
GitHubのissueを作成してみます。
その後、issueに紐づく新しいブランチをgit branch {ブランチ名}で作成し、git switch {ブランチ名}変更を行います。その後、作成したブランチをリモートリポジトリへプッシュし、プルリクエスト機能を使ってみます。
なお、git branchを実行するとブランチ一覧と現在のブランチを確認できます。
- コマンドプロンプトまたはPowerShellを使い、任意のディレクトリで
ターゲットリポジトリのクローンURLを使いクローンしてください。ターゲットリポジトリを作成していない場合は、GitHubの設定を行ってください。(2-2で実行している場合は不要です) - cdコマンドを実行し、ディレクトリ
git-practice-targetへ移動してください。(2-2で実行している場合は不要です) - ローカルリポジトリのブランチ一覧を確認し、以下のような出力になることを確認してください。
* main
- ブラウザで
ターゲットリポジトリのページにアクセスし、"Issues > New issue"より、以下の内容を入力しCreateでissueを作成してください。- Title: READMEファイル追加
- issueに対応するため、issue番号を先頭に加えた新しいブランチを作成し、切り替えてください。(今回の例では
1-READMEというブランチ名にしてください) - ローカルリポジトリのブランチ一覧を確認し、以下のような出力になることを確認してください。
* 1-README
main
- ファイル
README.mdを作成してください。 - すべてのファイルをステージングし、コメント
#1 add fileをつけてコミットしてください。コミットメッセージに#<issue番号>を付けることで、issueとコミットを紐づけることができます。 - リモートリポジトリを更新してください。リポジトリは
origin、ローカルブランチは1-README、リモートブランチは1-READMEです。(コマンドの書き方は「git ブランチ指定」などで検索してください)以下のような出力になることを確認してください。
Counting objects: 2, done.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (2/2), 240 bytes | 240.00 KiB/s, done.
Total 2 (delta 0), reused 0 (delta 0)
remote:
remote: Create a pull request for '1-README' on GitHub by visiting:
remote: https://github.com/xxxxx/git-practice-target/pull/new/1-README
remote:
To https://github.com/xxxxx/git-practice-target.git
* [new branch] 1-README -> 1-README
- ブラウザで
ターゲットリポジトリのページにアクセスし、mainと書かれたプルダウンをクリックし、先ほど作成したブランチ「1-README」がリモートリポジトリにプッシュされ、表示されることを確認してください。 - 同ページの「Compare& pull request」ボタンより、以下の内容でプルリクエストを作成してください。入力後、「Create pull request」ボタンをクリックしてください。
- Title: READMEファイル追加
- Comment: Close #1
- 「Merge pull request」ボタンをクリックし、ブランチ
1-READMEをmainブランチにマージしてください。(実際の運用ではレビュー担当者またはマージ担当者にマージ作業を分担し、チェックしてもらいます) - ブラウザで
ターゲットリポジトリのページのmainブランチの内容を確認し、先ほど追加したファイルがmainブランチに反映されていることを確認してください。 - ブラウザで
ターゲットリポジトリのページのissuesタブにアクセスし、手順4で作成したissueがクローズされていることを確認してください。クローズされたissueを開き、added a commit that references this issueという文章と共に手順8で行ったコミットが表示されており、issueとコミットが紐づいていることを確認してください。
ここまでの内容で、ブランチとissueについて学ぶことができました。これにより、実際のプロジェクトにおいても複数人と並行して開発作業を行うことができるようになります。
- mainブランチにマージしたブランチの変更履歴は削除できずに残り続けます。アクセスキーやパスワード、秘密鍵などの漏洩させてはいけない情報は、一時的にでも絶対にプッシュしないように気をつけてください。
答え(一例です)
- 2-2で行っているため省略
- 2-2で行っているため省略
> git branch
* main
> git branch 1-README
> git switch 1-README
Switched to branch '1-README'
> git branch
* 1-README
main
- ファイル作成はGUIでも可能なため省略
> git add .
> git commit -m "#1 add file"
[1-README f7338db] #1 add file
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 README.md
> git push origin 1-README
Enumerating objects: 4, done.
Counting objects: 100% (4/4), done.
Writing objects: 100% (3/3), 241 bytes | 241.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
remote:
remote: Create a pull request for '1-README' on GitHub by visiting:
remote: https://github.com/kato-pra/git-practice-target/pull/new/1-README
remote:
To https://github.com/kato-pra/git-practice-target.git
* [new branch] 1-README -> 1-README










