間違って編集してしまったあるファイルをローカルリポジトリの状態に戻すに は、、、
$ git checkout あるファイル
でオーケー。
.
メモ代わり。てきとーに。 いや、ですからてきとーですって。 2年前ぐらいにPythonあたりでメールくれた方、ごめんなさい。メール紛失してしまい無視した形になってしまいました。。。
間違って編集してしまったあるファイルをローカルリポジトリの状態に戻すに は、、、
$ git checkout あるファイル
reset --softオプションのメモ。
subversionのtrunk用ブランチmaster-svn
と、
gitのmaster用ブランチmaster
と2つあって、いつもmasterで修正をし、
$ git commit -a
$ git push sourceforge.git master
$ git checkout master-svn
$ git merge master --no-ff
$ git svn dcommit
$ git branch -D master-svn
$ git checkout -b master-svn master
$ git checkout master-svn
$ git reset --soft trunk
$ git svn dcommit
投稿者
atkonn
時刻:
23:26:00
0
コメント
ラベル: git, mod_chxj, subversion
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
cd hehehe
git checkout -b branch_0.12.0 origin/branch_0.12.0
なんとなくキー入力が面倒になってきたので、aliasすることにした。
やりたいことは、
git commit -a
git ci
git checkout xxxxx
git co xxxxx
[alias]
ci = commit -a
co = checkout
SubversionのリポジトリをSourceforge.JPのGitに公開する手順のメモ。
手順は以下のとおり。
$ git svn clone -T trunk -b branches -t tags \
svn+ssh://konn@svn.sourceforge.jp/svnroot/modchxj/mod_chxj
$ git remote add origin \
konn@git.sourceforge.jp:/gitroot/modchxj/mod_chxj.git
$ git remote show
origin
$ git config user.email
konn@users.sourceforge.jp
$ 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
さっそくSourceforge.JPにGitリポジトリを作成してみた。
数日待つのかと思いきや、1~2分でリポジトリが作成された。
くっそー。
一番乗りできなかった。
すでにmagic3とnkfが先にあった。
多分、リポジトリ作成したのは3番目。
.
11月14日付けで、SourceForge.JPでGitがサポートされたみたい。
まだ試してないけど、gitwebもつかえるらしい。
現状限定的らいしんだけど徐々に機能を追加していくらしい。
多分、そのうちGitHubみたいになるんだろうなぁー。
さっそくのり変えよう。
一応、Subversionも生かしつつ。
.
教えて君卒業のためのメモ。
ある日、trunkにgit svn dcommitできなくなった。
どうもfastforwardでmergeしたのが問題らしい。
そこで、、、
$ git checkout trunk
$ git merge --no-ff branch_0.13.0
教えて君卒業のためのメモ。
working treeを指定した時点の状態に戻すには、、
$ git rest --hard HEAD
$ git commit -a
* You have some suspicious patch lines:
* In src/abc.c
* trailing whitespace (line 4083)
git-config core.autocrlf true
git-config core.safecrlf true
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
先生に教えてもらったのだが、
プロンプトにカレントのブランチ名を表示するには、
gitのソースに含まれている
contrib/completion/git-completion.bash
PS1='[\u@\h \W$(__git_ps1 " (%s)")]\$ '
gitをジットって発音してたら、
先生に怒られた。
そういや、昔(今も)、vimのことを「ヴィーアイエム」と発音してたら
怒られたのを思い出した。
その昔viのことをビーって言ったらあほである、
という文化に育ってきたので、vimを「ビム」って発音するのには抵抗がある、
ような気もする。
ま、vimに関してはvi程度の機能しか使っていないので、
「ヴィーアイ」でいいや。
・・・。
連想して思い出した。
その昔、FreeBSDには本物のviが入っている、と言っていた人がいた。
FreeBSDに入っているviって、nviだと思っていたんだけど・・・。
確かnviはBSD4.3だかBSD4.4の設計者がviを書きなおして作った気がする。
これを「本物」といっていいのかはよくわからない。
ちなみに、ビル・ジョイの作ったviはアンシエント・ユニックスというサイトから
ダウンロードできるっす。
.
どうも、format-patchやらでパッチを送る際、コミット単位はなるべく小さい方が良い
という話を聞いた。
ふーん。そんなもんなんですか。
まねしようっと。
---
うーむ。まねしてみた。
非常に面倒・・・。
もう少し大きな単位でコミットしてみよう・・・。
ひとりformat-patch。
メモ。
$ 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
$ git branch
RELEASE_0_8_0
* branch_0.9.0
master
trunk
$ 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
$ git commit -a
$ git svn dcommit