Agile育成ブログ
未来を変える喜びを
GitHub

GitHub

共同開発を行う際に自分の書いたコードをほかの人に共有する必要があります。
そんな時に使うのがGitです。
ターミナルはMacに備わっているCUI(キャラクターユーザーインターフェース)ツールです。

Git Hubインストール

https://www.agile-software.site/2021/04/24/vs-code%e3%81%ae%e8%a8%ad%e5%ae%9a/

共有したいファイルの選択

$ git add ファイル名

選択したファイルを記録する(コミットする)

$ git commit -m "コミットメッセージ" 

共有の仕組み

ファイルのアップロード

$git push origin master

すでにリモートリポジトリがある場合

VSCodeにおけるターミナルでコマンドを入力します。

ファイルを新しいローカルリポジトリに追加します。
git add .
GitHub リポジトリの Quick Setup ページの上部で、 をクリックしてリモートリポジトリの URL をコピーします。
コマンドプロンプトで、ローカルリポジトリのプッシュ先となるリモートリポジトリの URL を追加します。
$ git remote add  [追加するリモートリポジトリ名]   [追加したいリポジトリ]
# 新しいリモートを設定する
[追加するリモートリポジトリ名] にorigin、[追加したいリポジトリ]に<リモートリポジトリのURL
(http://xxxxxx.xxx/xxxx)>を指定することでリモートリポジトリを登録できる 
$ git remote -v
# リモートリポジトリを一覧表示する
GitHub へ、ローカルリポジトリの変更をプッシュします。
git push origin main

「git clone」

git cloneとは、既存のリポジトリをローカル環境に複製するコマンドのことです。

git clone [リポジトリパス]

URLを変更する

git remote set-url origin [変更先のURL]

ファイルのダウンロード

$ git pull origin master

自分が変更したファイルの確認

どのファイルをaddしてどのファイルがaddされていないのかも確認することができます

git status 

変更した部分を確認

git diff

ローカルに登録してあるリモートリポジトリを削除

git remote remove origin

自分や他人のコミットを確認

過去のコミットの変更はgit log
変更内容まで見たいときはgit log -p

git log

ブランチとは

ブランチを使用することで、開発者は異なる機能やバグ修正を独立して行うことができ、メインのコードベースに影響を与えることなく作業を進めることができます。
ブランチとは、履歴の流れを分岐して記録していくためのものです。分岐したブランチは他のブランチの影響を受けないため、同じリポジトリ中で複数の変更を同時に進めていくことができます。

また、分岐したブランチは他のブランチと合流(マージ)することで、一つのブランチにまとめ直すことが出来ます。

  • メインブランチ(多くの場合「main」または「master」と呼ばれる)から新しいブランチを作成し、そこで機能追加やバグ修正を行います。
  • 主要なブランチの種類:
    • main(またはmaster): 常にデプロイ可能な状態を保つブランチ。
    • develop: 次のリリースに向けた開発が行われるブランチ。
    • feature: 新しい機能を追加するためのブランチ。
    • release: リリース前の最終調整やバグ修正を行うブランチ。
    • hotfix: 本番環境で発見されたバグを修正するためのブランチ。

2. ブランチの作成と管理

  • ブランチの作成: 新しいブランチは、コマンドラインで以下のように作成します。
git branch <branch-name>
  • プルリクエスト(PR): 開発が完了したら、変更をメインブランチに統合するためにプルリクエストを作成します。これにより、他の開発者が変更をレビューし、問題がなければマージすることができます。
  • マージ: プルリクエストが承認されると、変更がメインブランチに統合されます。マージ後は、作業が完了したブランチを削除することが推奨されます。

マージンコンフリクト

マージンコンフリクトは競合するコミットを持つブランチをマージしようとしたときに生じるもので

pull

pullを実行するとリモートリポジトリの履歴を取得することができます。

fetch

fetchを実行すると、リモートリポジトリの最新情報をローカルリポジトリに持ってくることができます。

push

ローカルリポジトリからリモートリポジトリにpushするときは、pushしたブランチがfast-forwardマージされるようにしておく必要があります。もし、競合が発生するような場合は、pushが拒否されます。

https://www.agile-software.site/2021/04/24/github%e7%94%a8%e8%aa%9e%e9%9b%86/

GitHub関連サイト

最初のコミットを保護しつつ、新しいブランチを作成して開発を進める方法を説明します。また、間違いが発生した場合に最初のコミットに戻る手順も解説します。

1. 最初のコミットを確認

現在の状態を確認して、最初のコミットのハッシュ値を取得します。

git log --oneline

2. 新しいブランチを作成

新しいブランチを作成して切り替えます。

git checkout -b 新しいブランチ名

3. 開発作業を進める

新しいブランチで自由に作業を進めてください。

ファイルを編集してコミットする例:

echo "New feature" > new-feature.txt
git add new-feature.txt
git commit -m "Add new feature"