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
他のコマンドについても試してみたい。とりあえず、
参考サイトを確認しないかもなので、メモっておく。
[参考サイト]
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に上がってる場合は、自分の環境はフォントが緑で、
上がってない場合は、フォントが赤い。
[参考サイト]
Manjaro Fluxbox 15.12_x86-64で手動でWifiに接続する方法
Manjaroの標準でインストール?されているNetworkManagerアプレット
を使って自動接続できない場合の方法がようやく分かったので、忘れない
うちにメモφ(Φω|
[手順]
1. まずタスクバーのNetworkManagerアプレットを左クリック。
2. 接続可能なWifiネットワークのリストに自動接続できない
ネットワークがあるか確認。
3. 見つからない場合、「非表示Wi-Fiネットワークに接続する」をクリック。
4. 「非表示Wi-Fiネットワーク」のダイアログが表示されるので、接続したい
Wi-Fiネットワーク名にSSID、Wi-FiセキュリティのリストからWPA&
WPA personalを選ぶとパスワードを入力するformが表示されるので
そこに、パスワードを入力。
5. ダイアログ下の「接続」ボタンをクリック。
6. 以上の手順でWifiに接続できればOK。
できなければ他の方法を試す。自分の場合はレンタルルームのWifiは
これでいけた。
CakePHP3.xでデバッグログを出力するには?
CakePHP2.x系の呪いと思い込みのお陰で、長らく3.x系で
デバッグログを出力する方法が分からなかったけど、ようやく
分かったーwww
忘れないうちに、備忘録としてメモる(ΦωΦ)
[前提]
$this->log()を使ってログファイルを出力
[手順]
1.第1引数に固定文字列、第2引数に"debug"またはLOG_DEBUGを設定。
$this->log("デバッグログを出力", "debug");
または
$this->log("デバッグログを出力", LOG_DEBUG);
2.第1引数に固定文字列の代わりに変数を指定することも可。
$this->log($this->request->data, LOG_DEBUG);
3.デフォルトでは src/と同じ階層の logs/debug.logに出力される。
※エラーログを出力する場合には、基本的に書き方は同じ。
※デフォルトの出力先がlogs/error.logになることくらい。
※もちろん、ログレベルはdebugやerror以外にも複数ある。
[参考サイト]
root以外でgit commit しようとしたら '.git/COMMIT_EDITMSG': 許可がありません
昨日のgitコマンドの続き。
仕事でgitサーバーからプロジェクトをcloneしてローカル
用に権限周りをrootから自分に修正して、git commit しようと
したら下記エラーが発生。
error: insufficient permission for adding an object to repository database .git/objects
fatal: could not open '.git/COMMIT_EDITMSG': 許可がありません
git status とか git add は問題ないのに何で?
ってことで、調べたことを備忘録としてメモ。
ネットで検索すると、Linuxサーバー上でマルチアカウントでgitを使って
いると稀に発生するエラーらしい。たしかに。初めて見たエラー。
git commitする時だけsudoをつけて実行すればいいんだが、でも
そこだけ管理者権限は使いづらいということで。
取り急ぎ設定した手順は以下。
[手順]
1. ファイルの所有者とグループを変更。
% sudo chown -R user:group .git
2. ファイル権限を変更。
% sudo chmod -R 755 .git
[参考サイト]
※もちろん、根本的に修正する方法もある。
※実行環境とは別管理なので以下サイトはあとで詳しく。
[参考サイト]
gitのパーミッション操作について
gitコマンドの復習。
自分のローカル開発環境なのでファイル実行権限とか
パーミッション等を変更して実行したのに、git commitは
管理者権限が必要なんだけど、何でだ?
(.git以下のindexの実行権限が644だった)
と言うわけで、調べてみた。
[パーミッション操作]
1.パーミッションの変更を無視する設定
1-1.設定する。
% git config core.filemode false
1-2.確認する。
% git config -l | grep filemode
2.gitに対して明示的にパーミッションを教える
2-1.実行権限を付与する場合
% git update-index --add --chmod=+x [filename]
2-2.実行権限を解除する場合
% git update-index --add --chmod=-x [filename]
[参考サイト]
gitコマンドでgit上のファイルに実行権限を付与する方法 - ただの覚書
git:パーミッションを調整する | nabeshin's blog
Manjaro Fluxbox 15.12_x86-64でVisual Studio Codeを起動する
まだF#のIonide環境構築で盛り上がってる時には、Visual Studio Codeを
よく使っていた記憶があるのだが、最近、全く触ってないのでターミナル
から起動する方法もすっかり忘れたwww(ΦωΦ;)
苦手なフロントエンドを勉強するにあたって、Atom Editorを使うみたい
だけど、そこはVisual Studio Codeでもよくね?
ってことで自分用に備忘録としてメモφ(ΦωΦ)
これを機会にまた使い始めたいし、Ionideのアップデート状況を確認して
他の言語でも使ってみようと思う。
[起動方法]
1. ターミナルで、codeと入力すると起動する。
% code
[参考サイト]