私はこれがgit clone --depth=20 <repo>
しばしば多くを知っています。たくさんgit clone
.公式文書--depth
。
私のストレージフォルダに少し狂ってしまったようです。fd
管路到着wc
そしてdu
、出力:
$ declare -r ALL_GIT="$(fd -HIFt d '.git')"
$ echo "$ALL_GIT" | wc -l
1528
$ echo "$ALL_GIT" | du -hs
du: cannot access './freebsd/contrib/bmake/PSD.doc/tutorial.ms': Permission denied
du: cannot access './freebsd/contrib/bmake/PSD.doc/Makefile': Permission denied
du: cannot access './statsmodels/statsmodels/statsmodels/datasets/macrodata/src/macrodata.xls/macrodata.xls': Permission denied
44G .
すべての履歴を削除し、次の古いすべての孤児をクリーンアップするために使用できるコマンドはありますか20
?
ベストアンサー1
私は次のことができると思いました(すべてを1行に入力して\を削除します)。
$ fd -HIFt d '.git' -x bash -c 'config_bk="$(mktemp)";
git_bk="$(mktemp -d)"; \
git clone --depth=20 "$0" "$git_bk"; \
mv "$0"/.git/config "$config_bk"; \
rm -rf "$0"/.git; \
mv "$git_bk"/.git "$0";
mv "$config_bk" "$0"/.git;' {//}
未検証! - 楽しみのために一つ作ってみてくださいdf
前後にどのくらいのスペースを節約したかを確認してください。
質問:
コメントで解決しました。 @stephen-kitt ありがとうございます。git clone
特定のコミットができないようです。このstackoverflowの質問を参照してください。特定のリビジョン/変更セットでgitリポジトリを複製する方法は?- ローカル専用のブランチ、コレクションなどが複数あるとどうなるかよくわかりません。