回答:
作業ディレクトリの内容全体(隠し.git
ディレクトリを含む)をコピーするだけです。これにより、作業ディレクトリ全体が新しいディレクトリに移動し、GitHubのリモートリポジトリには影響しません。
GitHub for Windowsを使用している場合は、上記の方法でリポジトリを移動できます。ただし、アプリケーションでリポジトリをクリックすると、リポジトリを見つけることができません。これを解決するには、!の付いた青い円をクリックし、[検索]を選択して、新しいディレクトリを参照します。
私は質問がわからないので、ここに2つの答えがあります:
リポジトリを移動したい場合:
リポジトリ全体を(その.git
ディレクトリとともに)コピーするだけです。
.git
構造には絶対パスがなく、移動を妨げるものがないので、移動後は何もする必要がありません。githubへのすべてのリンク(を参照.git/config
)は以前と同様に機能します。
リポジトリ内でファイルを移動したい場合:
ファイルを移動するだけです。次に、にリストされている変更を追加しますgit status
。次commit
は必要なことをします。あなたはファイルが複製されないことを喜んで学ぶでしょう:gitでファイルを移動することはほとんど費用がかかりません。
.git
ディレクトリにあります。
を使用している場合GitHub Desktop
は、次の手順を実行します。
GitHub Desktop
と、現在のディレクトリパスにファイルを開いている他のすべてのアプリケーション。GitHub Desktop
青色(!)の「リポジトリーが見つかりません」アイコンを開いてクリックします。次にダイアログが開き、「ロケート...」ボタンが表示されます。このボタンを押すと、新しい場所へのパスを指定できるポップアップが開きます。質問にはGit for Windowsが関係していますが、これはVisual Studio Tools For Git(VS 2012の拡張機能、VS 2013のネイティブサポート)を検索する場合でも最上位の結果のようです。
上記のソリューションをガイドとして使用して、Visual Studio Gitツールを使用すると、ローカルでリポジトリ(またはすべてのリポジトリのディレクトリ構造全体)を非常に簡単に移動できると判断しました。
1)Visual Studioを閉じます。2)Repoフォルダーを新しい場所に移動します。3)Visual Studioを開きます。チームエクスプローラーを開きます。「接続」ビューに切り替えます(上部のプラグアイコン)。3a)リポジトリに古いパスが引き続き表示される場合は、[更新]をクリックして強制的に更新します。4)ローカルに移動されたリポジトリは、「ローカルGitリポジトリ」に表示されなくなります。5)[ 追加](新規またはクローンではない)をクリックし、追加するリポジトリフォルダーを選択します。
ステップ5では、実際には検索パスを指定するだけで、検索にはすべてのサブフォルダーが自動的に含まれます。単一のルートの下に複数のリポジトリが編成されている場合(同じ親フォルダーを持つ独立したリポジトリ)、親を選択すると、その下にあるすべてのリポジトリが含まれます。
例:E:\ Repos \ RepoA E:\ Repos \ RepoB E:\ Repos \ RepoC
Visual Studioチームエクスプローラーで、[追加]> "E:\ Repos \"> [追加]を選択すると、3つすべてがローカルリポジトリに返されます。
以前の回答はすべて、ディレクトリを移動することができ、.git構造には絶対パスがないと言っているようですが。Cygwinからgitを使用する場合、これは正しくないことがわかりました。
gitリポジトリを移動したとき(実際にはバックアップから復元しましたが、新しいシステムでドライブ構造が変更されたため、別のドライブに復元しました)。次のようなエラーメッセージが表示された
fatal: Invalid path '<part_of_the_original_repo_path>': No such file or directory
私はgrepを使用して、[core]セクションの.git / configファイルで、gitリポジトリの絶対パスを保持する作業ツリー変数であることを確認しました。これを変更すると、問題が解決しました。
Github Desktop for Windowsを使用していますが、リポジトリの場所を移動したいと思っていました。ディレクトリを移動して、ソフトウェアで新しい場所を選択しても問題ありません。しかし、不適切なディレクトリを設定すると、致命的なエラーが発生し、適切なディレクトリに再配置する2番目のチャンスがなくなります。それを修復するために。プロジェクトファイルを不良ディレクトリにコピーし、Githubデスクトップで再調整する必要があります。その後、プロジェクトを別のフォルダーに再度移動して、ソフトウェアに再配置できます。そのためにGithubデスクトップを閉じる必要はありません。ライブでフォルダーをチェックします。
これが誰かを助けることを願っています。
これは私にはうまくいきませんでした。リポジトリを(例)c:\ project1 \からc:\ repo \ project1 \に移動しましたが、WindowsのGitに変更が表示されません。
サブモジュールの1つが「gitリポジトリではない」ため、gitステータスにエラーが表示され、古いパスが表示されます。例(IPを保護するために名前が変更された)
致命的:gitリポジトリではありません:C:/project1/.git/modules/subproject/subproject2致命的: 'git status --porcelain'がサブモジュールサブプロジェクトで失敗しました
サブモジュールの.gitファイルを手動で編集して、サブモジュールのリポジトリ(メインのリポジトリの.git / modulesディレクトリにあります)への正しい相対パスを指すようにしました。
よりGitベースのアプローチは、ローカルコピーに変更を加えるcd
か、コピーアンドペーストを使用して、ローカルリポジトリからリモートリポジトリにこれらの変更をプッシュすることです。
ローカルリポジトリのステータスを確認しようとすると、実際には再配置されたファイルである「追跡されていない変更」が表示される場合があります。これらの変更を強制的にプッシュするには、次を使用してこれらのファイル/ディレクトリをステージングする必要があります
$ git add -A
#And commiting them
$ git commit -m "Relocating image demo files"
#And finally, push
$ git push -u local_repo -f HEAD:master
それが役に立てば幸い。