テンプレ終わり
関連サイトのCVSとチュートリアルのSubversionは
移転情報があるなら次スレで直してください
Perforce使ってる人いる?
転職した先の会社で使ってることが判明して。
>>5 いちおう会社で使ってる。ほとんど GUI しか触ったことないけど。
Perforce って cui あるの?
使い勝手はどんな感じなんだろう
RTFM!
>>6 p4vってやつですかね。最近知りましたw
コードの変更をコミットしたい場合、まずリポジトリを編集状態にしてchangelist
とやらを作成し、それをアナウンスしてコード変更をレビューしてもらう。
でそれが通ると初めてコミットが許される.... というルールだそうで > 今の会社
なんだかコミットの敷居が上がった感じ。コミットの意味合いが違うというべきか。
みんなローカルな変更はどう管理してるのかな。
まあ、バージョン管理システムとビルドのシステムがどう繋がっているのかにも
よるのかな。
こういうよくわからないベンダのバージョン管理ソフトって開発者の頭越しで
導入が決められるんだろうなぁとふと思った。
確かに、独自のバージョン管理ソフトとか持ってるところあるよなあ。
gitやhgを望まないまでも、とりあえず何も考えずにsvnにしとけば何の問題もないのに。
svnも無茶な使い方してるとこはあって
なかなか何の問題もないともいえないのよね
馬鹿な連中の行動は予想を遥かに上まわるんだ
こういうよくわからないソフトに慣れたやつが転職やら派遣やらで拡散してっ
て svn とかの無茶な使い方にも繋ってるんじゃないかと思ってる。
いや、無茶な使い方は大抵ロートルから生まれると思う。
ロートルもあるけどバージョン管理のことを
細かいとこまで覚えるのが面倒だと思う連中は多いのよ。
純粋に道具として見れば、まあある意味は正しいんだけど。
>>11 Perforceのことなら、xcodeでも対応してた(過去形)りして
それなりにメジャな製品だと思ってたけど。
最新のソース管理も出来ないのに便利な道具を使わないという人には困る。
フォルダ「最新のソース」
フォルダ「最新のコースのコピー」
フォルダ「最新のソース2」
フォルダ「プロジェクト名」(実はここが一番新しかったりする)
ちなみにうちは受託開発しているけれど、社内規定では利用が規則化されていないので、
プロジェクトリーダー毎に好きなのを使っているかと思いきや、誰も使っていない。
うちコンサルしてるけど、構成管理すらまともにできないのに、
最の新方法論(キリッ で生産性あげようとするクライアントが多くて困るわ
最後にコードがgdgdになるなら技法とか方法論なんて効果ね−よ
>>18 >フォルダ「プロジェクト名」(実はここが一番新しかったりする)
せめて「プロジェクト名-YYYYMMDD-追番」にしようよ。(w
VCS使わないなら、日付をフォルダ名にするのが一番手軽で確実だよね
確実なもんか。
コピーした日付けの奴と作成した日付けの奴が混ざって混乱するのが関の山だ。
>>21 DropBoxとかに入れてしまえば、自動でバージョン管理できるんじゃね?
>>22 >コピーした日付けの奴と作成した日付けの奴が混ざって混乱するのが関の山だ。
いったい何を作成した日付をつけるんだ?
さすがにそんなアホに付ける薬はないだろうなぁ。
ダメなプロジェクトほど
フォルダツリーのコピーを作りたがる
で、最新という名のフォルダが最新じゃないという
ほげプロジェクト_最新 - コピー
最新のはずなのにVisualStudioプロジェクトファイルだけ更新されていたりする
そしてフォルダの更新時刻がフォルダをコピーした時刻
(≠個々のファイルの更新時刻)
フォルダ方式で管理しているうちの常駐先だと、バグ表に「先祖帰り」とかいう
項目があったw
さらに、ファイルをコピーしたつもりがムーブしてマスターファイルが
消えちゃったということが多いww
>>29 >先祖帰り
それは別にフォルダ方式じゃなくてもよくあるタイプのバグじゃ?
と思ったがもしかして「先祖返り」と「先祖帰り」を区別して使っていたりして。
いいなあ先祖帰りバグ。
Windows界隈ではVisualStudioの設定だけは手でやるのって普通なの?
すげえうざいんだけどあれ
>>30 >それは別にフォルダ方式じゃなくてもよくあるタイプのバグじゃ?
そのとおりだわ。過去にいたフォルダ方式じゃないところでもあったが、
今の現場だと、週に1回、多い時だと週2,3回位くらいで頻発してるので、
先祖返り=フォルダ方式のバグと脳内で勝手に思ってた。
先祖帰りは間違ってた
>>31 VisualStudio の設定が何をさすのか知らんけど、
*.user とか *.suo はバージョン管理してはだめだよ。
まあ、VisualStudio は *.sln で GUID ポイもので管理してるけど、
なんかの操作でそいつを書き換えたりするので、コンフリクトしやすいし
コンフリクトの解消が面倒。
なので、大きな設定変更をやるのは注意した方がいい。
TFS とか使えば、ここら辺は楽になるんだろうか。
.slnは管理すべきだろ
チェックアウトして何も考えずに .sln 開いてビルドできるレベルまではバージョン管理するでしょ
コンフリクトしたら素直に上書きで
>>34-35 誰も管理するなとは言ってないよ。
管理するのに注意が必要って言ってるだけ。
コンフリクトしたら上書きでと言うけど、そうすると一方の変更が反映されないよ。
なので、設定変更する時は他の人がやってないように注意しないとえらく面倒だよ。
みんなそういう経験ないのかなぁ…
インクルードパスとかはVS2008までユーザ(開発者)が個別に管理する必要があったけど
VS2010からはもっと合理的に管理できるようになった
でファイルフォーマットとしては合理的になったが
IDEが生成するファイルが合理的じゃないので台無し
ソースコードじゃないのにソースコードのように管理できないよって言われても困っちゃうよね
>>36 経験の結果、設定のコンフリクトなら上書きが良いと気づいたのさ
>>38 え゛っ、ひょっとしてソースコードしかバージョン管理してないとか?
>>39 いや、俺もコンフリクトしてしまったらそうするしかないと思う。
なので、なるべくコンフリクトしないようにしようと注意せざるを得ない。
VisualStudio が凝ったことしてないなら、もっと楽できたはずなんだが…
VisualStudio やっぱ素直にはいかないのかな。
ああ、色々書いてるけど、普通のソース管理は問題なく出来るよ。
ただ、ソースファイルの構成を変えたりするのにちょっと注意が必要というだけ。
てかEclipseもNetBeansも似たようなもんでしょ
XCodeだって管理ファイルのコンフリクトがおきたときはどうしようもないしね。
現段階ではIDE使うならしょうがないんじゃない?
その辺はソースほど頻繁に書き換えるものでもないんだから、
結局お互いにコミュニケーションとって解決するのが一番早いし問題が起こらないという結論に達した。
45 :
デフォルトの名無しさん:2012/06/30(土) 12:02:29.43
46 :
デフォルトの名無しさん:2012/06/30(土) 19:37:10.63
gitは手軽なのがいい。
たとえばちょっとしたメモ(や簡単なシェルスクリプト等)を書く場合でも、どこかにディレクトリを作ってそこに保存するとして
mkdir memo
cd memo
vim a.txt
簡単にmemoをリポジとリーとしてしまえる。
git init
そして適当な時点で a.txt の現在の状態をコミットしてスナップショット保存してしまえば良い
git add a.txt
git commit -m"aaa"
こうしておけば、なにかの間違えで rm * や > a.txt などで消去しまっても git clone や git checkout などで元に戻せるし
過去の時点での a.txt の状態へと行き来も git branch と git checkout で簡単に行える。
バージョン管理が無い場合だと、影響の大きい変更をする場合に、例えばファイルをコピーして a.txt.日付 などとして残してから編集したり、
または
// a = 123;
a = 456;
のように古いコードを消さずに、(将来戻したい時用にw)コメントアウトして残したり、をする必要が無い。gitでバージョン管理してれば
ソースコードをバッサリ削除することも躊躇せず行える。なぜなら簡単に git checkout で過去の状態に戻れるから。
超古典的なバージョン管理だとファイル名にサフィックス.bakを付けて保存する方法が昔は多かったけど、同じことがgitならもっと簡単に半自動的にミス無く行えるので、unix系の人は是非gitを使ったほうがいいと思う。古典的な.bakではなく。
最近バージョン管理を使い始めた人なのかな?
コピペじゃね?
49 :
デフォルトの名無しさん:2012/06/30(土) 20:13:57.97
rcsでも通用しそうな話だよな。
gitは2年前から使い始めたから最近。
bugzillaレベルの場所ならgit://でアドレス貼れば補足無しで通じるし、外人は平気でewfanao34uo3no3n3jl23jjn3123j34jnここだとか言ってコミットID張り付けて一行レスだけだったりするのだけどそれで通じるから楽でいい。
しかし日本だとまだまだgit clone git://... ってフルコマンド書かないと通じない雰囲気なのが面倒(プログラム板ですらgit://だけだと半分くらいにしか意味が通じなさそうな不安を感じる)
もっとgitに普及してほしい。いちいち git log でcommit id の一覧を見て...的な説明添えるのが面倒くさいので。
>>50 >フルコマンド書かないと通じない雰囲気
それで通じないとしたら、そいつはgit使ってないんだろ
かってに変な雰囲気作るな
windows持ってないので分からないのだが、
相手がwindowsの場合だと、git環境整備が異常に大変そうな気がして気をつかってzipを用意する必要があったりで面倒。
最近のwindowsだとgitはどの程度簡単に使える?まだcygwin内限定とかの状態?それともlinux同様に普通に使える状態?
>>53 GitHub for Windows でもバニラな環境は入るからそれで入れてしまえば
シェルからもひとまずは使えてそう困らない。
拡張や周辺ツールまで考えてるなら結局はCygwinやSFUみたいなのが楽かも。
実行ビットや改行コードや国際化ファイル名まで含めると微妙。
msysgitが正式版でUTF-8ファイル名対応したからだいぶマシになったよね
ExcelとかWordのドキュメントファイルまで含めてバージョン管理したい場合でも
svn使っとけば大丈夫なの?
いや、以前にそれをCVSでやろうとしてなんか痛い目にあった記憶があるので。
マージ考えない、排他ロックでいい場合は結局TFSが一番良いのかなーとも思う
んだけど、ソース以外のドキュメントファイル管理でもsvn使ってる人います?
57 :
デフォルトの名無しさん:2012/07/30(月) 00:29:07.19
いるよ。
>>56 CVSでドキュメント管理する場合の問題って、日本語ファイル名とか改行コードとかキーワード展開とか?
SVNならどれも問題ないはず。(ファイル名は設定が必要かも。)
RCSで自由自在にバージョン管理できる奴だけが「TFSでいい」て言う資格があると思う
SVNでVSの管理してるとうっかりやるのが、プロジェクトにファイル追加したときに
セーブせずに更新かけたときとかかな。
セーブしてりゃマージされるんだが、更新で上書きされると巻き戻る。
ファイルの追加なんで大した被害でもないけど。
svn update する前に気をつける、くらいかな。
まめに保存する(ctrl-Sする)とか、ビルド前に自動保存するとか、
プロジェクトやソリューションの設定を変えたらすぐに保存するとか。
VSならAnkhSVN 併用したり、MS-Officeならmsofficesvnを併用したりとか。
無難にsubにするかーと思ったが、なんとTeamFoundationServerに無料版が
出るらしいので折角だからTFSを選ぶことにした。
>>61 > MS-Officeならmsofficesvnを併用したりとか。
ありゃ、こんなもんがあるんだ、ちょっと試してみようっと。
会社が「VSSのチェックアウト管理台帳」使ってた…死にたい…
∧_∧
( ゚ω゚ ) チェックアウトは任せろー
カキカキC□l丶l丶
/ ( ) やめて!
(ノ ̄と、 i
しーJ
うちなんか日付と名前入りのディレクトリがいっぱいでバージョン管理システム使ってないorz
>>64>>66 ああ、これは「本人も誰も改善要求せず50年後も同じ状態が続く」フラグだ…
上が無能だとほんと苦労するよね
無能でもいいんだよ、邪魔さえしなければ。
無能なくせに、有能と勘違いしてる上司がマジ邪魔。
それは空気であって無能ではない
>66
うちも以前はその状態だったが、俺が一人でバージョン管理システム導入して
他の人の代わりにコミットしてあげてたら、そのうち全員が使うようになった。
ファイルのタイムスタンプで管理してる(´・ω・`)
それは最早管理とはいえない。
sf.netは10年たっても残ってそうだけど
githubが心配なんでsf.net使ってる
やっぱりそれは言語がアレだからか?w
派遣先に行く -> 放置されているsvn鯖があるので使ってみる -> みんな使い出す
自社 -> (俺を除いて)だれも使わない
何だろこの差は
githubは、gitベースのソーシャルコーディングという
スタイルに特化してる分、
そのスタイルが廃れれば、githubは消えるだろう。
そのときでもsf.netは、時久の流行りのシステムを
取り込んで生き延びると思う。
svnとかgitとか、今までもそうだったろ
自分の感覚では、githubとかソーシャルコーディングは
定着した感が強いなぁ。
といってもgithubは数年しか経ってないんだよね。
それで、ここまで来るのも凄いけど。
githubいいでえ〜
簡単にfolkして修正してpull出来る。まじ簡単w
githubの文化があと5年存続したら乗り換えよう
82 :
デフォルトの名無しさん:2012/08/27(月) 15:38:45.89
結論:githubなんかに手を出すな!
折角無料にしてくれたんだし、みんなでTFS使おうぜ
84 :
デフォルトの名無しさん:2012/08/28(火) 14:06:06.78
githubいいでえ〜
馬鹿発見器として
そのうち2ch以外の全てが馬鹿発見器呼ばわりされるな
bitbucketがシンプルなUIになって良い感じ
>>86 2chは発見するまでも無いが、本人特定が難しいからなw
「サーバの不要なバージョン管理システム」 って無いのかな
ローカルでやるだけじゃん
>>90 一人ならそれでいいけど、二人以上だとローカルじゃ済まない
GitでもMercurialでも、共有フォルダでできるよ。
>>92 そうなんだ、ありがとう
gitってサーバ立てなくてもいいのか
共有フォルダだってローカルのうちだろ
>>94 じゃあダメなの?
普通のファイルサーバを使ってバージョン管理したいんだけど
サーバ不要でローカルで管理してるだけだろう。
そのローカルのファイルの置き場所がファイルサーバにあるだけだろ?
svnはローカルでもロックファイル作るけど、gitはどうだっけな
99 :
デフォルトの名無しさん:2012/10/19(金) 00:22:03.28
共有フォルダに作ってfile:でアクセスしていたリポジトリを
file:でアクセスできるようにしたまま、後からサーバ立ててgit:とかssh+svn:とかで配信することできる?
svn でならやってる。
デスクトップでは file: で Checkout して、ノートでは svn://192.168... で Checkout してる。
リポジトリにどのプロセスがアクセスするかだけなんだから、できて当然じゃないかと思うけど。
>>100 いや、チェックアウトとか、アクセスするプロセスとか関係無いし。
リポジトリを作る方法が同じならばできるし、違えばできない(だろう)ということ。
103 :
デフォルトの名無しさん:2012/10/19(金) 23:15:31.90
Bazaar最高!
ぶっちゃけsfは広告の多さ、見づらさ、使いづらさ、レスポンスの悪さがピカイチすぎて
いまんとこGitHubに勝る点がないんだよな。なんかこう、強みが古いってだけ
Windowsのドキュメント フォルダをまるごとバージョン管理したいのですが
日本語ファイル名扱えるのってsvnしかないですよね
ローカルで管理したいのですが
仮想マシンにsvnサーバーたてるとかしかないのでしょうか
bzrでも大丈夫だよ。
でも、オフィスのファイルなどのバイナリファイルが多いならDropbox辺りを使った方がいいかもしれない。
107 :
デフォルトの名無しさん:2012/11/16(金) 19:26:03.15
同一pcで完結できるぞ
svn は file:// とかでローカルリポジトリ作れた気がする
bzrの日本語ファイル名対応は、互換漢字が全部直されてしまうから、異体字が区別できない
まあ気にならんだろうけど
bzrは開発が止まったって噂があるが?
うん。もう枯れた技術として忘れ去られる運命にある。
112 :
デフォルトの名無しさん:2012/11/16(金) 23:02:49.38
枯れた技術ってわりとポジティブな使い方をされると思うけど
TCPスタックなんかは枯れてないと怖くて使えないしね
114 :
デフォルトの名無しさん:2012/11/17(土) 00:29:44.31
中身継ぎ接ぎだらけってのもあるからなぁ。
それまでのノウハウを元に一回作りなおしたほうがいいかとも思うものもある。
今の msysgit (Git for Windows) はUTF-8公式サポートしてるから日本語ファイル名もOK
>>115 でも結局バイナリ多そうなドキュメントまるごとバージョン管理には向いてないこと無い?
117 :
デフォルトの名無しさん:2012/11/17(土) 11:18:57.90
gitは頻繁にマージすることを前提にしたシステムだから、バイナリを上手く管理するには向いてなさそう
SVNはいまいちっていうか、日本だけダントツで使用率高いあたりガラパゴスしてきてる
世界に取り残されてる感ある
分散リポジトリじゃないことのメリットってファイルロックくらいだと思うけど、
ロックしないといけないようなファイルの更新が頻繁にぶつかる事自体稀だし、
頻繁にぶつかる場合は運用になんか問題ありそうだから、そっちを見直したほうが確実
Git使ってみたけど、ブランチが全部インデックスだから早くて快適だったよ
マスターにプッシュしなけりゃいいわけだからローカルで複数作業を平行してしやすいのがステキ
>>116-117 バイナリのサイズと比率が大きいならPerforceやAlienbrainの検討を、てなっちゃうかねぇ
>>118 BSD界隈になるとまだCVS使ってるところもざらだよ…
分散型はやっぱ「手元にレポジトリ持てる」=「じっくりかつ気軽にcommit, amend, rebaseできる」のが大きいよね
>>119 cvsだとCVSROOT切り替えや周辺ツールで手元にリポジトリミラーしたりして
意外と運用で回避できるし公式にgitミラーあったりするし
やっぱり、日付フォルダが最強だろ
小学生かよ…
SVN環境でGitとかみたいな分散管理するいい方法ってないかな
最近運用都合(リリース作業とか)でコミット禁止になることが多くて、細かいコミットしたりがしづらくて適わん
ブランチは使い方わからないとかいってまったく使おうとしないし、いろいろアレすぎて…
やるとしたら、ローカルにSVNのリポジトリのミラー作って普段はそっち使って、
変更結果をマスターの作業フォルダーに手動でマージしてコミット、とかしかないかな…?
よくしらんけど、git-svn とかを使えばいいんでないの?
ローカルで git, merurial, bazzar を使い、subversionとの連携機構を使う。
全員でsubversionを止めてgit,mercurial,bazzar,perforceやbitkeeperにする。
更新が止まったsvkを使って何とかする。
svkを自分で引き継ぐ。
subversionの開発に加わって、分散バージョン管理機能の開発を手伝う。
>>105 >Windowsのドキュメント フォルダをまるごとバージョン管理
フリーなものならbzrってことでいいのかな?
>>128 MSのTeamFoundationServerExpressでええやん。無料やし。
無料やし。
分散が不要ならsvn一択だろ
Windowsへの対応も、バイナリファイルの扱いが一番上手いのもsvnだよ
いや一番かはわからんけど
ブランチが使われてないなら、勝手に使って適当にマージすりゃいいんじゃね?
132 :
デフォルトの名無しさん:2012/11/18(日) 03:27:10.29
ブランチって何ですか?
>>130 バイナリ扱うならperforceが優秀svnはギガ単位の大きなファイル扱うにはちょっと重い
Alienbrainは興味あるんだが使ったこと無いので比較できない。
だれか両方使ったことある人がいたら簡単なレビューしてもらえると助かる
Windowsって言ってるんだから、まともなのはTFSしか選択肢はないのでは?
MS の製品が全てまともだと思ってるのか…
幸福な人生を歩んできたんだな。
136 :
125:2012/11/18(日) 11:07:23.41
勝手にインスコしていいとか、自分で使うためのブランチを切ってよければそれでよかったんだけど
SVNしかない状態でどうにかできないかなーと
やっぱ手はなさそうだし、手動マージする方向で考えてみるわ…
>>127は1行目は126とほぼ同じで2行目からはただのネタじゃ
>>125はSVN以外がインストール禁止のお堅い糞職場なんだろ
一番いい解決策は転職じゃねーのw
139 :
デフォルトの名無しさん:2012/11/18(日) 13:45:29.93
今ならBazaarを自分の好きなように改造できるぞー
>135 の頭の幸せさにワロスw
使ったこともないTeamFoundationServerを頭ごなしに馬鹿にするやつは、ほぼ底辺IT企業に勤めている。
142 :
デフォルトの名無しさん:2012/11/18(日) 14:47:48.94
>>141 Windowsを使っているところが底辺IT企業では?
Windows、Microsoftつー単語で思考停止する >142 みたいなのを雇ってるのが底辺IT企業w
MSはOS「以外」には優秀なプロダクトが多い。VSとかExcelとか。
でもまあTFS使うかといわれるとちょっと微妙だけど。
多機能&大きすぎて小回りが利かない。
>>136 git-svnなどを自分のPCに入れるのをなんとか許可取れるよう説得してみたら?
サーバーに入れるわけじゃないし他人に迷惑かけないという辺りを説明して
VSSは糞だろうが
146 :
デフォルトの名無しさん:2012/11/18(日) 19:23:04.09
git-svnは糞
>>145 いきなりどうしたの?VSSで時代が止まっちゃってる人?
VSとVSSを勘違いしたんじゃないかと思う
まぁスレタイ的にVSとかはスレチだし仕方がない気はするw
>MSはOS「以外」には優秀なプロダクトが多い。
に対するVSSは糞って意味だったんだが
>>143 硬直した異様な操作性でExcelなんて最悪な部類だと思う。
Ctrl-Cを押した時のセルのまわりのちらちら四角形なんて殺意すら覚える。
スレチすまん。
Excelを越える同系アプリが何一つ存在しない事実。
しかもExcelはバージョン管理にも大いに使えるしなー。
誰もが名前を知ってる大手カード会社のバージョン管理がExcelだった悪夢。
>>136 だからよー。そのSVNでブランチ切れよ。
勝手にブランチ切るのを許してないんだろ。
どうしようもない状況なら転職が最良の解決策ってのは間違いではない
既存を常に正と信じきってしまってるところはどう頑張っても改善しようとしないからな
2chのことか
>>152-154 Mercurialのいいところは、他人を説得しなくてもいいことなので
よほどでかいソースじゃなかったら自分だけはさっさとMercurial化しちゃうのが吉。
これで仕事のストレスはかなり軽減された。
未だにCVSとかSVNとかやってられんが、Mercurial化を個人でやるには誰も困らない。
別に SVN だって個人でやる分には誰も困らんと思うが…
まさかサーバー必須とか思ってないよね?
旧式なCVSやSVNを使いたくないから、個人でなんとかできるか?って話だろ
頭沸いてるのか
svn 嫌なら、git なりでローカルリポジトリ作ればいいだけだろ。
応用力もないのか?
社内ネットワークがインターネットから遮断されてたり、
そうでなくとも自PCに何か入れようと思ったら管理者に申請&許可が必要な職場もあるんだが
うん、そういう職場は珍しくない、うちも許可が必要だし。
でも、そういう職場だと
>>156 もだめだよね。
SVNでも使いたくないとかそんなに便利なのかよ。
プロジェクトの規模がでかくてSVN遅くてたまんねぇってのはあるが。
日本は頭固い企業多いからな
しかも技術者の不勉強度も高い
SVNがいつまでも使われ続ける環境が多いのは、新しい技術に手を出す層がいないからだと思う
>>161 そこだけは根性出すしか無い。
これは開発に必要なツールです(キリッ
あんたが変えることを諦めたらその会社では30年後もsvnのままだぞ
まて、お前がSVNを分散型に改造すれば良いんじゃないのか?
svkを引き継いでくれたら嬉しいんだけど、svnがローカルコミットに対応するほうが早いんだろうなあ
SVNを利用してるのはTortoiseSVNが神なうえに、バイナリにも強いからでしょ。
プログラマ以外がエクセルとかコミットするのにもお手軽。
gitはよく名前みるけど、乗り換えるほどのものなのかイマイチ印象が。
SVNだとブランチきって、ある程度の段階でマージとか分散チックにも出来ると思うけど
やっぱサーバーのパフォーマンス次第になるんかね。
1度使ってみるか。
Subversion で、チームのリポジトリと別に、ローカルにもリポジトリを作って作業してる。
それぞれに作業コピーを作って、ローカルのリポジトリの作業コピーで作業してる。
それぞれの作業コピー同士を WinMerge でマージして、それぞれに Update/Commit。
実験的ブランチをホイホイ切れるので気が楽。
作業ミスしてお釈迦にする悪寒。
VCS使ってるのはプログラマだけじゃないからなぁ
デザイナやら企画屋やら広報やらみんな使うんだし、
結局そのプロジェクトに参加してるメンバー全員のツールに対する
理解度考えるとSVNを選択することって多いよ。
プログラマは当然git使いたがるけど、プログラマ以外の人達に
採用を納得させるだけのアドバンテージがsvnとgitの間には無いんだよな。
173 :
デフォルトの名無しさん:2012/11/26(月) 10:33:20.39
公式用と俺様用で別のVCS使うと間違える可能性がかなり減らせていいぞ
そういう意味ならgitの方が良くね?
は?
gitはVCSじゃないとでも?
svnよりgitの方がってことだろ。JK
そんなこと、>170以外はみんな判っていることだけどな。
177 :
デフォルトの名無しさん:2012/11/26(月) 12:10:07.43
gitってバックアップにも使える?
ネットワークドライブ上のフォルダをレポジトリ?っていうの?
ローカルのディスクをワークスペース? っぽくして
バージョン管理兼バックアップしたい
ok
ゲームのセーブデータのバックアップに最適
Gitの作業フォルダにゲームをインスコして、コミットしまくると完璧
gitはバックアップとして使えないよ。
push -fすれば全部パー。
そらそうよ
SCMはSCMであってバックアップツールでもアセット管理ツールでもないからなぁ
いや、「push -fすれば全部パー」だし、「rm -rfすれば全部パー」だよ
「SCMはバックアップツールにはならないけどちゃんとしたバックアップツールは別にあるので買いなさい」
は違うんじゃないかと
resetしたら負け
SCMとは別にバックアップしてたって、そのバックアップ先でrm -fしたら全部パーだろ
消去不能な外部メディアを使えってことなのか?
俺の場合gitのリポジトリは複数の場所に複製が勝手に作られるんで、
手元でpush -fしても全部パーにはならない
186 :
デフォルトの名無しさん:2012/11/26(月) 14:30:00.64
>>185 > 俺の場合gitのリポジトリは複数の場所に複製が勝手に作られるんで、
> 手元でpush -fしても全部パーにはならない
?????????
>186
馬鹿ですね
わかります
>185
ネットワークドライブ側のバックアップを世代管理しとけば良いだけの話じゃね?
>>187 まあ、世代管理みたいなもんだよ
ただバックアップツールとか使わず、gitだけでやってるってだけで
>>187 force updateをご存知ないようで
>>190 git gc(prune)でリビジョンが破棄されるということを知らない馬鹿が出来る信じていた。
破棄されるのはrebaseとかしてどこからも参照できなくなったリビジョンだろ
根っこが勝手にpruneされたらそっちの方が問題だわ
>>192 push -fしたら元のブランチのリビジョンが破棄される。
>>185 が具体的に何をしているかわかないが、fetchしているとしても、
そこでも元のブランチのリビジョン破棄される。
特定の人のみがpushする、かつpush -fは使わないって運用前提なら問題無いのでは?
じゃあ
>>177みたいなのはできないってことか・・・
横着せずちゃんとした同期ソフト買うか
馬鹿と鋏は使いよう
いいこと聞いた
コミット権限持ってるあのレポジトリとかこのレポジトリとか全部push -fでぶっ壊してやろうかねぇw
ブランチが消えても実際にコミットがgcで消えちゃうまではかなり時間があるから戻すのは簡単だし、
どこにもcloneされてない孤立して放置されたレポジトリでもない限り、
とくにダメージは無い。
>>197 別にいいんじゃね
あんたに権限渡したプロジェクトが悪いんだから
hgならpush -fしても何も消えることはないから安心
gitのpushは次のリリースで仕様が変わるんじゃなかったっけ?
gitは使ってないからよく知らないけど
git はpushの仕様が怖くて、試しで使ったプロジェクト限りで封印してる……
まだSubversionから離れられない……Mercurialのマルチバイト対応はまだか……
Bazaar でいいじゃん。
>>193 gitはpushされるほうがreceive.denyNonFastforwards = trueなら、push -f は拒否られるんじゃ無いの?
この指定も無視する方法あんの?
205 :
デフォルトの名無しさん:2012/11/30(金) 14:16:38.19
>>205 自分で用意したリポジトリなら設定できるだろ?
あと、master以外はブランチごと削除して置き換えるとかできるから、
receive.denyDeletes = trueも設定しとけばいいのか
207 :
デフォルトの名無しさん:2012/11/30(金) 18:56:50.16
gitとmercurialって、どっちが強いの?教えてエロい人
イデオン
最初の敷居の低さではhgだろ
gitは自由度が高すぎるというかVCSでは避けたいことも簡単に道を踏み外せるし
熟練者にとってはそれが魅力なんだろうが
210 :
デフォルトの名無しさん:2012/11/30(金) 19:32:27.03
gitは無茶やってもリカバリーできないことはほとんど無いし
ちゃんとリカバリーできたかどうかもわりとはっきり確認できるし
その辺まで仕組みが理解できればわりと快適
212 :
デフォルトの名無しさん:2012/11/30(金) 21:25:42.03
>>211 ドカタにそれが理解できるのが何%いるのだろうか?
チームにはアホもいるからmercurialと言いたいが
以前真性アホがいてsvnよりvssのほうが良かったとか言い出しやがったからな
gitの敷居はVCSの中でも低い方だと思うの
導入は楽だわな
アクセス制御もユーザーアカウントもないんだから
ただ、運用となると
アホがひとり混じる→誰かが直してあげる
と言うコストが発生してしまう
アホには無理
この業界アホが増えてきたからちょっとしたスキルが必要なものも採用に躊躇される、って会社は少なくない気はする
スキル重視な会社少なすぎじゃね…
うちの会社でも検討したが、gitはややこしすぎて無理。
mercurialでもかなりギリギリって感じ。
プログラマのチームだったら、そんな理解力でまともな製品作れるのかと思うことしきりだが、
まぁ俺マじゃないからどうでもいいや
そして
>>218の会社では大量の日付つきzipファイルが
zipなら未だいいよ。
某所の開発用端末には日付けフォルダが多層化しちまってる。
カレントにある日付けフォルダごと別の日付けフォルダにコピーする馬鹿って何考えているんだろうね。
自分の部屋も整頓できないタイプだな
だから Windows 8 のスタートはあんな風になってしまったの
subversion導入だけでも半年以上掛かったからなぁ。
mercurialは1年以上は掛かるな。
年月がかかっても導入される事例はあるんだな
希望は捨てずにいようと思う
何かBazzarが最近オチ担当みたいになってて笑える
>>218 プログラマだってツールへの習熟度は大事だって。
理解すれば大丈夫なことでも理解間違いがあってレポジトリが壊れると怖い。
壊れなくても復旧に時間が掛かる状況はなるべく避けたいし。
Bazzar は変態用だからな
っていうか技術に興味もたない職業マが増えすぎて、スキルレベルがわりと酷い
とくに中途半端な大手やそのグループ企業のマの質は劣悪
いつと比べて増えたって言ってるんだ。昔から底辺は広かった。
昔は、ある程度のスキルが有る連中しかバージョン管理システム使ってなかっただけだよね。
そんなのあるの知らない人が多かったという。
VSSが馬鹿を増やした
しかし、VSSでも神と呼ばれた時代があった。
問題は「VSSは良い物だ」と言う考えを変えられなかった人達にある。
数年前にMS自身がVSSを放棄したことで、このスレに来たって人も居るんじゃないかな?
俺だ
VSSでもなんでも、バージョン管理してるだけで
してない連中の200倍は偉いだろ
俺にとっては「21世紀のRCS」でしかないが、まあ使ってない奴らよりは少しだけマシ>VSS
235 :
デフォルトの名無しさん:2012/12/05(水) 01:19:55.57
GitがSVNを駆逐できないのってなんで?マイグレーションパスも用意してるのに。
日本語対応に問題があるのはわかるけど、英語圏でもまだまだSVNが使われてるよね。なんでだろう。
236 :
デフォルトの名無しさん:2012/12/05(水) 03:59:01.72
移行コストに見合うメリットがないからじゃない
SVNで十分とも言える
オフラインで作業する人がいない
>>235 gitに移行することよるデメリットの方が大きいから
デメリットkwsk
>>239 ・ファイルのコピー・リネーム
・空っぽのディレクトリ
・ブランチの違い
それが「大きいデメリット」なんだ、へー
243 :
デフォルトの名無しさん:2012/12/05(水) 10:14:15.24
空っぽのディレクトリは確かに大きなデメリットだ
ディレクトリに何かファイルを置くというバッドノウハウはあるけどな
このディレクトリは削除しないでください.txt
管理させてるソースがGPL汚染されそうで怖いとか?
IDE組み込みの存在じゃない?
最新のやつを使えない事情があると、svnはあってもgit無かったりするし。
なんだかんだ言って、Windowsで気軽にgitを使える環境が事実上存在しないのが問題。
ちょっとググったんだが、WindowsではいまだにmsysGitしか無いのか?
プログラマーにとってGitは便利だけどデフォルト状態で出来ることが多すぎて、スキルレベルがまばらな多人数チームでの運用は難しい。
プログラマー以外が多い職場ではGUIがまともなSubversionか、分散型ならデフォルトで出来ることが制限されているMercurialを使ってるとこが多いと思う。
個人的にはGitを使ってるけど「Gitだけあれば万能!」って事は今のところ無いと思う。
>>240 追加
・ユーザーアカウント
・アクセス権制御(フォルダ単位ファイル単位)
・ファイルロック
単に学習意欲がないからだろ
SVNもコミットとログ閲覧くらいしか理解してない奴ばかりだし
日常的なワークフローが、コミットとログ閲覧で充分ならSVNから他へ乗り換える理由もないからな。
それだけをうまくやれるフロントエンドあってもよさそうなもんだけどな
素のインターフェースを使ってもらうとステージングやマージではまってよく呼ばれる
255 :
デフォルトの名無しさん:2012/12/06(木) 01:11:50.49
git submodule では svn:external の代替にならんので移行できずにいる。
>>250 結局まともなGUIが無いことが大きいんだよな
デザイナにGUIが無いけど機能的にはいい物なんだなんて説得は通用しない
それに対してAlienbrainへの食いつきは凄かった。
まぁMayaやフォトショップ上で過去バージョンが確認出来るとか、
デザイナにとっては有効なものが多いから当然かもしれないけど。
デザイナが作ればいいじゃん。
作らないでないないとか知らんわ。
プログラマは現状で問題ないし。
世の中には想像を絶するアホがいるものだなぁ・・・・
259 :
デフォルトの名無しさん:2012/12/06(木) 17:56:33.12
あるコミュニティにとって使いやすいものが別のあるコミュニティにとって使いやすいとは限らないだけのことだろ
M$ならcvsとsvnは恐ろしく使いやすいからな
俺はgitが必要になるようなことやらねえし
3年ほど前だがgitは導入が糞まんどかったが改善されたのか?
>>259 3年ほど前: apt-get install git-core
今: apt-get install git
大幅な改善!
261 :
デフォルトの名無しさん:2012/12/06(木) 18:54:15.37
>>259 > あるコミュニティにとって使いやすいものが別のあるコミュニティにとって使いやすいとは限らないだけのことだろ
> M$ならcvsとsvnは恐ろしく使いやすいからな
Bazaarは?
コマンドラインだとなにもできないレベルのにわかコード屋も増えてきてるからなぁ
つってもGitでGUI欲しいならとーたすでいいんじゃないのって気がするけど
コマンドラインで自慢とかw
CLI使えない奴には自慢に聞こえてしまうわけですね
CLI使えない奴には自慢に聞こえてしまうわけですねw
266 :
デフォルトの名無しさん:2012/12/06(木) 21:10:13.53
大事なことなので
CLI使えない奴には自慢に聞こえてしまうわけですねw
顔真っ赤ですけど、そんなに悔しかったの?
mercurialで日本語が使えないという誤解
Winで統一されてるならTortoiseHgが鉄板
TortoiseHgはTortoise系の中では一番完成度が高いね
日本語ファイル名がUTF8で通るようになったら、Windows系の案件で使ってみたいところ
>>271 うん
実はTortoiseHgってTortoiseの名前は付いてるんだけど、かなり拡張されててねw
別物と思った方がいいw
>>269 ファイル名に「表」だとか「ロ」(カタカナ)が含まれてるとだめなんじゃない?
>273
ディレクトリ名の最後の文字が「表」「申」「能」だとだめだな
Macの日本語ファイル名も大丈夫なの(´・ω・`)?
俺の調査では、Subversionユーザのうち、ちゃんとrenameが出来る人は4割、
mergeが出来る人は1割しか居ない。
うん。
よく「>>>>>」がついたままのファイルがチェックインされてるわ。
コマンドライン操作って自慢する事だったのなワラタw
うちの職場でも、ソースコードの移動やクラス名変更に伴うリネーム時に、
移動とか使わずに削除して追加してたりする奴が後を絶たないわ
酷いやつになると、デバッガの繋ぎ方すらわからず、Alertさせてデバッグ()してる馬鹿もいたりするし…
こんな職場じゃGitとか絶対無理だろうなーって思っちゃう
>Alertさせてデバッグ()してる馬鹿
そうやって人を見下す暇があったらだな…(呆
馬鹿には無理
printf("ここは通過\n");
デバッガ繋げる環境でアラートデバッグとかはさすがにないわな。
>>270 CVS のときも亀が吸収していたし、なんとかしてほしいね。Bazaar は望み薄だし。
>>277 正規化はもう簡単な解決は諦めて、文字ごとにどれかに寄せて管理することにしないとダメなんじゃないかなぁ……
>>285 望み薄どころか、Bazaar自体がもう開発終了してる
ぼくBazaar好きだったんよ(´・ω・`)しょぼーん
TortoiseHg の日本語マニュアルだれも更新してないのか?
簡単すぎていらんだろ
>>287 Wikipediaより
> 最新版 2.5.1 / 2012年5月30日(6か月前)
> 最新評価版 2.6b2 / 2012年7月24日(4か月前)
終…了?
それ英語出来ないアホが流したデマ
アンチTDDのロシア人が開発辞めるポストをML
でしただけ
開発が終了しただけで、使用できなくなるわけでもなければ配布が終わるわけでもない。
派生元のサブディレクトリと同じに見えるブランチとか
設計がダメすぎるから滅びるのは当然
かちゅ〜しゃ使いから見れば、開発が終了してからこそが本番といえる
かちゅーしゃ使いだがソース管理はGit派だ
悪いな、俺は先に行くよ…
Gitなんて7年も前のツールだろ
時代遅れ
Linuxなんて20年も前のOSだろ
時代遅れ
やっぱり今はWindows8だね
DOSがウィンドウズの1アプリになったように、デスクトップがウィンドウズの1アプリになった。
しかし、可愛いおばさんだな
開発責任者が変わるというのは、もうどこのコードのせいか分からなくなって、直せないバグが山ほどできることと同義
まあ、ドキュメント通りにプログラマがコードを書いているとは限らんしな。
>>305 それはプログラマを罰するべき話であって
プロレスラー
なんでhg qpush失敗してしまうん?
失敗しないよ
Git初心者なんだけど、クライアントはsourceTreeでいいんか?
なんか日本語対応されているとか知って使ってみたらもろ機械翻訳なんだけど・・・
馬鹿には無理
312 :
デフォルトの名無しさん:2012/12/25(火) 00:39:04.30
Subversion1.8でローカルコミット対応するっていうからwktkしてたのに
機能開発が遅延して1.9までおあずけになっちまったようだ・・・。
だがもううちの職場もGit乗り換えだわ
バイバイSVN
315 :
デフォルトの名無しさん:2013/01/21(月) 14:11:52.54
>>310 ちゃんと翻訳者に投げろと言ってやって下さい。作者が遠慮して機械翻訳で済まそうとするので、
却って手間がかかってたり…^^;
Android系だとgitとかrepoとか覚えないといけないみたいですね。
とりあえずrepo syncに鬼のように時間がかかっている。
317 :
デフォルトの名無しさん:2013/03/27(水) 22:39:07.84
GitはZFSと合わせて運用しないと危ないZE!ってことだな。
Linusは、OracleのbtrfsをポイしてZFSをくれって言おう!
319 :
デフォルトの名無しさん:2013/05/13(月) 00:07:09.45
VSS6.0はUnicodeファイルを壊す事があるんですか?
VSSは2005からUnicode対応だったはずだが、それ以前のバージョンでどういう挙動になるかは知らない。
>>319 バイナリで登録すれば問題ない
テキストで登録すると変な改行が挿入されることがある
ちなみに変な改行が挿入されるのは
日本語で終了する行のうち
一部の文字で終わる行だけだったはず
324 :
デフォルトの名無しさん:2013/06/22(土) 21:54:33.64
Subversion 1.8.0 age
バージョン管理のセオリーについて初心者質問いいすか?
branchを作る場合、trunkの作業コピーを置くフォルダと
branchの作業コピーを置くフォルダは分けるべき?
それとも、いろんなバージョンの同名ソースがあちこちのフォルダに
入り乱れるのは混乱の元なので、trunkの作業コピーを削除して
同じフォルダにbranchのファイルをチェックアウトして作業するべき?
svn?
svn switchでいいんじゃ?
作業コピーは作業者の好きにしたらいいんじゃねの?
なんとなく、svn, bzr は前者、
hg は後者、って感じがするが…
328 :
325:2013/07/15(月) NY:AN:NY.AN
ありがとうです。使用ソフトはsvnです。
なぜこんなことを聞くかというと、
branchが完成してtrunkにマージする際、
trunkの作業コピーに対してマージが行われると
ヘルプにあったためです。
マージに必要であるということは、trunkの作業コピーは
消してはいけないのでは?と思った次第です。
亀だが、質問内容が違うやん。
330 :
デフォルトの名無しさん:2013/08/18(日) NY:AN:NY.AN
gitで共有リポジトリの作成とリソースの初期コミットを1回のコマンドでできますか?
やっぱり、初期コミットもローカルリポジトリを作ってからpushするしかないのかな?
お望みの機能はないけれど(っていうかbareリポジトリは作業ツリー持たないからコミット出来ない)
pushをしない、って目的を達成するだけなら、最初はローカルリポジトリだけで作って、
共有の必要が出た時にcloseして共有するためのbareリポジトリを作るって手もあるよ
332 :
デフォルトの名無しさん:2013/08/21(水) NY:AN:NY.AN
>>331 ありがとう!おかげさまでわかりました!!
私が知りたかったことは、Gitのスマートな共有リポジトリの作り方でした。
今まで、共有リポジトリ作った後にローカルリポジトリを作るという固い頭になってました。
考え方は逆で、ローカルリポジトリで共有リポジトリにしていい状態まで整備して
「$ git clone --bare {ローカルリポジトリパス}」ってやればいいんですね。
closeのスペル違いには「そんなコマンドあったんだ」と騙されましたがw。
typoだ許して
あと今更だけど、リモートに空bare作っておいて、ローカルで新規にリポジトリ作って、
最初のコミットを行った後にリモートへpushしたほうが多分楽だと思うで
pushならローカル→リモートの通信ができればいいが、リモートからcloneする場合リモート→ローカルの通信必要だから
後者のリモートにローカルをcloneするほうが、前者よりも面倒な事が多いと思う
コンパイルしたバイナリファイルはバージョン管理に含めないのが普通?
コードの書き換えでバイナリサイズが減ったか知りたいんだけど
これはバージョン管理システムでやることではない感じ?
ローカルでやるぶんには好きにやれとしか
公開するならコンパイル後のファイルは含めないのが普通。そもそも環境毎に違うしな
git notesとかそういうのにサイズをメモっていくのはどうだろう
なるほどね
ありがdクス
一番ナウくてイケてるバージョン管理システムって何ですか?git?hg?
>>337 > そもそも環境毎に違うしな
コンパイル日時を埋め込んだりするから、環境同じでも異なることが多いよ。
俺は客に出す時にソースとビルド出力一式圧縮して別にコミットしてる
バイナリは入れないのが普通だろJK
ソースがあるんだからビルドすればバイナリ出来るんだし
そんな事をやっているOSSは見たこと無い
大体そんなものを入れたらマージする度コンフリクトするだろ
>>343 > ソースがあるんだからビルドすればバイナリ出来るんだし
これで、いつでも誰でも簡単にリリース時のバイナリを復元できると思ってるなら、考えが甘い。
> そんな事をやっているOSSは見たこと無い
OSS以外の事情は考える気もしないのかな。
バイナリなんかバージョン番号をつけたzipで良いじゃん
社内で一部にJNI使ったJavaライブラリを開発使用していて、これに関してはCのコードから
生成されるネイティブバイナリもソースツリーの一部としてバージョン管理に入れている。
これはCの部分を直接触る人は開発チームの中でもごく一部で、他の人は触るにしてもJavaの
コードだけでJNIは必要なネイティブバイナリを落として使えればよいという事情なので。
Cのソースを弄ってVCSにプッシュするとJenkinsがそれを本番環境と同じ環境でコンパイル・
テストしてネイティブバイナリを生成、VCSにプッシュし直している。
ただこれはこのライブラリに限った特殊事情で基本的にリリース版のビルド出力の保存管理
はArtifactoryで行っているかな。
画像ファイルや音声ファイルもバージョン管理には含めないもの?
巨大なファイルならともかく、ウェブアプリ等の開発であればページに貼り付ける
固定画像の類は普通はバージョン管理に含めると思う。
上で議論になっているのはバイナリテキストの違いではなく、既にバージョン管理
されているソースファイルから生成できる物もバージョン管理に含めるか否かかな。
実際は事情によって色々。
画像ファイルの件でいえば単にpngやjpeg画像ではなく、それらのエキスポート元で
あるイラストレーターやフォトショップのファイルもバージョン管理に含めている。
画像の修正には必須なので。
他方でpngやjpegはイラレ等の元ファイルからいつでもエキスポート出来るとはいえ
これらをバージョン管理に含めないということは無い。デザイナーさん以外の多数
はエキスポートされたファイルしか必要としていないからね。
>>346 だよなぁ。
アーカイブなりインストーラなりを、ファイルサーバに置いとけばOK
マッスルポーズ
> バイナリなんかバージョン番号をつけたzipで良いじゃん
ソースなんかバージョン番号をつけたzipで良いじゃん
これを本気で言い出す人がいて困る。
diffやマージに意味があるかないかの違いがあるだろ
>>353 VCS使ってても、数日に1回くらいしかcommitしない奴が言いそう
書きかけのものでもコミットしたほうがいいの?
foo(a + b + bar(c
という感じに開き括弧までは書いたけど(複雑になる予定の)引数や閉じ括弧書いてないのとか
(その日はそこで作業を中断せざるを得なくなった事態が生じたとケースを想定して)
A. この状態でファイル保存とコミットすべき?
B. この状態でコミットはせずファイル保存だけすべき?
C. 書きかけの行を削除してからファイル保存とコミットすべき?
D. 書きかけの行を削除してからコミットはせずにファイル保存だけすべき?
コミットとは動く状態のソースコードに対してのみ行うべきなの?
Subversion でいえば trunk は動く状態のみにすべき。ミスはしゃーないけど。
動かないものは branch を切ってそちらへ。分散 VCS ならローカルは好きに、外部には動くものだけ。
okわかった
ありがと
自分しか使わないならどうでもいい
他の人も使うならビルドは出来る状態にする
コンパイル出来ないバージョンを公開することで、他の開発メンバーを混乱させることができる
しかも会社から解放されて自由になれる
書きかけの状態を管理したい時ってまぁないなあ
書きかけとはちょっと違うけど、終電ギリギリでなんとかコミットしようとして
ビルドは出来るけど、くだらない不具合残したままコミットした事がある
条件判定が逆になってるのと、除算の右辺左辺が逆だった
終電がコミットの基準になってるとか変なルールだな
少なくともbranchは切るよな。
まぁでもコンパイル通らないコードもどんどんcommitするなぁ俺は。
個人的には380に同意だわ。
なんでわざわざ>380にパス出すかなw
書きかけ中断はGitならstashかcommitして後で修正
Mercurialならmqでパッチ化かな
>>368 野暮だけど
どう読んでもgitスレの380だろ
>>370 んなもん、判るかいw
それはさて、bzrで書き掛けなら棚上げ(shelve)だな。
360のタイプミスかと思ったがそっちの380だったか
gitはcommitだけじゃ公開にはならんけどpushしたら今までのcommit全部上げられるから書きかけのcommitはそれはそれでどうなの
俺はわかるけど
意味わかってるからこその「何言ってんのコイツ」
日本語の文章としておかしいのに意味分かるとかエスパーかよ!
squashしてからpushすればいいよ
> gitはcommitだけじゃ公開にはならん
> pushしたら今までのcommit全部上げられる
> 書きかけのcommitはそれはそれでどうなの
どこの意味が分からないんだろうか。
書きかけのcommitを放置したままpushするってそれはそれでどうなの
って言いたいんだが……
ミスではなく意図的にそんなことやっている事例があるのなら教えてほしい
少なくとも
>>365で参照されている範囲では読み取れない
> masterにマージする段階でテストされていればよい。
とどのつまり
Linuxのワークフローと同じじゃないか
masterにマージするのは権限を持つものだけが行なえる
みんなmasterを改変できる権限を持つから取り決めが必要になる
一部分だけ変更できる権限とかを各人に与えられるようになるといいのにね
gitならsubmoduleに分けて、それぞれ権限を分割すればいいんじゃね?
>>373 全部じゃなくて一部だけpushすればいいだろ
まあついpushしちゃうこともあるから
ちょっと長めの修正作業になるときなんかは
pushするブランチから別のブランチを切ってそこで適当にコミットしながら作業
公開してもいい状態になったらコミットを整理整頓しながらpushするブランチにマージ
その後pushとかすればいいんでない
Subversionがさっさとshelveを実装しないから・・・。
1.8で実装されるはずだったのに。
393 :
デフォルトの名無しさん:2013/10/21(月) 19:33:59.42
今まで、ひとりで自己流でWebサービス作って来たんだけど、
1人で開発するときでもGitみたいなバージョン管理システム
って必要あるの?
先祖返りとか上書きの予防なら、Dropboxだけでもいいような。
コミットメッセージを適当に書く奴には価値がわからない
395 :
デフォルトの名無しさん:2013/10/21(月) 19:49:38.14
>>394 ああ、なるほど。
Gitは、どこを誰がどう直したかを全部記録しておくためのツールなのか。
ソース内のコメントでやろうとすると、ごちゃごちゃになりがちだし。
今俺何修正したっけ?ってのを簡単にdiffとるために使ってる
コメントにごちゃごちゃ履歴を書いてるのって絶対に古いバージョンに戻らない。
ときにはコンパイルすら通らない。
何か問題が起きたときに、以前のバージョンで正常に動いていたなら
正常だったときのコードを取り出して比較できるので
いつから問題が発生したのか、どこをどう直したせいなのか調べるのに役に立つ
>>395 社内プロダクトで、プログラマは実質俺一人な場合があるけど、そういう時でもTicket切って
コミットコメントにはrefs #1234とか書いて、Redmineと統合してる。
未来の自分のためにツール使っとくのがいいよね……
つうかよくバージョン管理無しでコード書けるな。
って思うよ。使い方わかると。
バージョン管理無しでコード書くのはセーブなしで RPG やるようなもんだ。
>>402 うちの会社の別チームは、たまに「先祖返りがー」とかまだ言ってる。
一応ことあるごとにSCMを導入しろと言ってるんだが、聞く耳持たない。
そのチームはリリースミスもたまにやらかすわ。
>>400 一人自営だが、全く同じ
これは依存症かもしれんが、もうRedmineとSVN無いと不安で仕事できないな
>>403 理解できない人には駄目みたいね
客先に打合せ行った時に「最新のソース下さい」とか言ってるの漏れ聞くと、もうアホかとバカかと
別の会社で協業した時には俺が半ば無理矢理VSSを導入させたんだが、
数年後に訪れて見た別案件では1ヶ月前に全ソースチェックアウトしたままで作業してた
途中何度もリリースしてるのにもう完全放置状態
SCM(も自動テストも)をやってない人達が言いがちなセリフ:
「前はちゃんと動いてたはずなんだけど・・・」
前に戻ることもできないし、テストもできませんから。
過去のコードが全部コメントで残ってたりするわけだw
>>406 それを強要してくるクライアントも未だ未だ多いよ。
履歴と過去のコードを全て消したら1/3になったりする。
>>406 そして、そのコメントアウトした過去のコードが
同じ箇所に色んな日付のコードが混じったり
同じ日の変更が多数のファイルに渡ってて
特定の日付の状態を再現するだけで小一時間掛かって
やっと戻ったと思ったらあれれ動かない、と
戻す作業ミスったかな?と思って原因調べていったら
実は戻しの作業はミスってなくて自社ライブラリのバージョンだったりするんですね
昔、バージョン管理ソフト導入しているのに
コメントで履歴を残しているプロジェクトに遭遇したことあるけど
誰も不思議に思わなかったのかなぁ
You can't be serious!
エクセルで管理してる情報が面倒なんだよなぁ
マージとかができないし……
>>412 理由は?
旧来のやり方しか知らないリーダーの説得に疲れはてたとか、そう言うポリシーのお客さんのコードは修正してるとか、辺りしか思いつかない。
何かしらの理由でバージョン管理システムのデーモンが稼働してるサーバに繋げられない時でも
ロールバックが出来るっていうメリットはある
投げ捨てろよそんな中央集権システム
>>413 Excel で管理したがる人って下手すると内容よりフォーマットに凝ってたりするし...
>>415 コメント頼りにロールバック?
日付フォルダ管理の方がマシじゃね?
>>415 分散型ならローカルで戻すだけだと思うがな
>>409 ファイルを選択して履歴を見れば良い
と誰も思わなかったのが不思議
>>414 クソ仕様のクソコード引き継いだとき残したな。
しかも一から書き直せないとか。
何が合ってるんだか合ってないんだか曖昧みたいな。
ブランチの差分だと、変更点が多くなってくると辛くなってくるじゃない。
普通の仕事だとまずないけど、極端なケースだと無くはないって感じ。
何かいい方法ないかな。
sjisのtexと
utfのtexを統一してバージョン管理する方法ないですか?
>>422 gitの思想としてはrepositoryに保存されるのはバイト列であって処理する方で加工しろということだと思う
適当なフィルタを通せばいいんじゃないかな?
<.gitattributes>
*.tex diff=nkf show=nkf blame=nkf
<.gitconfig>
[diff "nkf"]
textconv = nkf -w -d
[show "nkf"]
textconv = nkf -w -d
[blame "nkf"]
textconv = nkf -w -d
424 :
423:2013/11/02(土) 21:15:06.40
すまんgitスレだと勘違いしてたわ
個人開発でバージョン管理ソフトを使う場合
開発のどの段階からバージョン管理ソフトを導入したらいいの?
まだファイルもない開発の始めから?アルファ版が出来たくらいから?
それともベータ版やリリース版が出来きたくらいから?
それとも実験的な改造したくてブランチ切って作業したくなったとき?
>>409 プログラムでソースを解析する時に目印が有ると楽じゃん
>>425 自分は最初から
この実装糞だからやっぱやめるわ、となった時に捗る
俺も最初からだね
たとえソフトの開発を途中で諦めて完成しなかったとしても
後々別のソフトを開発するときにコードの一部を再利用できるかもしれない
そんなに容量取るもんじゃないし
少しでも書いたものはバックアップも兼ねてリポジトリに放り込んでおく
同じく。空っぽの関数書いただけでもとりあえずコミットしておく。
「コミット」の意味が、svnユーザとgitユーザでちょっと違う
どう違うんだい?
svnでのコミットは
gitでは公開リポジトリへのpushに相当するのかな
それはちょっとどころじゃないね
435 :
デフォルトの名無しさん:2013/11/15(金) 21:23:09.71
436 :
425:2013/11/16(土) 00:30:20.28
>>432 と言うか、途中まで使わない理由がわからん
バージョン管理システムの存在を知っていて、いつでも導入可能の状態であるのに、「開発の途中から使う・開発の途中まで使わない」理由が分からない
という意味です
バージョン管理システムの存在を全く知らなかった人や、システムの導入が困難な状況にあった人が、「開発途中から使い始める・開発途中まで使ってない」理由が分からないわけではないのです
cvsや昔のsvnだとディレクトリの再構成やりにくいしサーバー設定いるしで
概形はかたまってからバージョン管理始めたいって気持ちも分かる
gitやhgだとなんかするときにまずgit initしときゃいい
>>440 > 昔のsvnだとディレクトリの再構成やりにくいし
いつの話だよ...
> サーバー設定いるし
レポジトリはローカルファイルシステムにも作れるぞ
>>433 個人でローカルリポジトリでやるならコミットに差は無いのでは?
ローカルで1人でも差分管理が楽だからやる価値はある
>>442 gitのローカルリポジトリへのコミットは
後でコミットを複数に分解したり複数のコミットをひとつにしたり
もしくは内容自体を修正するつもりで作ってもいいからね
svnの場合はローカルリポジトリ用意してもそういう使い方は面倒
ブランチ切っときゃ何やったってダイジョウブだろん
一人でやるならsvnよりgitやhgのが手軽だよな
会社の縛りでもない限り、もはやsvnの意味無しだね
447 :
デフォルトの名無しさん:2013/11/16(土) 21:56:10.35
capistrano 3 がsvn対応を外した(後回しにした?)のが個人的には印象深い。
>>445 svnは最近触ってないけどコミットのrebaseは出来るようになったのん?
リポジトリをdropboxにおけばいろいろ楽チンだよう、まあお一人様でやっているからだけど
自動同期とかなんか怖いんだよねdropbox、だから導入できないわ。
だからオープンソース用のリポジトリサービスでいいかなって
「dropbox リポジトリ」でググると結構あるね
dropbox使ったgitリポジトリの話多いけど、ローカルに同じリポジトリを2つ保持するってことになるのか?
Dropbox+hgならやってる
ローカルに同じリポジトリが2つあるんだけども
Dropbox側はinitはするが、生ファイルが必要無いので.hgだけだな
gitで同じかどうかは知らん
あと、俺はDropbox使用マシンが全て常時接続してるからいいが
同期が切れるマシンが存在するなら
Dropbox同士でコンフリクト起こした場合が面倒そうだなw
Dropbox+bzr なら checkout/bind 使ってリポジトリ1つで push/pull なしでも運用できる。
通信気になる環境なら unbind で切り離して、何回か comitt した後でまとめて push できる。
割としょっちゅう「これ bind されてるっけ?」って気が気でなくなるので、お勧めできないが…
その点、bzrなら融通が利くじゃんw
一人で使う場合、ブランチ作るまでもないから、GitやMercurial使う必要性あまりない
途中までやってて、「やっぱこれらの変更全部なし」にしたいってとき、ブランチ捨てるだけってのは簡単なんじゃないの
前のリビジョンとかまでに戻すのって結構簡単なん?
ローカルのみで使う場合とか一人で使う場合はなおさらGitやMercurialを使うデメリットが
思いつかない。
>前のリビジョンとかまでに戻すのって結構簡単なん?
そんな難しくはないけど、
でもブランチにしておいて「もうやーめた」と放っておく方がなお簡単。
とにかく何かするときにはとりあえずブランチって習慣にしてればだけど。
>>459 ローカルで1人だとIDEに統合されてるやつがいいね
>>461 つまり、IDEに組み込めるgitやbzrがいいわけですね?w
しかしIDEはまだまだタコなとこ多いから、結局専用アプリとコマンドライン併用になりがちなんだよなー
Dropbox+hgはやってるわ、Dropboxが自動pullとバックアップしてくれてると思うと便利
誰か、Dropboxの代わりにBittorrent Sync使ってる奴は居ないのかな?
それはsvnに加えてgitやmercurialに習熟してる場合だろ
ブランチを使わない作業フローなら、svnから移行するメリットない
>>465 まぁそれもgitやhg以前に既にsvnに習熟していてブランチ切らない縛りがある場合。
これからバージョン管理を使ってみようという人であれば今更あえてsvnを選ぶメリットも無い。
作業フローについてもブランチをガンガン切るやり方から初めても良いよね。
>>467 svnの中央集中リポジトリ型の方がシンプルで布教しやすいというメリットは依然としてある。
(え〜)
gitはgit initするだけでどこでもすぐ使えるんだけどsvnもそんな感じなの?
hgもhg initするだけでディレクトリがバージョン管理下に入るな。
svn・・・svnadmin?
巨大バイナリを扱うならsvnしか選択肢がないだろ
もちろん分散も含めてハイブリッド環境にするべきだろうけど
つうか、ホントにsvnを知らないアフォが増えてきたな・・・
gitだけで別に困らないし
巨大バイナリをバージョン管理するのなんてやめてgitやhg使ったほうがいいよ
バイナリ扱うならSVNでも無理だ
有料になるけどAlienbrainどうよ
ファイルサイズが大きくなるようなバイナリフォーマットは
大抵元から圧縮がかかってるんで、
SVNのメリットが出てこないんだよね。
SVNで管理できる程度のバイナリなら、gitでも管理できる。
入門やとっかかりの話をしていたところが急に特殊ケースを持ち出してがんばる人がでてきたでござる。
>>476 SVNは巨大ファイルでもメモリーをあまり食わない。他のはたいていファイルサイズ以上の
メモリーを食う。だからと言ってSVNを進んで使おうとは思わないが。
クライアントの話?
gitとかの分散型の方がより高機能なのは確か
だが、subversionのような中央集権型の方が分かりやすいというメリットは大きい
なんかループしてるぞ
個人でやるなら好きなほうを使えばええ
組織でやるならトップの決めたほうに従えばええ
おまえさんが組織のトップなら・・・
>>458 Mercurial はどこからでも枝生やせるし、どこにも push してないなら mq で消せる。
最近は push しててもフェーズ変更できるみたいだけど。
まあ自分は失敗もひとつの歴史としてそのままにしとくけど。思いがけず役立つ時があるかもしれないし。
全然分かってない人に説明するコストは、依然としてSubversionが最も低い。
初学者が実作業を通じて独習する場合もsvnよりGitやMercurialの方が良い気がしている。
まずローカルで独習する場合はpushやpullが不要なので分散型特有の面倒は無い。
で、一本のブランチにただコミットするだけならさして難しくはない。しかしコミット
だけ出来てもあまり役に立たない。集中型だろうが分散型だろうが一番悩ましくて故に
実体験から学んでおいてほしいのはむしろマージなんだよね。
しかし他の人との共同作業ならともかく一人で一本のブランチにコミットするだけだと
マージをする機会が極端に少ない。
なので出来れば分散型云々とは別としてもまずトピックブランチを切って後でメインに
マージする開発スタイルを試してみることで、マージの回数を一度でも多くこなして
みると良いんじゃ無いかと思う。
となるとブランチの扱いに長けたgitやhgの方が学習効率もよいのではないかと。
ドキュメントも全て差分取るのが普通だよね?
ソース等から生成するのは管理対象外
オフィスドキュメントは校閲機能使って管理対象外
全てとか気軽に言っちゃう奴の普通は知らん
>485
いや、実体験として、Subversionはデザイナとかでもすぐ使えるようになるが、
GitとMercurialはプログラマでも無理な人は無理。教えるのは苦行だよ。
>487
ビルド成果物でも、「3年後に他人が1時間でビルド出来そう」と思えなかったら
入れる。悩ましいところだが。
>>488 これも実体験として語るけれども、新人やインターンにMercurialを教えることを
結構な回数こなしてきたけれども極端に難しいことは無かったなぁ。
GitやMercurialが無理なプログラマというのもちょっと想像出来ない。
ただ目的はVCSを教えることではなく、VCSはあくまで道具で目的はそれを使った
開発フローの回し方を教えることなんだよね。
チケットもらってブランチ切ってからマージされてクローズするまで、フローの
中の一連の作業で使うhgのコマンドはある程度決まっているから最初のとっかかり
は別に難しくは無い。あとは実作業を通じてMercurialそのものの使い方の理解を
深めていってもらえば良い、みたいな。
マージに関してはsvnだろうがDVCSだろうが悩みどころだと思う。コンフリクトの
解決がいい加減な人は本当に困る。
>>489 > GitやMercurialが無理なプログラマというのもちょっと想像出来ない。
なんかこういうこと言う人嫌い。
自分が想像できない世界は存在しない事にするのが一番楽
普通に勉強すれば大抵は使えるようになるってこと。
できるようになるまで普通に勉強できない人もいる
人間には超えられない能力差があるもんです
あなたは真面目に勉強すれば医者にでも法律家にでも官僚にでもなれるんですか?違いますよね
普通に勉強したって出来ることには個人差があります
スイッチオン
まあでも、git程度も使えない奴をプロのプログラマとは認めたくないよな
世の中、金を払ってプロを名乗るような世界もあるんです
能力が無くたってプロを名乗ってもいいじゃないですか
cvs/svnより、git/hgのが学びやすいと思う
ディレクトリを対象にできるrcs、って感じのお手軽な使い方ができるのが良い
そりゃもちろん、push/pullまで修得してこそ本領発揮なんだろうけどさ
ソースコード中のコメントで誰々が変更しましたなんてやってる連中にSVNで新しい
プロジェクトを始める方法を教えるなんて嫌だ。
プログラムで修正担当者がわかるからコメントは必須だろバカ
バージョン管理が要らない画期的システムだな
ブランチはフォルダでいいな
誰かと共同で何かするんじゃなくて、一人自宅で使うつもりで、とりあえず
http://www.backlog.jp/git-guide/ を読みながら Git (Windows)を使い始めてみようと思うんだけど、
1.8 系で始めるのと 1.7系 で始めるのどっちが良い?
上記のサイトでは 1.7系っぽいので合わせたほうが無難なのか
最初から 1.8系 で行ったほうが良いのか。
つまり、1.7系と1.8系の違いが知りたいと
そうですね。最終的には 1.8系 ということに落ち着くんでしょうけど、
1.8系の新しい方から始めても大きく戸惑うようなことが無いのか、
ガラッと変わってるから 1.7系 で取っ掛かりを掴んだほうが良いのか
その辺の状況がわかれば。
大した違いはないから1.8にしとけ
507 :
デフォルトの名無しさん:2013/11/21(木) 04:06:12.13
gitは特定のファイルに対する変更追いづらいな
玄人のお前らはそんなのどーしてんの?
IDE上でShow history
GitHub上で更新頻度の多いファイルを開いたのBlameやらHistoryやらでそのファイルの細かい更新見られるし、
おそらくgitコマンドにそういうのあるんじゃないの?もしくはgitのGUIクライアントにそういう機能があったりするんじゃないの
一応msysgitでもしょぼいがファイル単位の変更履歴見られるけど
普通に
$ git log README.md
$ git blame README.md
とは違うのか?
Atlassian SourceTreeええな。
515 :
デフォルトの名無しさん:2013/11/21(木) 21:45:28.10
>>514 git/Hg両対応のSourceTreeがMac/Win版揃っちゃったせいでもう新規でSVN使う理由無くなっちゃったな
「うちのデザイナーはLinux使ってるんです><」な奴このスレにはおらんだろうし
若いヤツに辛抱強くGit教えてたんだけど、あまりに理解しないんでこりゃもうダメだなって
諦めてたんだけど(まあ何やらしても基本ダメなヤツだし)
最近になって急に意味が分かってきたみたいで、驚いてる。
たぶん、Subversionを先に覚えちゃうと、分散型は逆に理解しずらいのかもしれない。
デザイナーとかにも少しずつGit使ってもらうようにしてるんだけど、どうしてもsvnで言うとアレ、
みたいにしてやってしまうようで、それが却って障壁になってるんだと思った。
で、彼は長い時間かけてやっとsvn思考の呪縛から開放されて、新しいことを覚える気になったらしい。
分散型でもGitは特に分かりづらい
他の分散型は差し置いてGitが急速に普及しつつあるのは何故か
>>519 ニワトリが先か卵が先かみたいな話になるかもしれないけど、オープンソースの世界で Github を使うことが多くなっている影響もあると思う
採用試験の時に、あなたの Github を見せてくださいっていうこともあるみたいだし
Linuxで使われてるからだろうな
それとGithubの影響
>>521 俺もこの2点に尽きると思う
会社で分散型使うなら正直hg押しだわ
日本だとGitHubがRailsで作られてる影響もあるだろうな
海外だとFacebookもgitからhgに移行してると社員が言っているし
svnの退潮とgitの流行はSourceForgeの退潮とGitHubの流行とも関連していると思うな。
どっちが卵でどっちがニワトリか判然としないけど。
ストレージコストのかかる用途を体よくSFにオフロードしているようにしか見えんw
>>427-432 gitとかを使う場合は作業開始からブランチ切ってやるの?それともずっとmasterブランチ?
作業ブランチは毎回つくる
切りが良いところでmasterにmerge
gitだと気にせず後からブランチにしてmasterは巻き戻すとかできるから
複数作業が混ざらないようにしてれば適当でもいいよね
>522
俺も、会社で使うならMercurialの方が向いてると思う。
Subversion脳からの移行も、gitより簡単だし。
multiple heads でハマるんですね。
同一ブランチに同時に複数人が変更をコミットした状態の表現としてマルチヘッドは有る意味
自然だと思うのね。
>>533 > 自然だと思うのね。
俺は全くそうは思わない。
536 :
535:2013/11/25(月) 16:59:35.65
これってgitとか他のバージョン管理ツールでもインデックスサービスとかを止めたほうがいいってこと?
538 :
535:2013/11/25(月) 17:10:41.13
>>537 d
つまりTortoise系列の固有の問題でバージョン管理システムの問題というわけではないわけね
>>538 > つまりTortoise系列の固有の問題でバージョン管理システムの問題というわけではないわけね
そういう結論なのかなぁ
>>534 そうかな。
Mercurialは子リビジョンを持たないリビジョンをheadと呼んでいるだけであって、
作業ブランチでの他の人の変更をpullした場合、それらをmergeするまでは大抵は
同一ブランチ内でマルチheadな状態だよ。
単に未merge状態の呼称の仕方の問題だと思う。
アンチウィルスソフトやインデックスサービスと競合起こすってことは
ローカルでリポジトリ作るたびにそれぞれ除外設定してかないといけないのか
Windowsだと面倒なんだね
TortoiseCVS
TortoiseSVN
TortoiseGit
TortoiseHg
TortoiseBzr
全部入れたら右クリックメニューが酷いことになりそう
>>540 「同一ブランチに複数人が変更をコミットした状態」を「マルチヘッドと呼ぶのが自然」というのが同意できない箇所。
じゃぁどう呼ぶのが自然かとかそういうことではなくて。
これがあるからMercurialは分かりづらいんだと思うんだが。
>>541 > Windowsだと面倒なんだね
C:\reposとかC:\projとかにフォルダを限定して作業すればそうでもないよ。
個人で趣味のプロジェクトなら何が良いですか?
作業マシンは書斎のWindows7, トイレのWindowsXP, 布団用のSurface Pro 2
サーバはScientific Linuxを使う予定です
ダサい恥ずかしいコードなので外に出したくないです
なのでローカルエリアで完結していると助かります
>>545 そういう手もあるな
その場合は外からリポジトリ持ってくるときは手動でウィルスチェックかけなきゃならんだろうけど
「入門Git」でマルチヘッドになったツリーをmergeなりrebaseなりで合成する図を見て
これがGitの醍醐味か、と感動したもんだ
トイレで作業ができるほど長く籠ることがあるのか、それに驚き
トイレより精神が平穏に満ちた空間はないよ
まさに文化の極みだね
multiple heads の意味が理解できないプログラマも居るから注意が必要だ。
適当に解消してソース壊しまくったオッサン。
結局プロジェクト掻き回しただけで逃げ出したけどな。
分からないことがあって
自分で調べても尚わからない、もしくは至急解決する必要があるとき
分かる人に訊いてもいい雰囲気が大事
>>546 何だか羨ましいと思った。
全部LANで繋がってると楽しそう。
俺はトイレに雑誌置いてて、気が付くと
お尻だしたまま寝てる。
>>544 分散型ではMercurialが初めてだった自分にはわかりやすく自然に思えるんだが、Gitから入った人にはそうは思えないかもね
Mercurialではブランチはチェンジセットに付けられる名前で、ブランチに関係なくリポジトリ内に存在する全てのチェンジセットが常に見えていて、枝分かれがあって初めてヘッドが増える
Gitではブランチはコミットを指す目印で、コミットから親をさかのぼる形でのみ履歴が見えていて、枝分かれが起こり得る部分はあらかじめ異なるブランチになるようにできている
ブランチの概念が全く別物であることがわかってしまえばどちらも理解できると思う
マジかよ
ブランチの概念ってそれぞれのシステムごとに違うのかよ
>>555 わかりやすい対比感謝。
ちなみに自分もMercurialから入ったのでマルチプルヘッドは呼称も概念も自然。
Gitのブランチはパス、Mercurialのブランチはサブツリーやサブグラフってとこかな。
bzrとの対比を誰か書いてくれないものだろうか。
どうも今一つbzrから乗り換える気にならんのだよ。
svnだと、HEADと言えばある一点のみを常に指し示すので非常にわかりやすい
560 :
デフォルトの名無しさん:2013/11/26(火) 13:37:19.27
svnはブランチが上の方から別ツリーになるから何か調べようとしたときにわかりやすいよな
svnは最高だ
バージョンシステムごとの概念の違いの比較の表とかあればいいのいね
リポジトリって何?
VisualStudioで出てくるソリューションみたいなもの?
VSで言うソリューションのディレクトリの、その時その時の現状を
バージョン管理システムへ報告していった、
そのデータを蓄積する場所がリポジトリ、かな
なるほど、わからん
取り敢えず、入れもんをカッコつけて言ってるだけだよ。
例えば、VisualStudioのソリューション(の現在の版)をMercurialのリポジトリへコミットする。
そのリポジトリには過去の版からの履歴が入ってる。
…という感じ。何となくニュアンスが分かればOKかと。
いやVisual SourceSafeのドキュメントににVisualStudioに沿った説明があるのではとおもったが
VSS自体がお亡くなりになっていたのね。知らんかった。
いかん、この様子だとGitとかMercurialどころかTFSにも乗り換えられずVSSに一生閉じ込められたままだ
なんとしても脱出するんだ!
GitってPC9801みたいにすぐに主流から消えちゃう?
すぐに主流から消えちゃう程度のクソソフトだと思う?
Gitを殺すほどのキラーソフト候補って今何かある?
gitは俺が使い出したから後3、4年で廃れるよ
hgがgitより良いっていう話をよく聞くから主流はそのうちhgに
Hard Gay
最後まで残るのはsvn
WindowsよりMacが良いって話もよく聞くけど、今までシェアが逆転したことはあったか?
gitとhgも同じだよ。
gitは既にデファクトスタンダード。
hgにも良い点はあるが、gitと比べて圧倒的に優れてるわけでもないし
もう逆転は不可能。
githubの地位は安泰。他のgithubもどきは凋落の一途。
CodePlexでhgを猛プッシュしていたMicrosoftも、今ではgitがVisualStudio標準の分散VCSに。
hgクライアントだったSourceTreeは、今ではgitクライアントとして有名に。
世の中git!git!git!!!!! gitにあらずんば分散VCSにあらずという状況さ。
それを聞いて安心した
バージョン管理システムにどれを導入しようか迷ってたが
Gitに決まり
うわぁ…
てか、Linuxの開発用に使われ続けられるから廃れることはない。主流から外れることはあるだろうが。
582 :
デフォルトの名無しさん:2013/12/02(月) 00:44:07.34
非分散型ならこれ使っとけ
ってやつはある?
非分散型?
集中型以外にもあるのか
最近出てきたやつだろなんて言ったかわすれたが
集中型って和名なのか
英語圏だとクライアントサーバー型となってる
バージョン管理も和名か、というよりバージョンが和製英語的な使い方か
>>586 gitのメインテナーがリーナスだと思ってたら、濱野 純になってる
最近はsurface pro 2が伸びて来てるね
やはりビジネスマンは圧倒的に窓pcだよ
ガキやアーティスト気取りはMacで満足かもだけどね
>>588 いつのまにかどころかほとんど濱野さんのはず
Linus君にはLinuxがあるからね
都内で行われてる IT 系の勉強会だと Mac の率がものすごく高いけど。
>>578 > WindowsよりMacが良いって話もよく聞くけど
それ、一部の声の大きい人が騒いでるだけだから (w
両方使ったがシンプルさと美しさは断然Macだね
ハードまで含めてすべてが調和してる
でも開発するならWindowsだな
Macは開発環境がしょぼすぎる
あくまでクライアントのためのマシン
ぶっちゃげ.net関連を除けば開発環境としてWindowsにメリットは今では殆ど無い。
むしろデプロイするターゲットがLinuxなどのUnix系だと素でUnixであるOSXの方が
開発には便利でWindowsとかかえって面倒。
Cygwinでビミョーにお茶を濁したりLinuxの仮想環境をわざわざ入れるまでして
Windowsにこだわる理由が無い人が増えてきたと言うこと。
ビジネスでは窓が殆どだからねぇ
Linuxの利点なんて今やタダなだけだし
Winで無いとダメという人は、具体的にどんな開発環境を使っているの?
Web 系、サーバー系の開発だったら Unix マシンである Mac の方が良いと思う
vsだろ
これ以上の開発環境なんかないよ
マカーはxcodeとか使うのか?
Eclipse、IntelliJ、Netbeansに必要な言語プラグインを入れて使う。
EclipseやVim、金出すにしてもIntelliJといったところか。iOS開発も抱えているのであればXcode。
.net以外はWindowsいらないよ。
エクリプスなんかでよく満足できるな
むしろEclipse慣れてるとVSなんかでよく満足できるな、になるけどな
MacでWindowsは使えるけど、WindowsPCでMacOSは使えない。
只使われているだけのIT土方と違って、まともなエンジニアはMac比率が高くなるのも当然。
>WindowsPCでMacOSは使えない
あった気がするけど
hackintosh.com だか hackInt0sh.org だか
OSx86の話はスレ違い
多彩なハードウェアに対応するWindows
限られたハードウェアでしか動かいないMac
つまり、Windowsは優秀だって話だな
OS依存の少ないWebアプリを作ればいいのよ
WebアプリはIEでの動作確認という壁が・・・
おまえらバージョン管理システムについて語れよ!
615 :
デフォルトの名無しさん:2013/12/02(月) 17:44:08.59
ふぉー
616 :
デフォルトの名無しさん:2013/12/02(月) 17:46:56.12
マカーがディレクトリごと固めて公開するとゴミが大量に入るんだよねw
.DS
マカー自体がゴミなのだから仕方ない
>>611 > 多彩なハードウェア
NetBSD「プッ」
621 :
デフォルトの名無しさん:2013/12/02(月) 22:27:44.68
>>613 IE10だかはけっこうHTML5準拠度高くなかったっけ?
どっちでもいいから破滅してひとつに統一してよ
git か hg か好きな方使うといいよ
bzrのことも忘れないであげてください
多彩なハードウェアっていう言い方だと誤解を招くかもしれないが、周辺機器なんかでWindows用のドライバしかないなんてものはたくさんあるわけで、
そういう機器を使ったものを作りたい限り、Windowsで開発するしかない。
なんか、別にWindowsに限ったことじゃないけど、事情もよくわからず勝手な決め付けで「○○を使ってる奴は時代遅れ」っての、すごく頭悪そう。
マカーは時代の流れ見えてないよね
これからはlinuxの時代さ
svnを使ってる奴は時代遅れ
うるせえばか
髪の毛むしり取るぞ
hgがハゲを連想させるから移行できない
>>629 そういうのを作らないのであればWindowsは不要だし、最近より一般化してきたウェブ系やUnix系の作業の
場合はOSXの方が便利でWindowsはかえって不便というだけの話。
時代遅れとか関係ない。純粋に適材適所の問題。
OSXなんて生産性もコストも最悪だろ
そうでなければもっと売れるし案件も増える
しかし現実は厳しいね
パソコンソフト作ることしか頭にないんだな
>>635は
議論に熱くなってしまうのは仕方ないことだが
OSの議論ならOSのスレでやってくれ
>>636 どこの分野でも同じだよ
反論したいなら開発環境としてOSXのシェアがトップの分野を挙げてみろよ
こいつWindows極めるまで10年かかりましたって顔してるな
そりゃ他のOS触りたくないわけだわ
この発想の貧困さがマカーだよな()
常に新しい物には触れてみたいけど時間がなくなってくる感覚はなんなの!
老化だね。
いいえ、社畜化です。
社畜なら口開けて待ってりゃ餌出て来るから良い身分だよ
>>640 そもそもWindowsって、どんどんUIいじくり倒されるから
いくら学んでも次のバージョンで役に立たなくなる知識が多い
…まあ、だからこそWindows一辺倒の人には
「君ならOSXもLinuxもすぐ慣れるよ」と言ってやりたい
あんだけ振り回されて使ってる人なら実際すぐ使えるようになるだろて
お前らいい加減にしろ。
Windows のひとに限らないけどさ
開発者ってなんで UI 変えちゃうんだろうな
仕事でアプリ使ったことないのかな
Mac の人に限らないけどさ
お前らってなんでスレ違いの話題続けちゃうんだろうな
仕事でも間違ったまま進めることが多いのかな
UI変えたぐらいであたふたするのがマカー技術者なんだよな
基本的な設計がなってないからそうなるんだろうなあ
>仕事でも間違ったまま進めることが多いのかな
激しく同意させていただきます
>>649 あいつら機能を意味で覚えないで場所で覚えてる人種だからな
MacでもWindowsでもスレタイ読めない奴は無能
>>647 UI買えないと売れない。
一般消費者にとって、UI=性能。
どんなに内部設計が超絶進化してても、
UIが進化していない=何もが変わってないから買う必要がない
となる。
デザイン変えるだけなら理解できるが場所まで変えられたら
間違い探ししてるみたいでイライラするわ
バージョン管理システムのUIってIDEと統合されていてナンボだと思う。
マージ後にそれぞれのバージョンと比較してコミット前に微調整の編集を加えたりとか。
不具合出たときにあるファイルの過去のバージョンと比較して問題の更新を特定したり。
バージョン管理とはいえ途中でファイルの編集もするし、開発中にサクサク履歴を参照
出来ると非常に便利。
今はIDEとは別にSourceTreeも併用しているけれども、良いアプリながら所詮別アプリ
なのでこの辺りの作業がし難い。
他方でEclipseのプラグインとかも出来や安定性が微妙なんだよね・・・
SourceTreeをIDEに統合して欲しい。ホントに。
ようするにVS使えですな
VisualStudioもEclipseに統合できるなら考えても良い。
658 :
デフォルトの名無しさん:2013/12/07(土) 22:08:58.77
>>634 開発にWindows使ってる奴が、ファイル名の大文字小文字考慮しないで作っていて
本番系の環境に持って行ったらビルドできなくてしばらくハマってたな。
気づけば何の事ないことなんだが、普段の環境では大丈夫だからなかなか気づかない。
Microsoft以外は倒産してプラットフォームを統一するべき
自分はどんどん Bitbucket や Github に push しちゃって、過去の履歴は Bitbucket や Github の方で見てる。
開発マシン上では Git をコマンドラインのみで使ってる。
>>658 少し昔にsubversionsでそんなトラブルを経験したことがあったな。
Windowsは短いファイル名の場合大文字小文字を区別しないとうかデフォですべて
大文字扱いしたので、Unix環境とファイル名の不整合がおきて短い名前のファイルが
毎度更新対象になったり変な動作をおこした。
662 :
デフォルトの名無しさん:2013/12/08(日) 03:34:35.93
663 :
デフォルトの名無しさん:2013/12/08(日) 03:35:58.71
NTFSでも起こるよ?
むしろ大文字小文字区別するのはファイルシステム側の怠慢としか(どうせ簡易なコードで収まるとかそんな理由だろ?)
ユーザ側の使い勝手からすれば同じ名前なのに違うファイルとか混乱のもとでしかない
クラスに同姓同名の生徒がいたら先生も名前だけで呼びづらいだろう
同名ファイルを同一フォルダに入れてるプロジェクトあったら
Windowsマシンではダウンロードできないな
>>665 NTFSだって大文字小文字は区別するよ。
問題は8.3形式のファイル名は特別扱いして区別しない場合もあると言うこと。
理由はMS-DOSとかの古い時代のファイル名にも対応するため。
そんな古い時代のものに関してまで互換性を維持しようとするのは関心するけれども、
それはあくまでMS界隈で閉じた話であるべきだし、色々なOSがアクセスするVCS界隈に
持ち込まれても迷惑だしトラブルだって起こる。
668 :
デフォルトの名無しさん:2013/12/08(日) 08:50:24.19
ren ahoaholongname.txt AhoAhoLongname.txt
これは NTFS でも通らないな
>>668 おいらのWin7ではできた。CYGWINのmvコマンドではだめだったような気がしたけど
これもできた。
exoplorerがダメなんだろ
.hogeとかも作れないし
バカな仕様に今まで疑問も持たずにやってきたのが間違い
Microsoftは来然として間違った慣習は正すからイイよね
>>665 賢いな
ついでにかたかなも廃止してひらがなに統一しようぜ
いわゆる全角の「a」と「A」も同一視されるのにはびっくりしたもんだ。
あと「:」とか「AUX:」とか変な制限もあるからVCSにWindowsを混ぜるのはやっかいだ。
Hoge.cppとhoge.cppはWindowsでは共存できないんだよ、Windowsで大文字小文字の区別はファイル名の見た目だけなんだよ
NTFS上は区別できる。OS上で同一視しているだけ。
Windows使いは我々のプロジェクトには参加しないでもらいたい
Hoge.cppとhoge.cppが共存して、かつ敢えて使い分けるプロジェクトに
我々を巻き込まないでもらいたい
大文字小文字よりもUnicode正規化の方が
バージョン管理システムとしては頭痛いところだと思うけど
別に某OSをバッシングする気は無い
32年前は大文字と小文字を区別しなくて良い画期的なシステムだった
未だにその呪縛から逃げられていないのだけど
679 :
デフォルトの名無しさん:2013/12/08(日) 19:43:06.85
ここで、OSX登場
拡張子で区別とか、まだ残っているな
>>677 趣味でOS/2をつついてたころ、わりと有名なオープンソースソフトウェアで大文字と
小文字の違いだけのファイル/ディレクトリがあった覚えが。
うろ覚えだがCONFとconfだったか? どっちかがディレクトリ。
OS/2のファイル名も大文字と小文字を無視するものだった。
これがWindows三大汚点だ!!!
・ 大文字小文字同一視
・ ファイルパス長制限
・ プロセス引数長制限
すぐに解決するかと思われたが、互換性維持のために永遠に残ることが決定したぞ!
683 :
デフォルトの名無しさん:2013/12/08(日) 19:53:29.09
ファイルパス長の制限って、WindowsのShell系ライブラリの制限か?
684 :
デフォルトの名無しさん:2013/12/08(日) 20:21:08.91
で、肝心のSVNやらGitやらのバージョン管理システムは、そういうファイル名の違いは配慮してくれるの?
TortoiseSVNは割と丁寧に配慮してくれた
git?何を期待しているんですかww
コンフリクトしますた
WindowsやOSXはcase-preservingだけどcase-insensitive。
つまりファイル作成時に名前の大文字小文字の違いはちゃんと保存される。
でもファイルを読み込むときに大文字小文字は区別されない。
他のUnix系のシステムはcase-preservingでcase-sensitive。
大文字小文字の違いはちゃんと保存されるし読み込み時も区別される。
VCSも多くはcase-preservingでcase-sensitiveと想定するのが無難じゃないのかな。
例えばファイル名だけでは無く.ignore等のパターンに関しても大文字小文字の違い
は注意した方が良い。
そもそもどういう需要があって大文字小文字を区別するファイルシステムになったんだろうな
それは、なんで8+3字のファイル命名法を変えてしまったのか、と言うのに似ている
Progra~1の暗黒歴史を思い出すな
>>689 WindowsのNTFSやOSXのHFS+はファイル名を保存する文字コードをUnicodeに決め打ってる。
だから大文字小文字を区別「しない」処理をドライバ内に書ける。
Unix一般ではそういうことはしてないので、ロケールを変えたらファイル名も一緒に化けるのが通例。
そんな状況でドライバ内に文字種を決め打つ処理を入れられるわけがない。
ただしZFSみたいな新しいファイルシステムは例外。
あとgitの動作はLinuxのファイルシステムに忠実という点では価値がある。Linuxのために作られたんだから。
bzr(や、svnの将来のプラン)は、ファイル名に対してUnicode正規化をかける。
全ファイルシステム中でファイル名の正規化をするのはHFS+とZFSのふたつだけ(と思う)なんだけど
bzrもsvnも、このふたつのファイルシステムとは違う正規化ルールを使う糞っぷり。
誰も幸せにならない。
unicodeであってもAとaは区別されているから単にポリシーの問題
むしろ別に割り当てられているものを同一視するほうがどうかしてると思うが
こんな百済ない話題で盛り上がれるおまいらがどうかしてる
時代はケース・インセンシティブだろ。
697 :
デフォルトの名無しさん:2013/12/10(火) 23:02:44.38
ファイル名は文字列なんだから大文字小文字区別すべき。
大文字小文字区別するのはコンピュータの仕組み上の都合でしょ
コンピュータを使う人間にとっては大文字小文字の違いで別物だなんて感覚がまずない
>>697 人間が「か」+「゛」と「が」を区別できるってんなら同意してやる
プログラムからアクセスするためのライブラリが充実してるバージョン管理システムと言えば?
プログラムからアクセスって
普通コマンド叩くだけ(パイプ)じゃないの?
VSCをアプリのプラグインで埋め込むとかそういう話?
コンピュータの都合でハイフンとダッシュとマイナスが同一記号で表現されてるし
>>701 そういう雑な作りではなくちゃんとしたライブラリとしてまとまっているもの
ソフトウェア開発用途に関してはCamelCaseをファイル名に使う流儀もあるから
一律にcase insensitive
にするのも微妙だなぁ。
CamelCaseをファイル名に使う流儀において
case insensitiveだと何が微妙なの?
Non-case-preservingな糞システムを使いたいって?
大文字と小文字を区別したくないってのは人間側の都合なのではないかという見方もあるんじゃゃないか?
日本語だとひらがなとカタカナは区別しないなんていう仕様だったら暴動が起きるわけだしさw
英語のアルファベットの大文字と小文字は一対一対応だけど
ひらがなとカタカナは一対一対応じゃないから等価には扱えないよ。 ヴ とかね
709 :
デフォルトの名無しさん:2013/12/11(水) 01:50:36.26
「バージョン管理システム 連携」でググった感じからすると
ライブラリがありそうな雰囲気は感じてくる
いやつまり何が言いたかったかっていうと、等価に扱いたいかどうかってのは人間側の都合によって大きく変わるだろう、という話。
一対一対応じゃないから等価に扱えないってのは技術的にはそうかもしれないけど、
そもそも一対一対応ではない理由としてひらがなとカタカナは等価であるっていう意識が利用者にないからそういうことになるわけで。
英語だったとして、ある文字列の大文字小文字違いのものがあったとして、等価であるかどうかってケースバイケースだろうから、正解はないんじゃないの?
Case-preservingかつCase-insensitiveなファイルシステムって一貫性なくて気持ち悪い感もあるが、現実的な落とし所だろうなと個人的には思うけど。
TortoiseSVNやTortoiseHGのフォルダ見るとSVN用のDLLがいっぱいあるけど
ケースセンシティブかどうかは各プラットフォームの中で閉じる分にはそれぞれ自由に
ポリシー設定して良いけど、色々なプラットフォームが関わるプロジェクトの場合には
厳しい方に合わせないとダメだよ。
例えばLinuxとWindowsが相乗りするプロジェクトの場合はWindows側が配慮して大文字
小文字をゲンミツに扱わないと他方が困る。念のため、これは優越の問題では無くて、
そうしないとプロジェクトが回らないということ。
VCSに複数人がコミットするプロジェクトの場合とかで無くても、例えばデプロイ先が
LinuxのウェブアプリをWindows上で開発する場合も大文字小文字は要注意だよね。
713 :
デフォルトの名無しさん:2013/12/11(水) 05:56:52.16
大文字小文字ならまだいいさー
:が入っててM$じゃ取得すらできなくなるのどこかにあったからな
>>712 >例えばLinuxとWindowsが相乗りするプロジェクトの場合はWindows側が配慮して大文字
小文字をゲンミツに扱わないと他方が困る。
逆じゃないの?
Linuxで大文字と小文字の違いで別のファイル作られるとWindows側が困る
大文字と小文字を勝手に書き換える糞なアプリケーションもあるけど
それはOSの問題じゃないし
開発ツール関係でそんな酷いのはない
大文字と小文字を区別せずにハードコーディングするのも糞プログラマの問題
Windowsしか使わないクライアントにいじられないように、
設定ファイルの名前をauxにしたのは懐かしい思い出w
716 :
デフォルトの名無しさん:2013/12/11(水) 11:36:10.99
>>714 C言語でクロスプラットフォームのプロジェクトだったけど、
includeするヘッダファイルについて、Windows上がりは考慮が浅い奴が居るのよ。
#include "XxxYyy.h" って書いてるんだけど、ファイル名は xxxyyy.h とか。
だからそれはシステムの問題じゃなくてユーザの問題だろ
そういうポカが見過ごせない程度にあるなら
数行のスクリプト書いてテストに入れるだけ
>>717 ユーザの問題だよ。
ファイル名の大文字小文字に無頓着でもWindows上だとビルドも通って正常に動いた
プロジェクトがケースセンシティブな環境に持ち込んだとたんに動かなくなることが
あるので、相乗りプロジェクトの場合はWindowsで参加している人もちゃんと大文字
小文字に配慮する必要があると言うこと。
Winは未だに内部名とシェル上の表示名をすり替えるとかやってるから
意識して書き分ける方がナンセンス
MSですらソースでは#include <windows.h>とか全部小文字なのに
実際のファイル名がWindows.hとか嫌な状態だ
UNIXから持ってきたツールだとcase sensitiveでソートするから意識した方が良い
Windowsに限った話でも、explorer上で大文字と小文字が混合しているのは醜い
8.3ルールを徹底しているのならそれでもよい
724 :
デフォルトの名無しさん:2013/12/11(水) 16:41:29.69
結論としてはファイル名はユーザーが大文字小文字意識しなさいってことだな。
そろそろスレ違いになりそうだ。
ケースセンシティブなVCSやプロジェクトをケースセンシティブで無いファイルシステム上で
扱うのであれば最終的にはユーザーにその辺り注意する役割が降ってくるよね。
リポジトリだって仮想ファイルシステムのようなもんなんだから
どのフォーマットをエミュレートするか指定できる機能があればいいんだけどな
バージョニングファイルシステム上にリポジトリが構築されて
リポジトリはバージョニングファイルシステムをエミュレート
……あれ?
おまえら色々苦労してきたんだな
他のOSの奴と共同プロジェクトしたことないから全くついていけん
729 :
デフォルトの名無しさん:2013/12/11(水) 21:53:10.64
俺の感覚では、同じフォルダにWindows.hとwindows.hが有って、それぞれが
別の役割を持つほうが異常に感じる。
ぜひ同一視してほしいし、Windows.hがすでに有るなら、windows.hを新規作成
出来ないようにしてほしい。
これらは同じもののように見える。
だらしないOSの仕様をVCSが吸収してやればいいのですよ
>>729 変数 Bar と bar があって別の役割を持つプログラム言語は使うべきじゃないな
CとかC++とかJavaとかC#とか
ぜひ同一視してくれるBASICを使うべきだ
お前ら本当にIT従事者なんか?
仕事する前にファイル名を制限するコードを先に書けよ
ファイル名をいい加減に決めるから不幸になる
つまるところファイル名を連番にするというシンプルかつ厳格なルールが
市民を幸福にさせるのですね!
>>731 俺はプログラミングはBASICから入ったからCを知ったときはマジ驚いたわ、
連番ファイル名の悲劇
100.txt
1000.txt
1100.txt
2.txt
32.txt
4.txt
NTFSがCase-sensitiveなのはWindowsをPOSIX準拠にする為に仕方無く従った仕様だしな
>>735 解決策
3.txt
3.1.txt
3.14.txt
3.141.txt
3.1415.txt
3.14159.txt
>>733 数字だとネットワークでの分散管理で破綻するのでハッシュ値にすべきだな
ハッシュ値は完全に一意に作られるわけでは無いので運が悪いと・・・
>>698 ホんトニソう思うカ?
たトエバ wInDOwS, lINuX ガオなじニミエるのカ?
ヒラガなトかタカなノチがイヲイしキシナいのカ?
× > たトエバ wInDOwS, lINuX ガオなじニミエるのカ?
○ > たトエバ wInDOwS, lINuX ガ Windows, Linux トオなジにミえルノカ?
画像認証みたいw
才ナツ゛二Ξ工ノレ
>>729 UNIXには、makefileとMakefileがあったらmakefile優先と言うコマンドが
PWB/UNIX(V6,V7)の頃から存在するのだ
そもそもargv[0]の値見て挙動変えたりするしな
気持ち悪い仕様だな
やはりWindowsが一番いいね
NTFSにはWindows.hとwindows.hが同時に存在しうるが、Windows OSからは片方しか見えない
この状態を解消するには、二回 remove するしか無いという糞みたいな仕様は何とかならんのか
>>747 両方存在してるってどうやって確認するの?
バージョン管理システムが無かった時代にMakefileを使い分けてたとかじゃね
それだと単に盲腸になってるだけな気が
ファイルが見えなくなるって怖いな。
DIRコマンドでも片方しか見えないの?
コマンドプロンプトで
echo hoge > hoge.txt
echo HOGE > HOGE.TXT
をやっても最初のに上書きされるだけだったけど・・・
エクスプローラーでも同一ファイル扱いになるし
>>747の再現ってどうやるのさ
>>753 NTFSを使えるWindows以外の大文字小文字を区別するシステムで作るのでは?
SFUとかSUAを使う
あるいはLinux等の別OSからNTFSをmountする
LinuxのだとNTFS領域は読み込みはOkだけど書き込みは自己責任って感じで怖すぎて試せないお
>>753 cygwinでもできると思うよ。>715のauxはvygwinなら作れるから。
>>730 だらしないってどっちのこと言ってる?
処理としてはケースセンシティブの方がだらしないのはわかってるよね?
処理においても文字列比較等で strict match とか loose matchって言うよね
>>757 auxはcygwinなら作れるけど、 hoge.txtとHOGE.txtの作り分けはできなかったな。レイヤの違う問題っぽい。
cygwinなら作れるならJavaのプログラムとかからなら作れるかな?って思ったけど、無理だった。
てか、auxってNTFSかFAT32か関係なく作れなくて、hoge.txtとHOGE.txtの問題はNTFSだけで起こるんだとしたらそりゃまあレイヤが違うよね。
>>730 >>758 いい加減「だらしない」とか「クソ」とか「腐った」とか言って自分の嫌いなOSの仕様をdisるのはやめないか?なにも生み出さない。
ファイル名の同一性はどうあるべきかってのを固定観念なしにもっと丁寧に論じるべきだろ。
大文字小文字を同一視するとして、Unicodeファイル名が当たり前となった今ではアルファベットだけ特別扱いでいいのかって話になってくるわけだし、
「だらしない」かどうかなんて要求するシチュエーションによって180度変わってくると思うんだが。
極論を言ってしまえば、だらしなさの根本は違うコードポイント列を同一視したりしなかったりする人間そのものだろ。
だらしないといえば、まずUnicodeを決めてる連中もだらしないからなあ
Unicodeを基準にすると、Unicodeのバージョンに縛られることになってHFS+の惨状があちこちで起こることになる
>>760 > いい加減「だらしない」とか「クソ」とか「腐った」とか言って自分の嫌いなOSの
> 仕様をdisるのはやめないか?なにも生み出さない。
まったくその通り。
アルファベットにしても欧州諸言語におけるアクセント記号とかエスツェットなど
合字の扱いとかあるので難しい。正直使用目的に応じたケースバイケースだと思う。
ただ様々なシステムが相乗りするようなプロジェクトの場合は概ね無難な最大公約数
としてはファイル名はASCII文字だけ、case preservingかつsensitiveただし小文字
等にそろえた場合に同じになるファイル名は避ける、といったあたりだと思う。
HFS+の惨状は主に林檎独特の方言に起因してるんじゃないのか?
>>763 方言(互換漢字の扱い)もそうだけど、使われているUnicodeテーブルのバージョン自体も古いので
最新のテーブルを使ってしまうと食い違いが酷い&新しく追加された文字は正規化されない
Unicodeが「バージョンアップ」する仕様である以上は、ファイルシステムを作った時点で
Unicodeのバージョンも固定しないといけないわけで
するとアプリはバージョン違いのテーブルをいくつも抱え込む必要が出てくるわけで
HFS+だからといってその辺のライブラリを適当に使ってNFD変換するアプリでこの辺の差異に遭遇すると
まだ何の対応もなく素通ししてくれたほうがマシに思えるレベルで軽く絶望できる。
svnのunicode_pathパッチとか、bzrとかな。
Unicodeの継ぎ接ぎ拡張って、調べれば調べるほど人間がいかに好き勝手に文字という概念を取り扱ってるかという印象しか抱けないな。
アルファベットくらい世界が単純だといいんだろうけれど、漢字は複雑だしローカル拡張が多すぎて(元の字は違うのに見た目は同じ略字とか)
意味も見た目もちゃんと取り扱える文字コードを作るってこと自体幻想なんだろうなと思ってしまう。
つまるところ、人間がよくないw
誰もこんなことになるとは予想してないから仕方ない。
人工的に作って実用になった文字はハングルしか知らないし。
767 :
デフォルトの名無しさん:2013/12/13(金) 23:20:00.90
チェロキー文字は、まぁちょっと特殊か。
バージョン管理うんぬんではなく
共同プロジェクトに関する問題だよね
ここまでの不毛な議論の連続は
様々な環境で運用する事案は、それぞれの環境に配慮した運用をするべきであって
嫌われるのは、自分の環境を前提として、他の環境を考慮しない無知と傲慢。
俺様ルールを主張すること自体は別に構わないが、そのテリトリーから一歩も出て
もらっては困る。迷惑だから。
770 :
デフォルトの名無しさん:2013/12/14(土) 23:44:13.94
そんなことより
バージョン管理システムについて語ろうぜ
771 :
デフォルトの名無しさん:2013/12/15(日) 02:41:50.56
gitメインにしつつ両方やっとけ
>>771 svnはバージョン管理ツール。
gitはバージョン管理もできる開発ツール
svnはバージョン管理するぐらいしか出来ないが、
gitはソースコードの修正とコミット(リリース)を
適切に行うための各種機能が付いている。
具体的にはローカルで大規模な開発しながらも
その開発でできた機能のうち先にリリースできる部分や
小さい修正に分離したり整理することで
大きなものを小さく開発の連続にすることが可能になる。
774 :
デフォルトの名無しさん:2013/12/15(日) 03:41:39.05
おk
gitやりつつsvnも覚えることにする
775 :
デフォルトの名無しさん:2013/12/15(日) 03:47:10.39
Gitって、ソース修正できるような、エディタ機能もあるんか
776 :
デフォルトの名無しさん:2013/12/15(日) 07:57:51.96
シェルスクリプトで楽々自動コード修正です。
エディタ機能があるのと充実しているのでは全く違う
バージョン管理はバージョン管理だけしていれば良いし
エディットは他のシステムの仕事だ
こんな基本もわからない素人がgitだなんだなんて駄作に走る
プロはみんなsvnみたいなシンプルで応用や連携が効くものを選ぶ
>>775 がgithubのことを言ってるのか、giのコマンドが登録されたエディタを呼ぶ機能のことを言ってるのかわからんが
>>777 はただの無知
よく考えたら扱うシステムのが複雑なのだが、バージョン管理が複雑に見えて戸惑う
何て言えばハゲは傷つくの?
生えろ
>>775 別にソースコード修正機能=エディタとは限らんだろ
patchコマンドだってソースコードを修正するツールだし
gitだとコミットを複数に分割してその中のいくつかを取り除いたりとかできるからな
これはソース修正してるのとかわらんかもしれん
786 :
デフォルトの名無しさん:2013/12/16(月) 22:01:58.23
SVNのコミットに相当するのはGitだとプッシュだって言ったじゃないですかー
SVNのコミット ≠ Gitのコミット
SVNのコミット ≒ Gitのプッシュ
>>787 この文脈ではSubversionでもGitでもコミットと呼ばれる操作についての話だと思うぞ。
SubversionのコミットはGitでいうところのコミット+プッシュだろう。おおまかに言えば。
>>786 それは今編集中のファイルの一部をコミットする方法かな?
>>785で言ってるのは、過去にコミット済みの修正の特定部分の削除を
gitコマンド操作だけでできるってことね
SVN次期バージョンでcheckpointやshelfといったローカルコミット機能が実装されるようだから、
そうなるとまた話は変わってくるな。
git cloneてresume できないんですね。
ダウンロード速度が遅かったのでctrl-cで止めて寝て、今日やり直したら
また最初から全部ダウンロードやり直しとか。
マジかよ
それは酷いな
gitはデフォだと遅いけど、まあぐぐって幸せになりやがれ
794 :
デフォルトの名無しさん:2014/02/04(火) 20:31:50.62
Windows用に特化された分散管理システムきぼんぬ
GitやHGはLinux向きだし
MSが自分で作れなくて、白旗を上げてGitサポート初めた時点で終わった
gitは改行コードが
>>795 > MSが自分で作れなくて、
TFS も知らんのか?
まあ、売れてないみたいだけど。
>>799 http://sourceforge.jp/magazine/13/01/31/0559255 > TFSはTeam Foundation Version Control(TFVC)と呼ばれる独自の集中型バージョン管理システムを
> 搭載しているが、近年ではGitやMercurialといった分散型バージョン管理システムが注目され普及も
> 進んでいることから、TFSでも分散型バージョン管理システムの導入を決定したという。
> そこでGitを選択した理由としては、Gitがほかの分散型バージョン管理システムと比べて勢いがあり、
> また新たな分散型バージョン管理システムを作ることは難しいと思われたことが挙げられている。
特許を取得できそうなアイデアがすでにオープンソースで使われてしまってたってとこかな
他所のオープンソースソフトウェアなんか導入しちゃってどこから利益を得ようって考えなんだろね
VSからじゃない?
805 :
デフォルトの名無しさん:2014/02/14(金) 00:00:32.95
趣味でプログラミングを始めようと思ってます
VCSにはSVNやらGITやら色々あるようですが
VCSを覚えるならどれがどのVCSがオススメですか?
806 :
デフォルトの名無しさん:2014/02/14(金) 00:02:48.11
svnでおk
趣味ならGitでいいんじゃない?VisualStudioでもサポートしたらしいし
Mercurial一択
Bazaar
個人ならCVSで十分やろ〜
811 :
デフォルトの名無しさん:2014/02/14(金) 11:02:44.88
CVSは最新版が使い物にならなかったりするからな@ms
新規で CVS はない
git か svn でいいだろ
Mercurial...
mercurialかgitで良いと思う。
一人だとsvnは手間。
svnは今更だと思う。新規に学ぶのであればDVCSからでは。
両方こなせる Bazaar 択一!
cvsだけは絶対無い100%無い
Bazaar は死んだでござる
ソースコードなどのテキストデータではなく
画像などのバイナリデータについてバージョン管理したいと考えています。
差分とかは気にせず、単純に失敗したら前のバージョンに戻ったりしたいだけです。
以前、ソフト開発していたころに使っていたGitを使っていますが、
ソースコード以外の用途にも耐えうるか心配です。
Gitでも大丈夫でしょうか。他にオススメがありましたら、ご教授願います。
git使えるならとりあえずgitで
パフォーマンスに不満が出てからもう一度検討すれば?
明らかに駄目そうなら予め使い方書いてもらわないと
別にgitでも困らないとは思うけど、バイナリを差分で格納して欲しいならsvnかなあ
gitでも手動でアレコレ指定してrepackすればいけるけど
横レスだが
バイナリの差分保存って保存方法として有用なのか?
ビットマップのような非圧縮の生データで多少の変更ならともかく
圧縮がかかってるデータだとほぼ別ファイルくらいになるんじゃないのか?
非圧縮のビットマップだって
人間の眼ではほとんど区別できない程度にトーンカーブいじっただけで
全く別のバイト列になる
有用な使い方もあるし逆効果な使い方もある
だからVCSがどちらを優先するかは技術的優劣というよりはポリシーによる
ブランチ使わず画像やバイナリデータを管理するなら
ディレクトリ別に分けて圧縮しとくだけでいいと思う
差分圧縮と言えばMercurialだろ
>>819 一人で使うとか個々のファイルがそれ程大きくないならgitでいいと思う
まぁその「大きい」ってのも曖昧なんだけど
gitはリポジトリ全体を使う人全員にコピーするようなものなのね
だから、巨大ファイルを大人数で共有するならsvnの方が有利と言われていたような
数百MBとかのあまりに巨大なファイルはそもそもバージョン管理すべきじゃない気がする
Mercurialにはlargefileという巨大ファイル管理用の拡張があるが、これを使うのは最終手段的な扱い
830 :
デフォルトの名無しさん:2014/02/15(土) 12:07:37.89
一人で使うならgitやhgはメリットない
面倒臭いsubversionに過ぎなくなる
831 :
デフォルトの名無しさん:2014/02/15(土) 12:22:46.92
gitやhgはファイルを管理するというよりパッチを管理するという方が正確
同時に他人が同じファイル編集しててもパッチを当てられる(たまにパッチ失敗するが)
なので、gitを使うにはpatchコマンドとdiffコマンドの概念を理解出来てる事が前提
画像ファイルのようなバイナリはdiffが取れないのが根本的な問題だけど、他にもgitの実装上の理由で不都合な事がいくつかある
>>830 一人で使うならsvnの方がめんどいわ
むしろgit/hgの方がお手軽
2MB程のテキストファイルでもgitでやると恐ろしいペースでリポジトリが肥大化してくもんだ
で、時々repackしてみるとこれまた笑えるぐらい一気に縮む
デザイナーが使ってsvnよりgitやhgにメリットあるって勧めてるのはプログラマーのステマ
gitやhgはSourceTreeが使えるからね。あれは良いものだ。
デザイナーも多く使うOSXで使えるSVNのGUIクライアントとしては現在一番まとも。
> SVNのGUIクライアント
間違えた。VCSのGUIクライアントだ。
gitやhgはコマンドラインで使うもの
コマンドラインに降りてこなければgitならではの利点は活かせない
gitk便利だよん
ロブ・パイクのUNIX環境本でvcsの基本って学べるの?
Gitの設計的にバイナリデータを含めるのはよろしくないってのはわかってるけど、
GUI的な要素を含むソフトウェア開発では画像とかのリソースも一緒に管理したいから、なんとも難しいところだね。というかどうすればいいんだろう。
>>814 > 一人だとsvnは手間。
どこが手間なの?
個人ならリポジトリをローカルファイルにも作れるし。
一人でもブランチの多用やマージやチェリーピックは便利なんで
両方使える環境ならあえてsvn選びはしないな
gitの場合むしろ超巨大プロジェクトの分割管理が鬼門で
Linux方式にしろAndroid方式にしろ面倒そう
>>842 hgは、Facebookが1つの超巨大リポジトリに全部突っ込む為に、色々改良してるらしいな。
bazaarは置いてけぼりなの?
GNUプロジェクトこういうの多くてかなしい
>>844 残念だけど諦めたほうがいいよ。
svnからの移行もしやすく好きだったんだけど…
最もセキュリティが高い(盗聴してるIP履歴を発見できる)バージョン管理システムを教えてください。
盗聴されてる時点でセキュリティも糞も無いと思うが
ニダーさんが覗いています
>>844 GNU Emacsがbazaarやめてgitにしようとか言ってる時点で
bazaarは終わりでござる
RMSもべつにかまわんとか言ってるし
Linux版のSubversionを使い始めて
早速最新版をビルドしようとしたが
依存ソフトがいろいろあって難儀している
OSのパッケージシステムに登録されてる版は
古すぎてお話にならず
みんなはこれくらいへっちゃらなのか?
bazaarは名前がダメだわ。一昔前に流行ったバズワードじゃねぇか。
gitやhgがsvnに比べて有利なのは複数のプログラマーが同時に開発するプロジェクトでソースコードの管理する場合だね
ひとりでローカルにブランチいっぱいつくって
とっかえひっかりしたり、マージしたり、いろいろ加工できるのが
gitの利点なのに
>>852 Ubuntu12.04LTSで1.6.17
Windows用クライアントは既に1.8.4という大差
精神分裂病のプログラマーでもないかぎり、とっかえひっかえブランチ切り替えてコード書いたりしないと思う
新しい機能を実装するために新しい機能ブランチ切るだろ。
その機能ブランチに細かくコミット重ねながら機能を実装していく。
途中で実装方法迷ったときとかそこから更に新しいブランチ切る。
いくつかコミット重ねて修正してみて、その実装方法に確信が持てたら元の機能ブランチにマージ。
納得できなかったらとりあえずそのブランチは行き止まりにして元の機能ブランチに戻る。
それを繰り返してると行き止まりにしたブランチに捨ててきたコミットが使えることに気づいて、
そのコミットをチェリーピックで復活とかもしたくなる。
そんなのを多段に繰り返して機能実装完了したら機能ブランチを整理してオリジナルにマージ。
機能ブランチの整理のときも、安全のために機能ブランチとは別のブランチ作ってリベース。
目標に向かって一直線にプログラム書いていけるようなプロジェクトやってる人も
手法20個試して1個の当たり見つけるようなのやってる人も居るだろ
後者のようなのをsvnでやってるときはifdefやコメントアウトのほうが便利だし
そんなにブランチいらんだろと思ってたが、
gitに慣れてくるとブランチとマージのコストが低いからちょいちょいブランチ切るようになった
> gitに慣れてくるとブランチとマージのコストが低いから
これに尽きるなぁ。結果として作業中のコミットの頻度も上がるんだよね。良い意味で。
コミットするたびにコンフリクトやマージを気にする必要があり、かといって細かい単位で
トピックブランチを切る文化もないsvnだとどうしてもコミットの間隔が長くなる。
それぞれ若干用語の意味がズレるからアレだけれども
枝を分けたり、それらをマージすることに対する敷居が
Subversionに比べてGitもMercurialもすんごい低いんよね
Gitだとブランチ作って作業、Mercurialだと名前もつけずにupdateで古い
チェンジセットに戻してそこに積み上げることもできるし、
頻繁に行き来したり最後にまとめたりする時はmqが便利だよね
SVNは昔使ってたけど、ローカルで使っててもGitやMercurialに比べて動作が遅すぎたよ
手法20個も試したことないわ
mqって
864 :
814:2014/02/16(日) 11:38:40.28
>>841 リポジトリを作るのが手間
git/hgなら今ローカルにあるフォルダをそのままリポジトリにできるじゃん?
svnはリポジトリ自体の配置設計をしなければならないのがめんどい
865 :
デフォルトの名無しさん:2014/02/16(日) 15:35:35.12
そんな必要ないけどパラレルワールドに生きてるのかな(笑)
だな
なんだ?SVNはリポジトリ作らんでもいいようになったのか?
作業コピーとリポジトリが別の場所なのが嫌だってことなんじゃ
git/hg/bzrをメインで使っている人にとっては
svnは枯れていることに意義があるので
svnの進歩には興味ないどころか
余計なことしやがってと思っていても不思議ではない
自分が管理しているわけでもないSVNリポジトリ触るのって苦痛じゃない?
ソースコード管理するのにローカルにリポジトリ作れるのは大してメリットないと思うな
UNIXのドットファイルみたいな設定ファイルを管理する場合はローカルに作れるといいかも
ローカルにリポジトリ作れてありがたがっている人を前にして
その発言に何の意味があるんだ?
新しいプログラムを作り始めるときに、ローカルリポジトリから始められるのはすごくいい。
~/repos/projectA/
これだけの話だろ
なんで同じ場所だといいんだ?
ドットファイルもシンボリックリンクでいいじゃん
VCSはバージョン管理の道具であると同時に共同作業のためにも使われるあたりも議論が
ごっちゃになりがちな原因だと思う。
「一人で開発しているのでVCS不要」とか。
>>875 そのprojectAって名前を他のリポジトリかぶらないように考えるのすら面倒
>>864 同意するけど、毎日リポジトリを作る訳じゃないし、そんなに大きな違いか?
>>878 頻繁にやるわけじゃないからこそさ、
いざリポジトリ作ろうと思ったとき git init だけで作れるのがいいんだよ
Subversionで管理してた計1GBぐらいの画像ファイルの管理をMercurialに移行したら
レスポンスが速くなったよ
たいした機能は使ってないけどね
gitとhgってどっちがいいんだろう
Mercurial良いよと言いたいところをグッとこらえて素知らぬ顔でいやぁ〜gitが
グローバルスタンダードですよねとか言ってみる。
水銀たん・・・
>>880 そ、それは、、、
分散型と最も相性の悪い事の一つでは…
>>884 880だけど、俺以外が更新する事なんか、滅多にないから大丈夫だよ
実際、かち合った時にどうなるのかは体験してないから、よくわからん
>>882 コードの管理で言うと、一般企業にはMercurialが、オープンソースプロジェクトにはgitが向いている
たぶんね
>>878 俺は手軽だからこそリポジトリ化する頻度が上がったな
会社の方針で共有ソースコードはSVNだけど、個人pc内にあるほとんどの自作物(検討ソースコードやofficeドキュメント類も)をhgで版管理してるよ
>>884 分散型はリポジトリ全体をコピーするからかな
巨大ファイルを入れてしまうと、そこからのクローン全部に入ってしまう
また画像のようなバイナリファイルは差分を取りにくいので版を重ねるたびに巨大になっちゃうとか
だから
>>885さんのように一人で使う分には問題ないよ
その場合「分散型」自体の意味が無いけど、それでも一人でgit/hgを使うメリットはあると思う
889 :
888:2014/02/16(日) 20:46:59.62
>>888 880だけど、Mercurialにはlargefiles拡張っていう、でかいファイルは最新版しかコピーしない機能があるよ
で、クライアントにTortoiseHG使ってると、ファイル追加する時に
「当然使いますよね」的なダイアログを出してくるので、その機能使ってる
>>890 それは知っているけど、それはmercurialが分散型の弱点の一つをカバーする為に集中型の特徴を部分的に取り入れただけだよ
原理的に分散型の苦手部分だという事に変わりはないよ
まあ、分散型・集中型できっちり区分けする必要も無くて、ツールとしては良いとこ取りして進化していってくれたらそれで良しだけどね
gitのHEADが参照してるBLOBだけDLしてくれればな
SVNも最近のバージョンはマージのコスト下げるために色々やってるね。
あとは前々から予告されているローカルコミットさえ実装されてくれれば・・・。
SVNや分散型のそれぞれのいいとこ取りしたVCSが出てくればいいのにね
gitのコマンド体型って誰が考えたんだろう
^^とかさ
ああいうのは頭のいいバカが考えたものだと相場が決まっておる
>>893 > あとは前々から予告されているローカルコミットさえ実装されてくれれば・・・。
ほんとそれ
svnのアップデートを待つよりもうそれMercurialで良いのではないかと思うw
Mercurialは土方でも使えるよ
土方歳三
Mercurial推しの奴が(見た目)大いんだが、そんな流行ってるのか?
分散型は、gitとhgの2強時代だと言っていいんじゃないの?
公式採用とかは、gitやや優勢かなと思うけど、誤操作での被害を考えると個人的にはhgを推したい気はする。
俺は、unicodeファイル名への対応をどうするかで決めたいと思ってまだ様子見。
git>>>>>>>>>>>>>>>>>hgでしょ
SourceForge.JPの作業部屋って言う個人リポジトリだとhg使えるらしいしそこで試してみるは
gitもhgも試すだけなら自分のPCだけでできるだろ
mercurialってgithubみたいなのあるの?
ああいうリポジトリサービスは
どうでもいい個人が登録して使ったらアカンやろ
908 :
デフォルトの名無しさん:2014/02/17(月) 15:01:52.89
全体的にはhgが好きなんだけど、日本語ファイル名の扱いがいつまで経ってもウンコなのと
名前付きブランチをマージした後の扱いが気に入らない。
gitの方がより複雑で、svnからの移行はhgの方が多少しやすいと思う
あと、gitはwindowsクライアントがろくなのない
gitが複雑・・・?
俺もhg押し派なんだけど、ネット上に存在する日本語の資料の量は圧倒的にgitの方が多いよね
誰かがhgを分かりやすく解説してくれないとな
文才のある奴じゃないと
ROMりにいってやるよ
gitはgithubで名前が知れたからな
けど、俺はhgの方がsvnの次のステップとして適してると思う
ま、svnで十分だったらsvnのままでもいいが
GitとHg共通の機能や操作に使用感の違いはあります?
ブランチの扱いが随分違うな
gitじゃメモ代わりにブランチ作ったり消したりできるぐらいお手軽なものだけど
hgでは名前つきブランチっていうのはある程度計画的に作るべきものなのか
hgのほうがいろいろ縛りが厳しい
hgだと作業途中での変更が大変そうだし他のとこ見ても
Gitのほうがスッキリ作業できそうなのでGit使い続けることにします
レスありした
コミットメッセージ書くの面倒臭すぎて「ちょっと修正」とか「いろいろ変更」にしてしまう
一人で趣味でやってるだけだから周りに迷惑かけてないからこれでいいけど
みんなはこんな面倒なことしてるのかな
gitならブランチ分けて、途中までは「作業中」でコミット、
最後にmerge --squashするときに、ちゃんと書く…とか
hgならmq使うとか、色々やり方はあるかと
>>922 そもそも、Subversionのブランチ並のことやらん限りブランチ要らんかと
>>925 もっと細かい修正でコミットすればよくね?
あとで見返したときに「ちょっと修正」や「いろいろ変更」で中身が思い出せるエスパーなら止めはしないけども。
複雑な樹形ブランチを管理保存出来るなんてvcs凄いわ。
>>928 そもそもコミットが面倒臭い
理想は機能一つ、修正一つ毎にコミットなんだろうけどうまく出来ないんだよな
作業する前に何の作業をするのか言葉にしてから作業を開始しろ
俺の集中力も分散型
そもそも機能と修正ごとにブランチ切るべき
>>930 hgならmqで簡単な名前だけ入れて残して、細かい修正は行ったり来たりしながら作って、
後で整理してきれいなコミットにするんだよ
Update hoge.c and create hoge() in hoge.c
hoge()関数を実装した
------------------
Update hoge() in hoge.c for bug fix
hoge()関数のゼロ除算するバグを除いた
------------------
Update hoge() in hoge.c for format
hoge()関数のif文からswitch文に直して処理の流れを分かりやすく整形した
hgはiOS、gitはandroidって感じ
ググって見たが、hgのmqややっこしいな
gitで普通にコミットしてrebase -iで順番入れ替えるほうが簡単でいいわ
ブランチ作らずに一本道で見るのは一番最後にコミットしたものだけって使いかたしてるけど
これならsubversionの方がいいんだろうな
>>938 本当に「見るのは一番最後にコミットしたものだけ」ならバージョン管理いらん
作業時間を測りたいから
作用開始コミットと終了コミットを打つ
機能ごとにコミットしてきちんとコミットメッセージ書くのがいいけど、面倒だからな
TortoiseSVNはコミットメッセージか空でもエラーにならないよね
その運用で困らないならそれでいいと思う
>>904 そんなくだらん目的のためにリソース食うバカは死ぬべき
>>930 だからgit merge --squashやMercurial Queueじゃあかんの?
hgに関するブログ記事ってのは古すぎて現状に即してないのが多いかな。
>>937 MQって最近はほとんど使う必要ないよ。拡張機能で対応できる。
ブランチの派生元の変更がrebase、コミットの順番入れ替えがhistedit
履歴編集関係でhgにあってgitにない良い機能にフェーズってのがあって
ローカルでコミットしただけの変更はフェーズがdraftになっていて、
pushすると自動的にpublicに変わる。
publicになると編集できなくなるので、うっかりpush済みの部分を編集しちゃった
なんてミスが起きない。
>>922 実はhgの無名ブランチと、gitのブランチが構造的には全く同じもの。
メモ代わりにブランチ作ったりするなら、そもそもhgは名前を付ける必要もない。
枝を生やしたい根本に移動してコミットしたら枝ができる。
また、hgにはブックマークって機能もあって、これがgitのブランチと全く同じもの。
>>924 stashのことなら、hgにもshelveってのがあるけど、hgならむしろ作業途中で
コミットしてしまって無名ブランチで移動する方が手軽かも。
作業途中のブランチをpushしたくなければ、フェーズをsecretにしておく。
安価ミス?
三日も経てばコマンドを忘れてしまってまた学習し直し
よってフォルダコピーで済ませるようになった
バージョン管理ソフトはメリットに比して学習・運用コストが高すぎる
使用頻度の低いコマンドも覚えようとしてんじゃねえの
いやメインのコマンドだよ
三日くらい集中して開発してふう一息って感じで
コミットするスタイルだから
その間に忘れてしまうんだ
3日に1回は低頻度だろ
コマンドじゃなくバージョン管理の一連の流れを覚えるのが大事であってだな
>>946 そんな記憶力でソースなんて書けるんか?
printf ってなんだっけ、とか言ってそう (w
普段会社ではMercurialなので時々思い出したようにgitやsvnを使う必要があるときは
細かいコマンドをウェブで検索してしまうな。
そういう人のためのGUIフロントエンドですよ
別にコマンド丸暗記しなくたって、恩恵は受けられる
IDE組み込みじゃないとなかなか使ってくれない・・・
955 :
デフォルトの名無しさん:2014/02/18(火) 11:37:58.48
>>955 同意するわ。
コマンド覚えられないならg.shのようなスクリプト書いて流れ作業全部をスクリプトに暗記させればいいだろ。
実際おれはコマンド辞典の丸暗記なんかしてないよ。暗記作業はpcに任せて自分は最大限に手を抜くのが正義だと思ってるわ。
沢山のコマンド名を暗記して人間百科事典みたいな事してるやつは、頭はいいとは思うけど、バカだな。と思うわ。
そしてスクリプトの名前を丸暗記してるのですね
>>944 hqの無名ブランチがgitのブランチと構造的に同じだとしても
好きな名前付けられないんならメモ代わりにはならないんじゃないの?
mq使う必要無いって、このスレでmq、mq言ってるやつは何なんだよ
mq は、TortoiseHg Workbench が対応してやっと理解できた。
今はめっちゃ使ってる。
なくても困りはしないけど。
GUIは色々なリビジョンの変更履歴を確認したりrebaseしたりと、コマンドラインだと
リビジョン番号を手打ちする必要のある作業のときに特に重宝するな。
SourceTree楽だ。
>>957 シェルの補間機能がうまく働くような名前にしとくといいよ
昔のおっさんには、人間アセンブラな人、マシンのブートコード丸暗記してる人がいたらしい。
現代のゆとりにはミリ
もうゆとり教育終わってるんだけどな
ゆとり教育終わってから小学校に入った人はまだ高校生
途中で終わった人はどういう扱いなんだろ
>>958 いや、そのレス先に書いてあるように、bookmark機能を使えば、gitと同じ状態になる。
gitのブランチと同じってことはそのままリモートにpushできるのか
>>962 昔のおっさんといっても、その辺のレベルの人現役で結構いるけどな。
ハードに近いところの仕事してると普通に会う。
で未だに現役な人達は50こえてるだろうに知識に貪欲で色々勉強しててびっくりする。
自分があの歳になってもああなれるか自信ないわ・・・
969 :
デフォルトの名無しさん:2014/02/19(水) 01:28:24.23
>>957 スクリプトのショートカットを好きなところに置いておけばクリックするだけなんだよ
ターミナル開く必要もない
スクリプトにヘルプ表示も付ければそのスクリプトのオプション覚える必要もない
ちなみにこれはどれも実際に俺自身が複数一度に処理できるように作って実践している
外部記憶の活用
posh gitやposh hgは良くできてる
972 :
デフォルトの名無しさん:2014/02/22(土) 03:39:52.07
バージョン管理もできないweb屋と仕事すると頭痛い
結構あるからな。
自分だけでもバージョン管理しとくといいよ。
バージョン管理ソフトは
学習コストがけっこう高いからねえ
万人が使えるとは言えないのが痛いところ
将来はシステムが自動でバージョン管理してくれる
方向に進むと思う
>>974 vs2010のC#でプログラミング勉強しとります。
この環境でvcs使いたいんですが何が良いあるか?
gitで良いあるよ
VS統合ならAnkhSVNがまあまあ良かった
2010だとGitサポートは無いのか
2013からどす
そういえば、MSがGitを取り込むんだったっけ
よく知らんけど、今のバージョンなら使えるの?
MSは日本のソフトウエア業界を蹂躙したインベーダー。
>>974 > 将来はシステムが自動でバージョン管理してくれる
> 方向に進むと思う
それはない。
なぜならバージョン管理ソフトというのは
ソフトウェアのバージョン(機能の違い)を
管理するためのものであって、ファイルのバージョンを
管理するものではないから。
ファイルのバージョンとソフトウェアのバージョンは一致しない
ファイルはコンパイルすら通らないような修正中であっても保存できる。
だがこれはソフトウェアのバージョンになるとは限らない。
ソフトウェアにおいてある機能が出来たとされるバージョン(=コミット)
これを判断するのは人間しかできない。
gitにおいてはもはやバージョンを管理するものだけではなく
別のバージョンの機能の一部を取り込んだり、
ソフトウェアにおけるバージョンを綺麗に直すことも出来る。
こういうのは人間が判断することでシステムには無理。
VCSの用途としては共同作業ツールの側面もあるからね。
>>975 VC拡張でgitのがあるはず
公式なやつは2010でもあったと思う
ごめん逆、MS公式なやつはもっと先のバージョンだけど、非公式なやつは2010から
馬鹿がバージョン管理ソフトを使うと
普通考えられない使い方をすることがある
それなら使わない方が効率いい的な
そんなゴミはプログラマにしない方が効率が良い
「なんだかよくわからないけど動かなくなりました」
「なんだかよくわからないけど動くようになりました」
この必殺技に対する抑止力として、馬鹿にこそ使わせるべき
馬鹿に使わせると動かない状態をコミットして、動く状態をコミットしないんだよな。
VSのアドオンであるけど、普通にTortoiseHgとか組み合わせて使えばいいんじゃない
>>991 やっぱり統合されてるのは便利だよ
Tortoise も便利なんだけどね
VCSがエディタ画面とうまく統合されてるとおそろしく快適だわ
バージョン管理システムをバージョン管理に使わない例を聞いて頭をかかえたことが
svnもhgも、IDEに統合された中途半端なやつ使うより、専用のTortoise*使った方が
使いやすいと思うわ。差分見るのも、ExamDiff Pro使って見たいし。
差分を確認する時とかブランチをどうこうする時は別の使うけど
VisualStudio上からすぐコミット出来るのは便利だった
コミットしてないファイルがどれかもわかるし
Tortoiseで操作するような部分はコマンドラインでいいや
それよりも、ソース編集するツールがVCSと統合されてdiffやblameを常時チェックできるような状態になってるのが嬉しい
いまIntelliJ IDEA使ってるんだけど、これで行単位のaddとかも編集画面でそのままできたら言うことはないな(できるのかな?)
>>997 え、差分確認せずにコミットしてるの?
コミットしてないファイルは、適切な無視ファイルパターン入れてれば、
Tortoise*でも自明でしょ?
つづく!
1001 :
1001:
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。