gitルートフォルダの名前を変更するにはどうすればよいですか?


85

Vistaでgitを使い始めたばかりで、リポジトリは/path/to/project/git repo。の下にあります。

git bashで作業しているとき、フォルダー名のスペースが小さな刺激であることがわかりました。

フォルダの名前を変更できます/path/to/project/gitrepoか?git config内のすべてが相対的ですか、それとも親フォルダーを明示的に参照するものがありますか?

メインフォルダのWindowsコピーを取得して、その上でgit bashを実行しようとしましたが、「gitlog」には以前に行った変更が表示されます。したがって、メインフォルダの名前を変更しても問題ないと思いますが、先に進む前に確認したいと思います。

回答:


53

グレッグ答えを少し修正するために、はい、gitリポジトリを持つものはすべて.git親ディレクトリに関連していますが:

(そして、これはおそらく直接あなたに影響を与えることはありません。完全を期すために、ここではそれらの理由についてのみ言及します。):

  • リポジトリ自体のパスは、コンピューターで実行されている他のサービス(Apache、ssh、リポジトリをリモートとして宣言する別のリポジトリ、フルファイルパスを使用する、特定のパスでリポジトリを宣言するジトライトレイヤーなど)によって参照される可能性があります。 )
  • 一部の操作はリポジトリのフルパスをGIT_INDEX_FILE使用します(filter-branchたとえば、コマンド内での使用など、このスレッドを参照してください)。したがって、リポジトリで複雑な操作を実行している間は、明らかにルートディレクトリの名前を変更しないでください。

さらに、(の代わりにgit clone)「windowscopy」はフックを含むすべてをコピーします。フックを編集してそのような変更を加えた場合は、スクリプトに絶対パスが含まれる場合があります。


2
したがって、誰かが確実に実行するための実用的で明示的な手順を持っている場合、それは非常に実用的です。
ahnbizcad 2014

@gwhoリポジトリフォルダの名前を変更する以外に、どのステップですか?
vonC 2014

88

はい、Gitリポジトリを含むフォルダの名前を変更しても安全です。Gitリポジトリ内のすべてのパスは相対的です。


4

最初にコメントを確認してください...

私の意見では、特にgitサーバー(リモートマスターリポジトリ)を使用する場合は、gitワークフローを使用するのが最善です。これは次のことを意味します。

  • あなたのgitサーバーと同期で、古いディレクトリを取得(git pullgit pushそして最後にgit statusすべてがうまくているかどうかを確認するために)
  • git clone <former directory> <new directory>

(私もGITを初めて使用するため、これは完全な正解ではない可能性があります。Mickと同じ質問があり、学習目的でgitの方法で実行しようとしました:)手がかりをありがとう、vonC!必要に応じて私を訂正してください:)


1
の場合git clone <former directory> <new directory><new directory>最初に作成する必要はありません。git cloneあなたのためにそれを作成します。
vonC 2014年

3
私はこれがあなたが望むことをするとは思わない。これにより、の原点が<new directory>に設定され<old directory>ます。したがって、git remote -vin<new directory>が表示されorigin C:/old/directoryます。
kvu787 2017年

1
私は@ kvu787に同意します。これは要求されたもののようには聞こえず、おそらく多くの問題を引き起こすでしょう。
アルカン

@ kvu787 @alkanen、ユーザーの提案:git remote rm origin-新しい担当者の起点として古いディレクトリ cd .. and rm -rf <former directory>を削除する
-PythoNic19年

@PythoNic、古いリポジトリに「origin」という名前のリモートがある場合、いいえ、新しいリポジトリにはそのリモートがないため、これは問題ありません。それ以外の場合は問題ありませんが、フォルダーの名前を変更する方が簡単です。
kvu7 8719年

0

はい、変更できます。あなたのリポジトリはまだあなたのgitに直接接続しています... gitfoの名前を削除/編集しないでください

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