Автоматически фиксировать пустой файл .gitignore после git init? - PullRequest
8 голосов
/ 30 марта 2011

Я хотел бы начать все мои репозитории git с «пустого» начального коммита, просто коснувшись пустого файла .gitignore и зафиксировав его. Мои причины примерно такие же, как в этом вопросе . На первый взгляд, первый коммит («хвост») не имеет родительского коммита, поэтому происходят разные странные и неожиданные вещи, которые не произошли бы с другими коммитами.

Так есть ли что-то вроде хита post-init, который я могу использовать, чтобы следовать каждому git init с touch .gitignore && git commit .gitignore -m "Initial commit"? Или я должен написать свою собственную команду инициализации, которая делает это?

Ответы [ 3 ]

14 голосов
/ 30 марта 2011

Если вам нужен коммит в репо, не используйте git init - он делает пустые репо!Вместо этого используйте git clone.Просто создайте один репозиторий с коммитом вашего пустого gitignore и клонируйте его всякий раз, когда вам нужен этот конкретный псевдопустой репозиторий.(Вы можете разместить его публично на github, если хотите, чтобы он был доступен где-либо.)

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

[alias]
    myinit = !git init && touch .gitignore && git add .gitignore && git commit -m "empty gitignore"

Обратите внимание, что выне может создавать псевдонимы с тем же именем, что и встроенные команды.

3 голосов
/ 30 марта 2011

Это не красиво, но это будет работать. Всякий раз, когда вы хотите инициировать репо, выполните следующие две команды.

git init
touch .gitignore

Затем, чтобы убедиться, что git отслеживает ваш файл gitignore, запустите:

git add .gitignore
git commit .gitignore -m "Adding .gitignore"

В зависимости от того, как вы настроили репо, вы все равно можете выполнять вторые две команды.

3 голосов
/ 30 марта 2011

Когда вы делаете git init, каталог .git (который содержит хуки) инициализируется значениями по умолчанию.Поэтому после git init не существует никаких зацепок.Гипотетический хук «post-init» был бы бесполезен, потому что он мог запускаться только в тот момент, когда каталог хуков инициализирован (и не содержит активных хуков).

Звучит так, как будто выможет быть лучше написать пользовательскую команду, которая делает это, так как ловушка не является подходящим решением.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...