Git その他の操作方法 まとめ
ブランチを切り替える方法
ローカルに 「origin/develop」 をコピーして 「develop」 をローカルに作成
git checkout -b develop origin/develop
※ origin とは、リポジトリのURL
※ ローカルにリモートと同じ名前のブランチ「develop」を作成してプッシュすればリモートの「develop」にプッシュされる。
ローカルの 「develop」 をコピーして 「develop2」 をローカルに作成
git checkout -b develop2 develop
すでにあるローカルの「feature/develop_top」へブランチへ切り替える方法
再び先程修正したブランチへ移動します。
git checkout feature/develop_top
コミットを忘れたファイルがある場合の対応方
忘れたファイルを修正、add してから
git commit --amend
コミット取り消し。一つ前。
ステージングまで取り消し
git reset --soft HEAD^
初期コミットの取り消し
git update-ref -d HEAD
ステージングも取り消し
git reset HEAD^
リモートからリベース、プル
リモートの最新情報をローカルへ取り込む
ローカルの「develop」へリモートの「develop」最新情報を取り込む場合、2種類の方法があります。
環境の情報を更新するためにいったん「develop」へ切り替えます。
git checkout develop
マージで取り込む場合
fetch + marge を同時にします。
git pull origin develop
リベースで取り込む場合
fetch + rebase を同時にします。
git pull --rebase origin develop
develop ブランチを更新していない場合は pull でも問題なし。
ブランチ削除
ローカルのブランチを削除
git branch -d develop
ローカルとリモートで差異が存在する場合、未プッシュなどが存在する場合、下記で強制削除できます。
git branch -D develop
リモートブランチを削除する場合
git push origin :develop
※ 余談、プッシュコマンド
git push origin develop
は、
git push origin develop:develop
の略になります。
よって以下は、「develop」を空にするの意味になります。
git push origin :develop
その他
リベースを戻す方法
git reset --hard ORIG_HEAD
他人が force push した時にツリーを「origin」と同じにする方法
※ 今作業しているツリーが他人によって「force push」 した場合、「pull」で取り込めません。「origin」と同期したい場合、以下のコマンドを利用します。
git fetch
git reset --hard origin/develop
git 設定
PC全体の コンフィグの設定を確認する方法
git config --global --list
PC全体の commit 時の Author と Email を変更する方法
git config --global user.name taro
git config --global user.email taro@example.com
プロジェクトごとのコンフィグの設定を確認する方法
git config --list
プロジェクトごとのcommit 時の Author と Email を変更する方法
git config user.name taro
git config user.email taro@example.com
git コマンドの結果をカラー表示する場合
git config --global color.ui auto
設定が保存されるファイルは
~/.gitconfig
削除したファイルが add されない場合(ステージングへ上がらない場合)
git rm test.txt
を利用せず、直接 rm 、 エクスプローラーから直接削除した場合、
git add .
を実行してもステージングへ適用されません。
下記コマンドにてステージングへ上げる。
git add . --update
ssh の鍵を指定して リモートのGitへアクセスする場合
ssh config の設定をしないと接続することができません。
vi ~/.ssh/config
ssh config へ下記の設定を追加することで鍵をしていすることができます。
Host github github.com
HostName github.com
User test_user
IdentityFile ~/ssh_key/id_rsa