間違ってるぞ、とか、文句とか、質問とか

Gitによるバージョン管理入門 for windows
についての、ご指摘、ご意見、ご質問、文句はこちらへどうぞ!でもやさしくしてね。


カテゴリー: Git   パーマリンク

間違ってるぞ、とか、文句とか、質問とか への7件のコメント

  1. admin より:

    なんか誰も何も書いてくれないので、さびしいので自分で書きます。(;_;)

    改めて読み直してみると、結構わかりづらいところが沢山ありました。
    書いている最中は、全部頭に入っちゃっているので気づかなかったけど、
    時間があいて忘れてから見ると、気づきますね。
    書き直したいけど、時間が無いなあ。

  2. ピンバック: 明けましておめでとうございます | Plowmanのブログ

  3. akua より:

    現在バージョン管理ソフトを検討しており、subversionやgitなどをいろいろ調べています。こちらのサイトを拝見させていただき、参考にさせていただいてます。

    運用上で、不明な点があるので失礼ながら質問させてください。
    当方は以下のようなプログラム開発業務でのバージョン管理ソフトの利用を考えております。
    ①顧客からソースコード一式を受領する。
    ②①をベースに修正/開発をする。
    ③顧客へリリース(ソース一式)
    ④③のソース一式に顧客の変更を加えたソース一式を受領→マージ
    ⑤④をベースに修正/開発
    ⑥顧客へリリース(ソース一式)
    上記が大まかな流れですが、これを繰り返します。
    まさにバージョン管理ソフトの機能が発揮できるのではないかと思います。

    ここで①や④でさまざまなタイムスタンプのソースを受領します。
    新たに修正を行うファイルに関してはタイムスタンプが更新されてもよいのですが、
    何も変更がないものに関してはタイムスタンプが変わらないのがベストだと思います。
    リリース時にエクスポートなどを利用してソースを梱包した時に、エクスポートした時のタイムスタンプに更新されているようです。顧客からするとタイムスタンプが変わってるので変更の有無を気にしてしまい、混乱を招くように思います。

    こういうツールはファイルの内容を管理をコミットの日時で行うことはわかりますが、エクスポートしたファイルを現在の日時に更新されると問題があるようにおもいます。みなさんはどのように運用されているのでしょうか。
    何か、よい方法はないでしょうか。十分機能を理解しきれていないので使い方が間違っているのかもしれませんが、助言をいただけると幸いです。

    • admin より:

      投稿ありがとうございます。初めての投稿ですので、うれしいです。

      記事にも書いてありますが、Git自体はファイルのタイムスタンプを管理していないので、エクスポートするとその時点の日時になってしまうのでしょうね。

      タイムスタンプの保持は、リリース用のリポジトリを一つ作り、そこにチェックアウトしてからリリースすれば可能だと思います。そのリポジトリはずっと残しておく必要がありますが、この方法なら、変更があったファイルのみタイムスタンプが変更されます。

      でも、この方法でもお客さんから貰ったソースのタイムスタンプと同じになるとは限らないですね。変更の無いものはお客様から頂いた時のタイムスタンプと同じになるようにするには、お客様から頂いたファイルを登録するときに使ったリポジトリを取っておいて、リリース時にはそこにチェックアウトして、リリース、とやれば何とか出来そうです。

      でも、ややこしいので、お客さんにもGitで管理してもらい、ネット上のリポジトリで共有するか、パッチでやり取りして、タイムスタンプは変更の有無とは関係ない、と出来れば、一番分かりやすいかもしれません。お客様があることなので、自由にはならないと思いますが、Gitなら比較的ネットでの共有がやりやすいと思います。

  4. akua より:

    早速の返事ありがとうございます。
    一人で悩んでいたので非常に助かります!

    >タイムスタンプの保持は、リリース用のリポジトリを一つ作り、
    >そこにチェックアウトしてからリリースすれば可能だと思います。
    >そのリポジトリはずっと残しておく必要がありますが、この方法なら、
    >変更があったファイルのみタイムスタンプが変更されます。

    こういうことでしょうか?
    ・[リリース用]フォルダでリポジトリを作成
    ・[リリース用]フォルダにお客様から頂いたソース一式を保存
    ・リモートリポジトリにファイルを追加
    ・各作業者は、このリモートリポジトリをクローンして利用
     →各自の作業ツリーでプルするとソース一式が現在のタイムスタンプでコピーされる
     →内容変更があったものをプッシュしてリモートリポジトリに反映
    ・リリース時は[リリース用]フォルダでチェックアウトすれば
     [リリース用]フォルダに最新の内容と差分があったファイルのみ更新
     される。
     このフォルダ内のソース一式をお客様にリリースすればよい。
    ・お客様が更新したソース一式を再度頂いた場合も既存の[リリース用]フォルダ
     に上書きして、同様の作業を行う。

    これならうまくいきそうですね。

    お客様にGitを利用してもらうのは他にも数社関係するため、少し敷居が高いかもしれないですね。
    提案したら気に入ってくれるかもしれませんが。。。。

    上記方法で駄目なら、更新したファイルのみをGitで管理し、リリースの際は
    お客様に頂いたソース一式に更新したファイルを手動で上書きして梱包する
    しかないかと思っています。(←Gitの有用性が薄まってしまっていますが。。。)

    • admin より:

      > こういうことでしょうか?

      そう、そうです!
      文書だとわかりにくいかと思いましたが、わかっていただけてうれしいです。

      >お客様にGitを利用してもらうのは他にも数社関係するため、少し敷居が高いかもしれないですね。

      Gitは最初ちょっと敷居が高いので、ある程度の管理レベルと管理意識のある会社じゃないと難しいかもしれないですね。

      >提案したら気に入ってくれるかもしれませんが。。。

      是非ご提案を!

      では!

  5. yasu より:

    「ソーシャルコーディング」に興味をもってGitの情報を検索して
    たどり着きました。説明が非常にわかりやすいですね。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>