Как стать автором
Обновить

Комментарии 26

git stash — отложить все текущие изменения в локальное хранилище
git stash pop — забрать последние сохраненные изменения из хранилища


Полезно если вы не хотите пока комитить код, но вам срочно нужно переключится на другую ветку.

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

Всегда в таких случаях делаю commit, озаглавленный WIP — нагляднее и не забудешь. Потом просто делаю amend.
stash скорее нужен для упрощённого rebase между ветками.
+1 статья в закладки. Хорошие шпаргалки по гиту на весь — золото)
Отвратительная статья. Если бы я не умел работать с git, ничего бы не понял. Даже хуже, после этой статьи:
— У меня есть изменённые файлы, но git diff ничего не показывает ;( Что ещё за staging area?
— Я сделал git reset --hard и всё пропало!
— "#1234 foo" и «Revert „#1234 foo“» потому что «работаю в коллективе и коммиты общие, мой выбор — git revert».
— git commit --amend не работает! Но ведь я читал статью, мой коммит не был объединен с удаленной master-веткой! Я же пушил его только в develop!
Так нигде и не сказано, что это вводная статья для чайников.
Статья называется «10 Git-команд, которые стоит знать разработчику». И то, что обещает название, в тексте полностью раскрыто.
Тогда выходит, что для чайников эта статья вредна, а для не-чайников — бесполезна. Нпример, под заголовком «наводим порядки» ожидаешь увидеть что-то про rebase, а не «как запушить метку» (при этом как поставить эту-самую метку — не уточняется).

То же самое с
Не забывайте убедиться в том, что вы не отменяете коммит из удаленной ветки, от которой зависят другие члены команды.
Убедиться при помощи телепатии. Про «git branch -r --contains» разработчику, видимо, знать не стоит. Спасибо, Jeff Hale, очень полезная статья!

Это просто шпаргалка.
Если она ничего нового вам не сообщила — то просто поищите другие материалы по гиту. Есть пользователи, которые посчитали её полезной для себя, если судить по оценкам.
Оно всё надо при пользовании Source Tree? До сих пор в командной строке использую максимум 5 команд и то нечасто. Всё остальное на много удобнее в UI смотреть и делать.
Вопрос "How to exit vim?" имеет всего 4193 «голоса за», а вот просматривается гораздо чаще viewed 1,853,728. Так что скорее не 4 тысячи, а почти 2 миллиона человек :)
Полному нубу — бесполезно. Новичку — вредно. Немного попользовавшемуся гитом — снова бесполезно.
Даже не знаю, на кого статья ориентирована. Сам гит освоил по чему-то вроде офф. мануала, а дальше — StackOverflow (не забывая читать непринятые ответы, конечно).
И еще одна очередная статья про N Git-команд, которые нужно знать разработчику
Вот так лучше:

> git blame my_life — Просмотреть, кто, что и когда изменил в my_life.

всего две буквы переставил, а какой эффект :)
Тоже сначала так прочитал :)
Чтобы не использовать ярлыки для команд Git, можно просто использовать GUI. Команды вводить не придется, да и работать так более наглядно.

Я не понимаю, зачем нужен GUI для Git. Когда-то поставил GitKraken, помучился пару дней, и снес.


Git — из категории настолько мощных инструментов, для которых GUI скорее помеха, чем помощь. И наделать проблем проще скорее из GUI, чем из командной строки.


По опыту, который есть у меня, GUI пользуются только те, кто сумел освоить лишь pull/commit/push и ничего более (https://xkcd.com/1597/). И в случае любой реальной проблемы (даже проблемки), эти люди беспомощны. И их все время приходится водить за руку объясняя даже такие элементарные вещи, как правильно называть ветки.


Как только человек учится пользоваться git в полной мере, он уже переходит в командную строку. Есть множество ситуаций в жизни, которые никак не могут быть предусмотрены заранее создателями любого GUI. Во многих GUI инструментах даже rebase сделать сложно (требуются минуты времени и десятки кликов мыши), тогда как в командной строке достаточно написать git rebase -i HEAD~3.

В гуе гораздо удобнее перед комитом ещё раз критическим взглядом посмотреть на то то что ты там наколбасил и точечно отменить непонравившиеся куски.
Да и вобще для каждодневной работы, лично мне, удобнее гуй — набивать руками имена файлов и веток сомнительное удовольствие. Ну а если нужно хотябы заребейзиться или что-то более экзотичное, то да, там уже в консоль.
Плюс гуй всётаки сглаживает кривую обучения

Пользуюсь Смартгитом, плачу деньги (так как для работы). За пару лет единственное, что не смог в нём сделать — какую-то экзотику вроде мержа поддеревьев без общего корня. Всегда вижу, какая команда выполняется в результате моего действия (помогает понимать и автоматизировать). Классные дифф, редактор индекса (трёхоконный), конфликт резолвер. Прекрасное, наглядное представление всего, что надо. Они достигли уровня, когда инструмент намного больше помогает, чем мешает.


А Кракена тоже снёс в тот же день, как поставил — кажется, он посмел сыпаться с ошибками. Хотя картинка у него красивая, да...


Кажется, важно не только gui или cli, но и то, что это конкретно за gui — то ли для тех, кто ничего на хочет видеть лишнего, то ли для тех, кто хочет повысить свою эффективность, не теряя при этом контроля за процессом. И для самостоятельного обучения, к примеру, наглядный результат — вообще очень полезная вещь.

Ну а если нужно хотябы заребейзиться

Это как раз тоже удобней делать через GUI. Ну во всяком случае GitExtensions поддерживает.

Собственный git gui самого гита вполне удобен для повседневной работы.
Он наглядно показывает изменения в рабочей области, в staging и дерево коммитов.
Ну и некоторые частые команды там проще, чем в консоли. Например, есть отдельная команда revert для файлов, и для строк в файлах.
Для меня самым удобным и ёмким оказался GitExtensions.
Не приходится в очередной раз гуглить команды для git

А зачем пробелы перед закрывающимися кавычками в ярлыках для команд Git?
При наборе, например,


ga .

перед точкой будет два пробела, это пофиг, согласен, отработает как надо, но это немного странно, мне кажется.

стесняюсь спросить, а progit разве отменили?
p.s: stackoverflow уже года как 2 назад опубликовал инфу о том, что вопрос «как выйти из vim» набрал миллион просмотров. )))
«git checkout my_commit — отмена изменений my_commit»… эээ, что?
наверное имелось ввиду с флагом --force. Тогда да, локальные изменения откатятся.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий