PowerShell から ssh 経由で Linux に入って任意のコマンドを実行する。 これを可能にするために、sshをラップしたモジュールを以前書きました。 PowerShell で Chocolatey を利用して SSH 接続をする + Capistrano コマンドを Windows から発行/実行するPowerShell編 これを利用することで sshでLinux サーバーにログインする手間をかけることなく、ぽちっとLinux上のCapisranoを実行したりとか自由にできます。 裏では PowerShellからssh実行してコマンドを発行しているわけですが、今回ssh自体ができなくなる問題にあったので、対処をご紹介します。 すぐに解決できましたが、んーって悩んだのと、ssh だけじゃなく git でも起こりえるので。 目次 目次 エラーメッセージ 原因 対処 Windows
20億行のコードを保存し、毎日4万5000回のコミットを発行しているGoogleが、単一のリポジトリで全社のソースコードを管理している理由 Googleは検索サービスやGoogle Apps、Google Cloud Platformなど巨大なサービスを多数運営しています。その同社は、20億行にもおよぶソースコードの管理をサービスやプロジェクトごとに分けず、すべて単一のリポジトリで管理しているそうです。 先週9月14日にサンノゼで開催されたイベント「@Scale」で、Googleによるセッション「The Motivation for a Monolithic Codebase: Why Google Stores Billions of Lines of Code in a Single Repsitory」(単一コードベースへの取り組み:なぜGoogleは単一リポジトリに数十億行ものコー
こんにちは、エンジニアののびすけです。先日LIGのBBQが行われたのですが、夏の日差しで黒こげになりました。 さて、今回は昨今のエンジニアの必須ツールと言っても過言ではないGithubの話です。 Githubと言えば、ソースコードのバージョン管理システムであるGitのホスティング環境として有名です。 Git経由でソースコードを共有して、個人やチームでソースコードの管理を行えます。 ※LIG社内ではGithubではなくてBitbucketを利用していますが・・・ そんなGithubにGithub Pagesという静的なWebページを無料で公開できる機能があるのはご存知でしょうか。 ということで、Github Pagesを使ってGithub上に静的なページを公開する方法を紹介します。ノンプログラマ向けなので、Git初心者の方もぜひチャレンジしてみてください! 参考:Github Pages h
git rebaseについてのtips - けーこ in サンフランシスコ gitを使って開発をすすめていると、このようなコミットを見かけることがあります。 Merge branch ‘master’ of git://github.com/hogehoge 最新のマスターを私のブランチにマージした、という意味のログなのだが、 はっきり言ってこれ必要ないね。 ブランチをマージして、その後にgit pullしたあとに出てしまうコミットのようで、 pull requestを出す前に最新のマスターを自分のブランチにマージしたいために このようなコミットメッセージが出てしまうようだ。 要するに、自作したブランチの修正が、git pullしたmasterブランチの最新の修正よりも 前だったら上記のようなコミットメッセージを出しつつ、ブランチのコミットを前に 持ってくるわけですね。 で、 git lo
gitをインストールした最初の初期設定の後で別の名前やメールに変更したい。 問題 Ubuntu14.04のインストール直後gitの初期データを設定した、しかし後に別の名前とメールを変更する必要に迫られ設定を変更したが、そのデータ設定が反映されなかった。 原因 .zshrc(zshシェルの設定ファイル)に直接書き込んでいた。 (.zshrcをコピペしたため。) 最初gitの設定ファイルは3箇所あると調べあげ、それぞれ設定しなおしてみたがぜんぜん反映されず色々時間を使ってしまった。 git設定ファイルは基本3箇所 /etc/gitconfig Git でこのファイルの読み書きをするには、 --system オプションを指定します。 ~/.gitconfig ホーム直下 Git でこのファイルの読み書きをするには、 --global オプションを指定します。 .git/config リポジトリに
git revert は元に戻すコマンドの一種だと考えることもできます。ただし、通常の元に戻す操作とは異なる動作をします。プロジェクト履歴において、そのコミットがなかったことにするのではなく、そのコミットによって加えられた変更を打ち消し、その結果を含む新しいコミットを追加します。これは Git の履歴を保全するためであり、バージョン履歴の完全性の維持とコラボレーションの信頼性の確保のために重要です。 「revert (打消し)」は、プロジェクト履歴からコミットを打ち消す場合に使用します。これは、バグの追跡を行った結果あるひとつのコミットが原因であることが判明した場合などに有用なコマンドです。git revert を使用することにより、手作業で分析、修正し、その結果を新しいスナップショットとしてコミットするのではなく、それらすべてを自動的に行うことができます。 git revert コマンド
前提 oilコマンドのインストールが済んでいること FuelPHPの1.7.0をインストールする前提で書く(バージョン依存の部分はそれぞれ説明を入れる) 2014/08/07 追記 oilの1.7.2でこの方法を試したところファイル構造やコアパッケージの扱い方が変わっていたので、 1.7.2においてもこの記事の内容が全て使えるわけではないことをご了承下さい 参考 FuelPHPで作成するアプリケーションをGitHubで管理する | mawatari.jp http://mawatari.jp/archives/creating-a-fuelphp-application-repository-on-github ゴール FuelPHPのコアパッケージをサブモジュール化した上で、自分のリポジトリを作成する 利点 FuelPHP自体のバージョンやパッケージのバージョン管理をする必要はない(いじ
1億行のファイルに1行追記するだけでレポジトリ容量が2倍になった 以前の記事「Gitレポジトリはパッチの集積ではなくてスナップショットの集積である。」を確認するために、1億行のファイルを作って実験してみました。 結果は、なんと1行追記しただけでレポジトリ容量が200MB増加し、サイズが2倍になりました。 実験手順 空のレポジトリを作る 1億行のファイルを作ってgit addしてgit commit コミットする そのファイルに1行だけ追記してgit addして git commitする 空のレポジトリを作る $ git init 1億行のファイルを作る 1億行のファイル(1から1億までの数字が書かれたファイル)を作ります。 $ seq 1 100000000 > numbers.txt この時点で、ワーキングツリーとレポジトリ容量を調べてみます。 $ ls -lh 合計 848M -rw-
Windows環境にPhpStormをインストールして、macで作りかけのプロジェクトをgithubからcloneしたその矢先、 『Cannot run program “git.exe”』ってエラーが出ました。 つまるところ、『お使いのWindowsにgitがインストールされていませんよ』ってエラーです。 なので、Windowsにgitをインストールしてやれば動くようになるはずです! インストール手順 Git for Windowsのダウンロード 下記の公式サイトからプログラム本体をダウンロードしましょう。 Git for Windows公式サイト 今回ダウンロードしたバージョンは、『1.9.5』ですね。 Git for Windowsのインストール 実行ファイルを起動したらインストールウィザードが表示まれます。 利用規約チックなやつですね。 英語はよくわからんので、読んだフ
git stash 使い方 現在のワークツリーを一時的に保存する 現在のブランチのワークツリーを一時的に保存するには stash を利用する。 git stash save とするか、save を省略して git stash とする。 このとき、stash にメッセージをつけるには git stash save "message" とする。 stash に保存されている状態の一覧を見る git stash list で stash に保存されている状態のリストを見ることができる。 stash@{0}: WIP on master: 1c2aadc "COMMIT_MESSAGE" stash@{1}: WIP on master: 1c2aadc "COMMIT_MESSAGE" stash@{?} とブランチ、親コミットが表示される。 stash に保存されている状態に戻し、stash
git commitを実行あとでコミットをやり直したり、コミット自体を取り消す方法です。 直前にしたコミットをやり直す(git commit --amend) 直前にしたコミットをやり直す場合、「git commit --amend」を使用します。 例えば、直前のコミットログが以下のような状態だったとします。 実は直前のコミットに含めるべきであった「hoge.txt」が含まれていませんでした。 コミットログ(git commit --amend 実行前) $ git log commit cca638b48b4c8be7ad5432f7882497534b04e2b4 Author: mrgoofy <hogehoge@example.com> Date: Wed Sep 8 23:03:57 2010 +0900 2nd Commit.-> New Add File : bar.txtこ
昨日、Gitのセミナーに参加したこともあって、早速SourceTree Windows版をインストールしてみたのですが、あるファイルで文字化けが起きてしまいました。 この文字化け現象は全部のファイルではなく特定のファイルだけで、まったく何が原因か分かりませんでした。ネットで検索しても有益な情報は引っかからないので、自分なりにファイルの文字情報を少しずつ削除してはSourceTreeで文字化けが解消するか確認という地道な作業をしましたが、まったく法則性がないので、これはひょっとして、そもそものファイル形式が問題じゃないかと気付きました。 ファイルはUTF8のBOMなしで全て作成しているのですが、文字化けが起きたファイルをBOM付きにしてみたら、見事文字化けが解消されました! ・・・。 いや、でもBOMありで保存したら、PHPをGit管理するのは無理じゃないですか・・・。 SourceTree
Gitでやらかした時に使える19個の奥義を書いてやらかしたときになんとかリカバリできるようにした。 今回は、そもそもやらかさないようにしたいよねっていうお話。 コミット編 .gitignoreを細かく指定しておく .gitignoreを指定しておけば余計なファイルをコミットしちゃうことを予防できます 過去に似たようなプロジェクトがあるのならそれを流用しましょう。 ないのであれば.gitignore.ioで生成してそれをカスタムしましょう。 ワイルドカード指定やディレクトリまるごとの指定は副作用ある可能性があるので慎重に。 コミットメッセージのフォーマットを決めておく コミットメッセージのフォーマットを決めておけば書き直したいということも減ります コミットメッセージをやらかして直したいと思うことはよくあります。 そういうのって案外コミットメッセージが自由すぎることが問題だったりします。 ある
gitを使っていて、特定のブランチとマージしたら衝突が起きないかどうか知りたい場合があります。例えば、プロジェクトチームで共有しているリポジトリにコミットをプッシュする前に、現在作業中のブランチがmasterブランチと衝突を起こさないか確認しておきたい、なんて場合です。 そんな時は、mergeコマンドの —no-commit オプションで master をマージしてコミットせずに止めてみればいいです。あとで簡単に元に戻せます。(本来確かめたい向きとは逆向きのマージですが、衝突の確認をするだけなら結果は同じですから問題ありません。) [user@host]% git merge master --no-commit Auto-merging /some/file/path Automatic merge went well; stopped before committing as requ
利用シーン少なそうですが、mergeを実行する前にコンフリクトが起こるかどうかチェックしたくて調べたのでメモ。 git merge —no-commit topic-branchをmasterにマージしようとしてコンフリクトするケースを想定します。 まず試してみたのは--no-commitオプション。 (master) ✘ git merge topic-branch --no-commit Auto-merging src/hello.py CONFLICT (content): Merge conflict in src/hello.py Automatic merge failed; fix conflicts and then commit the result. これを付けておくとマージ時に自動コミットがされなくなりますが、コンフリクトが起こる場合もローカルファイルにはマージが実
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く