普段インフラエンジニアをしていると、Gitを使う機会も多くあるのですが、本当に初期セットアップ時だけしか使わないコマンドとかをよく忘れてしまうのでメモします。
私も勉強中ですが、Gitは使っていても形式だけで、本当に理解して使えている人は意外と少ないと思います。
Git初期設定時
# 設定の状態を確認する
> git config --global -l
# 名前とメールを設定します
> git config --global user.name "gogolon"
> git config --global user.email "gogolonsyachiku@gmail.com"
# もしGitLabサーバなどで自己証明書などを使っている場合にはpush時にエラーが発生するので無視
> git config --global http.sslVerify false
Gitリポジトリ作成
#リポジトリ初期化
> git init
# ステージング
> git add.
# コミット
> git commit -m "Initial commit"
# リモートリポジトリの設定
> git remote add origin https://github.com/gogoloon/xxxx.git
# リモートリポジトリへpush
> git push -u origin master
originというのはリモートリポジトリのことを指します。
git push 時に-uオプションをつけると、追跡ブランチとして登録されます。
よく使うGitコマンド
#ブランチを表示
> git branch
# 追跡ブランチ(remotes/xxxx)も含めて表示
> git branch -a
* master
remotes/origin/master
# gitログを確認
> git show
> git log
# 既存ブランチを切り替え
> git checkout <既存branch名>
# ブランチを作成して切り替え(-bオプション)
> git checkout -b <新branch名>
# ブランチの削除
> git branch --delete <既存branch名>
Gitlab上で作成したBranchをローカルPCに持ってくる場合
プロジェクトによって、Gitlab(リモート)上でブランチを作成してからローカルに持ってくるという場合があります。以下のコマンドでリモート上のブランチを持ってきます。
なお、事前にgit pullでリモートbranchの情報をもってきておく必要がありますのでご注意ください。
> git pull
> git branch -a
> git checkout -b <ローカルブランチ名> origin/<リモート上のブランチ名>
// もしpullがされてないと以下のようなエラーがでます(test01がリモートのブランチ名)
> git checkout -b test01 origin/test01
fatal: 'origin/test01' is not a commit and a branch 'test01' cannot be created from it
チーム開発するときの流れ
# はじめにmaster branchを最新に更新
> git checkout master
> git pull origin master
# 新規で開発ブランチの作成
> git checkout -b dev/issue/2
# ブランチの確認
> git branch
# 開発が終わったら....
> git add .
> git commit -m "コメント(#2)" -m "Fiexed #2"
> git push origin dev/issue/2
リモートリポジトリに新規ブランチとして登録した後は、マージリクエストでmasterへのmergeを依頼かけます。
そしてマージされたらローカルのブランチを削除→ローカルのmasterブランチを最新に更新→新規でブランチを作成して開発・・・・の流れです。
その他
// リモートレポジトリを変更する方法
>git remote set-url origin http://gitlab.syachiku.local/xxxxx.git
>git remote -v
// gitignoreで指定したけど反映されない
// ファイル指定してキャッシュクリアする
git rm -r --cached [ファイル名]
git add [ファイル名]
Gitの初期設定 および 鍵認証で証明書を登録する方法は以下にまとめてます。
Gitのコマンドは数多いのですぐ忘れると思います。奥が深いです。
今回は以上となります。
コメント