メモ代わり。てきとーに。 いや、ですからてきとーですって。 2年前ぐらいにPythonあたりでメールくれた方、ごめんなさい。メール紛失してしまい無視した形になってしまいました。。。

ラベル git の投稿を表示しています。 すべての投稿を表示
ラベル git の投稿を表示しています。 すべての投稿を表示

2008年12月23日火曜日

[git] コミット前に任意のworking tree中の1ファイルをリポジトリの状態に戻す

間違って編集してしまったあるファイルをローカルリポジトリの状態に戻すに は、、、



$ git checkout あるファイル
 


でオーケー。

.

2008年12月19日金曜日

[git][mod_chxj][subversion] trunkへのdcommitが失敗

reset --softオプションのメモ。

subversionのtrunk用ブランチmaster-svn
と、
gitのmaster用ブランチmaster
と2つあって、いつもmasterで修正をし、


$ git commit -a
$ git push sourceforge.git master
 

などとやって、sourceforge.jpにコミットする。
その修正分をsubversionにも反映したく

$ git checkout master-svn
$ git merge master --no-ff
 

とマージし、

$ git svn dcommit
 

とやっているんだけど、やり方がまずいのか、突然やたらと
コンフリクトが出てなんか変。

やむを得ないので、

$ git branch -D master-svn
$ git checkout -b master-svn master
 

とmasterからブランチを作成し、

$ git checkout master-svn
$ git reset --soft trunk
 

で切り替え、

$ git svn dcommit
 

で解決。
多分次から、git merge masterでいけると思う。。

.

2008年12月18日木曜日

[git][mod_chxj] clone

sourceforge.jpにも書いてあるし、もちろんドキュメントにも書いてあるんだけどメモ。


git clone git://git.sourceforge.jp/gitroot/modchxj/mod_chxj.git
 

が、

svn checkout http://svn.sourceforge.jp/svnroot/modchxj/mod_chxj
 

みたいな感じ。


git clone git://git.sourceforge.jp/gitroot/modchxj/mod_chxj.git hehehe
 



svn checkout http://svn.sourceforge.jp/svnroot/modchxj/mod_chxj hehehe
 

みたいな感じ。

originがセットされてるんで、branchを取りたい場合は

cd hehehe
git checkout -b branch_0.12.0 origin/branch_0.12.0
 

でいける。



で?
.

2008年12月13日土曜日

[git]めんどいのでalias

なんとなくキー入力が面倒になってきたので、aliasすることにした。

やりたいことは、


git commit -a
 

が、面倒なので、

git ci
 

ってする。

git checkout xxxxx
 

は、

git co xxxxx
 

ってする。

ということで、
~/.gitconfigファイルを編集して以下を追加。


[alias]
ci = commit -a
co = checkout
 

を加えた。

終了ー。

これでちょっとだけ入力が減った。

ほっほー。
知らなかった。
.

2008年11月15日土曜日

[git][mod_chxj] SubversionにあるリポジトリをSourceforge.JPのGitに公開してみた

SubversionのリポジトリをSourceforge.JPのGitに公開する手順のメモ。

手順は以下のとおり。

  1. Sourceforge.JPのプロジェクト管理ページでGitを有効にする
  2. Sourceforge.JPのプロジェクトページから空のGitリポジトリを作成する
  3. Subversionのリポジトリをgit使ってclone
  4. cloneしたローカルリポジトリにremoteとしてSourceforge.JPの空のリポジトリを追加
  5. remoteにpush

Sourceforge.JPのプロジェクト管理ページでGitを有効にする
Sourceforge.JPのプロジェクトページから空のGitリポジトリを作成する
これはさっきやってきた。

Subversionのリポジトリをgit使ってclone
これはすでに作成済み。

$ git svn clone -T trunk -b branches -t tags \
svn+ssh://konn@svn.sourceforge.jp/svnroot/modchxj/mod_chxj
 

 

として作成したと思う。

cloneしたローカルリポジトリにremoteとしてSourceforge.JPの空のリポジトリを追加

$ git remote add origin \
konn@git.sourceforge.jp:/gitroot/modchxj/mod_chxj.git
 

んで 確認。

$ git remote show
origin
 


remoteにpush
さっき追加したoriginにmasterをpushする。
まず、念のため、user.emailをチェック。

$ git config user.email
konn@users.sourceforge.jp
  

で、push。

