Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.78/18: Рейтинг темы: голосов - 18, средняя оценка - 4.78
Valakin
435 / 101 / 15
Регистрация: 21.02.2015
Сообщений: 845
1

Git-ом кто нибудь пользуется? Полезная вещь?

19.06.2015, 16:10. Просмотров 3381. Ответов 71
Метки нет (Все метки)

Смотрел мельком видеоролики, там все через командную строку, есть у кого нибудь опыт работы? можно быстро научится?
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.06.2015, 16:10
Ответы с готовыми решениями:

Кто пользуется Parse.com в разработке Android?
Всем привет! Приложение отправляет данные на Parse.com. Все работает, в таблице добавляется строка...

AWSTATS - кто-нибудь пользуется?
Кто-нибудь ею пользуется? Есть пара вопросов по настройке. http://awstats.sourceforge.net/

chdir, кто-нибудь этим пользуется?
chdir кто-нибудь пользуется? Очень хочется щагнуть из cgi-bin в www. Каковы перспективы? ...

кто нибудь пользуется с этим скриптом?
Нашел вот на этом сайте http://www.backlinks.ru/ скрипт для проверки обратных ссылок. Пробовал...

Кто нибудь пользуется: безопасным извличением устройства?
Кто что думает и почему!

71
Tester64
397 / 357 / 47
Регистрация: 22.05.2013
Сообщений: 2,518
24.06.2015, 11:04 41
Цитата Сообщение от Rius Посмотреть сообщение
Автору достаточно посмотреть на комментарий, чтобы понять что там было сделано.
Я и так знаю что и когда я в коде делал...

Например...
Эту неделю переделывал протоколы синхронизаии программы с сервером (php). Заняло где-то 3 дня. Тысячи мелких не существенных "подпилов", упрощений, выносов в более логичные функции. Добавил несколько десятков новых полей и детально задокументировал их в коментариях кода. Больше 30 часов. Иногда за час перепрыгивал с одной процедуры на полностью не важную чтобы отдохнуть. С главной процедуры хранения результата в базе на читабельность логов. С кода архивации на дизайн отладочной утилиты (шрифты, цвета, читабельность ошибок). Иногда перепрыгивал с php на андроид для тестирования результата. Иногда подправлял мелочь в андроиде. Результат... Старый протокол "подвинул" в сторону без потери поддержки и положил рядом новый как основной... Больше 30 файлов подправил. Если "отматывать" прийдется, то учет идет по минутам времени работы, а не по "сделанным операциям" (ведь их тысячи).

А чего стоило написать батники для гит-синхронизации...
Я над ними больше суток работал! Тесты, подгонка цветов, проверка активности на гитхабе/битбакете/в соседней папке. Один раз даже перепрыгнул в С++ чтобы утилитку подправить (целых 10 минут убил). Перепрыгивал с одного батника на другой. Особенно когда вынес все настройки проекта в один файл и его "унифицировал" за одно подправляя все связанные батники...

Добавлено через 2 минуты
Цитата Сообщение от Rius Посмотреть сообщение
Так в файле .gitignore есть обратная операция, только включение указанных путей.
http://git-scm.com/docs/gitignore
Это если воспользоваться "!" перед папкой? я не встречал раньше в примерах...
0
Rius
Эксперт .NET
6274 / 4100 / 985
Регистрация: 25.05.2015
Сообщений: 12,402
Записей в блоге: 12
Завершенные тесты: 4
24.06.2015, 11:39 42
Цитата Сообщение от Tester64 Посмотреть сообщение
Я и так знаю что и когда я в коде делал...
Возьмите к примеру архив, какой-нибудь там project-2008-01-01-15-34-01.zip и скажите, не распаковывая его, что там было изменено?
Цитата Сообщение от Tester64 Посмотреть сообщение
Если "отматывать" прийдется, то учет идет по минутам времени работы, а не по "сделанным операциям" (ведь их тысячи).
Учёт идёт по выполненным кусочкам работы, а не по времени или файлам.
Цитата Сообщение от Tester64 Посмотреть сообщение
А чего стоило написать батники для гит-синхронизации...
Если перейдёте на *.sh скрипты, ваше кунг-фу станет ещё сильнее. sh в msys тоже работают.

