Tbpgr Blog

Ruby プログラマ tbpgr(てぃーびー) のブログ

Git

CodeIQ てぃーびーのgit問題シリーズ

git問題シリーズとは? 私「てぃーびー(tbpgr)」がCodeIQで出題している git に関わる選択問題です。 この問題は湊川あいさんの マンガでわかるGitシリーズと連動しています。 私が昔に作ったgitの選択問題の挑戦者数が多かったこともあり 連動問題の作成…

gitでコミット日ごとの総ファイル数を取得してgnuplotでグラフ化してみる

gitでコミット日ごとの総ファイル数を取得してgnuplotでグラフ化してみます。 きっかけは結城先生のツイートです。 (何も調べずに書いてます)gitのリポジトリへのコミット具合をサマライズしてくれるツールで手軽なのあるかな。何をしたいかというと、今回…

【たぶん意味は無い】Gitでcommit以外のGitオブジェクトにタグをペタペタはりたおす

Git

Git で commit 以外のGitオブジェクトにタグをはってみます。 特に価値があるものは得られない記事です。 Gitオブジェクト? アノテートタグ? なんぞそれ?という方は先に以下の記事を参照ください。 tbpgr.hatenablog.com

配管を通ってGitを理解してみる

Git

Gitを理解するにはGitの中身の知るのが良い、 と天の声が聞こえてきたので学習がてらまとめることにしました。 この記事は個人メモ的な記事です。 基本的に既出情報なのでタイトルをみてピンと来ているかたは読む必要がありません。 ※この記事を読むタイミン…

git bisect でバグの発生や機能の変更を二分探索で調べる

Git

git bisect コマンドでバグの発生箇所を二分探索で調べることができます。 本来はデバッグツールとして提供されている機能ですが、例えばある機能が無効化されたのが いつか、ということも調べることができます。 ※既出情報。個人メモとして記事です

gitの操作を快適にするCLIツールtigに関するまとめ

tigとは? textベースのgitブラウジングツールです。 コマンドベースで素早く、様々な操作を行うことが可能です。

Git | git reset で各種取り消し操作

Git

概要 git reset で各種取り消し操作 詳細 git reset で各種取り消し操作が可能です。 --soft オプション ワーキングツリーとインデックスはそのままでHEADの位置を変更します。オペレーション hoge.txtを追加、ステージング、コミット hige.txtを追加、ステ…

Git | git commit --amend でひとつ前のコミットをやりなおす

Git

概要 git commit --amend でひとつ前のコミットをやりなおす 詳細 1つファイルが抜けていた。 コミットコメントを間違えた。 なんていうときに、 git commit --amend を利用することで、ひとつ前のコミットをやり直すことができます。 コミットコメントだけ…

Git | リベース

Git