$ git push origin master
Counting objects: 23847, done.
Compressing objects: 100% (3552/3552), done.
Writing objects: 100% (23847/23847), 5.77 MiB 73 KiB/s, done.
Total 23847 (delta 20981), reused 23091 (delta 20252)
To konn@git.sourceforge.jp:/gitroot/modchxj/mod_chxj.git
* [new branch] master -> master
 

ほっほっほ。
完了。

一応ブランチとかも追加しておく。

$ git push origin branch_0.13.0
Counting objects: 1498, done.
Compressing objects: 100% (601/601), done.
Writing objects: 100% (1492/1492), 206.84 KiB 104 KiB/s, done.
Total 1492 (delta 891), reused 1492 (delta 891)
To konn@git.sourceforge.jp:/gitroot/modchxj/mod_chxj.git
* [new branch] branch_0.13.0 -> branch_0.13.0
$ git push origin branch_0.12.0
Total 0 (delta 0), reused 0 (delta 0)
To konn@git.sourceforge.jp:/gitroot/modchxj/mod_chxj.git
* [new branch] branch_0.12.0 -> branch_0.12.0
$ git push origin branch_0.11.0
Counting objects: 655, done.
Compressing objects: 100% (211/211), done.
Writing objects: 100% (616/616), 257.79 KiB 100 KiB/s, done.
Total 616 (delta 527), reused 482 (delta 404)
To konn@git.sourceforge.jp:/gitroot/modchxj/mod_chxj.git
* [new branch] branch_0.11.0 -> branch_0.11.0
 


いやいや、おなかいっぱい。

ん?
Git公開一番のり?
.

[git][mod_chxj] とりあえずSourceForge.JPにリポジトリを作成してみた

さっそくSourceforge.JPにGitリポジトリを作成してみた。
数日待つのかと思いきや、1~2分でリポジトリが作成された。

くっそー。

一番乗りできなかった。
すでにmagic3とnkfが先にあった。
多分、リポジトリ作成したのは3番目。

.

2008年11月14日金曜日

[git][mod_chxj]とりあえずGitを有効にしてみた

とりあえず、SourceForge.JPでGitを有効にしてきた。

リポジトリが作成されていないんで、まだ使えないけど。

へへ。
.

[git][mod_chxj] SourceForge.JPでGitがサポートされた!!

11月14日付けで、SourceForge.JPでGitがサポートされたみたい。
まだ試してないけど、gitwebもつかえるらしい。
現状限定的らいしんだけど徐々に機能を追加していくらしい。

多分、そのうちGitHubみたいになるんだろうなぁー。

さっそくのり変えよう。
一応、Subversionも生かしつつ。

.

[git] ある日、trunkにdcommitできなくなった

教えて君卒業のためのメモ。

ある日、trunkにgit svn dcommitできなくなった。
どうもfastforwardでmergeしたのが問題らしい。
そこで、、、


$ git checkout trunk
$ git merge --no-ff branch_0.13.0
 

と、--no-ffを指定して実行し、fastforwardでmergeしないようにする。

すると、あら不思議。

git svn dcommitできるじゃありませんか。

fastforwardでマージしてしまうと、変更をgitが検知できなくなる場合があるらしい。

.

[git] working treeを指定した時点の状態に戻す

教えて君卒業のためのメモ。

working treeを指定した時点の状態に戻すには、、


$ git rest --hard HEAD
 


などとやる。

.

2008年7月25日金曜日

[git] “You have some suspicious patch lines”


$ git commit -a
 

とやったら、

* You have some suspicious patch lines:
* In src/abc.c
* trailing whitespace (line 4083)
 

と言われて、コミットできない。。

調べてみると・・・、
line 4083行目のCRやらLFやらのコードがおかしいCRやらLFまでに空白文字が入っているという意味らしい。

該当行の最後のバイトを削除してやると、無事コミットできた。

--
追記


git-config core.autocrlf true
git-config core.safecrlf true
 

とやるとよいらしい。
.

2008年6月25日水曜日

[git] working ディレクトリの修正を無かったことに

またもや何回も同じこと調べてるんで、メモ。


$ git reset --hard
 


以上。

2008年5月12日月曜日

[git][mod_chxj] クローンしなおし・・・(Subversionからgit clone)

trunkを0系にしようと思って、svn delete trunkとやってしまったら、
git cloneしていたところが変になった。(当然か)

ということで、再クローン。