Да, вот пример :
Код
*.*
!*.c
!*.cpp
!*.h
!*.ini
!*.uvproj
!.gitignore
!*.txt
/Debug
Добавлено через 17 минут
Цитата Сообщение от Tester64 Посмотреть сообщение
Эту неделю переделывал протоколы синхронизаии программы с сервером (php). Заняло где-то 3 дня. Тысячи мелких не существенных "подпилов", упрощений, выносов в более логичные функции. Добавил несколько десятков новых полей и детально задокументировал их в коментариях кода. Больше 30 часов. Иногда за час перепрыгивал с одной процедуры на полностью не важную чтобы отдохнуть. С главной процедуры хранения результата в базе на читабельность логов. С кода архивации на дизайн отладочной утилиты (шрифты, цвета, читабельность ошибок). Иногда перепрыгивал с php на андроид для тестирования результата. Иногда подправлял мелочь в андроиде. Результат... Старый протокол "подвинул" в сторону без потери поддержки и положил рядом новый как основной... Больше 30 файлов подправил. Если "отматывать" прийдется, то учет идет по минутам времени работы, а не по "сделанным операциям" (ведь их тысячи).
Целая неделя или 3 дня в одном коммите - ужас.
Делаем отдельную ветку для новых полей с документацией под них. Прави в ветке.
Надоело - делаем ветку под читабельность лога, переключаемся в неё и правим код.
Делаем ветку под архивацию, под дизайн. К чему изменение относится, в той ветке и правим. Когда изменение полностью завершено, сливаем ветку в главную, develop.
Перепрыгивать легко, упорядочивать легко, разбираться в результатах работы - намного легче, чем в подправленных за 3 дня файлах, упакованных в одну кучу с комментом "изменение от 2015-06-24".
1
dajver
410 / 274 / 22
Регистрация: 18.09.2010
Сообщений: 1,115
24.06.2015, 13:07 43
Юзай tortoisegit https://code.google.com/p/tortoisegit/ и не парь себе мозги этой консолью
1
Pablito
2865 / 2277 / 768
Регистрация: 12.05.2014
Сообщений: 7,978
Завершенные тесты: 1
24.06.2015, 13:39 44
я это еще на первой странице сказал, и дал ссылку на tortoise (которая кстати интегрируется в виндовый эксплорер и доступна через контекстное меню на любой папке или файле)

командная строка - атавизм, я сам олдфаг и могу спокойно работать в командной строке, но использовать ее для работы с git-ом при наличии таких удобных утилит - глупость
0
Rius
Эксперт .NET
6274 / 4100 / 985
Регистрация: 25.05.2015
Сообщений: 12,402
Записей в блоге: 12
Завершенные тесты: 4
24.06.2015, 14:08 45
Если вам нравится елозить мышкой и целиться в мелкие контролы в окошках, то, конечно, удобные утилиты. Если, к тому же, вы вечно обречены сидеть только под Windows.
0
dajver
410 / 274 / 22
Регистрация: 18.09.2010
Сообщений: 1,115
24.06.2015, 14:12 46
Цитата Сообщение от Rius Посмотреть сообщение
Если вам нравится елозить мышкой и целиться в мелкие контролы в окошках, то, конечно, удобные утилиты. Если, к тому же, вы вечно обречены сидеть только под Windows.
ваше личное мнение)
0
Rius
Эксперт .NET
6274 / 4100 / 985
Регистрация: 25.05.2015
Сообщений: 12,402
Записей в блоге: 12
Завершенные тесты: 4
24.06.2015, 14:15 47
Цитата Сообщение от dajver Посмотреть сообщение
ваше личное мнение)
вы можете залогиниться по ssh на веб-сервер и запустить там виндовый tortoisegit?
0
dajver
410 / 274 / 22
Регистрация: 18.09.2010
Сообщений: 1,115
24.06.2015, 14:17 48
Цитата Сообщение от Rius Посмотреть сообщение
вы можете залогиниться по ssh на веб-сервер и запустить там виндовый tortoisegit?
Мне это не нужно) Я максимум что делаю это коммиты отправляю на гит, что бы другие кодеры могли спуллить мой коммит и работать дальше с моим кодом. Иногда делаю бранчи, опять же все довольно тривиально, и не надо писать кучу непонятных символов что бы это сделать, пару кликов мышки по нужным пунктам меню и готово.
0
Pablito
2865 / 2277 / 768
Регистрация: 12.05.2014
Сообщений: 7,978
Завершенные тесты: 1
24.06.2015, 14:17 49
Цитата Сообщение от Rius Посмотреть сообщение
залогиниться по ssh на веб-сервер
это частный случай, очень и очень частный
1
Rius
Эксперт .NET
6274 / 4100 / 985
Регистрация: 25.05.2015
Сообщений: 12,402
Записей в блоге: 12
Завершенные тесты: 4
24.06.2015, 14:21 50
Цитата Сообщение от Паблито Посмотреть сообщение
это частный случай, очень и очень частный
Разработка ПО под линуксами тоже частный случай? Автоматизация, которую наворотил Tester64, - тоже?

