Вероятно, лучше всего использовать асинхронное функция BeginAcceptTcpClient. Тогда можно просто назвать Остановку () на слушателе, поскольку она не будет блокироваться.
Вы можете определить те же самые статические файлы в своей основной ветке, но:
Поскольку этот .gitattribute не будет определен в других ветвях, объединение этих файлов будет происходить нормально.
Идея состоит в том, чтобы определить файл .gitattributes в каталоге этих статических файлов в главной ветке со следующим содержимым:
myStaticFile1 merge=keepMine
myStaticFile2 merge=keepMine
myStaticFile3 merge=keepMine
Эти три файла всегда будут сохранять свое локальное содержимое (которое пусто на главном сервере) при слиянии с мастером.
Вам нужно будет определить драйвер слияния (здесь называется "keepmine") ). См. Связанный вопрос для этого сценария.
Добавьте файлы в .gitignore в мастер. Когда вы проверяете разработку, .gitignore изменится и больше не будет их игнорировать. (Обратите внимание, что если вы запустите git clean -x
, файлы будут перезаписаны.)