gitから複製したプロジェクトからバージョントラッキングを削除するにはどうすればよいですか?


685

プロジェクトのディレクトリからすべてのバージョン追跡を削除したい。

これを行う正しい方法は何ですか?

次のようなシェルコマンドを実行できますか?

rm -rf .git

私のプロジェクトディレクトリから、またはGitコマンドとしてこれを行う方法はありますか?

このプロジェクトを使用してGitを学び、プロジェクトの早い段階で、ファイルの移動、名前の変更、および削除を行うと、いくつかの間違いを犯したことに気付きました。すべてのGitトラッキングを削除して、からやり直したいと思いgit initます。


1
git-archiveを検討してください。
Martin v。Löwis、2011年

2
間違いがどれほどひどいかによっては、実際に全体をインタラクティブにリベースし、初期の大量のコミットをつぶすだけで、最近の良い履歴を保存したい場合があります。
Cascabel 2011年

6
Windowsユーザーの場合:rd /s /q .git
Soorena、2017年

回答:


686

Gitが情報に使用するすべてのデータはに保存されている.git/ため、削除しても問題ありません。もちろん、他のすべてが失われるので、作業コピーが希望どおりの状態であることを確認してください。.gitフォルダが非表示になっているので、Show hidden files, folders and disksオプションをオンにしてください。

そこから実行git initして、新しいリポジトリを作成できます。


1
サブフォルダーに独自の非表示の.gitディレクトリがないことは確かですが、それらのフォルダーをgithubにプッシュすると、グレー表示されたアイコンが表示されます...他に試すことはできますか?
ココドコ2016年

1
.gitconfigもあるので、それも削除する必要があります。
Maximilian Mordig、

「コード」を検討してくださいgit rm -r --cached your_folder /私の目標は、追跡されたgitフォルダーを別の追跡されたgitフォルダーの子フォルダーにすることでした。子フォルダーのキャッシュを削除するまで、新しい親は新しい子を認識しません。
Ryan Huebert

419

rm -rf .git十分なはずです。それはすべてのGit関連情報を吹き飛ばします。


1
cannot unlink Permission deniedウィンドウにいくつかが表示された場合はexplorer、タスクマネージャーでプロセスrm -rf .gitを強制終了し、を再実行してエクスプローラーを再度開いてください。わたしにはできる!
マイケル

10
あなたがGit BashWindows上で持っているなら、それはまた働くでしょう。
Viral

1
どういう-rf意味?
nilon 2017

13
-rは「再帰的」を意味します。そのため、フォルダーが空ではないためエラーが発生する代わりに、フォルダーの内容全体が削除され、-f本当に削除するかどうかを尋ねられません。
リリーバラード

1
@Lucky_girlチェックアウトからすべてのGit状態が削除されます。ブランチも、歴史も、リモートも、何もありません。それらすべては.gitディレクトリに保存されます。それがなければ、文字通りgitリポジトリはもうありません。
リリーバラード

96

以下の手順に加えて、.gitignoreファイルを削除することもできます。

  • プロジェクト内のGitのトレースを削除する場合は、.gitignoreファイルを削除することを検討してください。

  • ** Gitをプロジェクトに再組み込みしたい場合は、.gitignoreファイルを残すことを検討してください。

一部のフレームワークは.gitignoreファイルを自動的に生成する場合があるため、そのままにしておくことができます。


Linux、Mac、またはUnixベースのオペレーティングシステム

ターミナルを開いて、プロジェクトのディレクトリに移動します(例:-)cd path_to_your_project

次のコマンドを実行します。

rm -rf .git*

これにより、Gitの追跡とメタデータがプロジェクトから削除されます。メタデータ(.gitignoreや.gitkeepなど)を保持する場合は、を実行して追跡のみを削除できますrm -rf .git


ウィンドウズ

コマンドプロンプトを使用する

rmdirまたはrdコマンドは、あなたが使用する必要がありますので、あなたが指定したディレクトリ内のすべての隠しファイルやフォルダを削除/削除されませんdel確認してくださいすべてのファイルが削除されていることからするコマンドを.gitフォルダ。

  1. コマンドプロンプトを開きます

    1. Start次にRun、クリックするか、Windowsキーキーを押しrながら同時にクリックします。

    2. 入力cmdしてEnter キーを押します

  2. つまり、プロジェクトディレクトリに移動します- cd path_to_your_project

  1. これらのコマンドを実行する

    1. del /F /S /Q /A .git

    2. rmdir .git

