私はファイルHello.Java
を持つリポジトリを持っています。コンパイルすると、追加のHello.class
ファイルが生成されます。
Hello.class
ファイルに.gitignore
のエントリを作成しました。しかし、ファイルはまだ追跡されているように見えます。
GitにHello.class
を無視させる方法を知りたいです。
問題は、.gitignore
が以前に追跡されなかったファイルだけを無視することです(git add
によって)。ファイルをアンステージングして保持するには、git reset name_of_file
を実行します。与えられたファイルも(プッシュ後に)リポジトリから削除したい場合は、git rm --cached name_of_file
を使用してください。
新しいファイルを無視する方法
グローバル
無視したいファイルへのパスを.gitignoreファイルに追加します(そしてそれらをコミットします)。これらのファイルエントリはリポジトリをチェックアウトしている他のユーザにも適用されます。
ローカル
無視したいファイルへのパスを.git/info/excludeファイルに追加します。これらのファイルエントリはあなたのローカル作業コピーにのみ適用されます。
変更されたファイルを無視する方法(一時的)
変更されたファイルが変更されたものとしてリストされていることを無視するには、次のgitコマンドを使用します。
git update-index --assume-unchanged <file>
その無知を元に戻すには、次のコマンドを使用します。
git update-index --no-assume-unchanged <file>
次の行を.gitignoreに追加します。
/Hello.class
これはHello.classをgitから除外します。すでにコミットしている場合は、次のコマンドを実行します。
git rm Hello.class
Gitからすべてのクラスファイルを除外したい場合は、.gitignoreに次の行を追加してください。
*.class
1).gitignore
ファイルを作成します。そのためには、.txt
ファイルを作成し、拡張子を次のように変更します。
次に、cmdに次の行を書いて名前を変更する必要があります。
rename git.txt .gitignore
git.txt
は、作成したファイルの名前です。
その後、ファイルを開いて、追加したくないファイルをすべてリポジトリに書き込むことができます。例えば私のものはこんな感じです:
#OS junk files
[Tt]humbs.db
*.DS_Store
#Visual Studio files
*.[Oo]bj
*.user
*.aps
*.pch
*.vspscc
*.vssscc
*_i.c
*_p.c
*.ncb
*.suo
*.tlb
*.tlh
*.bak
*.[Cc]ache
*.ilk
*.log
*.lib
*.sbr
*.sdf
*.pyc
*.xml
ipch/
obj/
[Bb]in
[Dd]ebug*/
[Rr]elease*/
Ankh.NoLoad
#Tooling
_ReSharper*/
*.resharper
[Tt]est[Rr]esult*
#Project files
[Bb]uild/
#Subversion files
.svn
# Office Temp Files
~$*
これを入手したら、それをあなたのgitリポジトリに追加する必要があります。リポジトリのある場所にファイルを保存する必要があります。
それからgit bashに次の行を書いてください。
git config --global core.excludesfile ~/.gitignore_global
リポジトリがすでに存在する場合は、次の操作を行う必要があります。
1)git rm -r --cached .
2)git add .
3)git commit -m ".gitignore is now working"
ステップ2がうまくいかない場合は、追加したいファイルのホールルートを書く必要があります。
それが役に立てば幸い!
無視する:
git update-index --assume-unchanged <path/to/file>
無視を元に戻すには:
git update-index --no-assume-unchanged <path/to/file>
追跡対象ファイルの変更を無視する/無視しないために、以下の方法を使用できます。
git update-index --assume-unchanged <file>
git update-index --no-assume-unchanged <file>
.gitがあるディレクトリに.gitignore
を作成します。改行で区切ってファイルをその中にリストすることができます。ワイルドカードを使うこともできます。
*.o
.*.swp
あなたは次のように書くべきです
*.class
あなたの.gitignore
ファイルに。
公式GitHubサイトから:
すでにファイルをチェックインしていて、それを無視したい場合は、後でルールを追加してもGitはそのファイルを無視しません。そのような場合は、端末で次のコマンドを実行して、まずファイルを追跡解除する必要があります。
git rm --cached FILENAME
または
git rm --cached .
無視したいファイルを.gitignoreに追加します。
*。クラス
*。プロジェクト
* .prefs
*。プロジェクト
.gitignoreファイルを作成する。詳細はこちらをご覧ください: Git Book - ファイルを無視する
ファイルタイプ全体を除外するために(.gitignoreの代わりに).gitattributesを使用することもできます。このファイルは一目瞭然ですが、参考のためにここにコンテンツを貼り付けています。最後の行(* .classバイナリ)に注意してください
# Denote all files that are truly binary and should not be modified.
*.png binary
*.jpg binary
*.gif binary
*.ico binary
*.mo binary
*.pdf binary
*.phar binary
*.class binary
ファイル "dump.rdb"についても同様の問題がありました。
このファイルを.gitignoreファイルにさまざまな方法で追加してみましたが、1つの方法しかうまくいきませんでした。
.gitignoreファイルの最後にファイル名を追加してください
注:他の場所にファイルを追加してもうまくいきませんでした。
たとえば、以下を参照してください。 https://gitlab.com/gitlab-org/gitlab-ce/raw/b3ad3f202478dd88a3cfe4461703bc3df1019f90/.gitignore
この ウェブページ は.gitignoreを扱うときに便利で時間を節約するかもしれません。
通常はgitリポジトリに保存したくない特定のファイル/フォルダ(IDE固有のフォルダや設定ファイルなど)を使用して、さまざまなIDEやオペレーティングシステム用の.gitignoreファイルを自動的に生成します。
次の行を.git/info/excludeに追加します。
こんにちは皆さん
既にファイルをコミットしていて、.gitignoreファイルに追加して無視しようとしているのであれば、gitはそれを無視しないので、最初に以下のことを行う必要があります。
git rm --cached FILENAME
新しくプロジェクトを始めていて、git ignoreにいくつかのファイルを追加したい場合は、以下の手順に従ってgit ignoreファイルを作成してください。
1. Navigate to your git Repo.
2. Enter "touch .gitignore" which will create a .gitignore file.
私は--assume-unchanged
と.gitignore
を試しましたが、どちらもうまくいきませんでした。それらはブランチを切り替えるのを難しくし、他からの変更をマージするのを難しくします。これが私の解決策です:
I commit のとき、私は手動で リストからファイルを削除する
I pull の前、I stash 変更されたファイル。そして引っ張った後、 stash pop をします。
ステップ3は時々マージを引き起こすでしょう、そしてあなたが解決する必要がある衝突をもたらすかもしれません、それは良いことです。
これにより、チーム内の他の人と共有されていないローカルな変更を維持できます。