Git で、内部に多くのプロジェクトがあるプロジェクトがある場合、多くのJavaプロジェクト、.gitignore
ファイルを作成できますルートで、リポジトリ全体で「尊重」されます。
SVNプロジェクトでこれを行うにはどうすればよいですか?
たとえば、次のような.gitignore
に対して(cmd行を使用して)「svn ignore」セットアップを行うにはどうすればよいですか?
*.class
*.jar
*.war
*.ear
target/
.classpath
.settings/
.project
.metadata
bin/
質問の最も重要な部分:ルート内の新しいフォルダーに対してどのように機能させることができますか?例:
ルートでsvn propset svn:ignore "*.class" . -R
を実行してコミットしました。 OK:
root
- folder1/
-- *.class (ignored)
-- other files (ok)
- folder2/
-- *.class (ignored)
-- other files (ok)
次に、フォルダー3を作成します。以前のsvn:ignore
設定は適用されませんよね?そうする方法はありますか?
svn:ignore
を使用できます。通常、SVNにファイルに特別なプロパティを適用するように指示する必要があります。
svn propset svn:ignore "*.jpg" .
(コマンドの最後にあるドットに注意してください。)
複数のファイルの場合、改行文字を追加できます。
ここに改行を入れて正確に入力してください:
svn propset svn:ignore "file1
file2
file3" dir1
ファイルが無視されることを確認します。
svn status --no-ignore
次に、コードをコミットします。
そして、はい、多くの重複した質問がすでに利用可能です。
お気に入りの svn cheatguide を参照できます。
無視されたファイルとディレクトリを使用して、svn-ignore.txt
というファイルを作成できます。
*.class
*.jar
*.war
*.ear
target/
.classpath
.settings/
.project
.metadata
bin/
次のことを試してください:
svn propset svn:ignore -RF /root/svn-ignore.txt . [dot for current dir]
-R
は再帰的です。
私はこの問題をわずかに異なる方法で解決しました。これは、Bashシェルを使用していて、Perlがインストールされている場合にのみ機能しますが、ほとんどすべてのMacおよびLinuxマシンです。
.bashrc
および.bash_profile
ファイルに次を追加します。
alias _ss="svn status | egrep -v '`cat .svnignore|Perl -p -e 's/\n/|/'`'"
ターミナルを再起動するか忘れずに:
source ~/.bashrc
(or .bash_profile if that's what you used)
ここで。svnignoreというファイルを作成し、リポジトリがチェックアウトされているディレクトリに配置します。
files/to/ignore
another/file
tmp
node_modules
実行すると
_ss
作業コピーのルートディレクトリで、.svnignoreファイルを読み取り、その中のすべてを無視します。
.gitignoreファイルをバージョン管理するのと同じ方法で、.svnignoreファイルをバージョン管理します。
注:これはsvn statusコマンドにのみ影響し、無視されたファイルの追加/コミットを妨げません。