私はgitで初めて作業しています。ブランチを github にプッシュしたところ、すべてのライブラリとドキュメントが github にプッシュされました。gitignore コマンドを使用して同じ間違いを避けるにはどうすればよいですか。
7 に答える
あなたの言ったことに基づいて、これらのファイルは削除したくないライブラリ/ドキュメントですが、プッシュしたくないgithub
. プロジェクトがフォルダーyour_project
と doc ディレクトリにあるとしますyour_project/doc
。
- プロジェクト ディレクトリから削除します (実際には削除しません)。
git rm --cached doc/*
- をまだ持っていない場合
.gitignore
は、プロジェクト フォルダー内に作成できます:project/.gitignore
. - .gitignore
doc/*
に入れる - コミットするファイルをステージングします。
git add project/.gitignore
- コミット:
git commit -m "message"
. - 変更を にプッシュします
github
。
.gitignore ファイルがない場合は、まず次を使用します。
touch .gitignore
次に、次のコマンドを使用して gitignore ファイルに行を追加します。
echo 'application/cache' >> .gitignore
改行に注意
gitignoreはgitの規則です。の名前でファイルを設定する.gitignore
と、そのディレクトリ内のファイルと、ファイルに含まれるパターンに一致するより深いディレクトリが無視されます。最も一般的な使用法は、このような1つのファイルをトップレベルに配置することです。ただし、ディレクトリ構造のより深いところに他のパターンを追加して、さらに多くのパターンを無視したり、そのディレクトリ以降のより深いパターンでそれらを無視するのをやめたりすることができます。
同様に、。で始まるパターンを指定することにより、より深い構造または特定のサブセット内の特定のファイルを「無視しない」ことができます(つまり、*。logを無視しますが、important.logを追跡したい場合)!
。例えば:
*.log !important.log
すべてのログファイルを無視しますが、important.logという名前のファイルを追跡します
無視する予定のファイルを追跡している場合は、それらを削除し、パターンを.gitignoreファイルに追加して、すべての変更を追加します
# delete files that should be ignored, or untrack them with
# git rm --cached <file list or pattern>
# stage all the changes git commit
git add -A
今後、リポジトリではそれらが追跡されなくなります。
あなたがあなたの歴史をきれいにしたいならば、あなたはすることができます
# if you want to correct the last 10 commits
git rebase -i --preserve-merges HEAD~10
次に、各コミットにe
またはでマークを付けedit
ます。計画を保存します。これで、gitは、eでマークされた各コミットで停止する履歴を再生します。ここで、不要なファイルを削除し、完了するgit add -A
まで削除しますgit rebase --continue
。あなたの歴史はきれいになります。プッシュを強制する必要があり、まだプッシュしていないものをリベースする必要があるため、必ず同僚に伝えてください。
という名前の git ルート ディレクトリにファイルがあります.gitignore
。コマンドではなくファイルです。無視したいファイルの名前を挿入するだけで、自動的に無視されます。たとえば、 で終わるすべての emacs 自動保存ファイルを無視する場合は~
、次の行を追加できます。
*~
ブランチから不要なファイルを削除する場合は、「作業ツリーに存在しないファイルを削除するgit add -A
」を使用できます。
注: 私が「git ルート ディレクトリ」と呼んでいるものはgit init
、最初に使用したディレクトリです。.git
また、ディレクトリを見つけることができる場所でもあります。
私のMacでこのファイルを見つけました.gitignore_global
..それは私のホームディレクトリに隠されていましたので、ls -altr
それを見るために実行してください.
gitに無視させたいEclipseファイルを追加しました。内容は次のようになります。
*~
.DS_Store
.project
.settings
.classpath
.metadata