git,開発

Thumbnail of post image 144

git を使って毎日コードを書いているのに「このコマンド、どう書くんだっけ?」と手が止まることはないだろうか。git log のオプションを毎回調べ直す、rebase と merge をどっちにすべか迷う、stash からどう戻すか忘れる——そういった「知ってるようで都度調べる」状態から抜け出すための記事がこれだ。 チームで Git を使う場面を想定し、ブランチ作成からマージ・コンフリクト解消・履歴整理・リモート操作まで、シーン別に実際のコマンドと出力例をセットでまとめた。コピペして使えるレベル ...

git,開発

Thumbnail of post image 105

.gitignoreファイル 更新していますか? 扱うプロジェクトが多いと、エディタ変えたときとかプロジェクトディレクトリに設定ファイルを作ってしまうツール等を導入した場合に大変ですね。 今のチームではエディタは各自好きな物を選ぶ運用になっており AtomとかVSCodeとか使っていたりします。 プロジェクトもいくつかありますが それぞれのプロジェクトの.gitignoreに .vscode .atom と言った物を書くのがあまりうれしくないと思ってしまいます。 そんなときは、~/.gitign ...

git,開発

git clone でブランチを指定するには -b オプションを使います。git clone -b ブランチ名 URL の基本から、--depth 1 で高速クローンする方法、タグ・コミット指定まで実例付きで徹底解説します。

git

Thumbnail of post image 050

「Excelファイルを git に上げてしまった。でも git diff を実行しても差分が読めない」という経験はないだろうか。 デフォルトでは Excel(.xlsx)はバイナリファイルとして扱われるため、git は「変更あり」とは検知してくれるが、具体的にどのセルが変わったのかを表示してくれない。本記事では git-xlsx-textconv を使い、git diff でExcelの差分を人間が読める形で表示する手順を、Mac・Windows の両環境で解説する。 さらに、Excelファイル ...

git,ubuntu

git cloneしたときに (gnome-ssh-askpass:***): Gtk-WARNING **: cannot open display: という表示が出てエラーになる。 どうも、SSHの処理がパスワード入力ダイアログを出したいらしい。 これに関連する環境変数が SSH_ASKPASS という事で、これをunsetして見ます。 unset SSH_ASKPASS これで、無事git clone出来るかと思います。

git,Windows

TortoiseSVNや、TortoiseGitで、競合が発生した場合に使用するTortoiseMergeですが、あまり使い勝手が良いとはいえないです。 そんなときは、P4Mergeを入れてみましょう。 インストールは から。 このように、Visual Merge Toolのみを有効にして、後は無効にします。 これでインストール。 インストールが完了したら、TortoiseGitの設定をします。 設定画面を開き、   マージツールの項目を選択。 外部を選択してから、P4Mergeのパス ...

git

同一リビジョンで違うファイルを比較する git diff master:app/views/top/index.html master:app/views/top/area_index.html 違うブランチのファイルを比較する git diff master:app/views/top/index.html bugfix:app/views/top/area_index.html 同一名称でブランチ間比較 git diff master bugfix -- app/views/top/inde ...

CentOS,git

CentOS 5.9 には、標準状態ではyumでgitをインストール出来ない模様。 なので、RPMforgeを使ってyumにリポジトリを追加してからgitをインストールして見ます。 このページを参考に、該当のrpmファイルをダウンロードします。 ダウンロードしたパッケージファイルをインストールします。 rpm -ivh package-filename yumで検索してみます。 yum search git git.x86_64 : Git core and tools git-all.x86_ ...

git

git log -S"production" コミットで、productionというキーワードを含んだ追加・削除・変更が行われたログの一覧を取得 git log -S"production" master..branch master..branch間のコミットで、productionというキーワードを含んだ追加・削除・変更が行われたログの一覧を取得 git log -S"production" app/controllers/appl ...

git

git for Windows で、外部のエディタを使うのも良いですが、たまにはviも使ってみましょう。 と言うことで $> git config --global core.editor 'vim -c "set fenc=utf-8"' とgitのコンフィグを設定してあげるだけで、コミットログの編集にviを使う事が出来ます。

git

