gitでgitignoreコマンドを使用する方法


119

私は初めてgitに取り組んでいます。私はブランチをgithubにプッシュし、すべてのライブラリとドキュメントをgithubにプッシュしました。今、私は何ができ、どのようにgitignoreコマンドを使用して同じ間違いを再び避けることができますか?


1
.gitignoreあなたのgitルートディレクトリにあるファイルです。無視するファイルの名前パターンを追加すると、ファイルは自動的に無視されます。
LonelyWebCrawler '19

私はubuntuにいます。git rootディレクトリのパスを言ってください
user1559230

2
使用したディレクトリですgit init.gitディレクトリがそこにあります。
LonelyWebCrawler 2012

2
kwno gitignoreを使用しないでくださいどのように人のために-に行くgitignore.ioあなたが使用しているすべてのツールを入力することができます(symfonyは、CakePHPは、ZendFrameworkは、WordPressは、イサキは、崇高なテキストは、NetBeansは、というように、あなたはドリルを取得します...)そしてgit ignoreファイルを生成します。gitignoreの使用方法がわからない場合は、(gitignore.ioによって生成されたような)良いユースケースの例を確認するのが最善の方法だと思います。cmd行から使用する場合(オタクな方法) )このチュートリアルを参照してください:vimeo.com/70609819
DevWL

回答:


162

したがって、あなたが言ったことに基づいて、これらのファイルは削除したくないがプッシュしたくないライブラリ/ドキュメントですgithub。プロジェクトがフォルダにyour_projectあり、ドキュメントディレクトリがあるとしますyour_project/doc

  1. プロジェクトディレクトリから削除します(実際には削除しません)。 git rm --cached doc/*
  2. がまだない場合.gitignoreは、プロジェクトフォルダ内に直接作成できますproject/.gitignore
  3. doc/*.gitignoreに入れます
  4. コミットするファイルをステージングします。 git add project/.gitignore
  5. コミット:git commit -m "message"
  6. 変更をにプッシュしますgithub

.gitignoreファイルの書き方を教えてください。つまり、.gitignoreファイル内で無視するフォルダーとファイルのパスを書き込む方法です。ありがとう
user1559230

ご回答有難うございます。コミットする前にgit add -A
user1559230

4
こんにちは、gitignoreはプレーンテキストファイルです。実際には.gitignore(DOTgitignore)です。gitに無視させたいファイル/ファイルタイプの名前を1行に1つずつ入力するだけです。例:sujee.net/tech/articles/gitignore
u19964


42

.gitignoreファイルがない場合は、最初に次を使用します。

touch .gitignore

次に、このコマンドでgitignoreファイルに行を追加します。

echo 'application/cache' >> .gitignore

改行にご注意ください


touch最初にファイルを作成する必要はありません。ファイルがまだ存在しない場合>>と同義>です。echo出力の最後に改行を追加します。あなたはそれを止めることができ-nます。さまざまな無視が必要な場合は、さまざまなエコーを実行するか-e、次のようにを使用しますecho -e "**/cache/\n**.pyc" >> .gitignore。ダブルアスタリスクは、フォルダーを再帰的に掘り下げるすべてのファイルと一致します。念/のため、フォルダの最後に使用してください。
mazunki

1
@Andrew tl; dr:無視された各ファイルをecho "file_to_be_ignored" >> .gitignoreで追加します。他に何もする必要はありません。/asで終わるフォルダー名echo "**/modules/" >> .gitignore
mazunki

コメントが削除された理由
Andrew

12

git ignoreは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あなたが完了するまで。あなたの歴史はきれいになります。プッシュを強制する必要があり、プッシュしていないものをリベースする必要があるため、同僚に必ず伝えてください。


8

gitルートディレクトリにという名前のファイルがあります.gitignore。コマンドではなくファイルです。無視したいファイルの名前を挿入するだけで、自動的に無視されます。たとえば、末尾が~であるすべてのemacs自動保存ファイルを無視する場合は、次の行を追加できます。

*~

不要なファイルをブランチから削除する場合はgit add -A、「作業ツリーに存在しないファイルを削除する」を使用できます。

注:私が「gitルートディレクトリ」と呼んだのはgit init、初めて使用したディレクトリです。また、.gitディレクトリを見つけることもできます。


すでにプッシュしたくないファイルはどうなりますか
user1559230

4

.gitignoreファイルがない場合。新しいものを作成することができます

touch .gitignore

また、.gitignoreファイルに次のコマンドを入力して、フォルダーを除外できます

/folderName

このファイルをgitリポジトリにプッシュして、新しい人がプロジェクトのクローンを作成するときに、同じものを再度追加する必要がないようにします。


2

gitignore gitを使用するにはいくつかの方法があります

  • 特定のファイル名で指定します。たとえば、
    readme.txt というファイルを無視するには、.gitignoreファイルにreadme.txtを書き込むだけです。
  • ファイル拡張子の名前を書き込むこともできます。たとえば、
    すべての.txtファイルを無視するには、*。txtと記述します。
  • フォルダ全体を無視することもできます。たとえば、
    testという名前のフォルダーを無視したいとします。次に、ファイルにtest /と書き込みます。

単に.gitignoreファイルを作成し、サンプルのgitignoreファイルを無視したいものを書き込んでください:

# NPM packages folder.
node_modules

# Build files
dist/

# lock files
yarn.lock
package-lock.json

# Logs
logs
*.log
npm-debug.log*

# node-waf configuration
.lock-wscript

# Optional npm cache directory
.npm

# Optional REPL history
.node_repl_history

# Jest Coverage
coverage

.history/

詳細はgitドキュメントgitignoreをご覧ください。


1

私のMacでは、このファイルが.gitignore_global ..itであることがわかったので、ホームディレクトリに隠しましls -altrた。

gitに無視させたいEclipseファイルを追加しました。内容は次のようになります。

 *~
.DS_Store
.project
.settings
.classpath
.metadata

プロジェクトフォルダーに.gitignoreファイルを置くと、ローカルのEclipseプロジェクトがめちゃくちゃになりました。なぜそれが起こり得るのか、そしてそれを防ぐ方法を知っていますか?今のところ、私は.gitignoreから離れています。
JesseBoyd 2017

Eclipseはもう使用しません。Inteilji now
j2emanue 2017
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.