はじめに
普段はSourcetreeを使用していたのですがコンソールを使ってGitを操作しないといけなくなったのでエンジニアに教えてくれました(感謝
基本操作
githubからclone
httpsのurlはページ右側の緑のボタンをクリックしてコピーできる
例) https://github.com/xxxxxx/aaaa.git
インデックスに登録〜プッシュまで
$ git add .
または↓
$ git add ファイル名
$ git commit -m "○○を修正しました。"
$ git push origin ブランチ名
ブランチ作成
# ブランチを作成
$ git branch <new branch name>
# 作ったブランチに移動
$ git checkout <branch name>
# ブランチを作ってついでに移動
$ git checkout -b <new branch name>
($ git checkout -b feature/<new branch name>)
ブランチの削除
$ git branch -d <del branch name>
マージする
$ git status(で状態を確認(謎なファイルがあれば他の作業者に確認してみる)
$ git fetch
$ git merge origin/<branch name>
※$ git fetch
から上記2つを毎回打つより、pullで一気にやってしまう方が楽。
$ git pull origin/<branch name>
コミットメッセージを変更
$ git commit -m "こんにちゃ" を こんにちはにしたいとき
$ git commit --amend -m "こんにちは"
addしてしまったファイルをadd前の状態に戻す
$ git reset ファイル名
$ git reset .
コンフリクト解消手順
状態
git pull などすると、 CONFLICT (add/add): Merge conflict in ddddd/xxxx.html
のように、コンフリクトの旨が表示される。
解消方法
vi などのエディターでコンフリクトしたファイルを開く
vi ファイル名
コンフリクトした箇所を修正する
Tips: vi はdを2回押すと選択行を消すことができる
保存する Tips: vi の保存は
Esc > :wq > Enter
の順で入力するgit add コンフリクトしたファイル名
で修正を知らせるgit commit -m '修正したマージ内容'
で、マージ内容を保存する
基準ブランチを優先して、取り込まれるブランチの変更を無視
$ git checkout --ours ファイル名
$ git add ファイル名
$ git commit -m "メッセージ"
取り込まれるブランチを優先して、基準ブランチの変更を無視
$ git checkout --theirs ファイル名
$ git add ファイル名
$ git commit -m "メッセージ"
その他参考サイト
https://qiita.com/konweb/items/621722f67fdd8f86a017
https://www.backlog.jp/git-guide/reference/basic.html