2012-01-05 5 views
5

.gitディレクトリの名前を変更するにはどうすればよいですか.gitディレクトリの名前を変更するにはどうすればよいですか?

私はしばらくの間使ってきたレポを持っていますが、今は.gitディレクトリの名前を変更することにしました。私はbash mvコマンドを試しましたが、私が行った後、私の作業ディレクトリはgitリポジトリではありません。

+4

なぜあなたはそれをしたのですか? – ceejayoz

+0

** .git **ディレクトリの名前を変更したいのですが? ** git **コマンドの名前を変更したいのと同じです。あなたは単に 'repo'ディレクトリの名前を変更したくないのですか? – anirvan

+1

@anirvan実際、gitコマンドの名前を変更してもまだ動作するはずです;) – fge

答えて

19

あなたがその名前を変更したいだろうが、とにかく...

Gitが期待する理由はありませんアイデア:

  • .git現在のディレクトリの下に存在するディレクトリ、またはその両親のいずれかのどちらかに、
  • またはGIT_DIR環境変数を設定する必要があります。

通常、非常に特殊な状況が発生している場合を除いて、.gitから逃げないようにしてください。それはすべてのものが含まれています。このディレクトリである(同様のSubversionは1.7以上.svnディレクトリを使用し、CVSはCVSディレクトリを使用しています - それだけでgitのはrootだけでひとつのディレクトリを使用しています)のために、この唯一の例外は、裸のリポジトリです

これはgitディレクトリにある必要がありますが、通常はは、実際にあなたが何をしているのか分からない限り、直接これらに触れます。

+2

Subversionはv1.7以来、プロジェクトルートにある単一のディレクトリだけを使用しています – knittl

+0

私はそれを知らなかった!固定、ありがとう – fge

+0

たぶん私はGitの仕組みについて何かを理解していないだけかもしれません。たとえば、リモートリポジトリをクローンすると、 git clone git://git.kernel.org/pub/scm/git/git.git Gitディレクトリはどのように../git経由でアクセスされますか.git? –

7

.gitディレクトリ自体を固定名に変更することはできません。すべてのgitコマンドに--git-dir=を渡したり、環境変数GIT_DIRを設定しない限り、固定名にすることはできません。 Gitは、git statusのようにリポジトリ上で操作を実行するときにこのディレクトリを検索します。

なぜあなたは.gitディレクトリの名前を変更したいのですか?リポジトリの名前を変更する場合は、親ディレクトリの名前を.gitに変更します。

+2

私のドットファイルを追跡するための〜/ディレクトリにgitリポジトリを付けておくと便利です。しかし、EclipseのようなIDEは、〜/ workspace(無視さえも)を検出し、頻繁に大きなディレクトリにキャッシュされていない "git status"のような長い操作を引き起こす可能性があります。設定を使用して各ツールからルートリポを除外する方法がありますが、.gitディレクトリの名前を.git_altに変更する方が簡単です。関連するものを追跡する場合は--git-dir =〜/ .git_altを渡してください私のhomedir git repo。 –

+0

@TomHありがとう、私はIDEのためにこれも欲しかった。 – starikovs

0

.gitディレクトリの名前を変更することはできません。 Gitはそれを見つける必要があります。

1

あなたはしていません。

Gitはあなたが親ディレクトリ、その後、現在のディレクトリに.gitディレクトリを探すことでリポジトリにいるかどうか、などの木アップ。*あなたがそれを名前を変更した場合、Gitはどこを見れには考えていません。リポジトリを.gitに改名して修正してください。

ここで実際に何かを達成しようとしているのであれば、単にディレクトリを楽しいものに改名するだけで、あなたの質問を編集したり、あなたの本当の問題について新しい質問をしてください。


*基本的にちょうどトップレベルに.gitディレクトリの内容が含まれている裸のリポジトリを、サポートするために、それはまた、特定のファイルを探します。

0

TFSツールと組み合わせたVisual Studio 2013(VS 2013)のバグのため、同じ問題が発生しました。以前に追加したローカルの.git-Projectが見つかった場合、TFSプロジェクトは接続も開始もしません。

最初にVS 2013を閉じて、名前を変更します。git 'ファイルを別の接尾辞(例えば、 "test.gitRENAMED")に追加します。これにより、VS 2013の次の開始時に再びTFSプロジェクトへの接続が可能になります。

ローカルのgitリポジトリが壊れないように、後で「.git」ファイルに名前を付けてください。

残念ながら、windows-explorerでは、user-directory-policiesのためにディレクトリを '.git'に戻すことはできません。

Linuxマシンのフォルダ名を変更するか、Windowsエクスプローラツールの「Total Commander」を元に戻してください。