haiju's 開発メモ

開発に必要な情報を自分用にメモ

疲労困憊だと記憶障害を起こす頭のために、最低限の基本gitコマンド

タイトルの通り、最低限のメモ。

[検証環境/差分反映のみ]

# git fetch origin

# git diff origin/develop

# git merge origin/develop

[開発環境]

# git status

# git diff xxx

※update

# git add xxx

# git commit

# git checkout develop

# git merge feature-task-xxx

# git fetch origin

# git merge origin/develop

※Already up-to-date

# git push origin develop 

 

git checkout 実行時に、error: unable to unlink xxxというエラーで怒られた (あとで詳しく)

これは、共同作業してるブランチのアクセス権をローカル向けに

番号だけ変更して、直前にgit stashしたのを忘れて放置したこ

も関係あるらしいが、とりあえず多忙なため、あとで詳しく読む

ために参考サイトのリンクのみ貼っておく。

[参考サイト]

www.shigemk2.com

stackoverflow.com

qiita.com

 

リモートのdevelopブランチの更新を確認して差分を取得

これは長年、使っているから覚えてるはずだったけど、

「/」があるとなしでは大違いだった。

ということを教訓に備忘録としてまとめてみる(ΦωΦ)

[リモートブランチの更新を確認]

(ex)developブランチ

% git fetch origin develop

% git diff origin develop

[リモートブランチから差分を取得]

(ex)developブランチ

% git fetch origin develop

% git merge origin/develop 

差分を取得するの別に、git pull でええやんという

派閥の人はそれを使えばいいと思うよ。

参考サイトに上げるリンクがつい最近、書いた記事

と同じ気がしたw

何を見ているんだろう?自分www(ΦωΦ;)

[参考サイト]

qiita.com

gitで不要になったブランチを削除する

使わない作業が発生するとボロボロ忘れていくgitコマンド

を備忘録としてまとめて整理するシリーズ(ΦωΦ)

今回はローカル開発環境のみに存在する不要なfeature

ブランチを削除するコマンド。

基本的には以下のコマンドを実行する。

% git branch -D feature_branch_name 

[参考サイト]

www.backlog.jp

d.hatena.ne.jp

blog.koogawa.com

qiita.com

iPhone8にフルキーボードのローマ字入力変換を導入する

iPhone5sを落としたら基盤が半分剥がれて充電しづらく

なったので、機種変更した。

Gemini PDAが欲しいので、7plus程度でいいよねーと

軽く考えてたら、最寄りのau shopや家電量販店を回った

けど7plusがなかったので、仕方なく8にした。

で、日本語入力しようとしたら、携帯のテンキーで

かな入力しかデフォルトになかったので、血管ぶっつり

しながら、ネットで調べてローマ字変換する方法をメモ。

[デフォルト]

日本語 - かな、絵文字、英語(日本)

[手順]

1. ホーム画面の「設定」-「一般」-「キーボード」の

「キーボード」をクリックし、メニュー一番下の

「新しいキーボードを追加...」をタップ。

2. 推奨キーボードで「日本語 - ローマ字」をタップ。

3. 1の手順を繰り返して、キーボードが「4」になってる

 ことを確認し、タップ。

4. キーボードに2の「日本語 - ローマ字」が増えていればOK

[参考サイト]

iPhoneの文字入力/キーボードの追加・切り替え方法 | iPhone Wave

 

gitのリモートリポジトリの更新を確認する

久しくgitコマンドを触らなくなったのでおさらいを兼ねて

備忘録に記録。

[手順]

1. git fetch 後にdiff を取る

% git fetch origin

% git diff origin/develop

2. git ls-remote コマンドを使用する。

 リモートリポジトリの最新コミットID(HEAD)とローカルの最新コミット

 ID(HEAD)を比較しその2つが異なっていれば差分があると判断できる。

 更にリモートのコミットIDが過去に存在しないものであれば、ローカルの

 リポジトリが古い(マージしていないコミットがリモートに存在する)こと

 になる(らしい)。

% git ls-remote origin HEAD

78ddd44eb3b76017a55014f27d9f846054dfa52b HEAD

% git log -l HEAD       # or develop

commit 8741c1a1fd81e0e3620e7054f3731ad2338f25fa

% git log -l origin/HEAD      # or origin/develop

commit 8741c1a1fd81e0e3620e7054f3731ad2338f25fa

3. git remote show コマンドを使用する。

 実行結果の最終行に(local out of data)と表示されていれば

 ローカルの方が古いことになる(ブランチが複数ある場合は

 複数行表示される)

 ※ただし、リモートブランチと同名のブランチがローカルにも

  存在する場合のみ表示される。

  また、リモートブランチと異なる名前のブランチは upstream / 

  tracking branch を設定しても表示されない。

  以下はリンク先のコピペ(そのままやないかいw)。

% git remote show origin

* remote origin
Fetch URL: git://github.com/Shougo/unite.vim.git
Push URL: git://github.com/Shougo/unite.vim.git
HEAD branch: master
Remote branch:
master tracked
Local branch configured for 'git pull':
master merges with remote master
Local ref configured for 'git push':
master pushes to master (local out of date)

いくつか方法があるみたいだけど、とりあえず自分は

1の方法で確認した。

リモートの差分を更新したい場合は、以下コマンドで。

% git merge origin/develop

他のコマンドについても試してみたい。とりあえず、

参考サイトを確認しないかもなので、メモっておく。

[参考サイト]

qiita.com

 

git commitに失敗した時にHEADの1つ前にリセットしたい

git commit時に誤ってメッセージを未入力で実行してエラー

になった時の対応についてメモ。

直感でgit resetを使えばいいってのは思いついた。

git addしてしまったファイルをunstageに戻す場合について

英語でメッセージが書いてあるので、それを参考に。

[手順]

1. git status を実行し現状を確認。

% git status

On branch feature-task-xxxx
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)

modified: xxxx.php   <--- フォントが緑色に変わっている

2. git commitに失敗したファイルをunstageに戻すためHEADの1つ前に戻す。

% git reset HEAD ^

Unstaged changes after reset:

M xxxx.php

3. git status で戻ってるか確認。

% git status

On branch feature-task-xxxx
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)

modified: xxxx.php  <--- フォントが緑から赤に変わっている。

 ※stageに上がってる場合は、自分の環境はフォントが緑で、

  上がってない場合は、フォントが赤い。

[参考サイト]

qiita.com

qiita.com