git mv
リポジトリ内のファイルまたはディレクトリの名前を変更します。Git リポジトリ自体の名前を変更するにはどうすればよいですか?
ベストアンサー1
Git リポジトリの名前を変更するということは、表示名、リポジトリ ディレクトリ、リモート リポジトリ名など、さまざまな意味に解釈できます。それぞれ、名前を変更するには異なる手順が必要です。
表示名
表示されている名前を変更します(たとえば、 で表示されますgitweb
)。
.git/description
リポジトリの名前を含めるように編集します。- ファイルを保存します。
リポジトリディレクトリ
通常 (以下で説明するワークツリーとサブモジュールの例外を除く)、Git はリポジトリを含むディレクトリの名前を参照しないため、単に名前を変更したり移動したりすることができます。
- コマンド プロンプト (またはファイル マネージャー ウィンドウ) を開きます。
- リポジトリ ディレクトリを含むディレクトリに変更します (つまり、リポジトリ ディレクトリ自体には移動しないでください)。
- ディレクトリの名前を変更します (たとえば、
mv
コマンド ラインから、またはF2GUI からのホットキーを使用して)。
ワークツリーを持つリポジトリの移動
ワークツリーを作成した場合git worktree
サブコマンドの使用名前を変更するリポジトリから、各ワークツリーディレクトリには.git
、
gitdir: {full-path-to-parent-repository}/.git/worktrees/{worktree-name}
.git
したがって、親リポジトリの場所を移動する場合は、各ワークツリーごとにファイルを編集して親パスを変更する必要もあります。
ワークツリーであるディレクトリを移動する
使用git worktree move
親リポジトリからのコマンド。
サブモジュールを持つリポジトリの移動
ワークツリーの場合と同様に、サブモジュールディレクトリ.git
には親を指すファイルがあります。親にも、.git/modules/{submodule}/config
編集する必要がある絶対パスを含むファイルがあります。この質問。
サブモジュールの名前を変更する
git mv
議論に従って使用するこの答え。
サブモジュールとワークツリーの両方に関係するコーナーケース
そんなことはしないでください。どうしても必要な場合は、git worktree repair
そしておそらくサブモジュールのドキュメントそれらがどのように実装されるかを理解するため。
リモートリポジトリ
次のようにしてリモート リポジトリの名前を変更します。
リモートホスト(例えば、https://github.com/ユーザー/プロジェクト)。
ホストの指示に従ってプロジェクトの名前を変更します (ホストによって異なりますが、通常は[設定]から始めるのがよいでしょう)。
ローカル リポジトリ ディレクトリに移動します (つまり、コマンド プロンプトを開いてリポジトリのディレクトリに変更します)。
新しい URL を決定します (例:
[email protected]:User/project-new.git
)Git を使用して新しい URL を設定します。
git remote set-url origin [email protected]:User/project-new.git