Humanity

Edit the world by your favorite way

Git

Git 小技集

Git

追記 (2020/03/04): git grep の -n, -E を省略 追記 (2020/03/??): Git 小技集にタイトルを変えた。これまで Git 関連で運用してきて残った tips を載せる記事にすることに 追記 (2020/04/08):「git blame で特定コミットを無視する(コードスタイルの修正…

GitHub や BitBucket で強制的に https:// の代わりに ssh の URL を使う

stackoverflow.com GitHub git config --global url.ssh://git@github.com/.insteadOf https://github.com/ BitBucket git config --global url.ssh://git@bitbucket.org/.insteadOf https://bitbucket.org/ 特定のユーザだけ ssh の URL を使う (2018/12/08…

Gitをソースコードからインストールしていてもgit-svnをインストール

Git,Vim,GNU Screenだけはソースコードからインストールしてcheckinstallでパッケージとしてインストールしているのですが、 指定したバージョン文字列がダメなのか、関連パッケージをインストールしようとすると「gitパッケージをアップグレードしますか?…

Git 2.0でpush.defaultのデフォルト値がmatchingからsimpleに変わった

Git

push.defaultが.gitconfigで指定されてなくてpush.defaultが参照されるようなコマンド(引数なしのgit pushとか)をした場合にエラーが起きて、以下のようなエラーが出る。なので厳密にはデフォルト値ではない。 「git push」とかやる時はpush.defaultを必ず.g…

git add -A

git

を使えばワーキングツリーとインデックスの内容を一致させることができます。 つまりどういうことかというと、git rm --cached .; git add .とだいたい同じような意味だと思います。たぶん。 自分はこのためにgit-rmaddとか作ってて、git-updateとか作ってる…

git clone --mirror

Git

でbareなリポジトリができて、さらに $ git fetch --allだけでbareリポジトリのアップデートができる。 bareリポジトリからアップデートしたい時に便利。 別のやり方 --mirrorは実際これと同じことをしてるっぽい(たぶん) $ git clone --bare {uri} $ cd {di…

git-submv作った

Git

gittools/git-submv at master · tyru/gittools · GitHubsubmoduleをリネームするのが面倒で作った。 $ git submv {src} {dest}みたいにして使う。 $ git submv {src} {dest} {dest-url}みたいにしてsubmoduleのURLを再設定したりもできる。同じリポジトリに…

Gitをビルド&インストール

less INSTALL読んで自分はこんなんした $ make prefix=/usr/local all doc $ paco -lD 'make prefix=/usr/local install install-doc' curl-configがないと言われた $ sudo apt-get install libcurl4-openssl-dev -y asciidocがないと言われた $ sudo apt-ge…

Gitでちょっと不満に感じてること

Git

自分でgitのサブコマンド作るとなるとalias作るかgit-hogeみたいなスクリプト作るかだけど .gitconfigとか~/bin/とかにスクリプトが散らばってちょっとめんどくさい*1。まぁ自分の場合GitHubにほとんど公開してるのであんまり面倒を感じたことないけど。 あ…

「gitでサブモジュールを削除する」をgittoolsに追加してみた

Git

元記事: gitでサブモジュールを削除する まずgittoolsっていうのは自分が~/bin/に入れるようなgitのスクリプトを入れてるリポジトリのことです。 tyru/gittools · GitHub で、それにgit-subrmっていうシェルスクリプト追加してみた。 ほとんど元記事と一緒な…

Gitの発音

Git

GitHubによるとこうらしい。 追記: 微妙に小さかった... *1 *1:ひさびさにログアウトしたらトップページにあった

bareリポジトリから更新する方法

Git

bareリポジトリにgit pushして更新することは普通にできるんですが、 bareリポジトリから更新するにはちょっとめんどくさいです。 具体的には、次のようにします。 $ git remote tyru $ git fetch tyru $ git reset --soft tyru/masterこのように現在のブラ…

App::ghにbareリポジトリを更新する機能つけた

--bareオプションをつけても更新可能にした 「gh all tyru」でカレントディレクトリにGitHubのプロジェクト全て持ってこれたりできるんですけど、 すでにディレクトリがある時は更新するようにしてくれます。 ただし--bareオプションをつけて(gh all --bare …

git用に素のvimを設定する

gitでいちいちエディタを立ち上げるのが遅いので 素のvimを使う設定をしようと思ってたのでやった。 ~/.gitconfigでcore.editorを設定する形にした。 コマンドラインから設定するならこんな感じ。 $ git config --global core.editor "vim -u NONE -i NONE -…

git-fixup

Git

コミット後に間違いに気付くってことが多いので git の amend は助かる。2011-01-05 10:41:25 via webこれ見てふと思い出した。 前id:kanaさんがtwitterでつぶやいてたgit-fixupってaliasが便利です。 エディタを立ち上げる必要がないので一瞬で終わります。…

git rebase -i のインターフェースについて

Git

ちょっと前の下書きから。 そもそもの発端はShougoさんが git rebase -i の あのエディタを立ち上げてしまうインターフェースはxxxだ、というようなことを言っていたことから。対話的なプログラムは他のプログラムから呼び出しにくい(Vimからとか)。 まぁ便…

gittools

Git

tyru/gittools · GitHubgittoolsとかいう名前で~/bin/以下にあったgitのサブコマンドをまとめてみた。 ただ比較的最近というか今日作ったスクリプトも含まれてる。説明めんどくなってしまったので というよりそこそこちゃんと--help書いたので 適当にpod2tex…

リポジトリのバックアップを自動化

Git

とりあえずこんなんにした。適当。 ~/git/+backupとか適当なディレクトリにリポジトリへのシンボリックリンクを貼っておく backupという名前でremoteを追加する スクリプトをcronでぶん回してbackupへのpushを自動化 スクリプトはこちら。

GitでWindowsのソフトを管理するのが便利

gitサーバを立ててWindowsのソフトを単一のリポジトリ(submoduleにするのもいい) のリポジトリを置いておくとgit pullなりgit cloneするなりして楽に最新版にできる。 新しく環境構築する時にもcloneするだけ。 ただしアップデートはもちろん自分で行う必要…

ローカルにgitサーバを立てて、ついでにgithubの全てのリポジトリをミラーリングする簡単な方法

タイトル長い。 きっかけは、Windowsのソフトをgitで管理したかったけど Dropboxだと容量が足りない sambaだと通信がやっぱちょっと遅い気がする。あとローカルに持って来たい ということでgitサーバを立てることにした。 gitサーバはsshの設定しようとしな…

ちょうどgit-pullしてきた変更点を見たい時

Git

git log HEAD@{1}..HEADでいいはず? これまではわざわざscreenで 81aa0c3..a543f6b vim73 -> hg/vim73みたいな行の「81aa0c3..a543f6b」の部分だけコピペしてgit-logしてた。

git-hg, hg-fast-export

git-hg/bin at master · offbytwo/git-hg · GitHub offbytwo/git-hg @ GitHubgit-hg欲しいなーと思っていたんだけどなんとなくgithubで検索したらあって感動した。 この喜びを誰かに伝えたい。 hg-fast-export どうやらmercurialのリポジトリをgitに変換する…

新しめのGitで使える細かい新機能

Git

バージョン 僕がビルドしたバージョンは $ git version git version 1.7.0.1.164.gbe2fで、新機能が使えないと言ってるバージョンは $ git version git version 1.6.3.3です。最新版は git://git.kernel.org/pub/scm/git/git.gitから追うことができます。 gi…

Could not move back to refs/heads/test

git

git-rebase中に戻るべきブランチを削除したりするとこんなメッセージが出ます。 そんな恐ろしいことをする人はここを読んでる人の中にはいませんね。 うっかりこのメッセージに出くわして検索でこのページに来た方は慌てずに「git rebase --skip」しましょう…

MercurialからGit、あるいはGitからMercurialへリポジトリを変換する

GitからMercurial これができれば見たいリポジトリはすべてGitで見られる。 GitはPerlのモジュールなんかあったり*1、 結構Perlでサブコマンドとかが書きやすいので、 自分でいろいろ弄れる、かもしれない。 まだあんまり詳しくないけど。http://laafc.net/t…

Cilってコマンドが便利 - githubのIssuesのようなものをローカルで

git

via Cilを試してみた - mountain_dewの日記 (Cilのリンク先が切れてるみたい?なので一応githubのリポジトリのURLを貼っておく)本文を引用させてもらうと次のようなツールらしい。 cil is a (Distributed) Issue Tracking System backed by your VCS.という…

「gitリポジトリからファイルを完全に消去する方法」をコマンドにしてみた

git

gitリポジトリに間違って追加してしまったファイル等を完全に消去する方法を紹介します。1 % git filter-branch -f --index-filter 'git update-index --remove "filename"' HEAD 2 % git push --forceディレクトリを削除したい場合は、ディレクトリの中身の…

Re: git のブランチ名を zsh の右プロンプトに表示+ status に応じて色もつけてみた

git のブランチ名を zsh の右プロンプトに表示+ status に応じて色もつけてみた - ヤルキデナイズドだった がすごい便利だったので、ディレクトリは表示させないようにして、ちょっとだけ表示するメッセージ弄ってみた。それだけ。 追記:元記事先のGistみ…

~/.gitconfigの設定

git

を晒してみる。 [alias] pullmy = pull --rebase --tags pushmy = push --tags last = log -1 HEAD st = status co = checkout wh = whatchanged br = branch [user] name = tyru email = tyru.exe@gmail.com [color] diff = auto status = auto branch = au…

reblog: git のブランチ名を zsh の右プロンプトに表示+ status に応じて色もつけてみた - Yarukidenized:ヤルキデナイズド

git のブランチ名を zsh の右プロンプトに表示+ status に応じて色もつけてみた - ヤルキデナイズドだった なにこれすごい。超便利。