最初のコマンドは、フォルダー内のすべてのファイルとフォルダーを削除し.gitます。2番目は、.gitフォルダー自体を削除します。

コマンドプロンプトなし

  1. ファイルエクスプローラーを開き、プロジェクトに移動します

  2. 非表示のファイルとフォルダーを表示する- 視覚的なガイドについては、この記事を参照しください

    1. ツールバーの表示メニューで、 Options

    2. ではAdvanced Settingsセクション、見つけるHidden files and Foldersの下にFiles and Foldersリストを選択Show hidden files and folders

  3. オプションメニューを閉じると、すべての隠しフォルダーとフォルダーを含むファイルが.git表示されます。

    削除.gitフォルダを削除.gitignore**ファイルを(この回答の上部にあるノートを参照してください)


1
rmdir .gitその下にフォルダがあるため、機能しません。
デール

デール、下の行を確認してくださいrmdir .git。上記rmdir .gitrmdirコマンドは、フォルダー自体を削除する前に、.gitフォルダー内のすべてのファイルとフォルダーを削除するために使用されることを説明しています。
Matt C

1
あなたにも行う可能性がありrd /s /q .git、その中にフォルダとすべてを吹き飛ばすであろう、
グレッグ

Windowsの場合rmdir /S .git、仕事は完了です。これをありがとう。
Eder Luis Jorge

70

.git*特にこれらの.gitファイルが私の状態のようにサブフォルダーに隠されている場合、すべてを手で移動するのは賢明な選択ではありません。composer+ gitでSkeleton Zend 2をインストールする.gitと、フォルダーとサブフォルダーにかなりの数のファイルが作成されます。フォルダ。

rm -rf .gitGitHubシェルを試しましたが、シェルが-rfRemove-Itemのパラメーターを認識できません。

www.montanaflynn.meは、すべてのファイルを一度に再帰的に削除する次のシェルコマンドを導入しています.git!それは本当に働いています!

find . | grep "\.git/" | xargs rm -rf

5
「Githubシェルで「rm -rf .git」を試しましたが、シェルがRemove-Itemのパラメーター「-rf」を認識できません。」-これrmはのPowerShellエイリアスだからですremove-item。そして、-rf* nixのシェルでrm引数。PowerShellの場合は、rm -recursive -force代わりに使用してください。
KFL 2015年

14
危険な!ファイル名の真ん中にある「git」のgrep .gitようなファイルlegit.gifまたは一致するファイルに一致します!回答を削除または編集してください!!!
pamatt 2016年

4
git dirsでのみ一致するように更新:find。| grep "\ .git /"
Andrew

3
まだ安全ではありません。これは、で終わるファイルとディレクトリをキャッチします.git。それはあるはずですgrep "^\.git/"find呼び出し時に名前でフィルタリングする方が(より速く)良いでしょうfind . -name .git
pvgoran 2017

次のコマンドを実行してください:find -name .git | xargs rm -rfおよびfind -name .gitignore | xargs rm -rf
開発者MariusŽilėnas

14

Linux環境で作業しています。すべてのGitファイルとフォルダーを再帰的に削除しました。

rm -rf .git

rm -rf .gitkeep

9

Windows環境では、以下を入力するだけで、プロジェクトのディレクトリからGitトラッキングを削除できます。

rd .git /S/Q

7

ルートフォルダから実行

find . | grep .git

一致を確認して、削除して調整するファイルだけが含まれていることを確認します。満足したら、実行します

find . | grep .git | xargs rm -rf


5

この問題を解決する最も簡単な方法は、コマンドラインを使用することです。このコマンドをrm -R .git/入力してEnterキーをrm -rf .git/押します...またはEnterキーを押します...


2

Windowsコマンドプロンプト(cmd)ユーザー:

単一行コマンドを使用して、ソースプロジェクトフォルダー内の「.git」を再帰的に削除できます。

FOR /F "tokens=*" %G IN ('DIR /B /AD /S *.git*') DO RMDIR /S /Q "%G"
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.