刚上传了vs项目到github,但是忘记搞gitignore文件,导致项目上传的体积太大,
现在不知道怎么办了?
删除里面所有文件,写好gitignore文件后重新commit然后push?
拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...
git rm -r --cache 。 git add 。 git commit -m "gitignore working"
初めて質問を送信したとき、システムは長い間それを審査しなかったので、検索しました。 実は昨夜、スタックオーバーフローから答えを見つけました。でもとにかく皆さんありがとう。 http://stackoverflow.com/questions/1139762/gitignore-file-not-ignoring
リンクの説明を入力してください
大量のコミットをスクリプトで変更する場合、履歴を書き換えるオプションもあります。たとえば、電子メール アドレスをグローバルに変更したり、すべてのコミットからファイルを削除したりすることができます。このコマンドは filter-branch であり、履歴を広範囲に変更するため、プロジェクトがまだ公開されておらず、変更しようとしているコミットに他の人が取り組んでいない場合を除き、おそらくこのコマンドを使用すべきではありません。それでも、これは非常に便利です。その機能を理解するために、いくつかの一般的な使用法を学びます。
すべてのコミットからファイルを削除する これはよく起こります。何も考えずに git add を使用して、どこからでも削除したい巨大なバイナリを誤ってコミットしてしまう人がいます。もしかしたら、パスワードを含むファイルを誤ってコミットしてしまったので、プロジェクトをオープンソースにしたいと考えているかもしれません。 filter-branch は、おそらく履歴全体をクリーンアップするために使用するツールでしょう。履歴全体からpassword.txtという名前のファイルを削除するには、filter-branchで--tree-filterオプションを使用できます:
$ git filter-branch --tree-filter 'rm -fpasswords.txt' HEAD リライト 6b9b3cf04e7c5686a9cb838c3f36a8cb6a0fc2bd (21/21) 参照「refs/heads/master」が書き換えられました --tree-filter オプションは、指定されたコマンドを実行し、プロジェクトがチェックアウトされるたびに結果を再送信します。この例では、password.txt という名前のファイルが存在するかどうかに関係なく、すべてのスナップショットから削除します。誤ってコミットされたエディターのバックアップ ファイルをすべて削除したい場合は、 git filter-branch --tree-filter 'rm -f *~' HEAD のようなコマンドを実行できます。
Git がディレクトリ ツリーを書き換えてコミットし、ブランチ ポインタを最後に移動する様子を確認できます。より良いアプローチは、これをテスト ブランチで実行し、製品が本当に必要なものであることを確認した後でマスター ブランチをハード リセットすることです。すべてのブランチで filter-branch を実行するには、コマンドに --all を渡します。
サブディレクトリを新しいルートディレクトリとして設定します 別のコード制御システムからのインポートが完了し、意味のないサブディレクトリ (トランク、タグなど) がいくつかあるとします。トランクのサブディレクトリを各送信の新しいプロジェクトのルート ディレクトリにしたい場合は、filter-branch もそれを行うのに役立ちます:
$ git filter-branch --subdirectory-filter train HEAD リライト 856f0bf61e41a27326cdae8f09fe708d679f596f (12/12) 参照「refs/heads/master」が書き換えられました これで、プロジェクトのルート ディレクトリが、trunk サブディレクトリになりました。 Git は、このサブディレクトリに影響を与えないコミットを自動的に削除します。
リーリー
比較的初心者向けのソリューションを提供します。 プロジェクトに入り、> 設定 --> このリポジトリを削除し、新しいリポジトリを作成すれば完了です
を使用する必要があります
詳細については、Git の元に戻す操作 (リセット、チェックアウト、元に戻す) を表示できます。 http://www.liuhui998.com/4_9.html
すべての変更をキャンセルして、最新のコミットに戻りたいとします。コマンドは次のとおりです。 リーリー
プロジェクトのホームページ—>設定—>このリポジトリを削除—>再送信OK、私も使い方があまり上手ではありません
最初にバックアップするか、最初にコミットするか (血のレッスン)
git リセット -- 難しい YOUR HEAD
YOUR HEAD
送信されたレコードの先頭をクエリする方法
git reflog || git ログ
git rm -r --cache 。 git add 。 git commit -m "gitignore working"
初めて質問を送信したとき、システムは長い間それを審査しなかったので、検索しました。 実は昨夜、スタックオーバーフローから答えを見つけました。でもとにかく皆さんありがとう。 http://stackoverflow.com/questions/1139762/gitignore-file-not-ignoring
リンクの説明を入力してください
すべてのコミットからファイルを削除する これはよく起こります。何も考えずに git add を使用して、どこからでも削除したい巨大なバイナリを誤ってコミットしてしまう人がいます。もしかしたら、パスワードを含むファイルを誤ってコミットしてしまったので、プロジェクトをオープンソースにしたいと考えているかもしれません。 filter-branch は、おそらく履歴全体をクリーンアップするために使用するツールでしょう。履歴全体からpassword.txtという名前のファイルを削除するには、filter-branchで--tree-filterオプションを使用できます:
$ git filter-branch --tree-filter 'rm -fpasswords.txt' HEAD リライト 6b9b3cf04e7c5686a9cb838c3f36a8cb6a0fc2bd (21/21) 参照「refs/heads/master」が書き換えられました --tree-filter オプションは、指定されたコマンドを実行し、プロジェクトがチェックアウトされるたびに結果を再送信します。この例では、password.txt という名前のファイルが存在するかどうかに関係なく、すべてのスナップショットから削除します。誤ってコミットされたエディターのバックアップ ファイルをすべて削除したい場合は、 git filter-branch --tree-filter 'rm -f *~' HEAD のようなコマンドを実行できます。
Git がディレクトリ ツリーを書き換えてコミットし、ブランチ ポインタを最後に移動する様子を確認できます。より良いアプローチは、これをテスト ブランチで実行し、製品が本当に必要なものであることを確認した後でマスター ブランチをハード リセットすることです。すべてのブランチで filter-branch を実行するには、コマンドに --all を渡します。
サブディレクトリを新しいルートディレクトリとして設定します 別のコード制御システムからのインポートが完了し、意味のないサブディレクトリ (トランク、タグなど) がいくつかあるとします。トランクのサブディレクトリを各送信の新しいプロジェクトのルート ディレクトリにしたい場合は、filter-branch もそれを行うのに役立ちます:
$ git filter-branch --subdirectory-filter train HEAD リライト 856f0bf61e41a27326cdae8f09fe708d679f596f (12/12) 参照「refs/heads/master」が書き換えられました これで、プロジェクトのルート ディレクトリが、trunk サブディレクトリになりました。 Git は、このサブディレクトリに影響を与えないコミットを自動的に削除します。
リーリー
比較的初心者向けのソリューションを提供します。 プロジェクトに入り、> 設定 --> このリポジトリを削除し、新しいリポジトリを作成すれば完了です
を使用する必要があります
リーリー詳細については、Git の元に戻す操作 (リセット、チェックアウト、元に戻す) を表示できます。 http://www.liuhui998.com/4_9.html
すべての変更をキャンセルして、最新のコミットに戻りたいとします。コマンドは次のとおりです。 リーリー
プロジェクトのホームページ—>設定—>このリポジトリを削除—>再送信OK、私も使い方があまり上手ではありません
最初にバックアップするか、最初にコミットするか (血のレッスン)
送信されたレコードの先頭をクエリする方法