public void traverse(Git git, File file) throws Exception{		
		File targetDir = file;
		
		File sourcePath = new File(this.getSourcePath());
		File gitRootPath = new File(this.getGitRoot());
		File targetPath = new File(this.getTargetPath());
		
		if (file.exists()){
			for (String currentFile : targetDir.list()){
				File targetFile = new File(targetDir, currentFile);

				File sourceFile = new File(targetFile.getAbsolutePath().replace(targetPath.getAbsolutePath(), sourcePath.getAbsolutePath()));

				String fileName = targetFile.getAbsolutePath().replace("\\", "/").replace(gitRootPath.getAbsolutePath().replace("\\","/") + "/", "");
				
				if ((targetFile.isFile() &&  !sourceFile.exists()) || !targetFile.getCanonicalFile().getName().equals(sourceFile.getCanonicalFile().getName())) {
					Set<String> list = git.status().addPath(fileName).call().getIgnoredNotInIndex();

					if (!targetFile.getCanonicalFile().getName().equals(sourceFile.getCanonicalFile().getName()) || !list.contains(fileName)){
						System.out.println("Deleted: " + fileName);
						git.rm().addFilepattern(fileName).call();
					}					
				}
				
				

				if (targetFile.isDirectory()){
					traverse(git, targetFile);
				}
			}		
		}
	}