昔からWindows上でUnixのコマンドを扱える環境として Cygwinがありました。 当時というか、ちょっと前まで、レジストリに何か設定を残したりしてて うれしくない、ということで、最近はマシンスペックも高くなってきていたので VMでUbuntuを使うようになっていました。 けど、Windows上でもgitコマンドが使いたい、と言うことで git for Windowsというのを使ってました。 これはまぁCygwinのgitコマンドと周辺コマンドのみをパッケージングしたような物で lessが ...

git

git for windowsは、まだ完成とは言い切れない(日本語環境で使うには)というイメージがあり 実際にコミットメッセージをコマンドラインで入力する方法でコミットすると 他の環境ではそのコミットメッセージが化けて見えたりします。 ということで、化ける原因を解消したいので エディタを別のものに変えてみます。 gitには設定でエディタを変えるという事が出来るようになっているので その設定を変更してみます。 git help configの中にあるように core.editor という設定項目を ...

git

git logでツリー状の良い感じの表示を実現するコマンドオプションをエイリアスに登録する。 git config alias.all-log "log --oneline --decorate --graph --branches --tags --remotes"

git,開発

git branch -rでリモートブランチを削除しても表示され続ける原因を解説。git fetch --pruneコマンドで即解決できます。remote.origin.pruneの自動設定やremote ref does not existエラーの対処法も詳しく紹介。

git

git svn fetchを実行すると、そのままsvn上で登録されている編集者情報が取り込まれます。 gendosu <gendosu@f6c38acf-3242-4c98-89c5-1a79c4400658> のように。 svn上ではgendosuで入っているわけですね。 これのメールアドレスの所に、正式なアドレスを入れてあげたい そして、名前の所も別の物を入れてあげたい と言うことで、適当な所にsvnauthersというファイルを作ります。 ファイル名は適当で良いです。 これを、 ...

Eclipse,git,Ruby on Rails メモ

Aptana Studio 3でEGitを入れているのに Aptana Studio 3でインストールされるPortableGitが優先されてしまう問題 ですが Preferencesの設定の中にある - という所が二つあると思います。 これは、Aptana Studio 3が内包しているPortable Gitの設定と、EGitの設定が両方出てきているという事です。 で、EGitの方を優先で使いたい場合ですが - のサブオプションがある方がEGitで、サブオプションがない方がPortableG ...

git,ubuntu

RhodeCodeというのは、 Githubのような雰囲気のソース共有サーバを構築するオープンソースです。 Githubでやりたい事を、Githubではなく、ローカルで実現したい、といった場合に適していると思います。 リポジトリをフォークしたり、ソースレビューをしたりetc と言うことで、 RhodeCodeをインストールして見ます。 RhodeCodeはPython製なので、Pythonをインストールします。 sudo apt-get install python-dev python-set ...

git,Linux,ubuntu

svnのリポジトリをgitで扱う方法として svn gitというコマンドツールがある 今回はgitをリモートリポジトリにする方法は別途解説するとして このコマンドを使用して、svnリポジトリをgitに移行してみます。 まずは、gitリポジトリをイニシャライズします。 イニシャライズ時に、リモートリポジトリにする前提で移行するので--bareオプションを付けます。 これは、my_prodディレクトリにソースを展開せずに管理情報だけを保持するリポジトリにするオプションです。 git init --b ...

git,ubuntu

公開リポジトリを作成するまで gitのインストール sudo apt-get install git gitoliteのインストール sudo apt-get install gitolite gitolite用アカウントの作成 sudo adduser --disabled-password gitolite 管理者用として公開鍵を作成 ssh-keygen -t rsa gitoliteアカウントのホームに転送 sudo cp .ssh/id_rsa.pub /home/gitolite/a ...

git,Linux,Windows

gitoliteからリポジトリをクローンするには Linux系の場合 ssh-keygen -t rsa でキーを作成する id_rsa.pubを適当な名前でコピーする 例)gendosu-ubuntu.pub gitoliteのサーバにsftpなどで送り込んで gitolite-admin/keydirに格納する gitolite-adminリポジトリをコミットして、プッシュ これで、gitoliteへ公開鍵を設定完了 ssh gitolite@サーバ名 とやると、gitoliteがメッセージ ...