なんだか毎回同じことを調べている気がするのでメモ。


$ git svn clone -T trunk -b branches -t tags \
svn+ssh://konn@svn.sourceforge.jp/svnroot/modchxj/mod_chxj
 

でカレントディレクトリ以下にmod_chxjディレクトリが作成される。

.

2008年4月15日火曜日

[git] プロンプトにカレントのブランチ名を表示する

先生に教えてもらったのだが、
プロンプトにカレントのブランチ名を表示するには、
gitのソースに含まれている


contrib/completion/git-completion.bash


を.bashrcなりで読み込んで、


PS1='[\u@\h \W$(__git_ps1 " (%s)")]\$ '


なんて設定してあげる。

するとあら不思議。
プロンプトに現在のブランチ名が出ているじゃないですか。

このcontrib/completion/git-completion.bashを読み込んでおけば、
タブキーでgitのコマンドの候補一覧も表示できるようになる。

うーむ。便利。

.

2008年4月13日日曜日

[git] gitの発音

gitをジットって発音してたら、
先生に怒られた。

そういや、昔(今も)、vimのことを「ヴィーアイエム」と発音してたら
怒られたのを思い出した。

その昔viのことをビーって言ったらあほである、
という文化に育ってきたので、vimを「ビム」って発音するのには抵抗がある、
ような気もする。

ま、vimに関してはvi程度の機能しか使っていないので、
「ヴィーアイ」でいいや。

・・・。
連想して思い出した。
その昔、FreeBSDには本物のviが入っている、と言っていた人がいた。
FreeBSDに入っているviって、nviだと思っていたんだけど・・・。
確かnviはBSD4.3だかBSD4.4の設計者がviを書きなおして作った気がする。
これを「本物」といっていいのかはよくわからない。

ちなみに、ビル・ジョイの作ったviはアンシエント・ユニックスというサイトから
ダウンロードできるっす。

.

[git] コミット単位

どうも、format-patchやらでパッチを送る際、コミット単位はなるべく小さい方が良い
という話を聞いた。

ふーん。そんなもんなんですか。
まねしようっと。
---
うーむ。まねしてみた。
非常に面倒・・・。
もう少し大きな単位でコミットしてみよう・・・。
ひとりformat-patch。

2008年3月24日月曜日

[git] subversionのブランチへコミット

メモ。


$ git branch -r
MOD_CHXJ
RELEASE_0_1_0
RELEASE_0_1_1
RELEASE_0_1_2
RELEASE_0_2_0
RELEASE_0_2_1
RELEASE_0_5_0
RELEASE_0_6_2
RELEASE_0_7_0
RELEASE_0_8_0
RELEASE_0_9_0
UNSTABLE_0_4_0
tags/MOD_CHXJ_0_1_0
tags/RELEASE_0_6_0
tags/RELEASE_0_6_1
tags/RELEASE_0_8_1
tags/RELEASE_0_8_3
tags/RELEASE_0_8_5
tags/RELEASE_0_8_6
tags/RELEASE_0_8_7
tags/SNAP-20060712
tags/root-of-RELEASE_0_1_0
tags/root-of-RELEASE_0_1_1
tags/root-of-RELEASE_0_1_2
tags/root-of-RELEASE_0_2_1
tags/root-of-RELEASE_0_5_0
tags/root-of-RELEASE_0_6_0
tags/root-of-RELEASE_0_6_1
tags/root-of-RELEASE_0_6_2
tags/root-of-RELEASE_0_7_0
tags/root-of-RELEASE_0_8_0
tags/root-of-UNSTABLE_0_4_0
trunk
 

といった感じにsubversionがcloneされているとして、
ローカルは今、

$ git branch
RELEASE_0_8_0
* branch_0.9.0
master
trunk
 

な感じ。
そこで、RELEASE_0_7_0を編集したいとする。
そしたら、

$ git checkout -b branch_0.7.0 RELEASE_0_7_0
Switched to a new branch "branch_0.7.0"
$ git branch
RELEASE_0_8_0
* branch_0.7.0
branch_0.9.0
master
trunk
 

とやったら、あとは編集。
branch_0.7.0はgitでのブランチ名。
RELEASE_0_7_0はgit branch -rで出てきたブランチ名で、ここではsubversionのブランチ。

作業が終わったら、

$ git commit -a
$ git svn dcommit
 

な感じでOK。

メモでした。
.