Git

Git管理下のファイルの差分をpatchコマンドで適応するまとめ

Git

たまに使うのですが、その度に調べたりしているのでまとめておきました。 確認version patchファイルを作成する git diff git log no-prefixオプション patchファイルを適応する pオプション 適応した変更を元に戻す 確認version Git 2.23.0 patchファイルを…

git-svn利用時SubversionのリポジトリURLが変更になった時の対応

git svn 環境でのリポジトリ再配置 ( svn switch --relocate に代わる何か ) - do_aki's log 上記URLの情報を最初に見つけて最終的にはGitオフィシャルのWikiにたどり着いた。 Edit the svn-remote url URL in .git/config to point to the new domain name …

Git-Flowとpull rebaseって相性悪くないですか?

Git

git-flowでfeatureブランチ作ってcommit作ってfeature finishしてdevelopブランチにno-ffマージされたあとpushしたらrejectされてpull rebaseするとno-ffマージがなかったことになるの辛い— えんこちゃん (@arcright) 2014年11月27日 featureブランチでrebas…

git-flow feature finishをしてもno-ffマージされないことがある

Git

git-flowは「A successful Git branching model」を補助する為のツールという認識なのでフューチャーブランチをマージする際には、必ずno-ffオプションを付与してマージを行うものだと思っていたのだが、マージコミットが作成されない場合があった。 これはg…

Gitリモートリポジトリ移行

Git

リモートリポジトリを他のサーバに移行する時はmirrorオプションが便利 $ git clone --mirror repos $ git push --mirror new_reposこれでnew_reposサーバに移行できる。mirrorオプションをつけるとbareリポジトリをどうこうしてくれる。 参考リンク Gitレポ…

Gitリモートリポジトリ変更

Git

確認 $ git remote -voriginを変更する場合はこう $ git remote set-url origin urlGitはリモートリポジトリがない状態でもいいから削除して追加でも別にいいと思う $ git remote rm origin $ git remote add origin url

Gitolite管理下のディレクトリ変更

Git

https://github.com/sitaramc/gitolite/blob/master/src/lib/Gitolite/Rc.pm 40 # these keys could be overridden by the rc file later 41 $rc{GL_REPO_BASE} = "$ENV{HOME}/repositories"; 42 $rc{GL_ADMIN_BASE} = "$ENV{HOME}/.gitolite"; 43 $rc{LOG_T…

Gitlab v4.2をUbuntuにインストールする

以前書いた通りGitlabは、v5.0からGitoliteに依存しなくなりGitlab Shellを使用するようになった。 Gitlab5.0からGitoliteに依存しなくなった - chulip.org だけど今まで運用してきたGitoliteを残しつつその上にGitlabを構築したほうがいいかなと思ってあえ…

備忘録:Git2.0からgit-pushのデフォルトの挙動が変わる

Git

Git1.8の頃から次のメジャーバージョンアップで変わるよ!って言われているのは知ってたけど1.9じゃなくて2.0なのか次は。 Backward compatibility notes (for Git 2.0) ------------------------------------------ When "git push [$there]" does not say …

Gitlab5.0からGitoliteに依存しなくなった

Git

Gitlabに関して調べてて偶然下記の記事を見つけて知った。 GitlabのBlogは見てないので情弱乙でありました。ありがとうございます。 http://dekokun.github.com/posts/2013-02-19.html 本家のエントリはこちら http://blog.gitlabhq.com/gitlab-without-gito…

続・Gitリポジトリ運用の最適解

Git

このエントリは過去に書いたエントリの続編として位置づけています。 過去の記事:Gitリポジトリ運用の最適解 - chulip.org この記事を書いた当時、いや少なくとも少し前までは本気でマージコミットがないGit運用が最高だと考えていました。 だからこそ、何…

Gitでリモートリポジトリ変更するとき

Git

別に.gitの中身直接書き換えてもいいと思うんですけどコマンド用意されてるのでそれでやるといいんじゃないですかね $ git remote set-url origin

msysgitでgitの公開鍵認証の設定をしててハマった

WindowsでGitを使うにはmsysgitが便利なのでインストールして、Git bashで公開鍵作ってgitoliteに公開鍵登録してcloneできるようにしたかったんだけどハマった。解決策:OpenSSH形式を使えばたぶんダイジョブ SSHの形式についてインストーラで聞かれるんだけ…

Gitプロトコルのポート

Git

引用 次は Git プロトコルです。これは Git に標準で付属する特別なデーモンです。専用のポート (9418) をリスンし、SSH プロトコルと同様のサービスを提供しますが、認証は行いません。 Git - Book

Git - Untracked filesだけaddする

Git

git-addのオプションには見つけられなかった。インタラクティブにやるしかないのかなあ。 # Interactive mode $ git add -i *** Commands *** 1: [s]tatus 2: [u]pdate 3: [r]evert 4: [a]dd untracked 5: [p]atch 6: [d]iff 7: [q]uit 8: [h]elp # 以降git …

