gitで、プロジェクトの最初の共有リポジトリを作成する
複数の開発者で共有する最初のgitリポジトリを作成(初期化)するには、以下のようにします。
リモートの共有リポジトリを作成する
最初に、リモート側で空の共有リポジトリを作成します。
ここで、「空の」というのは、「作業ディレクトリ等を持たない、シンプルな構成の」と言う意味です。
ざっくり言うと、さまざまな作業用リソースを管理する「.git」フォルダをもたないディレクトリのことです。
リモート側の共有リポジトリがサーバのファイル上なら、以下のコマンドを打ちます。
(project_nameは自分のプロジェクトとかリポジトリ名に置き換えてください。また、ベアリポジトリには名前に.gitを付ける慣習があるので、そうしておきます。)
mkdir project_name.git
cd project_name.git
git init --bare --shared=ture
このコマンドを実行すると、そのフォルダに「config」「description」「HEAD」などのファイルができますが、「.git」はできません。これがbareなリポジトリです。
GitHubやbacklogのgitで行う場合は、ブラウザなどから最初のリポジトリを作成できます。
(共有リポジトリにファイル追加する前に)ローカールでリポジトリを作成する
できたばっかりのbareリポジトリは、「空」です。ここでの「空」とは、管理対象のファイルがないと言う意味で使っています。
そこに、プロジェクトのファイルを追加していきますが、リモートの共有リポジトリにファイル追加する前に、ローカルでリポジトリを作成し、その中身をリモートの共有リポジトリに追加するという手順をふみます。
これは、リモートのbareリポジトリには作業ディレクトリがないので、管理対象ファイルの追加などの作業ができないためです。
そのため、まず、ローカルのプロジェクトのフォルダ(下記の例ではMySample)に移動して、
cd D:\xxx\xxx\my_remote_git_ripo\MySample
git init
とコマンドを打ちます。
すると、「.git」を含むgit管理用ファイルとフォルダが生成されます。「.git」フォルダは、作業フォルダにも使われるため、これにより、ファイルのaddやcommitが可能になります。
(bareリポジトリで「git add .」と打つと、「fatal: this operation must be run in a work tree」と言われるのはそのためです。)
では、MySampleフォルダ配下のファイルやフォルダを全部git管理下におき、コミットしましょう。
(ファイル名指定で追加してもいいですが、一気にまとめてやったほうが簡単なので。。)
git add . git commit -m "最初のcommit"
共有リポジトリにファイルを追加する
上記までで、プロジェクトの最初の管理対象ファイルが決まったので、それをリモートの共有リポジトリに登録します。
まず、ローカル・リポジトリからリモート・リポジトリにpushできるように、リモートの共有リポジトリを「origin」という名称で登録します。originという名前は、慣例です。
git remote add origin /d:/xxx/my_remote_git_ripo/MySample.git
(Webベースの場合は、
git remote add origin ssh://xxxx.com/git/repo.git
のようになります。)
git remote -v
で登録されたリモートのリポジトリが確認できます。
push先を確認したら、
git push origin master
で、リモートの共有リポジトリにローカルのソースをpushしましょう。
以上で、開発メンバー全員で共有できる、大元のリポジトリができました。
ここから、「RemoteのgitリポジトリからEclipseプロジェクトを作成する」などを参考に、各自eclipseなどで開発を開始できると思います。