2016-04-06 11 views
1

私はレポをクローンされ、そのサイズは日々増加しています。だから私は古いコミットを削除し、ちょうど私が--depth 1でそれを再クローンしているのと同じように最新のコミットを保持したい。そして、私はそれを再クローンしたくないです。地元のレポを浅いものに変換して、git pullを維持する方法はありますか?git完全クローンを浅いクローンに変換する

+2

。 git clone /my/fat/repo/.git --depth 1; ' - 次に、ディレクトリが移動したり、名前を変更したり削除したりします。 – AD7six

+0

あなたはリモコンも正しく設定する必要があります – max630

答えて

-1

私が質問したところでは、作業ディレクトリの現在の状態だけを保存して履歴を削除したいと思っています。そのような場合は、保存したいブランチをチェックアウトしてください。その後、そこにあるすべてのgit情報を削除します。私は通常、作業ディレクトリから実行しているこれらのコマンドを使用します:

find。タイプf | grep -i "\ .git" | xargsが

CD ..

CD

Gitはこれがローカルコピーを作成します--all

Gitは-m "commit_messageを" コミット

を追加

Gitの初期化をRM現在のコミットのみを含む。

+0

これは 'git push'と' git push'がうまく動作しないようにします – Quanlong

+0

これにリモコンを追加する必要があります。 git remote add 。そして、あなたはgit pushをすることができます –

0

パラメータ「深さ1」を使用して、リポジトリのローカルコピーを作成できます。 ローカルフォルダを複製のソースとして使用するだけです。例えば

:あなたはすなわち、 `CDを/ tmp /をしたいしかし、あなただけのローカルにクローンを作成しない理由

git clone --depth 1 file://__absolute path__/localrepo localrepo.shallow