Отключить git - PullRequest
       38

Отключить git

18 голосов
/ 01 октября 2010

Мне действительно не нравится область размещения git, это просто делает мою жизнь излишне запутывающей.

Можно ли отключить ее, чтобы все отредактированные и новые файлы находились в одном контексте?Так, что git diff показывает разницу между репозиторием и моим рабочим каталогом (и мне не нужно также вводить git diff --cached) и так, чтобы git ci проверял всю мою рабочую копию (а не только часть, которая находится в стадии подготовки).

Если нет, альтернативы (например, настройка конфигурации), так что кажется, что у меня нет постановки, были бы тоже хороши.

У меня нет возможности изменить наразные DVCS, и я не хочу учиться любить сценическую площадку.Пожалуйста, не пишите, чтобы предложить это: (

Спасибо, -Shawn

PS: я спрашивал об этом на superuser.com, https://superuser.com/questions/192022/disable-git-staging-area,, но на этом форуме, кажется, гораздо меньше сообщений(только 118 помеченных мерзавцев по сравнению с 4448 здесь)

Ответы [ 5 ]

7 голосов
/ 01 октября 2010

Нет. Вы учитесь любить это.

На более серьезной ноте git add -A; git commit, вероятно, ваш друг. Таким образом, вы избегаете большинства взаимодействий (и преимуществ) с областью подготовки.

git add -A более мощный, чем обычный git commit -a. Он найдет новые файлы, а также подготовит измененный контент и удалит файлы, которых больше нет в рабочем дереве.

4 голосов
/ 01 октября 2010

Псевдонимы - ваши друзья.

Например, вы можете создать команду diff, которая будет делать то, что вы хотите с минимальным набором текста: в вашем .gitconfig положить

[alias]
        di = diff HEAD
        co = commit -a

Затем вы можете просто набрать git di и получить свой собственный diff или git co и получить собственную команду коммита.

2 голосов
/ 01 октября 2010

Вы можете просто использовать git commit -a для фиксации всех измененных / удаленных файлов. Вам все равно придется добавлять неотслеживаемые файлы вручную.

Я пришел из Subversion и сначала был озадачен областью подготовки. Но вы найдете это очень полезным. Если вы вносите изменения, которые вы тестировали, но вносите больше изменений, которые нарушают вашу сборку, вы можете вернуться к своим поэтапным изменениям.

1 голос
/ 01 октября 2010

Область подготовки (IMO) является одной из самых сильных сторон Git и действительно показывает, как она отличается от любой другой DVCS.

Вы можете использовать

git commit -a

, чтобы автоматическидобавить измененные файлы.Для неотслеживаемых файлов вы сами, хотя.Практика git add . && git commit.

Если вам не нравится, используйте другой VCS.Вынуждены использовать репозиторий git?Посмотрите некоторые доступные плагины, которые совместимы, такие как hg-git .


Лично я бы научился играть на сильных сторонах git, а не сражаться с ними.Представьте, что вы находитесь в середине большой грязной ветки, но вам нужно внести несколько выборочных изменений для производства.Boom, git add [files], а затем совершить и нажать.Возвращайся на работу, ничего не испортив.Есть бесчисленное множество других примеров, но это, пожалуй, самый простой для понимания.

0 голосов
/ 01 октября 2010

и я не хочу учиться любить сценическую площадку. Пожалуйста, не пишите, чтобы предложить это: (

Как и все остальные. Я собираюсь предложить вам научиться любить площадку. Это действительно полезно, хотя в 90% случаев вы будете игнорировать его.

Если вы в настоящее время не находите это полезным, то я думаю, что вы думаете о коммитах неправильно. Вы все еще думаете с точки зрения отдельных файлов или всего сразу. Правильный способ думать о коммитах - это каждая функция / исправление, а функции / исправления часто распределяются по нескольким файлам. Вы должны сгруппировать связанные изменения в один коммит. И иногда эта группа изменений не охватывает все текущие изменения. Это когда постановка становится полезной.

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

...