git initを2回実行すると、リポジトリが初期化されますか、それとも既存のリポジトリが再初期化されますか?


164

git initもう一度発行すると、既存のgitリポジトリはどうなりますか?

でリポジトリを作成しましたgit init。ファイルを作成し、追加し、コミットします。ステータスを確認します(コミットするものはありません)。次に、別のファイルを作成し、ステータスを確認すると、期待どおりに追跡されていないことがわかります。

次に、誤って言うと、git initもう一度実行すると、既存のGitリポジトリーの再初期化メッセージが表示されます

試しましたgit statusが、同じことを示しています。では、実際にはどうなるのでしょうか。

この方法で既存のgitリポジトリを再初期化することは、有害または役立つ可能性がありますか?なぜ私たちgit initは既存のリポジトリの中にいるのですか?


FWIW使用してXcodeの私が最初に作成されたローカルのリポジトリ最初の時間を、私は新しいリモートリポジトリを作成するGithub.comに行ったとき。これを行ってから、ローカルリポジトリをリモートにリンクします...(Github.comで提供されている)その手順に従っていましたが、最初の手順はgit init私が行った手順です。おそらく Xcodeが自動的に作成した2回目
Honey

回答:


209

git docsから:

既存のリポジトリでgit initを実行しても安全です。すでに存在するものは上書きされません。git initを再実行する主な理由は、新しく追加されたテンプレートを取得するためです。


110

これはgit initドキュメントで説明されています:

既存のリポジトリでgit initを実行しても安全です。すでに存在するものは上書きされません。git initを再実行する主な理由は、新しく追加されたテンプレートを取得するためです。


47

v1.7.5(b57fb80a7)以降git init、既存のリポジトリでは.gitディレクトリの移動も許可されています。

「git init」を再実行する主な理由は、新しく追加されたテンプレートを取得する(または--separate-git-dirが指定されている場合はリポジトリを別の場所に移動する)ためです。

「新しく追加されたテンプレートを取得する」とは、テンプレートディレクトリからまだコピーされていないテンプレートが既存のgitディレクトリにコピーされることを意味します。

「リポジトリを別の場所に移動する」とは、別の場所を--separate-git-dir指している場合、既存の.gitディレクトリがそこに移動され、リンクに置き換えられることを意味します。


-1

それはあなたがすでにgitを初期化したということです。このパスからgithubにファイルをすでにアップロードしているためです。パスを確認すると、.gitという名前でフォルダが作成されます。これが、初期化されたgitに再度要求されない理由です。次のステップに進むことができます

git add。

Gitフォルダー

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