質問: .gitを持たない通常のフォルダ「non-git」からローカル内にベアレポジトリを作成する。 やったこと ----- まず、non-bareをbareに切り替える。参照 ``` #以下rootを~とする。 cp -pr non-git non-git.bak mv non-git remote-git cd remote-git git init git config core.bare true mv .git ../remote-git.git cd .. rm -r remote-git mkdir local cd local git clone ~/remote-git.git ``` 生成されたremote-git.gitをnon-bare cloneしても、 「warning: You appear to have cloned an empty repository. 」 とでて、non-bareリポジトリを作成できない 注意点 --- 同一ホスト内のgitコマンド操作で完結させたいので、 git@github.comやhttps://hostnameのようなネットワーク処理が関連する方法は除外します
回答: こんにちは。 「ベアリポジトリを作る」と、「.gitを持たない通常のフォルダから」の間に断絶があります。 ベアリポジトリを作るということは、元にする git リポジトリが存在するはずで、「.gitを持たない通常のフォルダ」をベアリポジトリにするには、そのフォルダを git としてどのような履歴にするかを先に決める必要があります。 たぶんこういうことをやりたいのですかね? ``` mkdir remote-git cd remote-git # リモートリポジトリを置きたい場所に git init --shared --bare # 空のベアリポジトリを作る cd ../non-git # 元にするフォルダを git init # 一旦 git リポジトリにする git add . && git commit -m 'Initial commit' # とりあえず全てのファイルを1コミットにしてしまう git remote add origin ../remote-git # ローカルの remote-git をリモートリポジトリとして登録する git push -u origin master # push する ``` これでベアリポジトリに履歴を入れられます。 元のディレクトリは git 管理したくないのであれば、 ``` cd non-git rm -rf .git ```