ぽかぽかコード日和

とっても暑い夏の日にプログラミングはじめました☀️

【GitHub】にアップロード・招待する方法

なんとなくできたので書き留めておきます。 すでに忘れてかけているので、随時修正します。

Macの場合の方法です

①準備

1.GitHubのアカウントを作成する。

2. Gitをインストールする。

②リモートリポジトリの作成

1. GitHubの「Home」を開く

2. Start a new repository for <名前>で 「Repository name」を入力し、「Private」のボタンを選ぶ

3. 「Create a new repository」をクリック

③ローカルリポジトリの作成

1. Macのターミナルを開く

2. フォルダに移動する

cd github

エラーが出なければ成功!

3.ローカルリポジトリを作成(初期化)

git init

Initialized empty Git repository in〜と表示されれば成功!

4.ステージング

git add .

エラーが出なければ成功!

5.コミット

git commit -m "コメント" ("initial setup"が良さそう)

〜create mode〜と表示されたら成功!

④紐付け

1.ローカルとリモートを紐付け

git remote add origin <リモートURL>

エラーが出なければ成功!
リモートURLは、GitHubの「Code」タブ→新規リポジトリ作成のときに表示されるURLを使う。

⑤アップロード

1.プッシュ

git push origin main

[new branch] main -> mainぽいのが表示されたら成功!
信頼性の確認っぽい文はyesで実行

git branch コマンドでローカルブランチ一覧を表示できる。

GitHubで確認

GitHubにファイルが表示されているはず。


☀︎ユーザーを招待する方法☀︎
1.GitHubにログイン
2. 「Settings」タブ→「Collaborators」→「add people」
3. メールアドレス入力→「Select a collaborator above」
これで招待中になる。

その他

個人アクセストークンの生成方法

1. Git Hubにログイン
2.プロフィールアイコン→「Settings」
3.「Developer settings」→「Personal access tokens」→「Tokens(classic)」
4.「Generate new token」→「Generate new token(classic)」
5.「Note」を入力し、有効期限と権限を選択
6.「Generate token」で生成
7.トークンが表示されるので控える。
※一度しか表示されない
パスワードとして使う

SSHの生成・追加方法

1. Macターミナルを開く

2.公開鍵の生成

ssh-keygen -t ed25519 -C "your_email@example.com"

保存ファイルの場所は、デフォルトのまま使うならそのまま実行。パスフレーズの設定は空欄でも可能。再入力も空欄で実行。

3.公開鍵の表示

cat ~/.ssh/id_rsa.pub

ssh-rsa AAA〜」めっちゃ長い鍵が表示される。

4.GitHubとの接続テスト?

ssh -T git@github.com

成功したよーっぽい文章で成功!

5.GitHubにログイン

プロフィールアイコン→「Settings」
SSH and GPG keys」
「New SSH key」
タイトル入力し、コピーした公開鍵を貼り付ける。
「Add SSH key」で追加

プライベートリポジトリを公開(public)に変更する方法
  1. Githubにログインし、変更したいリポジトリのページを開く

  2. 上部の「Settings」タブをクリックする

  3. 「Danger Zone」セクションの「Change repository visibility」横の「Change visibility」ボタンをクリック

  4. ポップアップウィンドウが表示され、「Make public」を選び、テキストボックスにリポジトリ名を入力する。

  5. 「I understand, change repository visibility.」ボタンをクリック

  6. パスワードの確認を求められる場合は入力

  7. リポジトリページに戻ると、「Private」の表示が消えているはず

    公開をプライベートリポジトリ(非公開)へ変えたい時は、「Make private」を選択する

参考にしたサイト

【Git】git stashコマンド

ギットのスタッシュに関するコマンドをまとめてみました。

stashとは、現在のワークツリーの変更を一時的に保存(退避)させるコマンドです。

まだコミットしていない変更を中断し、別の作業に切り替える際に便利です。


1.一時保存

基本的な退避

git stash (save "メッセージ"はつけなくても可)

現在の変更作業を退避する。「git stash save」をよく使用する。

2.表示

一覧表示

git stash list

退避した作業の一覧を表示する。

3.作業に戻る

退避した作業に戻る

git stash apply

退避した作業に戻る。
「git stash pop」は戻した作業が退避一覧から削除される。
「git stash pop --index」はgit stashで退避し、ステージング状態を維持した状態で戻るためのコマンド。

削除

git stash drop (<削除したい作業>つけなくても可)

退避一覧から指定した作業を削除する。
全削除は「git stash clear」


参考にしたサイト

【Git】git log コマンド

ギットのログに関するコマンドをまとめてみました。

git logコマンドはコミットの履歴を表示し、確認・分析できるコマンドです。


1.表示

基本的な表示

git log

コミットの履歴を表示する。

簡潔な形式で表示

git log --oneline

コミット履歴を一行を表示する。

特定のファイルで表示

git log <ファイル名>

指定したファイルのコミット履歴を表示する。

表示するコミット数を指定

git log -n

検索・表示するコミット履歴の数を指定し表示する。

キーワードを含むコミット履歴表示

git log --grep='キーワード'

指定した文字列が含まれるコミット履歴を抽出・表示する。


参考にしたサイト

【Git】git diff コマンド

ギットのディフに関するコマンドをまとめてみました。

git diffコマンドは指定した二つのファイルを比較してその違い(差分)を表示するコマンドです。

+マーク...追加された行
-マーク...削除された行


1.差分

ワークツリーの差分

git diff

ワークツリーとステージングエリアの差分を表示する。
-wオプションをつけると空白や改行の変化を無視して表示する。

HEADとの差分

git diff HEAD

