前回の記事では git checkout / git switch を解説しました。
これにより
- ブランチの作成
- ブランチの切り替え
ができるようになりました。
しかしGitは ローカルだけで使うツールではありません。
チーム開発では
ローカル
↓
GitHub
へコードを共有する必要があります。
この操作を行うのが
git push
です。
この記事では次の内容を解説します。
- git pushとは
- リモートリポジトリ
- git pushの基本
- 初回pushの方法
- push時のエラー
git pushとは
git push は
ローカルの変更をリモートに送るコマンド
です。
Gitでは次の2つの場所があります。
ローカルリポジトリ
GitHubリポジトリ
イメージ
自分のPC
↓
GitHub
この送信操作が push です。
リモートリポジトリとは
GitHubのリポジトリは
リモートリポジトリ
と呼ばれます。
対して自分のPCにあるものは
ローカルリポジトリ
です。
開発では
ローカル
↓
push
↓
リモート
という流れになります。
git pushの基本
基本コマンド
git push origin main
意味
origin → リモート名
main → ブランチ名
つまり
originのmainブランチへpush
という意味です。
originとは
Gitではリモートに名前を付けます。
通常
origin
が使われます。
例
origin
https://github.com/example/project.git
つまり
origin = GitHub
です。
git pushの例
例
git add .
git commit -m "add login feature"
git push origin main
このコマンドで
GitHubに変更が送信
されます。
初回push
初めてpushする場合
次のコマンドを使います。
git push -u origin main
-u は
upstream
の設定です。
これを設定すると
次回から
git push
だけでpushできます。
GitHubでの表示
pushすると
GitHubのリポジトリに
commit履歴
が表示されます。
また
Pull Request
の作成も可能になります。
featureブランチのpush
通常の開発では
main
ではなく
featureブランチ
をpushします。
例
git push origin feature-login
これにより
feature-login
ブランチがGitHubに作成されます。
よくあるエラー
初心者がよく遭遇するエラーがあります。
upstreamがない
エラー
fatal: no upstream branch
解決
git push -u origin main
push拒否
エラー
rejected
原因
リモートの方が新しい
解決
git pull
してからpushします。
GitHub Flow
実際の開発では次の流れになります。
main
↓
featureブランチ
↓
開発
↓
git push
↓
Pull Request
↓
merge
これが
GitHub Flow
です。
pushの注意点
pushする前に
git status
で状態確認する習慣をつけましょう。
また
機密情報
を含むファイルをpushしないよう注意が必要です。
例
.env
config
APIキー
まとめ
この記事では git push を解説しました。
重要なポイント
git push = ローカル → GitHub
origin = リモート名
基本コマンド
git push origin main
初回push
git push -u origin main
これでGitHubへコードを送信できます。
次の記事
次回は
git pull
を解説します。
pullを理解すると
他の人の変更
を取り込めるようになります。
Git入門
- Gitとは?初心者向けにわかりやすく解説(バージョン管理の基礎) – 1/12
- GitとGitHubの違いとは?初心者向けにわかりやすく解説 – 2/12
- Gitの基本コマンド(git init / git add / git commit) – 3/12
- git add と git commit を理解する(ステージングの仕組み) – 4/12
- Gitのブランチとは?安全に開発するための基本機能 – 5/12
- git checkout と git switch(ブランチを切り替える方法) – 6/12
- git pushとは?ローカルの変更をGitHubに送る方法 – 7/12
- git pullとは?リモートの変更を取得する方法 – 8/12
- git mergeとは?ブランチを統合する方法 – 9/12
- Gitコンフリクトとは?merge conflictの原因と解決方法 – 10/12
- GitHub Flowとは?チーム開発の基本ワークフロー – 11/12
- Gitベストプラクティス(実務で役立つGitの使い方) – 12/12



コメント