web-dev-qa-db-ja.com

ローカルgitリポジトリの設定

私はプロジェクトファイルリポジトリとして GitHub を使用するのが好きです。しかし、このコンピューターの別のディレクトリパスにリポジトリを作成できれば、もっと興味があります。次に、その作成リポジトリを新しい作業ディレクトリに複製します。

GitHubローカルを作成することを計画していました。私はこれについて探していました、そして私が使うべきである多くのリターン gitolite そして代わりにもっとたくさん。 Windowsを使用している問題で、コマンドラインを使用してすべての手順を実行したい。

作業ディレクトリ以外の別のディレクトリにリポジトリを作成し、そのリポジトリをローカルネットワーク内の他の端末に複製できるようにするには、どのコマンドラインを入力する必要がありますか。


ターミナルをWindowsホストにリンクする

Users\username\GIT\project.gitにパスするリポジトリディレクトリを作成しました。コマンドラインを使用して端末をリンクしようとしていますgit clone file://{IPv4 server address}/Users/username/GIT/project.git returns

fatal: '/{IPv4 server address}/Users/username/GIT/project.git' does not appear to be a git repository
fatal: The remote end hung up unexpectedly

どうすればこれを解決できますか?ホストはWindows7で実行されており、接続端末はUbuntu 12.04LTSとMacOSMavericksを使用します。


UPDATE TRACK

  1. 質問の本文を更新しました。どの手順に従うべきかわかりません。
  2. ローカルネットワーク上でリポジトリを共有するためのLINKING TERMINAL to Windows Host質問を挿入しました。
13
David B

たぶんあなたはgitリポジトリとローカルクローンを作成する簡単な方法を求めていますか?

  1. git init --bareを使用してgitリポジトリを作成します
  2. git clone --local /path/your/local/repo/を使用して他の場所からクローンを作成します

ローカルネットワークの場合、Windows共有またはその他のファイル共有が機能する場合があります。

しかし、単純な方法はうまく機能し、最善または適切な方法ではありません。 GitHubにはプルリクエスト、発行トラック、特権制御機能はありません。 git commitやその他の複雑な作業を管理するには、gitolite、gerritなどの管理システムが必要です。一部はWindowsシステムでは機能しない場合があります。

無料のプライベートリポジトリのみが必要な場合は、bitbucketを使用します。

Windows共有からのクローン:

git clone file:////{IPv4 server address}/share_name/path_to_your_.git_dir

ホストコンピューターでは、リポジトリディレクトリを「share_name」と共有する必要があります。例:repo.gitの親ディレクトリ

見る:

14
Fwolf

問題の説明を正しく読んだ場合は、次のようにcloneコマンドの--localスイッチを使用して、ローカルのgitリポジトリを別のフォルダーに複製できます。

git clone --local /git/source_repo/project /home/username/workdir/project

どこ

/git/source_repo/projectはリポジトリの安全なコピーです(必要に応じて、個人のGitHubと呼んでください)。

そして

/home/username/workdir/projectは作業フォルダです。頻繁にコミットしたい任意のフォルダーにすることができます

スイッチの説明:

-ローカル

複製元のリポジトリがローカルマシン上にある場合、このフラグは通常の「git認識」トランスポートメカニズムをバイパスし、HEADおよびobjectsおよびrefsディレクトリの下のすべてのコピーを作成することによってリポジトリを複製します。 .git/objects /ディレクトリの下のファイルは、可能な場合はスペースを節約するためにハードリンクされています。

リポジトリがローカルパス(/ path/to/repoなど)として指定されている場合、これがデフォルトであり、-localは基本的に何もしません。リポジトリがURLとして指定されている場合、このフラグは無視されます(ローカル最適化は使用されません)。 --no-localを指定すると、/ path/to/repoが指定されたときにデフォルトが上書きされ、代わりに通常のgitトランスポートが使用されます。

ハードリンクの代わりにコピーを強制する(リポジトリのバックアップを作成しようとしている場合は望ましい場合があります)が、通常の「git対応」トランスポートメカニズムを回避するには、-no-hardlinksを使用できます。

-ハードリンクなし

.git/objectsディレクトリの下にあるファイルをコピーして、ローカルファイルシステム上のリポジトリからクローン作成プロセスを最適化します。

詳細については、 ドキュメント を参照してください。

更新1

WindowsでGitサーバーをセットアップするには、 GitStack と呼ばれるこのcommercial(オープンソース)ソフトウェアを試すことができます。

便利なGitStackリソース:

  1. GitStack インストール手順
  2. Github上の GitStackのソースコードへのリンク
3
Litmus

ローカルのベアリポジトリを作成するためのコマンドは、実際には非常に簡単です。

git clone --bare my_project my_project.git
Initialized empty Git repository in /my/projects/my_project.git/

これらをローカルで使用している限り(たとえば、USB接続のストレージデバイスなどから)、実際にはそれだけです。クローン作成、プッシュ、プルなどのために、コマンドをそのリポジトリに向けるだけです。しかし、なぜそのようなことをしたいのかと疑問に思うかもしれません。

これらの手順はサーバーでセットアップするためのものですが、ローカルリポジトリの作成にも非常に役立つことがわかりました: http://git-scm.com/book/en/Git-on-the-Server- Getting-Git-on-a-Server

1
Greg Gauthier