Category "Git"を表示しています。
2019.9.22 日
#----- # mac #----- .DS_Store .AppleDouble .LSOverride # Icon must end with two Icon # Thumbnails ._* # Files that might appear on external disk .Spotlight-V100 .Trashes # Directories potentially created on remote AFP share .AppleDB .AppleDesktop Network Trash Folder Temporary Items .apdisk #--------- # windows #--------- Thumbs.db ehthumbs.db # Fo...
2019.5.5 日
Gitのpushのタイミングで自動的にデプロイするなどのやり方です。Webhookを使うことになるので、自動デプロイを含めて何でもできるということになります。例えばpush時のメール通知、ロギング、バックアップ、更新ファイルのリストを記録したり、やりたいことは何でもできるということになります。Gitのリポジトリに対して何かしらのことをしたタイミングでいろいろできるようになっています。 設定方法 リポジトリの以下のディレクトリにwebhookがあります。 REPOS/hooks すでにサンプルがあるので、わかりやすいです。 applypatch-msg.sample commit-msg.sample post-commit.sample post-receive.sample post-up...
2019.1.23 水
開発中のブランチにmasterブランチを取り込む git checkout master git fetch origin master git merge FETCH_HEAD HEAD git checkout TARGET_BRANCH git merge master
2019.1.9 水
特定のファイルのみの履歴(log)を取得する git log -p PATH/FILE_NAME -pでコミット履歴とともにdiffが取れます。-pをつけない場合は通常のlogと同様になりますが最新4件だけ取得します。
2018.11.5 月
# Linux CentOS7 .bash_history .bash_logout .bash_profile .bashrc .cache .config .ssh .viminfo # my backup batch logs #public tmp
2018.4.18 水
fatal: HttpRequestException encountered. この要求の送信中にエラーが発生しました。 Username for 'https://github.com': Gitのバージョンを上げろということでした。 バージョン確認。 git --version git version 2.15.0.windows.1 最新をインストール https://git-scm.com/ インストーラが落ちてくるのでインストールするだけ。 問題なくGithubにアクセスできました。 GitHubで認証エラーが発生するようになった
2018.3.30 金
git push –delete origin remotes/origin/BRANCHNAME repos@example.com’s password: error: unable to delete ‘remotes/origin/BRANCHNAME’: remote ref does not exist error: failed to push some refs to ‘ssh://repos@example.com:22/home/repos/PROJECT_NAME/repos.git’ 無駄なブランチが山程あって消えなくなったら、 git remote prune origin でリモートに残ってし...
2018.2.28 水
Rsyncの使い方では生のコマンドラインの説明なんですが、PHPでRsync使おうとするといろいろ面倒ですが、albertofem/rsync-lib使うとすごい楽ちんです。単にRsyncのラッパーで中でコマンドラインを生成してshell_exec()しているだけというものですが、とてもシンプルでよくできています。 Packagist@ https://packagist.org/packages/albertofem/rsync-lib Github@ https://github.com/albertofem/rsync-lib インストールと入手 コンポーザーで落としてくるのが楽。すでにコンポーザーの設定している人はコンポーザー自体を落としてくる必要ないです。 php -r "copy...
2018.2.13 火
PackagistとGithubを使った開発は、もちろん単独で可能ですが、ここではLaravelに組み込むかたちでの開発手順を紹介します。 vendor以下はGit管理から外す Laravelの開発ではvendor以下はcomposerで引っ張り込むのがベストなので、.gitignoreにvendor以下を登録しておくのが前提です。ここの開発保守は他の方々におまかせしてアプリケーションの開発者はcomposerに頼っちゃうというのがベスト・プラクティスとなるかと。 その他の人にお任せしている部分の一部を自分でも開発してしまおうという塩梅になります。 開発のスターター 開発のスタートとしては、vendor以下にGithubのアカウントでこしらえると後々楽です。それから開発ソフト名みたいな感じが...
2017.10.25 水
例のindex.lock問題でいろいろ調べてみたら、gitが2つ立ち上がっておりました。cmderとmingw64いうアプリを端末として両方使っていたのでこれが原因かと。 こうなっちゃうとコマンドラインでもSourceTreeでも動かなくなちゃって大変です。 C:\Users\oosam\Desktop\cmder\vendor\git-for-windows\mingw32\bin\git.exe C:\Users\oosam\Desktop\cmder\vendor\git-for-windows\cmd\git.exe とりあえずcmderをアンインストール(削除)してから再インストールしてみる。 結果ダメ。 こういうのがいた。なんで3つもGit入ってんだろ。 C:\Program F...
2017.9.15 金
これやっておくと麻薬中毒みたいになるんで外部の他人のPCとか使ったら不便で仕方なくなるのでご注意。 $ git config --global alias.st status $ git config --global alias.co checkout $ git config --global alias.br branch $ git config --global alias.cm commit $ git config --global alias.df diff $ git config --global alias.gr grep
2017.9.6 水
Gitがいろいろ複雑になってきたら、とりあえずは昔ながら風にバックアップ取りましょう。これ確実です。それからいろいろやって慣れてくると便利になります。 リモートのブランチで上書き 開発のスピードがあがると自分が書いたものがリモートに追いつかないことがあって一日中マージして終わりみたいなことになったりします。そういうときは自分の開発したものをいったん退避させて(物理的にバックアップして)リモートリポジトリの最新にしてから自分でマージした方がスムーズ。 まずはリモートの内容をひっぱってきます。 git fetch origin BRANCH_NAME あらかじめコンフリクトしそうなファイルを確認する場合は、diff取りましょう。全部みたい場合は–name-onlyオプションはいらない...
2017.6.25 日
バージョン管理ツールとしてGitはかなりのスグレものであるのは間違いないのですが、使い方を間違っている人を何人か見てきたのでちょっとコメント。 Gitはアップローダーではない Gitを使って作業をしている際にこのツールを完全にアップローダーだと思っている人がいるのです。いにしえの FTPアップロードを思い出せば事足りると思うのですが、どうやらpushしてファイルアップをしているようでした。世の中には様々なアップローダーがあります。JAVAベースのチームサイトとか何かはファイルを本番化する際のアップローダーであります。またアップローダーと似たような機能では「同期」させることもあります。環境依存するパラメーターのみ同期せずにその他のファイルは完全に同期させることで新しい機能を追加してゆくというこ...
2017.4.16 日
githubはとても便利なんですが、最初に使おうと思うと結構面倒なので備忘録。 githubは基本すべてオープンになるので、ソースを晒す前提で書いてゆくとよいかと思います。無料で使えるリモートリポジトリなので大変ありがたいです。 SSHでGithubに接続する githubへの接続はSSHの鍵認証みなので、最初にSSHキーを作成します。 SSHの鍵を作成する 何も設定しない場合は、以下の2つのファイルが作成されます。秘密鍵(id_rsa)と公開鍵(id_rsa.pub)です。 id_rsa id_rsa.pub 通常SSHで接続する際には公開鍵をAuthGithubに接続する際にはauthorized_keysファイルに登録(追記)します。GithubにSSHで接続する場合は、 Github...
2017.4.12 水
Sakuraの共有サーバーとかはデフォルトで文字化けするので、もうちょっと何とかしてください。日本国内IPフィルタとかいらないので。 こちらとても詳しく書かれております。参考にしております。 ページャをlessにする。(デフォルトはたぶんviなのかな。) git config --global core.pager "less -cm" Gitの文字コードをUFT-8にする。 vi .cshrc [以下追記] setenv LESSCHARSET utf-8 設定を反映させる sourec ~/.cshrc これでOK。なのですが、.bash_profileや.bashrcの場合も同様にsetenvしてあげる必要があります。私の環境ではexport LESSCHARSET=utf-8が効きま...
2017.4.11 火
brewで更新すると楽。(インストール手順はこちら) brew update これで最新になるので、 brew install git これで終わり。 /usr/bin/git --version git version 2.11.0 (Apple Git-81) フルパスでやると新しいのが入っているんだけど、普通にgitとやると古い方のversion 1.8.4になってしまうので、パスを調整。 既存のものが/usr/local/bin/git、新しいものが/usr/bin/gitにあるので、/usr/local/bin/gitを読みにいっちゃっているというわけです。 vi ~/.bash_profile (これ追記) export PATH="/usr/local/git/bin:$PAT...
2016.11.28 月
古いコミットから最新までの差分ファイルを抽出する 最新のコミットは^HEADになるので^HEADから古いハッシュ値までを指定します。ハッシュは7桁でよいです。ここでは^HEADからxxxxxxxまでの差分になります。 git archive --format=zip --prefix=PATH/ HEAD `git diff --diff-filter=d --name-only ^HEAD xxxxxxx` -o DIFF.zip 構文的にはdiffしてパスを出してそれをアーカイブするという感じになっています。 archive –format=zip これはこのままでよいでしょう。他のフォーマットも指定できると思いますが。 –prefix=PATH/ 抽出したファイ...
2016.11.10 木
くそみたいに頻繁に接続するのにパスワードを覚えない輩はSSHKeyのパスフレーズなしの秘密鍵でもって接続するのがよいです。くそみたいなラッパーを書いている人もいるけど、普通に.ssh/config使ったほうがやりやすいです。 SSH鍵の作成 SSHの鍵の作成と登録は準備しておきます。パスワードなしで鍵のペアを作成します。それからサーバー側のauthorized_keysに公開鍵を登録しておく。Githubの場合はコンパネから同様に公開鍵を登録しておく。Settingから「SSH and GPG keys」という項目から登録できます。 SSHで普通に接続できるか確認 まずは普通にssh接続できるか確認します。 ssh git@github.com -i /PATH/SSHKEY.pem PTY...
2016.5.24 火
mergeしたら時々起こる fetch & mergeでよく起こります。 error: The following untracked working tree files would be overwritten by merge: .gitignoreで指定されているファイルやディレクトリがリモートブランチに存在する場合にでるエラーになります。このエラーは場合によっては結構困る。 一つの方法としては、エラー対象のファイルを.gitignoreから外すというやつです。この場合いったんキャッシュ消して.gitignoreをもう一回コミットしてやらないとダメです。 $ git rm -r --cached . $ git add . $ git commit -m ".gitignor...
2016.5.11 水
よくあるのがbranchの内容がmasterよりも正しくなっちゃってmasterがおいてけぼりってやつです。結構だらしないのでreset使うこと多いです。 $ git checkout master $ git branch * master branch1 $ git reset --hard branc1 $ git log ってやると、masterがbranchの最新になるので、これでちょっと気持ちが綺麗になります。masterのlogの頭は元々のbranchの頭になっています。
2016.5.9 月
ブランチの作成 $ git branch NEWBRANCH 現在のブランチ一覧 $ git branch NEWBRANCH * master 作業ブランチを変更 $ git checkout NEWBRANCH Switched to branch 'NEWBRANCH' ブランチをpushする $ git push --set-upstream origin NEWBRANCH
2016.3.28 月
リモート側 SSHで接続できる環境内にリモートリポジトリを作ればOKです。 $ mkdir repos.git $ cd repos.git/ $ git --bare init --shared クライアント側 ローカルからとかからgitでリモートリポジトリを登録する。 例えばssh USERNAME@DOMAIN.comで接続できるユーザーの場合は、 ssh://USERNAME@DOMAIN.com/home/user/repos.git というような感じのアクセス方法でリモートにアクセスします。 なのでこのアドレスをgitのremoteリポジトリのマスターとして登録します。 $ git remote add origin ssh://USERNAME@DOMAIN.com/var/h...
2016.3.9 水
Gitの作成時 gitのイニシャライズ $ git init gitのバージョン確認 $ git --version git version 1.7.1 ユーザーの作成 –globalをつけるとすべてのgitのユーザーになる。 $ git config --global user.name USERNAME (git config user.name USERNAME) Emailの登録 $ git config --global user.email USERNAME@example.com (git config user.email USERNAME@example.com) 端末操作時に色をつける(これいい) –globalありでOK。 $ git confi...