Цитата Сообщение от dajver Посмотреть сообщение
Мне это не нужно)
Тогда к своим выводам про глупости тоже припишите "imho"
Вам немного больше пары кликов, можете посчитать.
0
dajver
410 / 274 / 22
Регистрация: 18.09.2010
Сообщений: 1,115
24.06.2015, 14:24 51
Цитата Сообщение от Rius Посмотреть сообщение
Тогда к своим выводам про глупости тоже припишите "imho"
Что то я не припомню что бы я писал что то про глупости) Я писал о том что проще, а не то что использовать консоль это глупо.
0
Pablito
2865 / 2277 / 768
Регистрация: 12.05.2014
Сообщений: 7,978
Завершенные тесты: 1
24.06.2015, 14:25 52
Цитата Сообщение от Rius Посмотреть сообщение
Разработка ПО под линуксами тоже частный случай? Автоматизация, которую наворотил Tester64, - тоже?
Я имел ввиду не разработку под линукс, а ssh и веб-сервер. И неужто под линкус нет нормальной оболочки что бы без командной строки обойтись?

Что писал Tester64 я не читал, там всегда много букв и специфические условия, которые обычному человеку чуть более чем нафиг не нужны.
1
Rube
912 / 560 / 88
Регистрация: 13.02.2014
Сообщений: 2,079
24.06.2015, 18:28 53
Ну поставил я Git и TortoiseGit, дальше что?
0
Rius
Эксперт .NET
6274 / 4100 / 985
Регистрация: 25.05.2015
Сообщений: 12,402
Записей в блоге: 12
Завершенные тесты: 4
24.06.2015, 20:53 54
Цитата Сообщение от Паблито Посмотреть сообщение
Я имел ввиду не разработку под линукс, а ssh и веб-сервер. И неужто под линкус нет нормальной оболочки что бы без командной строки обойтись?
Ok, я привёл другие, более распространённые случаи.
Если вы подразумеваете "нет ли под линукс оболочки, аналогичной созданной под винду?", то нет. Я не считаю это, вызываемое через дебри мышиного меню, нормальным.
Попробовал подсчитать число кликов мыши, чтобы закоммитить изменения, и завис. Не нашёл способа в этом интуитивно понятном интерфейсе добавить chunk в stage. Кто-нибудь значет этот способ? Или только по целым файлам добавляется?
В консоли это:
Bash
1
2
3
4
git add -p<ENTER>
yynynnnynnnyny.. # выбор чанков
git comm<TAB><ENTER>
# тут вызывается nano/notepad, при закрытии которого всё и коммитится
Список команд, которые достаточно запомнить для повседневной работы, очень небольшой:
Bash
1
2
3
4
5
6
7
8
git add
git rm
git status
git commit
git pull
git push
git checkout
git merge
http://aaronmbushnell.com/git-moving-from-gui-to-command-line/
И работают они в любом гите, под любой ос. В локальном терминале и по ssh.
1
CoolMind
424 / 405 / 67
Регистрация: 06.10.2012
Сообщений: 1,747
24.06.2015, 21:46 55
Rius, для меня окончательным выбором GUI стали даже не команды, которые я вовсе не хочу набирать из соображений безопасности. Для меня окончательным выбором GUI стала возможность просмотра изменений и самих файлов в любом коммите. Ну и, соответственно, выбор галочками конкретных файлов перед коммитом. А также просмотр изменений перед коммитом.
CLI-интерфейс - это позапрошлый век. Это утопия и анахронизм. Да, я знаком со многими, кто пользуется командной строкой и Линуксом, но не считаю это правильным. Зато вижу, как за последние -дцать лет Линукс переместился из чисто текстового режима (начиная от сбора ядра) в GUI даже при установке программ (теперь там свой маркет или как там его). Это всё прогресс. Когда-то и Линукс будет похож на Винду, мне кажется.
CLI - это лишь альтернатива, но не основное средство для работы. Я помню Plus для работы с Oracle, мы тоже писали там команды руками. Только это мало кому нужно, у всех давно есть нормальные среды для создания таблиц и запросов, анализаторы планов и т.д.
0
Rius
Эксперт .NET
6274 / 4100 / 985
Регистрация: 25.05.2015
Сообщений: 12,402
Записей в блоге: 12
Завершенные тесты: 4
24.06.2015, 21:50 56
CoolMind, основным был и остаётся, до сих пор, консольный режим git. Такова его основная утилита и универсальность. Все надстройки остаются надстройками над консолью для удобства. Вы наверняка видели, какое множество опций есть у этих команд, и все их не реализовать в GUI, не захламив его.
1
Tester64
397 / 357 / 47
Регистрация: 22.05.2013
Сообщений: 2,518
25.06.2015, 06:46 57
Цитата Сообщение от Rius Посмотреть сообщение
Попробовал подсчитать число кликов мыши, чтобы закоммитить изменения, и завис.
Одно гуи отличается от другого... Находил вполне приличные для комита. (я их за эту неделю уже не меньше 8 перепробовал). Поэтому и пишу батники. По сути это решения на большинство случаев жизни. В идеале будет написан свой набор инструментов "под себя".

