「gitのインストールが面倒」と書いたのですがなんと既にGit version 1.8.1.2-preview20130201がインストールされていました。私が自分でインストールしたとしか考えられませんが記録も記憶もないのでアンイストールして入れ直すことにしました。
Removing in-use filesからエクスプローラーが消えず$$$\Rightarrow$$$Windowsを再起動で解決?
まずはGit version 1.8.1.2-preview20130201をアンインストールします。
スタート→コントロールパネル、Git version 1.8.1.2-preview20130201を右クリック→アンイストール。
Git Uninstall: Removing in-use filesパネルがでてきてエクスプローラーを閉じろ、といわれます。
こういうときに「Continue」としてしまうとあとで手動であれこれ消去したりレジストリをいじったりしないといけなくなることが多いのでとりあえず「Exit」します。
いわれた通りエクスプローラーのウィンドウを全部閉じてもう一度やってみましたが、また同じことをいわれます。
開いているほかのアプリのウィンドウをすべて閉じても同じことをいわれます。
コントロールパネルを使わずにGitがインストールされているフォルダにあるアンインストーラと思われるunins000.exeを、スタート→ファイル名を指定して実行、でC:\Program Files (x86)\Git\unins000.exeと入力してアンインストールしてみました。
ダメです。同じ結果です。
ここで力尽きてその夜は寝てしまいました。
MsysGitのシェル拡張をアンインストールする - namutakaの日記
翌日通勤中にこのページを見つけました。
「Continue」として不完全にアンイストールしたあとの対処が書いてあります。
ところが今日やってみたらコントロールパネルからRemoving in-use filesパネルを見ることなくアンインストールできました。
再起動してもとくにエラーもでません。
昨夜からやったことといえばシャットダウン$$$\rightarrow$$$起動です。
ということで再起動してからコントロールパネルからアンインストールすればうまくいくのかもしれません。
もう無事アンインストールできたので再現実験はしていません。
Git for Windows(msysgit)をインストール
そもそもGitが何か?、ということについてはGitを使ったバージョン管理【Gitの基本】 | サルでもわかるGit入門 〜バージョン管理を使いこなそう〜 | どこでもプロジェクト管理バックログとかユカイ、ツーカイ、カイハツ環境!(3):分散バージョン管理Git/Mercurial/Bazaar徹底比較 (1/5) - @ITが詳しいです。
自分一人で作ったものであってもバージョン管理はかなり面倒ですのでGitが使いこなせれば便利そうですね。
Windowsで動くGitにはmsysgitとCygwinの2種類があります。
LibreOffice(16)LibreOffice 4.1 SDKをインストールのときにCygwin版makeではなくmingw32-makeをインストールしたので同じMinGW系のmsysgitをインストールします。
Git for Windowsの「Download」をクリックするといろいろなバージョンがダウンロードできます。
私はGit-1.8.5.2-preview20131230.exeをダウンロードしてインストールしました。
Windows Explorer integrationというのが上述のアンインストールでひっかかかったところです。
Advanced context menu(git-cheetah plugin)を選択するとエクスプローラで右クリックすると以下のようなメニューが追加されます。
エクスプローラとの連携はあとでTortoiseGitをインストールしますのでチェックははずしておきます。
今回インストールの参考にさせていただいたWindows環境でGitを使うによるとAssociate .sh files to be run with Bashのチェックも不要のようですのでこれもはずします。
Associate .git* configuration files with the default text editorだけチェックを残しておいて「Next」をクリック。
コマンドウィンドウでgitコマンドを使うにはここでRun Git from the Windows Command Promptを選択しておきます。
C:\Program Files (x86)\Git\cmdがシステム環境変数のPATHに設定されます。
コントロールパネル→システムとセキュリティ→システム→システムの詳細設定、であとからでも設定変更できます。
Run Git and included Unix tools will be the Windows Command Promptを選択するとC:\Program Files (x86)\Git\cmdに加えてC:\Program Files (x86)\Git\binもPATHに設定されます。
改行コードに関する設定です。
これはTortoiseGitでも変更できます。
Windowsでの推奨設定は一番上のコミットするときにUnix改行コードへの変換です。
いまのところWindowsでしか使う予定はないので一番下の改行コードを変換しない設定にしました。
(H26.3.20追記。PyCharmを使っていると推奨設定にするように促されるので結局促されるままにautocrlfはtrueとしました。つまり一番上のCheckout Windows-style, commit Unix-style line endingsを選択したことになります。)
Git - Git の設定のcore.autocrlfの項目に詳しい解説とあとで設定する方法が載っています。
これでインストール完了です。
コマンドウィンドウでgitと入れるとコマンドの使い方が表示されます。
次にエクスプローラの右クリックメニューからGitを使えるようにするTortoiseGitをインストールします。
参考にしたサイト
MsysGitのシェル拡張をアンインストールする - namutakaの日記
不完全にアンインストールしたときの対処法。
Gitを使ったバージョン管理【Gitの基本】 | サルでもわかるGit入門 〜バージョン管理を使いこなそう〜 | どこでもプロジェクト管理バックログ
Gitの仕組みがわかりやすく解説されています。
ユカイ、ツーカイ、カイハツ環境!(3):分散バージョン管理Git/Mercurial/Bazaar徹底比較 (1/5) - @IT
リンクをたどるとGitの開発経緯もわかって面白いです。
いつやるの?Git入門 v1.1.0
上の二つを読んでからこのスライドを見ると具体的にGitの使い方がよくわかります。
Git for Windows
ここからGit for Windows(msysgit)をダウンロードします。
Windows環境でGitを使う
インストールはここを参考にさせていただきました。
WindowsでのGit環境構築とその注意点 | SourceForge.JP Magazine
msysgitのインストールの解説などWindowsでのGitに関する情報がたくさんあります。
tortoisegit - Windows Shell Interface to Git - Google Project Hosting
エクスプローラでの右クリックメニューにGitのコマンドを追加してくれます。
Git - Git の設定
Gitの設定の網羅的な解説。
参考にさせて頂きました。ありがとうございました。
返信削除私もコントロールパネルからアンインストールを試みましたが、同様に、
「エクスプローラーを閉じろ」
と言われて、ダメでしたので、再起動後、コントロールパネルからの削除手順を
行いました。確か、1回目はダメでしたが、もう1回トライすると、アンインストールできました。
つまり、コントロールパネルから、削除を試みて、ダメだということを確認。
再起動させる。
その後、コントロールパネルから、2回、削除を試みたらアンインストールできました。
再現確認して頂きありがとうございます。
削除突然のコメントすいません。
返信削除私は、現在工場の社内SEとしてラインで使用するプログラムの
開発に従事しています。
そこで、最近になりプログラムのバージョン管理を行うことに
なり『TortoiseGit』を使用することになりました。
なんとか、インストールに成功してテスト的に私一人が使用して
使い方がわかってきたら他の開発者へ展開するような感じで動いていますが
すでに3か月ほどやっていますが未だに理解できずネットの中をさ迷い歩いて
ここにたどり着きました。
いきなりの質問で不躾だとは思ったのですが、質問させてください。
この『TortoiseGit』というソフトでは、フォルダごとに個別に管理することは
出来ないんでしょうか?
というのも、当方の環境では複数のラインがありそのラインごと製造製品ごと
に使用しているプログラムが違います。それを管理しようと思って
¥開発フォルダ
¥ライン1
¥ライン1、製造製品1のプログラム
¥ライン1、製造製品2のプログラム
¥ライン2
:
:
というようなディレクトリ構造にしました。
この状態で、『¥ライン1、製造製品1のプログラム』でブランチを
作り切り替えると『¥ライン1』全体が切り替わってしまって
『¥ライン1、製造製品1のプログラム』だけで別ブランチを作ることが
出来ません。
これでは非効率なので何とか『¥ライン1、製造製品1のプログラム』だけで
ブランチを作って、切り替えをした時も『¥ライン1、製造製品1のプログラム』
のみが別ブランチに移るようにしたいのですが方法はありますか?
突然にご質問で大変不躾ではありますがご回答いただけると幸いです。
当方の環境としては、OSはWinXP、『TortoiseGit』のバージョンは
『TortoiseGit-1.8.16.0-32bit.msi』を使っています。
ラインで使用しているプログラムがWinXP下でしか動作しないのでこのような環境に
なっています。
ですが、一応NASサーバを入れてそこにプログラムのバックアップを取るように
環境を作りました。
長文、乱雑な質問になってしまいましたがご回答何卒よろしくお願いします。
私はサンデープログラマーなのでプロの方にお応えするのは気が引けますが私の理解の範囲でお答えしますと、Gitはプロジェクト全体を切り替えるものなので、ブランチを切り替えるとそのプロジェクト内のすべてが切り替わってしまいます。
削除¥開発フォルダ
¥ライン1(プロジェクト、つまりリポジトリ)
¥ライン1、製造製品1のプログラム
¥ライン1、製造製品2のプログラム
¥ライン2(プロジェクト、つまりリポジトリ)
:
:
もしこのようにラインごとにリポジトリにして管理している場合は、ライン1のブランチを切り替わるとそれに伴って、同じリポジトリにある「ライン1、製造製品1のプログラム」も「ライン1、製造製品2のプログラム」もそのブランチのものに切り替わります。
¥開発フォルダ
¥ライン1
¥ライン1、製造製品1のプログラム(プロジェクト、つまりリポジトリ)
¥ライン1、製造製品2のプログラム(プロジェクト、つまりリポジトリ)
¥ライン2(プロジェクト、つまりリポジトリ)
:
:
もし全く別個にこれらのブランチを切り替えたいのなら、このように別個のリポジトリにすれば、これらが同時に切り替わることはなくなりますが、関係が密なプログラム同士を別個のリポジトリにするのはバージョン管理が煩雑になるので普通はしないと思います。
¥開発フォルダ
¥ライン1(プロジェクト、つまりリポジトリ)
¥ライン1、製造製品1のプログラム (ブランチAで編集)
¥ライン1、製造製品2のプログラム (ブランチBで編集)
¥ライン2(プロジェクト、つまりリポジトリ)
:
:
そんなことをしなくても、このように同じリポジトリ内で、「製造製品1のプログラム」と「製造製品2のプログラム」ごとにブランチを作ってそれぞれ編集してコミットして、必要に応じてこれらをマージして、ライン1のプログラムを作り上げていくのがよいのではないでしょうか。
それでもマージするときにコンフリクトするとそれを修正するのが面倒なので、私の場合は一人しか開発者がいないということもあって、まず「製造製品1のプログラム」のブランチで編集を進めてそれが一段落すると、ライン1にマージして、次に「製造製品2のプログラム」のブランチで編集を進めて、それが完了すると、ライン1にマージして、ライン1のプログラムを完成させるというように、まめにマージと新しいブランチを作ることを繰り返しながら全体の完成にもっていっています。
こういうやり方はすでにgit-flowという名前で定型化されていて、Eclipseなどではプラグインもありますが、プラグインを使わなくてもブランチの運用ルールを守っていけば同じことができます。
git-flow cheatsheet
上記のやり方でgit-flowのブランチの名づけ方を用いると、まずdevelopブランチからfeatureブランチAを作って、「製造製品1のプログラム」を編集して、一段落したら、developブランチにマージして、そこからfeatureブランチBを作って、「製造製品2のプログラム」を編集して、一段落したら、developブランチにマージして、また編集が必要ならdevelopブランチから新たなfeatureブランチを作って編集、ということを繰り返していきます。
「製造製品1のプログラム」だけ並行して複数パターンの編集をしたい場合は、featureブランチA1、featureブランチA2というように同時にブランチを切り出して、どちらか採用したパターンをdevelopブランチにマージしていけばご希望の通りのことができるのではないでしょうか。