Capistranoの設定でGitのブランチを指定していない時の挙動

Git

deploy.rbの中で:branchにブランチを書くと指定できるが指定してない場合 なにが起きてるのか知りたくてすこし中身みた 環境 Capistrano 2.9.0 本題 まず、branchオプションが設定されているかどうかをみてなかったら代わりにHEADにする # capistrano-2.9.0/…

git-submodule updateで(no branch)になるのか

Git

$ git submodule add git://path name $ git ci -m "add submodule" $ git pushsubmodule追加して別のどこかで $ git pull $ git submodule init $ git submodule updateした時に $ cd name $ git br * (no branch) masterそのためgit-submodule foreachなど…

Gitのコミット指定時に使うキャレット(^)とチルダ(~)の違い

Git

例えばgit-resetなどをする時などにHEADの2世代前のコミットにHEADを移す場合は HEAD^^としたりHEAD~2としたり。でもHEAD^2という指定もあります。そのへんのまとめ 題材としてアイドルマスターシンデレラガールズ(以下モバマス)で考えます。 まず、適当にリ…

Git - 特定のcommitからbranchを作成する

Git

masterのHEADずらしてbranch作ってmasterのHEAD戻すみたいなアホなことやってたんだけど そういえばcheckoutでできんじゃねーのと思ったらできたのよ $ git checkout -b branch hashhashのところはhash値でもいいしHEAD^とかでもいい

git stash popでコンクリフトした時の解決方法

Git

入門Git作者:濱野 純(Junio C Hamano)秀和システムAmazongit stashは作業中の内容を一旦退避することができるため大変便利で結構使ってますが remoteや他branchからrebase等で変更を適応する時にstashしてから適応。 変更箇所がかぶったりするとgit stash po…

git tagでbranchと同名のtag作ったらどうなるん

Git

Q. branchとtagの移る方法は全く一緒でgit checkoutする感じなのだが同名のを作ったときcheckoutするとどうなるの A. branchに移動した Q. tagに移動するにはどうすればいいの A. フルネームで書く(refs/tags/tagname) 参考リンク http://www8.atwiki.jp/git…

Gitリポジトリ運用の最適解

Git

続編のような物(2012/11/21追加) 掲題の件について最近調べたことをまとめることにします。 はじめに タイトルだいぶ誇張していますが、結論から言うとマージコミットを発生させないGitの使い方です。 マージコミットが悪という言葉を最近よく目にしていたの…

Gitでリモートブランチを消してもgit branch -aに出てくる件

Git

$ git push origin :remote_branch_nameとかやるとリモートブランチを削除できるのですが上記コマンドを実行した環境以外で git branch -aをやるとまだ表示されてしまっていたので消す方法。 git fetchで行けるかと思ったのですがどうもfetchは同期をとるも…

git resetを取り消す

Git

commitを取り消したい時にresetを使うことがあるけど、そのresetを取り消したい # 実はORIG_HEADには残っていてみれたりする $ git show ORIG_HEAD # 差分もとれたりする $ git diff ORIG_HEAD # その時のメッセージを使ってコミットとかもできる # -Cはメッ…

git rebase -iの使い方覚書

Git

git rebaseすごい。git rebaseすごい(二度目 ## HEADから2つ前までのリビジョンが対象 $ git rebase -i HEAD~2コマンド実行するとエディタに次のように表示される pick 4ac8a6e homuhomu pick 6cf15e3 homuhomuhomu # Rebase 8ae65b7..6cf15e3 onto 8ae65b7 …

Gitサーバをgitosisで管理する

Git

今まで手動でリモート側にgit init --bareでリポジトリつくって、 ユーザの公開鍵をgitユーザのauthorized_keysに公開鍵追加していたものを うまいことやってくれるようなツール 環境 CentOS 5.6 32bit サーバ側 インストール EPELリポジトリにあるのでリポ…

git-svnでgit svn rebaseに失敗したときの対処法

git rebaseすごい。git rebaseすごい(大事なことなのでry モテメンになるには分散VCSを使おうということなのでGitをちょろちょろやっているようです。 中央リポジトリがsvnは際はgit-svnを使っているけど、挙動がよくわからないところがあって そこを理解で…

git-svnの使い方がなんとなくわかってきた

中央リポジトリがSubverionの場合にもGitの恩恵を受けたいっていうときはgit-svnがいい ローカルでの管理はGitで行い、最終的にsvn側にそれを反映するみたいなイメージになる インストール方法 MacOS X sudo port install git-core +svn CentOS sudo yum -y …

Gitのdiffでカラー表示ができず文字化けしてしまう時の対処法

Git

ページャがlvになっていて、オプションなしだとANSIをエスケープしてくれないかららしい.gitconfigに下のように書けばちゃんと色つきで表示してくれる [core] pager "lv -c" 参考リンク http://d.hatena.ne.jp/takihiro/20100523/1274567613

便利に使える様々な言語の.gitignore

Git

Githubでみつけたのだけど結構便利なのでURLを貼っとく github/gitignore - GitHub