В линукс не перейду пока туда не портируют ТоталКоммандер или не напишут ПРИЛИЧНЫЙ аналог. У меня пол жизни в компе на коомбинациях клкавиш висит... (последнее время ВСЕГДА запускаю от 2х до 5ти копий тотала - до 10 одновременно открытых папок).

Как и архивировать предпочитаю в один батник Ok.bat или в Alt+F5 в тотале, а не прописывая каждый раз строку 7z на больше чем 200 символов (со всеми ключами, которые надо помнить и длинными путями).

Добавлено через 5 часов 31 минуту
Цитата Сообщение от Rius Посмотреть сообщение
основным был и остаётся, до сих пор, консольный режим git. Такова его основная утилита и универсальность. Все надстройки остаются надстройками над консолью для удобства. Вы наверняка видели, какое множество опций есть у этих команд, и все их не реализовать в GUI, не захламив его.
Пока сильно матюкаюсь... Далеко не все можно!!! Может в линуксовом больше, но не под виндой!

1) Как вывести в консоль ТОЛЬКО те файлы, что система пытается добавить(ИЛИ (а не И) изменить/ ИЛИ удалить/ИЛИ игнорировать)? Без лишнего мусора вроде подсказок? вроде
Bash
1
2
Ignored files:
  (use "git add -f <file>..." to include in what will be committed)
2) Как вывести те что игнорируются, но только в пределах определенной папки? (для отладки фильтров в гигантских проектах)

До сих пор не могу по человечески фильтры настроить...
Bash
1
2
3
*.*
!*.cpp
!*.h
Этот не всегда срабатывает!!!
Подхватывает и все файлы без расширения
Например: "makefile", "readme", "папка для мусора"...
0
Rius
Эксперт .NET
6274 / 4100 / 985
Регистрация: 25.05.2015
Сообщений: 12,402
Записей в блоге: 12
Завершенные тесты: 4
25.06.2015, 06:52 58
1)
Bash
1
git status -s --porcelain
?
http://git-scm.com/docs/git-status
2)
Если игнорится, то игнорится.
Для файлов без расширений, для всех файлов - *
0
Tester64
397 / 357 / 47
Регистрация: 22.05.2013
Сообщений: 2,518
25.06.2015, 07:36 59
Цитата Сообщение от Rius Посмотреть сообщение
git status -s --porcelain
Это показывает ВСЕ отличия списком... И измененные и добавленые... Фильтры не установить. Например когда изменений десятки хочется увидеть только новые. Или только измененные. Или новые, но только из определенной папки... В линуксе вроде можно "удлинять" команду - результат выводить в другую команду, которая чуть-ли не регуляркой обрабатывает и выводит только нужное, но в ДОСе это сделать на порядки сложнее. А как подобное вывести одной командой не нашел...

Цитата Сообщение от Rius Посмотреть сообщение
Для файлов без расширений, для всех файлов - *
Пробовал уже... кучу коомбинаций перебрал!
Надо: Во всех папках и в корне проекта увидеть ТОЛЬКО *.cpp!
А оно либо все прячет, либо все показывает, либо показывает заодно с *.cpp еще и те что без разрешений...
0
Rius
Эксперт .NET
6274 / 4100 / 985
Регистрация: 25.05.2015
Сообщений: 12,402
Записей в блоге: 12
Завершенные тесты: 4
25.06.2015, 07:46 60
1)
Цитата Сообщение от Tester64 Посмотреть сообщение
но в ДОСе это сделать на порядки сложнее
Я же говорю, освойте sh скрипты и ваше кунг-фу станет сильнее. Раз уж установлен msysgit, у вас есть и MSYS.

2) Не понимаю смысла выводить куда-то файлы, которые вы явно указали игнорить.
Есть ещё такая команда: http://git-scm.com/docs/git-ls-files
1
25.06.2015, 07:46
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.06.2015, 07:46

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Персональный поиск Яндекса -кто нибудь пользуется?
Какая прибыль у яндекса от этого сервиса ? http://desktop.yandex.ru/how.xml

Кто-нибудь из вас всё ещё пользуется телефоном?
Здравствуйте. Хотел бы задать вопрос. Кто-нибудь из вас всё ещё пользуется телефоном? Я задаю этот...

i2c сниффер bus pirate - пользуется кто-нибудь?
пытаюсь работать с eeprom через bus pyrote. читаю, пишу нормально. весьма удобно. Но понадобился...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
60
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.