Здравствуйте, ., Вы писали:
.>Здравствуйте, AlexNek, Вы писали:
AN>> .>maven сам готовый бинарник качает. AN>> А где он его берет? .>Из maven repository. Например, тут куча опен-сорсных библиотек. Можно создавать свои репозитории.
Это мне все равно не грозит, так что хоть до конца не понятно, замнем.
AN>> .>Для бинарников? AN>> Так люди и с фотошопом в нем работают. AN>> А где-же их еще хранить? .>Фотошоп ещё ладно, от безысходности, а вот всякие dll это жуть.
А куда кидать сторонние либы?
AN>> .>Я видимо вопрос не понял. AN>> .>pull == fetch + merge. AN>> .>fetch == "взять изменения", притом всегда в отдельную ветку "origin/master". Потом "замержить" твой "master" с "origin/master". А рабочую копию можно только checkout или commit, притом только в локальный "master". Потом можно мержить твой "master" в "origin/master" с помощью push. AN>> Я видимо этот ответ не понял AN>> отдельную ветку "origin/master" — это разве не главная ветка? .>Есть "master" — твоя личная главная ветка, а есть "origin/master" главная ветка репозитория с которого ты первый раз взял копию (потому и названо origin).
но если "origin/master" главная ветка репозитория с которого ты первый раз взял копию как в нее можно брать изменения?
AN>> .>Да ладно, флеймить везде можно, пока модераторы не придут. А результат будет — сотни сообщений. AN>> Да вроде ветка полезная, не хочется ее замусоривать. У меня уже скоро месяц пару сообщений ждут ответа, пока был в отпуске развил "большую полемику", а потом уже времени не стало. (перед авторами сообщений неудобно). Так что лучше не начинать. .>Истинно интересующиеся должны не брезговать ища инфу среди мусора. Это есть путь познания.
Вообще то это путь спецслужб. Хотя как постигнем вселенную — поймем микрософт
AN>> .>А tortoisesvn разве в Студию встраивается? AN>> Не а, для этого ankhSVN пользуется. Да тут пока бы просто так поиграться, а если понравиться можно и дальше искать. .>Так ты значит и tortisesvn + ankhsvn юзаешь? Так используй tortoisegit+gitextensions.
так я почему и говорю, что gitextensions не хочет в студии работать.
Здравствуйте, AlexNek, Вы писали:
AN> А куда кидать сторонние либы?
В яве всё просто. Пишем в файле проекта dependency hibernate:3.5.2 и оно само вытягивает из инета либы, исходники, документацию. Притом со всеми зависимостями.
AN> .>Есть "master" — твоя личная главная ветка, а есть "origin/master" главная ветка репозитория с которого ты первый раз взял копию (потому и названо origin). AN> но если "origin/master" главная ветка репозитория с которого ты первый раз взял копию как в нее можно брать изменения?
git fetch
AN> .>Истинно интересующиеся должны не брезговать ища инфу среди мусора. Это есть путь познания. AN> Вообще то это путь спецслужб. Хотя как постигнем вселенную — поймем микрософт
AN> .>Так ты значит и tortisesvn + ankhsvn юзаешь? Так используй tortoisegit+gitextensions. AN> так я почему и говорю, что gitextensions не хочет в студии работать.
Хз в общем. В смысле нет плугинов к Студии вообще?
Я в Студии работал последний раз года 3 назад... и тогда юзал tortoisesvn.
Здравствуйте, ., Вы писали:
.>Здравствуйте, AlexNek, Вы писали:
AN>> А куда кидать сторонние либы? .>В яве всё просто. Пишем в файле проекта dependency hibernate:3.5.2 и оно само вытягивает из инета либы, исходники, документацию. Притом со всеми зависимостями.
А если либа купленная и стянуть нечего?
AN>> .>Есть "master" — твоя личная главная ветка, а есть "origin/master" главная ветка репозитория с которого ты первый раз взял копию (потому и названо origin). AN>> но если "origin/master" главная ветка репозитория с которого ты первый раз взял копию как в нее можно брать изменения? .>git fetch
Вообще то интересовала не коамнда а принцип. Если я откуда-то взял копию, то как это может быть моей личной веткой.
Да и как нашел "git fetch — забрать изменения удаленной ветки из репозитария", то есть это просто аналог чекаут
AN>> .>Так ты значит и tortisesvn + ankhsvn юзаешь? Так используй tortoisegit+gitextensions. AN>> так я почему и говорю, что gitextensions не хочет в студии работать. .>Хз в общем. В смысле нет плугинов к Студии вообще? .>Я в Студии работал последний раз года 3 назад... и тогда юзал tortoisesvn.
В студии никак ее нельзя юзать, по крайней мере мне это неизвестно.
Кстати, относительно диалога, это был все же Stash
И вот так получается ошибка.
А Гит черепах ведет себя весьма нагло, что подразумевает полный отказ от дальнеших экспериментов.
Скопировал новый файл в мой рабочий каталог, сказал Гиту коммит через GitExtension, все отработало нормально, файл на месте.
Делаем синхронизацию с SVN через черепаху Гита. Она показывает мне добавленный файл, я ей говорю игнорируй его (то бишь, нехрен в SVN писать). Что делает эта скотина? Она берет и нагло удаляет файл с диска. Ладно я его просто скопировал для теста, а если бы в поту пару ней набирал.
Здравствуйте, AlexNek, Вы писали:
AN> А если либа купленная и стянуть нечего?
Будет без исходников...
AN> AN>> но если "origin/master" главная ветка репозитория с которого ты первый раз взял копию как в нее можно брать изменения? AN> .>git fetch AN> Вообще то интересовала не коамнда а принцип. Если я откуда-то взял копию, то как это может быть моей личной веткой.
Она "твоя" в том смысле, что ты именно в неё вносишь изменения. Т.е. после clone у тебя есть 2 ветки — master и origin/master, которые указывают на один и тот же коммит. Когда ты что-то редактируешь, коммитишь в master. Когда ты делаешь fetch — изменения появляются в origin/master. Т.е. ветки расходятся. Потом ты можешь их мержить, совмещая ветки обратно.
AN> .>Хз в общем. В смысле нет плугинов к Студии вообще? AN> .>Я в Студии работал последний раз года 3 назад... и тогда юзал tortoisesvn. AN> В студии никак ее нельзя юзать, по крайней мере мне это неизвестно.
Да и не надо. В Студии редактируешь, потом в Проводнике коммитишь/апдейтишь.
AN> Кстати, относительно диалога, это был все же Stash AN> И вот так получается ошибка.
Да диалог пустой же. Смысла в нём нет. По идее кнопки должны не нажиматься.
AN> А Гит черепах ведет себя весьма нагло, что подразумевает полный отказ от дальнеших экспериментов.
AN> Скопировал новый файл в мой рабочий каталог, сказал Гиту коммит через GitExtension, все отработало нормально, файл на месте. AN> Делаем синхронизацию с SVN через черепаху Гита. Она показывает мне добавленный файл, я ей говорю игнорируй его (то бишь, нехрен в SVN писать). Что делает эта скотина? Она берет и нагло удаляет файл с диска. Ладно я его просто скопировал для теста, а если бы в поту пару ней набирал.
Честно говоря, слабо понял.. Как он после коммита решил опять что-то добавить — мне непонятно.
что-то на это тоже хотел ответить, но куда-то потерял.
AN> Да и как нашел "git fetch — забрать изменения удаленной ветки из репозитария", то есть это просто аналог чекаут
Нет, совсем нет. checkout забирает данные из локального в рабочую копию. fetch — забирает данные из удалённого репозитория в локальный.
Здравствуйте, ., Вы писали:
.>Здравствуйте, AlexNek, Вы писали:
AN>> А если либа купленная и стянуть нечего? .>Будет без исходников...
Исходники тоже куплены, только откуда тянуть?
AN>> AN>> но если "origin/master" главная ветка репозитория с которого ты первый раз взял копию как в нее можно брать изменения? AN>> .>git fetch AN>> Вообще то интересовала не коамнда а принцип. Если я откуда-то взял копию, то как это может быть моей личной веткой. .>Она "твоя" в том смысле, что ты именно в неё вносишь изменения. Т.е. после clone у тебя есть 2 ветки — master и origin/master, которые указывают на один и тот же коммит. Когда ты что-то редактируешь, коммитишь в master. Когда ты делаешь fetch — изменения появляются в origin/master. Т.е. ветки расходятся. Потом ты можешь их мержить, совмещая ветки обратно.
То есть на самом деле 3 места.
— центральный репозиторий
— оригинальный мастер
— личный мастер
AN>> .>Хз в общем. В смысле нет плугинов к Студии вообще? AN>> .>Я в Студии работал последний раз года 3 назад... и тогда юзал tortoisesvn. AN>> В студии никак ее нельзя юзать, по крайней мере мне это неизвестно. .>Да и не надо. В Студии редактируешь, потом в Проводнике коммитишь/апдейтишь.
А откуда знать что именно нужно коммитить/добавлять? А так все что в солушине автоматом коммитится. А если валом проектов?
AN>> Кстати, относительно диалога, это был все же Stash AN>> И вот так получается ошибка. .>Да диалог пустой же. Смысла в нём нет. По идее кнопки должны не нажиматься.
Тоже самое происходит и с не пустым. Кнопки нажимаются в любом случае.
AN>> А Гит черепах ведет себя весьма нагло, что подразумевает полный отказ от дальнеших экспериментов.
AN>> Скопировал новый файл в мой рабочий каталог, сказал Гиту коммит через GitExtension, все отработало нормально, файл на месте. AN>> Делаем синхронизацию с SVN через черепаху Гита. Она показывает мне добавленный файл, я ей говорю игнорируй его (то бишь, нехрен в SVN писать). Что делает эта скотина? Она берет и нагло удаляет файл с диска. Ладно я его просто скопировал для теста, а если бы в поту пару ней набирал. .>Честно говоря, слабо понял.. Как он после коммита решил опять что-то добавить — мне непонятно.
Стащил я SVN проект в каталог под гитом.
Добавляюю руками в каталог файл, делаю ему коммит в гите.
Затем синхронизируюсь с SVN, но прошу не передавать новый файл.
После этого файл бесследно исчезает.
Здравствуйте, ., Вы писали:
.>Здравствуйте, AlexNek, Вы писали:
.>что-то на это тоже хотел ответить, но куда-то потерял.
AN>> Да и как нашел "git fetch — забрать изменения удаленной ветки из репозитария", то есть это просто аналог чекаут .>Нет, совсем нет. checkout забирает данные из локального в рабочую копию. fetch — забирает данные из удалённого репозитория в локальный.
Я имел в виду SVN checkout. А сколько же в гите репозиториев?
В SVN я знаю только один.
Здравствуйте, AlexNek, Вы писали:
AN> .>Будет без исходников... AN> Исходники тоже куплены, только откуда тянуть?
Обычно делают так:
Один раз один из девелоперов берёт бинарники, доки, исходники, формирует так называемый "артефакт", кладёт (deploy) в в приватный maven repository, доступный только вашей компании.
Потом в проекте(ах) просто прописывается зависимость от этой либы и она сама будет подтягиваться всем остальным.
AN> .>Она "твоя" в том смысле, что ты именно в неё вносишь изменения. Т.е. после clone у тебя есть 2 ветки — master и origin/master, которые указывают на один и тот же коммит. Когда ты что-то редактируешь, коммитишь в master. Когда ты делаешь fetch — изменения появляются в origin/master. Т.е. ветки расходятся. Потом ты можешь их мержить, совмещая ветки обратно. AN> То есть на самом деле 3 места. AN> — центральный репозиторий AN> — оригинальный мастер AN> — личный мастер
Не совсем. Мастер — это ветка (метка на некий коммит). А репозиторий это свалка коммитов.
Репозиторий есть локальный (находится в каталоге .git). И есть удалённые (все остальные существующие в мире — в другом каталоге, на другом сервере, етс). И есть условное соглашение, что когда ты делаешь git clone <the url>, автоматически добавляется удалённый репозиторий, называемый "origin" == <the url>. Т.е. как такового "центрального репозитория" в принципе нет. Так что в лучшем случае он не центральный, а "изначальный".
AN> .>Да и не надо. В Студии редактируешь, потом в Проводнике коммитишь/апдейтишь. AN> А откуда знать что именно нужно коммитить/добавлять? А так все что в солушине автоматом коммитится. А если валом проектов?
Коммитишь весь каталок с солюшеном.
AN> .>Да диалог пустой же. Смысла в нём нет. По идее кнопки должны не нажиматься. AN> Тоже самое происходит и с не пустым. Кнопки нажимаются в любом случае.
Вообще накой тебе этот диалог? Чтобы делать "apply" нужно чтобы в stash что-то было. У тебя там пусто.
В сабжевой статье такой картинки вроде не было.
AN> Стащил я SVN проект в каталог под гитом. AN> Добавляюю руками в каталог файл, делаю ему коммит в гите. AN> Затем синхронизируюсь с SVN, но прошу не передавать новый файл. AN> После этого файл бесследно исчезает.
А как ты синхронизируешься? dcommit? или что?
Попробую угадать... Когда ты синхронизируешься ты говоришь чтобы git был приведён в соотвествие с svn. Если ты в svn файл отказался не положить, то и в git его не станет, т.к. git отображает состояние svn. Логично в общем-то.
AN> Я имел в виду SVN checkout. А сколько же в гите репозиториев? AN> В SVN я знаю только один
Много. На то оно и distributed.
Здравствуйте, ., Вы писали:
.>Здравствуйте, AlexNek, Вы писали:
AN>> .>Она "твоя" в том смысле, что ты именно в неё вносишь изменения. Т.е. после clone у тебя есть 2 ветки — master и origin/master, которые указывают на один и тот же коммит. Когда ты что-то редактируешь, коммитишь в master. Когда ты делаешь fetch — изменения появляются в origin/master. Т.е. ветки расходятся. Потом ты можешь их мержить, совмещая ветки обратно. AN>> То есть на самом деле 3 места. AN>> — центральный репозиторий AN>> — оригинальный мастер AN>> — личный мастер .>Не совсем. Мастер — это ветка (метка на некий коммит). А репозиторий это свалка коммитов. .>Репозиторий есть локальный (находится в каталоге .git). И есть удалённые (все остальные существующие в мире — в другом каталоге, на другом сервере, етс). И есть условное соглашение, что когда ты делаешь git clone <the url>, автоматически добавляется удалённый репозиторий, называемый "origin" == <the url>. Т.е. как такового "центрального репозитория" в принципе нет. Так что в лучшем случае он не центральный, а "изначальный".
А что можно сразу с несколькими удаленными работать.
Тогда получатся следующее:
— удаленный репозиторий
— локальный репозиторий (находится в каталоге .git)
— каталог в котором находится локальный репозиторий
AN>> .>Да и не надо. В Студии редактируешь, потом в Проводнике коммитишь/апдейтишь. AN>> А откуда знать что именно нужно коммитить/добавлять? А так все что в солушине автоматом коммитится. А если валом проектов? .>Коммитишь весь каталок с солюшеном.
Так я же говорю,валом различных проектов не все в одном каталоге, а солюшин вообще в каталоге приложения расположена, там наверное не более сотни строк.
AN>> .>Да диалог пустой же. Смысла в нём нет. По идее кнопки должны не нажиматься. AN>> Тоже самое происходит и с не пустым. Кнопки нажимаются в любом случае. .>Вообще накой тебе этот диалог? Чтобы делать "apply" нужно чтобы в stash что-то было. У тебя там пусто.
Просто на момент получения картинки ломало добавлять новые файлы.
ошибка все равно точно такая же. .>В сабжевой статье такой картинки вроде не было.
Я ее не рисовал
AN>> Стащил я SVN проект в каталог под гитом. AN>> Добавляюю руками в каталог файл, делаю ему коммит в гите. AN>> Затем синхронизируюсь с SVN, но прошу не передавать новый файл. AN>> После этого файл бесследно исчезает. .>А как ты синхронизируешься? dcommit? или что?
Rebase — больше ничего нет в меню.
.>Попробую угадать... Когда ты синхронизируешься ты говоришь чтобы git был приведён в соотвествие с svn. Если ты в svn файл отказался не положить, то и в git его не станет, т.к. git отображает состояние svn. Логично в общем-то.
Ладно, пусть себе делает, что хочет в своем локальном репозитории. Но без всяких следов удалять файлы из моей папки только из-за того что их нет в SVN SVN себе такого никогда не позволяет.
AN>> Я имел в виду SVN checkout. А сколько же в гите репозиториев? AN>> В SVN я знаю только один .>Много. На то оно и distributed.
И их сразу всехможно пользовать?
Очень интересная статья, то что нужно для ознакомления!
Я пробовал перевести, ради интереса, наш проект в Гит. Размер проекта около 300 мб.
Теперь когда я создал ветку с изменениями, то переключение между главной и созданной веткой занимает около 5-7 секунд.
Хотя реально изменен был только один файл.
Собственно вопрос. А можно как-то сделать ветку не от всего дерева, а поместить туда только какую-то поддиректорию?
Здравствуйте, Bear Hunter, Вы писали:
BH>Я пробовал перевести, ради интереса, наш проект в Гит. Размер проекта около 300 мб.
Это размер проекта или размер репозитория?
BH>Теперь когда я создал ветку с изменениями, то переключение между главной и созданной веткой занимает около 5-7 секунд. BH>Хотя реально изменен был только один файл.
Такое поведение наблюдается постоянно или только при первом переключении?
BH>Собственно вопрос. А можно как-то сделать ветку не от всего дерева, а поместить туда только какую-то поддиректорию?
Нельзя.
Если нам не помогут, то мы тоже никого не пощадим.
Здравствуйте, AlexNek, Вы писали:
AN> — удаленный репозиторий AN> — локальный репозиторий (находится в каталоге .git)
да. AN> — каталог в котором находится локальный репозиторий
"Рабочая копия" называется.
AN> Так я же говорю,валом различных проектов не все в одном каталоге, а солюшин вообще в каталоге приложения расположена, там наверное не более сотни строк.
Непонятно... А как svn по разным каталогам коммитит? Это разные репозитории что-ли?
AN> .>Вообще накой тебе этот диалог? Чтобы делать "apply" нужно чтобы в stash что-то было. У тебя там пусто. AN> Просто на момент получения картинки ломало добавлять новые файлы. AN> ошибка все равно точно такая же.
Да я понял. Не понял с какой ты целью этим диалогом пользуешься.
AN> .>А как ты синхронизируешься? dcommit? или что? AN> Rebase — больше ничего нет в меню.
rebase выкачивает изменения из svn в git. В каком-то смысле аналог svn update.
AN> Ладно, пусть себе делает, что хочет в своем локальном репозитории. Но без всяких следов удалять файлы из моей папки только из-за того что их нет в SVN SVN себе такого никогда не позволяет.
Если ты ветки в svn переключаешь — может же файл исчезнуть. Так и тут.
AN> И их сразу всехможно пользовать?
Да. В этом и кайф.
Здравствуйте, IT, Вы писали:
IT>Это размер проекта или размер репозитория?
Проекта, репозиторий занимает около 60 мб.
IT>Такое поведение наблюдается постоянно или только при первом переключении?
Постоянно.
IT>Нельзя.
Здравствуйте, ., Вы писали:
AN>> Rebase — больше ничего нет в меню. .>rebase выкачивает изменения из svn в git. В каком-то смысле аналог svn update.
Это не совсем так. Если в локальном репозитории есть локальная ветка, не закоммиченная в svn, то git svn rebase сначала подтянет изменения из svn, а потом пересадит локальную ветку с точки ответвления на конец свежеподтянутого.
Здравствуйте, ., Вы писали:
.>Здравствуйте, AlexNek, Вы писали:
AN>> Так я же говорю,валом различных проектов не все в одном каталоге, а солюшин вообще в каталоге приложения расположена, там наверное не более сотни строк. .>Непонятно... А как svn по разным каталогам коммитит? Это разные репозитории что-ли?
Если работать только с root каталогом то можно хорошо выспаться за время обмена.
AN>> .>Вообще накой тебе этот диалог? Чтобы делать "apply" нужно чтобы в stash что-то было. У тебя там пусто. AN>> Просто на момент получения картинки ломало добавлять новые файлы. AN>> ошибка все равно точно такая же. .>Да я понял. Не понял с какой ты целью этим диалогом пользуешься.
Да я просто искал где мои новые файлы (которые я скопировать вручную в "Рабочая копия") и нашел их в этом диалоге.
AN>> .>А как ты синхронизируешься? dcommit? или что? AN>> Rebase — больше ничего нет в меню. .>rebase выкачивает изменения из svn в git. В каком-то смысле аналог svn update.
Пусть себе делает что хочет в локальном репозитории но нефиг лезть в "Рабочая копия", а если полез то хоть скажи где-то.
AN>> Ладно, пусть себе делает, что хочет в своем локальном репозитории. Но без всяких следов удалять файлы из моей папки только из-за того что их нет в SVN SVN себе такого никогда не позволяет. .>Если ты ветки в svn переключаешь — может же файл исчезнуть. Так и тут.
А что их можно переключать? не знал. У нас каждая ветка качается в свой отдельный каталог.
AN>> И их сразу всехможно пользовать? .>Да. В этом и кайф.
Икак же к ним можно одновременно обращаться, я пока заметил только один адрес репозитория для соединения.
Здравствуйте, AlexNek, Вы писали:
AN> .>Непонятно... А как svn по разным каталогам коммитит? Это разные репозитории что-ли? AN> Если работать только с root каталогом то можно хорошо выспаться за время обмена.
Вообще говоря, стоит попробовать как есть — git может работать быстрее на порядок.
AN> Да я просто искал где мои новые файлы (которые я скопировать вручную в "Рабочая копия") и нашел их в этом диалоге.
Да блин.. Вон же в статье
всё разжевывается, с картинками.
AN> .>rebase выкачивает изменения из svn в git. В каком-то смысле аналог svn update. AN> Пусть себе делает что хочет в локальном репозитории но нефиг лезть в "Рабочая копия", а если полез то хоть скажи где-то.
Пока удаление не деструктивное — пусть делает, можно откатиться.
AN> .>Если ты ветки в svn переключаешь — может же файл исчезнуть. Так и тут.
AN> А что их можно переключать? не знал. У нас каждая ветка качается в свой отдельный каталог.
Счастливчик.
Конечно можно: svn switch
У меня рабочая копия с после компиляции, со всякими Debug/Release занимала около 5гб. Не особо с отдельными каталогами размахнёшься. А ещё окружение перенастраивать, со всякими IIS путями...
AN> Икак же к ним можно одновременно обращаться, я пока заметил только один адрес репозитория для соединения.
remotes прописывать. Или можно тупо писать git pull/push <repo url>
Здравствуйте, ., Вы писали:
.>Здравствуйте, AlexNek, Вы писали:
AN>> .>Непонятно... А как svn по разным каталогам коммитит? Это разные репозитории что-ли? AN>> Если работать только с root каталогом то можно хорошо выспаться за время обмена. .>Вообще говоря, стоит попробовать как есть — git может работать быстрее на порядок.
Все равно не удобно коммитить все, могу править документацию и проект, а коммитить хочу только проект.
AN>> .>rebase выкачивает изменения из svn в git. В каком-то смысле аналог svn update. AN>> Пусть себе делает что хочет в локальном репозитории но нефиг лезть в "Рабочая копия", а если полез то хоть скажи где-то. .>Пока удаление не деструктивное — пусть делает, можно откатиться.
В том и дело что деструктивное без всякой возможности отката
AN>> .>Если ты ветки в svn переключаешь — может же файл исчезнуть. Так и тут.
AN>> А что их можно переключать? не знал. У нас каждая ветка качается в свой отдельный каталог. .> Счастливчик. .>Конечно можно: svn switch .>У меня рабочая копия с после компиляции, со всякими Debug/Release занимала около 5гб. Не особо с отдельными каталогами размахнёшься. А ещё окружение перенастраивать, со всякими IIS путями...
Здравствуйте, AlexNek, Вы писали:
AN> .>Вообще говоря, стоит попробовать как есть — git может работать быстрее на порядок. AN> Все равно не удобно коммитить все, могу править документацию и проект, а коммитить хочу только проект.
Так не коммить, выбирай что хочешь в tsvn, gitexts. Хоть с точностью до части файла. Накой нужна Студия для этого — неясно, в ней это менее удобно будет всё равно.
AN> .>Пока удаление не деструктивное — пусть делает, можно откатиться. AN> В том и дело что деструктивное без всякой возможности отката
В общем я не понял что ты там такое делал, почему нет возможности отката — загадка.
AN> А сколько же тогда только исходники занимают?
Исходники не помню... там ещё месиво из разных файлов, html,js,c++,java было... Несколько десятков мб вроде.
Здравствуйте, ., Вы писали:
.>Здравствуйте, AlexNek, Вы писали:
AN>> .>Вообще говоря, стоит попробовать как есть — git может работать быстрее на порядок. AN>> Все равно не удобно коммитить все, могу править документацию и проект, а коммитить хочу только проект. .>Так не коммить, выбирай что хочешь в tsvn, gitexts. Хоть с точностью до части файла. Накой нужна Студия для этого — неясно, в ней это менее удобно будет всё равно.
Менее удобно еще куда то переключаться.
— я всегда вижу визульно какой файл модифицирован
— нажав commit на solution сразу видно все изменения только в файлах включенных в проект. Могу тут же глянуть отличия.
Если делать в проводнике нужно минимум еще туда перейти, при этом нужно переходить в корень всех проектов.
AN>> .>Пока удаление не деструктивное — пусть делает, можно откатиться. AN>> В том и дело что деструктивное без всякой возможности отката .>В общем я не понял что ты там такое делал, почему нет возможности отката — загадка.
Может просто не знаю где искать откат?
А делал вот что
Копирую через проводник файл в локальную папку под гитом.
Через git extension делаю ему коммит.
Через гит черепаху даю команду ребасе.
Появляется диалог, вверху виден мой файл.
Не помню уже точно как, может через контектное меню, может слева где кликнул, ставлю ему признак ignore.
Нажимаю кнопочку ОК
Файл бесследно исчезает.
AN>> А сколько же тогда только исходники занимают? .>Исходники не помню... там ещё месиво из разных файлов, html,js,c++,java было... Несколько десятков мб вроде.
А откуда берутся гигибайты?
Здравствуйте, AlexNek, Вы писали:
AN> Менее удобно еще куда то переключаться. AN> — я всегда вижу визульно какой файл модифицирован AN> — нажав commit на solution сразу видно все изменения только в файлах включенных в проект. Могу тут же глянуть отличия.
Т.е. "включённых в проект"? Те, которые не в проекте вообще в игноре должны быть.
AN> Если делать в проводнике нужно минимум еще туда перейти, при этом нужно переходить в корень всех проектов.
В git не надо вроде. Он коммитит рабочую копию целиком (как минимум из командной строки).
AN> Может просто не знаю где искать откат?
AN> А делал вот что
AN> Копирую через проводник файл в локальную папку под гитом. AN> Через git extension делаю ему коммит. AN> Через гит черепаху даю команду ребасе. AN> Появляется диалог, вверху виден мой файл. AN> Не помню уже точно как, может через контектное меню, может слева где кликнул, ставлю ему признак ignore. AN> Нажимаю кнопочку ОК AN> Файл бесследно исчезает.
В общем понял теперь. Короче, рассказываю. Ты делал rebase, т.е. перебазирование. Что это значит. У тебя есть история svn, c коммитами s1, s2, s3. Ты делаешь изменение в гите и коммитишь, получается коммит g1. История теперь такая: s1->s2->s3->g1. Допустим за это время кто-то другой что-то в svn закоммитил s4, получается теперь есть 2 истории: s1->s2->s3->s4 в svn и s1->s2->s3->g1. Тебе их надо слить. В случае git всё просто, а с svn надо сделать линейную историю. Т.е. должно получиться s1->s2->s3->s4->g1. Т.е. твой коммит g1 должен быть применён не к s3 а к s4. Когда ты делаешь git svn rebase он скачивает историю из svn и переносит твой коммит в её конец. При этом tgit предлагает эту историю тут же подредактировать (например, возможно s4 уже фиксит проблему которую ты пофиксил в g1 или там что-то пересекается). Ты же поставил признак "skip" (а не ignore как ты написал). Т.е. ты отказался применять твоё изменение g1. Логично, что файла в итоге не стало.
Да, кстати это не важно что не было никакого s4, перебазирование позволяет редактировать историю в любом случае, чтобы при отправке в удалённый репозиторий было всё красиво в истории.
Если тебе интересно, поразбирайся с git reflog, если хочешь понять как тебе вернуть твой файл.
AN> .>Исходники не помню... там ещё месиво из разных файлов, html,js,c++,java было... Несколько десятков мб вроде. AN> А откуда берутся гигибайты?
C++ он такой. Всякие obj, куча отладочных pdb, кодогенерация использовалась — своя и COM-импорты, в общем распухает оно резво.