Gitの変更を共有ネットワークドライブにプッシュする


90

4人のチームがGit(特にGithub for Windows)を使用してローカルの変更を共有ネットワークドライブにプッシュするにはどうすればよいですか?

現在(Gitなしで)ファイルをネットワークドライブからローカルマシンにコピーし、ファイルを編集してから、共有ネットワークドライブに再度アップロードする必要があります。これは多くのエラーにつながる可能性がある骨の折れるプロセスですが、Gitが私たちに役立つもののようです。

共有ドライブにGitをインストールしてそこから移動できますか?

回答:


123

あなたがあなたのために働く何かを見つけたかどうかはわかりませんが、私はWindowsネットワークドライブでそれを行う方法についての記事を持っています:

http://tony.halcyonlane.com/blog/2011/09/22/Using-git-at-work-on-a-Windows-network-drive/

コマンドプロンプトから、マップされたドライブに変更します。

$ cd g:

次に、すぐにgitレポジトリになるようにcdします。

$ cdスクリプト

次に、空のgitリポジトリを作成します。--bareオプションを使用しない場合、問題が発生するため、省略しないでください。

$ git init --bare

ローカルのgitリポジトリがまだない場合は、ローカルドライブに戻って、好きな場所に新しいリポジトリを複製できます。

$ c:

$ cd work / scripts

$ git clone file:// g:\ scripts

クローンを作成すると、「origin」と呼ばれるリモートが自動的に取得され、サーバーにプッシュして、ローカルで変更を加えたときにいつでも安全に保管できます。

$ git push originマスター

すでにgitリポジトリがあり、共有ドライブにプッシュしたい場合は、ローカルのgitディレクトリ内からこれを行うことができます。

$ git remote add origin file:// g:\ scripts

$ git push originマスター


1
ありがとう-私のホームネットワークでの個人的なプロジェクトのために、まさにこれを行いました。
マーティンスナイダー

これらの手順に従いましたが、git push origin masterエラーを実行すると、次のエラーが発生します
。shを生成

ありがとうございました。この答えを見つけるのに長い時間が
かかりました

共有ドライブがマップされていない人のために、ナビゲートする仮想一時ドライブを作成するためのpushd(およびpopd)があります(リンクを参照
LoJo

--bareを使用しない場合、どのような問題が発生しますか?私はすでにネットワークドライブに裸でないリポジトリを持っています、そしてそれをリモートとして使いたいです。
Fractaly

24

私たちのチームは現在、まさにこれを行っています。すべての開発者は以下を持っています:

  1. ローカルマシンにインストールされたGit
  2. 自分の個人共有ドライブへのアクセス(L:
  3. 共有グループドライブへのアクセス(V:

ドライブに「リモート」リポジトリ(を使用して設定init -bare)がありV:、誰もが自分の個人L:用ドライブにクローンを持っています。すべての変更はL:ドライブに行われ、ドライブにプッシュされV:ます。その後、ドライブ上の他の開発者がそれぞれの個人用リポジトリにプルダウンしL:ます。これは問題なく動作し、Gitサーバーの必要性を軽減します。


わかりました。最初にローカルリポジトリを作成してから、共有ドライブにそのリポジトリのリモートをセットアップする必要がありますか?
user1549303 2012

1
@ user1549303-それが私たちのやり方です。を使用してローカルリポジトリ(L:ドライブレポ)をgit init作成し、次に(またはv:を使用してリモートからドライブレポを作成し、次にからプッシュ)できます。git clone --baregit init --bareL:
eykanal 2012

@eykanal-私のチームは現在、古くて恐ろしいソース管理ライブラリを使用しており、gitに切り替えようとしています。現在のライブラリでできることの1つは、誰がファイルをチェックアウトしたが、変更をチェックインし忘れたかを確認することです。gitでは、すべてのリポジトリがローカルであるため、誰かが「v:」にプッシュするのを忘れた場合はどうすればわかりますか?
ケビン・バカン

3
@KevinBuchan-コメントを新しい質問として投稿することをお勧めします。
eykanal

1
Gitは、2人の開発者が同じ共有リポジトリ(V:など)に同時にプッシュしようとしたときに反応しますか?同時プッシュ操作で問題が発生しましたか?
ジョーディ

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.