-git基礎コマンド
基礎構造
【1】リモートリポジトリをローカルリポジトリにcloneしてくる
【2】ローカルリポジトリ内で作業環境を作り、作業する
【3】作業ディレクトリをadd,commit,pushしてリモートリポジトリの作業ブランチを更新
【4】リモートリポジトリの作業ブランチをmainにmargeする
【5】リモートリポジトリのmainをpullして、ローカルリポジトリのmainを更新する
【1】リモートリポジトリをローカルリポジトリにcloneしてくる
①gitコマンドを使えるようにする
gitコマンドを使いたいディレクトリに行き
git init
以下ができていればよい
ls -a .git
. HEAD config hooks objects
.. branches description info refs
②リモートリポジトリに "origin" という名前を設定
以降、"origin" を使用してリモートリポジトリURLを参照
(SSHのURLを取ってくる)
git remote add origin リポジトリURL
③リモートリポジトリをローカルリポジトリにcloneしてくる
git clone リポジトリURL
リモートリポジトリに存在する全てのファイル群の複製をローカルエリアに作成
URL末尾名(リポジトリ名)のディレクトリと「.git」ファイルが作成
リモートリポジトリのファイル群を全て複製するコマンド
引数にはリポジトリURL
実行後「リポジトリ名のディレクトリ」と「.git」ファイルが作成
既に同名のディレクトリがある場合は使用不可
非公開設定のリポジトリの場合はユーザー名とパスが必要
一番最初のみ実行するコマンド
【2】ローカルリポジトリ内で作業環境を作り、作業する
① branch確認
git branch
②必要なbranchを作成
mainがなければ作成
作業するbranchを作成
git checkout -b 名前
git branch
目的の作業branchが作成されているか確認
緑色になっているのが現在いるbranch
③目的のbranchに必要なファイルなどがあるか確認
ls
【3】作業ディレクトリをadd,commit,pushしてリモートリポジトリの作業ブランチを更新
① 作業ディレクトリのワーキングエリアの状態とステージングエリアの状態を表示
赤字があれば更新が必要②を移行を行う
git status
②workigエリアからstaginエリアにステージングさせる
git add .
変更したファイルをすべてステージングエリアに追加
git add ファイル名
ファイルをステージングエリアに追加
git reset ファイル名
ファイルをステージングエリアから戻す
git reset HEAD [file-path]
一部のファイルだけ選択するには、ファイルのパスを記載
③作業ディレクトリのワーキングエリアの状態とステージングエリアの状態を表示
赤字があれば更新が必要②を移行を行う
*赤字が消えない場合もあるので、指定しても消えない場合は④に進む
git status
④ステージエリアに追加された記録を残す
これがないと何をいつ変更したのか追えなくなるので、
コメントは残すこと!
git commit -m "first commit"
ステージエリアに追加されたファイルを
ローカルエリアに”first commit”というコメント付きでコミット
⑤リモートリポジトリの作業ブランチを更新
このときリモートリポジトリに作業ブランチがない場合新しく作成される
git push origin ブランチ名
ローカルエリアからリモートエリア(github)に共有して更新
【4】リモートリポジトリの作業ブランチをmainにmargeする
作成中
【5】リモートリポジトリのmainをpullして、ローカルリポジトリのmainを更新する
①作業ブランチにいるか確認する、いないなら移動する
確認
git branch
移動
git checkout ブランチ名
②【4】でリモートリポジトリが更新されたので、
ローカルも更新する。
git pull リモートリポジトリ名 ブランチ名
git pull origin main
git pull origin feature
リモートリポジトリの更新されているファイルのみを上書き
引数にはリモートリポジトリ名とブランチ名
既に同名のディレクトリがある場合でも使用可能
非公開設定のリポジトリの場合はユーザー名とパスが必要
2回目以降の更新時に実行するコマンド
③pullがうまく行かない場合
fetchを行う
git fetch origin
④ローカルブランチのmainに行き、lsコマンドで必要なファイルがあるか確認する
git checkout main
git branch
mainが緑
ls
備考
リモートリポジトリの最新情報がローカルに取得
リモートリポジトリから目的のブランチをローカルに作成する
git checkout --track origin/<branch-name>
リモートリポジトリからすべてのブランチをローカルに作成する
git checkout --track origin/*
作業ディレクトリを作成
作業ディレクトリに入る
git init
ls
git clone リポジトリURL
リモートリポジトリに存在する全てのファイル群の複製をローカルエリアに作成
URL末尾名(リポジトリ名)のディレクトリと「.git」ファイルが作成
リモートリポジトリのファイル群を全て複製するコマンド
引数にはリポジトリURL
実行後「リポジトリ名のディレクトリ」と「.git」ファイルが作成
既に同名のディレクトリがある場合は使用不可
非公開設定のリポジトリの場合はユーザー名とパスが必要
一番最初のみ実行するコマンド
git clone -b [指定したいブランチ名] [リポジトリパス]
git cloneコマンドは指定がない場合mainブランチを取得するが、
特定のブランチを指定したい場合は-bオプションを使用
git pull リモートリポジトリ名 ブランチ名
git pull origin master
git pull origin feature
リモートリポジトリの更新されているファイルのみを上書き
引数にはリモートリポジトリ名とブランチ名
既に同名のディレクトリがある場合でも使用可能
非公開設定のリポジトリの場合はユーザー名とパスが必要
2回目以降の更新時に実行するコマンド
git clone -b [指定したいブランチ名] [リポジトリパス]
-ブランチ削除
ローカルのブランチを削除する場合
git branch -d localBranchName
リモートのブランチを削除する場合
git push origin --delete remoteBranchName
ローカルリポジトリを削除
rm -rf .git
push前のcommit実行を戻す
git logで<commitId> を確認
git reset --hard ^ 一つ前
git reset --hard <commitId>