はじめに
こんにちは、くらっちです。
久々にGit を使ってみたのですがGitのコマンド結構忘れていました。
個人的なメモですが、よく使うコマンドだけをまとめたので皆さんの参考になれば幸いです。
目次
よく使うコマンド
リポジトリをコピーする
既存リポジトリを個人のPCにコピーして、ローカルで作業できるようにします。
Gitにおける作業はすべてローカルリポジトリの中で実施します。
git clone <リポジトリのパス(URL)> 例:git clone https://github.com/xxxxxxxxx/HelloWorld.git
ブランチを確認する
ローカルブランチを一覧表示、現在作業中のブランチも確認できます。
Git branch
ローカルブランチのバージョンを確認します。
Git branch -vv
作業するローカルブランチを変更する
Git checkout <ブランチ名>
ローカルにブランチを作成する
作業中のブランチをベースにして新しいブランチを作成します。
新しいブランチは「作業中のブランチ」をコピーしたものが作成されます。
Git checkout -b <新規ブランチ名> 例:git checkout -b Animals
ローカルブランチの更新をリモートブランチに反映する
ローカルブランチで更新した内容をリモートブランチに反映させます。
pushの際、リモートに指定のブランチが存在しない場合は新しいブランチを作成します。
git add . git commit -m "コメント入れる" git push origin <更新するリモートブランチ名>
上記コマンドはそれぞれこんなことをしています。
1.add で index(コミット前の下書き保存場所みたいなイメージ)に登録
2.commit することでローカルリポジトリを更新する
3.push してローカルリポジトリの内容をリモートリポジトリに送信
⇒その結果、リモートブランチが更新される
リモートブランチの更新をローカルブランチに反映する
リモートブランチの更新をローカルブランチに反映させます。
Git checkout <更新元のローカルブランチ> Git pull Git checkout <更新先のローカルブランチ> Git merge <更新元のローカルブランチ> 例: Git checkout groups ※groupsブランチに移動 Git pull ※groupsをリモートブランチと同じ状態にする Git checkout users ※usersブランチに移動 Git merge groups ※usersブランチとgroupsブランチを統合
Git pull で下記エラーが発生した場合
ローカルブランチと紐づいていたリモートブランチがなくなっている可能性があります。
Your configuration specifies to merge with the ref 'refs/heads/~' from the remote, but no such ref was fetched.
ローカルブランチの名前を変更する
ローカルブランチの名前を変更します。リモートブランチの名前は変わりません。
git branch -m <古いブランチ名> <新しいブランチ名>
現在作業中のローカルブランチ名を変更する場合
git branch -m <新しいブランチ名>
ローカルブランチとリモートブランチの紐づきを解除する
ローカルブランチとリモートブランチの紐づきを解除します。
git branch --unset-upstream
紐づきを解除したら、下記コマンドで正しいリモートブランチと接続しましょう。
git branch -u <ブランチ名>
ローカルブランチを削除する
ローカルのブランチを削除します。リモートのブランチは削除されません。
Git branch -b <削除するブランチ名>
「is not fully merged」のエラーが出た場合は下記コマンドで強制的に削除します。
リモートにマージしていない部分は反映されずに削除されるため注意が必要です。
git branch -D <削除するブランチ名>
ブランチを指定バージョンに戻す
ローカルブランチのバージョンを指定のバージョンに戻します。
バージョン番号はGitHubの履歴で確認できます。
git checkout <バージョン番号>
ブランチをaddしないで元の状態に戻す
Git checkout .
ブランチをaddしないで変更前の状態に戻します。
「is unmerged」が出る場合は下記を実行します。
git reset --hard
関連用語
リポジトリ
開発関連のソースファイルなどを一元管理する場所。バージョン管理が可能
リモートリポジトリ
クラウド上に存在するリポジトリ
ローカルリポジトリ
個人利用のPC上に存在するリポジトリ
ブランチ
「コミット(セーブポイント)の分岐を作る」機能で、この分岐が「ブランチ」です。
ブランチAで機能Aの開発、ブランチBで機能Bの開発、という住み分けが可能になります!
最終的にブランチAとブランチBを統合(Merge)して1つの完成版を作成します。
参考 【初心者向け】git fetch、git merge、git pullの違いについて