ワークツリーと現在ブランチの最新コミットとの変更内容を表示する。

ステージングエリアの差分

git diff --cached

ステージングエリアとHEADの差分を表示する。

指定したファイルの差分

git diff <ファイル名>

指定したファイルの変更内容を表示する。

コミット間の差分

git diff <コミットID> <コミットID>

指定した2つのコミット間の変更内容を表示する。
ブランチ間でも使える。

2.表示

ファイル一覧表示

git diff --name-only

差分のあるファイルの一覧を表示する。


参考にしたサイト

【Git】git checkout コマンド

ギットのチェックアウトに関するコマンドをまとめてみました。

git checkoutコマンドは作業するブランチを切り替え、ファイルの復元、特定コミットへの移動など多機能なコマンドです。


1.切り替え

ブランチ切り替え

git checkout <ブランチ名>

現在のブランチから、指定したブランチに切り替える。

ブランチ新規作成&切り替え

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

現在のブランチから、新しいブランチを作成し切り替える。
特定のコミットからブランチを作成したい場合<コミット名>も追加する。

リモートブランチから新規作成&切り替え

git checkout -b <新しいブランチ名> origin/<リモートブランチ名>

指定したリモートブランチの最新の状態を基にして、新しいローカルブランチを作成し、切り替える。

履歴のないブランチを作成

git checkout --orphan <新しいブランチ名>

既存の履歴に影響を与えず作業できるブランチを新規作成する。

ファイル復元

コミット時の状態に戻す

git checkout <コミットID>(<ファイル名>はつけなくても可)

指定したコミット時点のファイルの状態に、作業ディレクトリを戻す。

特定のブランチからファイルを復元

git checkout <ブランチ名> <ファイル名>

他のブランチの特定のファイルの状態を、現在のブランチにコピーする


☀︎コミットID(コミットハッシュ)とは☀︎
コミットごとにつけられた英数40桁のIDのことで「git log」コマンドで確認できる。
先頭7桁をショートコミットハッシュといい「git log --oneline」で確認できる。通常こちらを使う。
☀︎コマンド機能分割☀︎
・git switchコマンド...ブランチの切り替えや新規作成。
・git restoreコマンド...作業ディレクトリやステージングエリアのファイルの変更や復元

参考にしたサイト

【Git】git pull コマンド

ギットのプルに関するコマンドをまとめてみました。

pullとは、リモートディレクトリからローカルディレクトリにダウンロードし反映させるコマンドです。
(正確にはリモートブランチからリモート追跡ブランチ(origin/master)へ反映された後に、そのリモート追跡ブランチからローカルブランチへ統合されているという流れで、fetchとmergeを行っています。)

他のユーザーが行った変更を取り込み常に最新の状況を保つことは、競合を避けスムーズな開発ができます。


1.プル

基本的なプル

git pull <リモート名> <ブランチ名>

リモートブランチからローカルブランチに変更を反映させる。

マージの代わりにリベースしてプル

git pull --rebase (<リモート名> <ブランチ名>はつけなくても可)

リモートブランチからローカルブランチに変更を反映させる。
マージコミットを残さないので履歴が複雑にならないが、あまり使わない。

プルの前にスタッシュ

git pull --autoshash

自動的に現在の変更を一時保存してから、プルを行う。

2.取消

マージの取消

git revert commitID

打ち消すようなコミットを新しく作成する。コミットと打ち消した履歴の両方が残る。

マージ前の状態に戻す

git merge --abort

merge操作で競合が発生したので、mergeする前の状態に戻すコマンド。

3.表示

基本的なフェッチ

git fetch <リモート名> (<ブランチ名>はつけなくても可)

指定したリモートリポジトリから、すべてのブランチの最新の状態を取得できる。作業ディレクトリには影響を与えない。

詳細の表示

git pull -v (または--verbose)

fetch操作やmerge操作、競合の詳細情報等が詳細に表示され、問題解決のときに便利。


参考にしたサイト

【Git】git push コマンド

ギットのプッシュに関するコマンドをまとめてみました。

git pushコマンドはローカルリポジトリからリモートリポジトリへ反映させるコマンドです。 基本的にリモートにある同名のブランチにpushされます。競合が発生するような場合は、pushが拒否されます。


1.プッシュ

基本的なプッシュ

git push <リモート名> <ブランチ名>

ローカルリポジトリにある変更したブランチをリモートリポジトリに反映させる。

全てのブランチをプッシュ

git push --all <リモート名>

ローカルリポジトリにある全てのブランチを反映させる。

強制的にプッシュ

git push -f <リモート名> <ブランチ名> (--forceでも可)

強制的にブランチを反映させる。競合が発生していても上書き可能なため注意が必要。「git push origin main --force」は禁忌。

2.削除

ブランチを削除

git push --delete <ブランチ名>

リモートリポジトリから、指定したリモートブランチを削除する。
プルリクエスト後、マージができたらpushしたブランチを削除するときにも使える。

3.表示

シュミレーションする

git push --dry-run <リモート名> <ブランチ名>

ドライラン。実際にはプッシュせずに、何が起こるかを確認できる。

4.その他

push操作の簡略化

git push -u <リモート名> <ブランチ名>

ローカルブランチをリモートブランチに反映すると同時に、追跡関係を設定する。
以降のpush操作でブランチ名を指定不要になり、効率的・操作の簡素化が可能。

☀︎プルリクエスト☀︎

プルリクは自分の行った変更をリポジトリに取り込んでもらうために行う機能。
レビューが返ってきたらmergeをする。
「git push <リモート名> <リクエストを出すブランチ名>」


参考にしたサイト