概要 リベース 詳細 マージと異なり、履歴が一本化されます。 前提 下記のような操作をするところから開始 masterからtopicブランチを作成 topicブランチで1つの修正を行いコミットをする(修正topic1とする) masterブランチで1つの修正を行いコミットをする(…

Git | ブランチがマージ済みかどうか確認する

Git

概要 ブランチがマージ済みかどうか確認する 詳細 前提 以下のブランチがある $ git branch * master merged no_merged mergedはマージ済み no_mergedは未マージ マージ済みのブランチを表示 $ git branch --merged * master merged 未マージのブランチを表…

Git | ファイルの移動

Git

概要 ファイルの移動 詳細 git では以下の2種類の方法でファイルを移動します。 $ git mv from_file to_fileこれは、以下と同じです。 mv from_file to_file git add to_file サンプル(git mv) $ git init $ echo hoge > from_file $ git add -A $ git commi…

Git | ファイルの削除

Git

概要 ファイルの削除 詳細 git では以下の2種類の方法でファイルを削除します。 $ git rm remove_fileこれは、以下と同じです。 rm remove_file git add remove_file サンプル(git rm) $ git init $ echo hoge > hoge.txt $ git add -A $ git commit -m "add…

Git | 3つの領域

Git

概要 3つの領域 詳細 Gitは3つの領域を持ちます。 ワーキングツリー ステージングエリア リポジトリ(git directory) ワーキングツリー 作業領域です。 実際に、ファイルを修正・保存します。ワーキングツリーはワーキングディレクトリとも呼ばれます。 ス…

Git | バージョン管理ツールの比較

Git

概要 バージョン管理ツールの比較 詳細 手動 日付やバージョン番号を付与したディレクトリを手動で管理する手法。 コピペミス、作成し忘れ、間違って削除など様々なリスクを抱える非効率な管理手法。 しかし、現実にまだこの手法に頼るシステム開発現場が少…

git | GitHub FlowをGitLabで試す

概要 GitHub FlowをGitLabで試す GitHub Flowについては下記を参照 https://gist.github.com/Gab-km/3705015 http://scottchacon.com/2011/08/31/github-flow.html サンプルシステム仕様 ・テキスト表示システム ・引数に指定したテキストを大文字か小文字に…

git | GitHub Flow

概要 GitHub Flow GitHub Flow ・masterブランチのものはすぐにデプロイ可能なコードのみにする ・新たな実装が必要になったら説明的な名前のブランチをmasterから作成する ・作成したブランチにローカルでコミットし、サーバー上の同じ名前のブランチにも定…

Git | 一度コミットしたファイルを後から除外する

Git

概要 一度コミットしたファイルを後から除外する 詳細 一度コミットしたファイルは、.gitignore等に追加してもリポジトリに残ったままになります。 リポジトリから削除するためには下記の操作が必要です。 ファイル削除+リポジトリからも削除をする場合 git…

Git | git add

Git

概要 git add 詳細 任意のファイルを追加 git add some_file.txt 任意のディレクトリを追加 git add some_directory .gitignoreのファイルも強制的に追加する git add -f some_file.txt 登録済みで変更されたファイルを追加する git add -u some_file.txt 新…

Git | credential.helperで認証情報をキャッシュする

Git

概要 credential.helperで認証情報をキャッシュする 詳細 credential.helperで認証情報をキャッシュする下記の設定で、認証時のパスワード情報を1日キャッシュしておけます。 git config --global credential.helper cache --timeout=3600 関連 git-credenti…

Git | git-credential-winstoreでパスワード認証を省略する(windows + cygwin環境)

Git

概要 git-credential-winstoreでパスワード認証を省略する(windows + cygwin環境) 詳細 git-credential-winstoreでパスワード認証を省略します(windows + cygwin環境)。通常なら、git利用時に公開鍵認証にしていればパスワードの入力は不要ですが ・Git…

Git | git remote

Git

概要 git remote 詳細 git remote関連コマンド リモートリポジトリの追加 originは任意で命名するリポジトリ名 $ git remote add origin url同時にfetchする場合は-fオプションを利用する リモートリポジトリ名の表示 $ git remote origin リモートリポジト…

Git | 新規作成したブランチをremoteリポジトリにpushする

Git

概要 新規作成したブランチをremoteリポジトリにpushする 詳細 新規作成したブランチをremoteにpushするには以下のコマンドを実行します git push origin new_branch_name

Git | ブランチの作成と同時に切り替えを行う

Git

概要 ブランチの作成と同時に切り替えを行う 詳細 ブランチの作成と同時に切り替えを行うには以下のコマンドを実行します git checkout -b new_branch_name これは内部的には git branch new_branch_name git checkout new_branch_name を行うのと同じです。…

Git | excludeファイルにローカル環境だけ無視したいファイルを登録

Git

概要 excludeファイルにローカル環境だけ無視したいファイルを登録 内容 .gitignoreはバージョン管理の対象外にしたいファイルを登録することができます。 登録した内容はリポジトリで管理し、共同で利用しているユーザーと共有出来ます。しかし、ローカル環…

Git | git stashで作業情報の退避を行う

Git

概要 git stashで作業情報の退避を行う 内容 開発を行なっていると現在編集中の内容を一次退避したいような状況があります。 その場合はgit stashで対応可能です。 ※stash : 隠す サンプル 未コミットの内容を一次退避 git stash一次退避した内容を確認 git …

Git | cherry-pickで任意のバージョンの内容を任意のリポジトリにマージ

Git

概要 cherry-pickで任意のバージョンの内容を任意のリポジトリにマージ 内容 任意の変更内容を特定のブランチに反映したい場合、cherry-pickを利用します。 サンプルオペレーション ・test.txt 編集前 test・hogeブランチを作成して、checkout ・hogeブラン…

Git | ファイルを編集前の状態に戻す

Git

概要 ファイルを編集前の状態に戻す 内容 以下のコマンドでファイルを編集前の状態に戻します。 git checkout <ファイル名> サンプル ・Gitから最新ファイル取得 ・hoge.txtを編集 ・status,diffを確認=>差分あり ・checkoutを行う ・status,diffを確認=>差…

Git | コミットエディタをSublime Text2に設定

Git

概要 コミットエディタをSublime Text2に設定 内容 以下のコマンドでコミットエディタの設定ができます。 git config --global core.editor `which sublime-text-2`

Git | コンソールに色を付ける

Git

概要 コンソールに色を付ける 内容 以下のコマンドでコンソールに色を付ける設定ができます。 git config --global color.ui true

Git| リポジトリ内のファイル検索

Git

概要 リポジトリ内のファイル検索 内容 以下のコマンドでファイル検索が可能 git ls-files <ファイル名> サンプル リポジトリ内のファイル構成は以下 . │ hoge.txt │ └─hage hige.txt$git ls-files *hige.txt hage/hige.txt $git ls-files *h*ge* hage/hige.…

Git

Git

概要 Gitについて 詳細 Git基本操作 内容 URL git add ステージングするファイルの追加 http://d.hatena.ne.jp/tbpg/20131122/1385139149 git rm ファイルの削除 http://d.hatena.ne.jp/tbpg/20140616/1402923270 git mv ファイルの移動 http://d.hatena.ne.…

Git | git-cola,gitgのインストール

概要 Cola Git Gui,Gitgのインストール 詳細 下記コマンドでGitクライアントツールである git-cola gitg をインストールを行います。(Ubuntu) sudo apt-get install git-cola sudo apt-get install gitg

Gitで日本語ファイル名を扱う場合

Git

以下の設定を行うことで、git status時に日本語ファイル名が文字化けすることを防げます git config --global core.quotepath false

Redmine | 管理者編 | SCMの導入

パンくず Redmine 管理者編 SCMの導入 SCMの導入について ここではGitとRedmineの導入について記述します。 前提として、RedmineをインストールしてあるPCにGitをインストールしてあることとします。 RedmineのサーバーにGitの共有リポジトリを作成する mkdi…

Git Extensionsの導入

概要 分散バージョン管理ツールGitのクライアントソフトである Git Extensionsの導入について。 インストール 下記URLからGitExtensions228SetupComplete.msiをダウンロードします http://code.google.com/p/gitextensions/downloads/detail?name=GitExtensi…

リモートリポジトリに新規プロジェクトを追加

概要 リモートリポジトリに新規プロジェクトを追加する方法をまとめます。 ※下記記事でGitサーバー側は設定済みとします http://d.hatena.ne.jp/tbpg/20120208/1328719025 新規リモートリポジトリを作成 下記コマンドでgitoliteの管理情報を取得します。 git…

CentOS6にgitoliteでGitサーバーを構築

概要 CentOS6にGitサーバーを構築します。 ここではリモートのGitを管理するために gitoliteをセットアップします。 CentOS6にGitをインストール yum install git Gitにユーザーとメールアドレスを設定 git config --global user.name "ユーザー名" git conf…

Gitにファイルを追加

EGitでGitリポジトリにファイルを追加する方法。プロジェクトを右クリック、チーム→コミットを選択して コミット対象のファイルを選択してコミットボタンを押下する。これで追加完了。 同期化ビューもあるのでSVNやCVSをEclipseから使うのに慣れている人は …

EGitでのソース管理

Eclipse3.7に標準で追加されているEGitを使用して、プロジェクトで使用するファイルを管理対象することに。 自分一人でバージョン管理する際などに、サーバーは不要だし流れ的にもSVNからGitに移行していくだろうから 探り探りやっていこう。 プロジェクトを…