Какими глюками мерзавца Вы были пойманы?

Ни один. Используйте Присяжный острослов . Путем разделения внутренней логики от логики дисплея Вы создадите код, который намного более прост поддержать. (Не берите путь старой шаблонной системы PHPLIB, которая попробовала к абсолютно отдельному PHP и HTML - это требует, чтобы логика дисплея была смешана с Вашей логикой основного бизнеса, и очень грязно.), Если абсолютно необходимо генерировать отрывки HTML в коде PHP, используйте 2-й метод, но передайте переменную Присяжному острослову.

12
задан Bob Aman 20 October 2009 в 21:00
поделиться

6 ответов

Обычная конечная косая черта, когда добавляет подмодуль :

Когда вы используете git add для подмодуля, убедитесь, что у вас нет хвостовой косой черты.

> git add local/path
  -- adds the submodule

> git add local/path/
  -- adds all the files in the submodule directly into your repository, big no-no
15
ответ дан 2 December 2019 в 03:16
поделиться

Публикация в общедоступном репозитории без понимания моего git config user.name неверна.
Это означает, что публичное репо теперь получает имя (и адрес электронной почты), которое я бы предпочел вообще не публиковать. Если это репо реплицируется, ... уже слишком поздно.

Вот почему я предпочитаю, чтобы мое имя пользователя отображалось в моей командной строке git, то есть вместо этого:

 MY_HOSTNAME /c/Prog/myGitProject (master)$

Я вижу это:

 MY_HOSTNAME /c/Prog/myGitProject (master) VonC $

Я знаю, кто я, с самой первой команды, которую набираю в этом сеансе Git bash!

7
ответ дан 2 December 2019 в 03:16
поделиться

Один из моих самых неприятных моментов с репозиторием git, хотя он больше о sed:

Однажды я делал найти ... -exec sed -i ... операция в подкаталоге моего репозитория. Я сначала протестировал его без -i , отвлекся, вернулся и смог переключиться в верхний каталог в моем репо перед его запуском. Теперь все важные файлы git доступны только для чтения, но sed -i по умолчанию перетасовывает файл путем переименования, а затем записывает обратно в оригинал, поэтому он отлично работает с файлом только для чтения, таким как объекты git . Замена не была обратимой, и мне пришлось восстанавливать репозиторий путем клонирования и выборки от кого-то, кто отслеживал мой как удаленный.

Я даже на мгновение не подумал, что sed будет работать с файлами, доступными только для чтения. Мораль истории: используйте sed -i -c , который копирует файл, а затем пытается перезаписать оригинал.

1
ответ дан 2 December 2019 в 03:16
поделиться

Службы Windows - это уровень над процессами; Чтобы быть службой, приложение должно подключиться к диспетчеру управления службами и объявить, какие службы доступны. Это соединение обрабатывается в библиотеке ADVAPI32.DLL. Как только это соединение установлено, библиотека поддерживает поток, ожидающий команд от диспетчера управления службами, который затем может запускать и останавливать службы произвольно. Я не верю, что процесс должен завершаться после завершения последней службы в нем. Хотя это обычно и происходит, окончание связи с диспетчером управления службами, которое происходит после того, как последняя служба переходит в состояние «остановлено», может произойти значительно раньше, чем процесс фактически завершится, высвободив все ресурсы, которые он еще не освободил явно. .

API службы Windows включает функциональные возможности, позволяющие получить идентификатор процесса для процесса, в котором размещена служба. В одном процессе может размещаться множество служб, поэтому процесс может фактически не завершиться, когда интересующая вас служба завершит работу, но вы должны быть в безопасности с SQL Server. К сожалению, .NET Framework не предоставляет эту функциональность. Однако он предоставляет дескриптор службы, которую он использует для внутренних вызовов API, и вы можете использовать его для выполнения собственных вызовов API. Затем с помощью P / Invoke вы можете получить идентификатор процесса процесса службы Windows, и оттуда, при условии, что у вас есть необходимое разрешение, вы можете открыть дескриптор процесса, который можно использовать, чтобы дождаться его завершения. exit.

Примерно так:

13
ответ дан 2 December 2019 в 03:16
поделиться

Работа, работа, работа ...

git commit

Работа, работа, работа ...

git commit

Хм ... время интегрироваться

git rebase -i origin/master

Что? Конфликты? Давайте начнем снова

git reset --hard origin/master

Cry cry cry ...


Git позволяет стереть вашу местную историю без сожалений. Самая большая проблема в том, что вы - подстраховка.

2
ответ дан 2 December 2019 в 03:16
поделиться
  1. Осознавать, что вы забыли запись в .gitignore , только когда у вас есть совпадения, разбросанные по множеству веток.

  2. Если забыть, что git add не добавляет того, чего нет ...

     git add. 
    git commit 
    git status 
     // привет! почему он не зафиксировал мои удаления? Ах да, глупый я 
    git add -u 
    git commit --amend 
     
  3. Если вы выполните git список веток , вы получите новую ветку под названием list , но если вы выполните git stash , вы получите свое рабочее пространство в спрятанном виде; для тайника вам понадобится список , если вам нужен список ...

Возможно, скоро ...

6
ответ дан 2 December 2019 в 03:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: