Как перенести мои текущие изменения в другую ветвь в git

Другие ответы, предлагающие проверить другую ветку, а затем выполнить ее, работают только в том случае, если проверка возможна с учетом локальных изменений. Если нет, вы используете наиболее распространенный прецедент для git stash:


git stash
git checkout other-branch
git stash pop

Первый stash скрывает ваши изменения (в основном, делает временную фиксацию), а последующий stash pop повторно применяет их. Это позволяет git использовать возможности слияния.

Если при попытке всплывать тайник, вы запускаете конфликты слияния… следующие шаги зависят от того, что такое конфликты. Если все спрятанные изменения действительно принадлежат к этой другой ветки, вам просто придется их сортировать – это следствие внесения изменений в неправильную ветвь.

 

 

источник http://qaru.site/questions/4090/how-to-commit-my-current-changes-to-a-different-branch-in-git

git combine two commits Squash commits into one with Git

combine two commits

290  git add -A
294  git commit -m "ca"



-------------------------------------
284 git log --pretty="%H - %s"
285 git rebase -i f0dbcea9f2487441d07ac2b70274ef9fabcf7b6a 
286 git log
287 git push origin HEAD:get-api-pull-rollcall --force
---------------------------------------


288 history

 

получить изменения и перезаписать локальные на примере  master

git fetch --all
git reset --hard origin/master
git pull origin master

Как исправить описание только последнего коммита

 

git commit --amend -m "Новое описание"

Получить изменения от мастера к ветке в Git

git checkout aq
git merge origin/master

 

переключить ветку

git fetch && git checkout feature/pp-21

 

 

info:: http://wiki.rosalab.ru/ru/index.php/%D0%91%D0%BB%D0%BE%D0%B3:%D0%A2%D0%BE%D1%87%D0%BA%D0%B0_%D0%A0%D0%BE%D1%81%D1%8B/%D0%9E%D0%B1%D1%8A%D0%B5%D0%B4%D0%B8%D0%BD%D1%8F%D0%B5%D0%BC_%D0%BD%D0%B5%D1%81%D0%BA%D0%BE%D0%BB%D1%8C%D0%BA%D0%BE_%D0%BA%D0%BE%D0%BC%D0%BC%D0%B8%D1%82%D0%BE%D0%B2_Git_%D0%B2_%D0%BE%D0%B4%D0%B8%D0%BD

 

https://webhamster.ru/mytetrashare/index/mtb0/1436643644058rbwdv4h

git comand

git branch -a  = видеть ветки

git branch -r = Список удаленных веток

История конкретного файла:

git log file.txt
Аналогично предыдущему, но с просмотром сделанных изменений:

git log -p file.txt

===================

 

Просмотр истории коммитов в Git

 

Изучение истории коммитов — важная составляющая работы с репозиторием. Увы, ввиду ветвления с этой историей не всегда просто разобраться. Обычно я для этой цели пользуюсь различными визуальными оболочками, но не всегда есть такая возможность. Временами приходится пользоваться средствами консоли, а именно командой git log. Основы работы с этой командой можно почитать в чудесной книге ProGit . git log имеет множество различных полезных параметров. Рассмотрим несколько примеров их использования.

Древовидный вид

git log --graph --abbrev-commit --decorate --date=relative --format=format:'%C(bold blue)%h%C(reset) - %C(bold green)(%ar)%C(reset) %C(white)%s%C(reset) %C(dim white)- %an%C(reset)%C(bold yellow)%d%C(reset)' --all

Выводим полный граф коммитов c сокращёнными хешами, ссылками на коммиты и относительной датой. Используемый формат: синий сокращённый хеш коммита, зелёная дата, белые сообщение и автор, жёлтые ссылки на коммит.


git log --graph --abbrev-commit --decorate --format=format:'%C(bold blue)%h%C(reset) - %C(bold cyan)%aD%C(reset) %C(bold green)(%ar)%C(reset)%C(bold yellow)%d%C(reset)%n''          %C(white)%s%C(reset) %C(dim white)- %an%C(reset)' --all

Выводим полный граф коммитов c сокращёнными хешами, ссылками на коммиты и абсолютной датой. Используемый формат: синий сокращённый хеш коммита, голубая абсолютная дата, зелёная относительная дата, жёлтые ссылки на коммит, перевод строки, белые сообщение и автор.


git log --graph --oneline --all

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


git log --graph --date-order --pretty=format:"<%h> %ad [%an] %Cgreen%d%Creset %s" --all --date=short

Выводим полный граф коммитов c сортировкой по дате, отображаемой в краткой форме. Используемый формат: сокращённый хеш, дата, автор, зелёные ссылки на коммит, сообщение.


Линейный вид

git log

Вывод списка коммитов с параметрами по умолчанию.


git log -p

Выводим список коммитов и показываем diff для каждого.


git log --stat

Выводим список коммитов и показываем статистику по каждому.


git log --pretty=oneline

Выводим список коммитов по одному на строчке.


git log --pretty=format:"%h - %an, %ar : %s"

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


Визуальный интерфейс

Если есть возможность, то всё таки коммиты приятнее изучать через специализированный интерфейс, а не из консоли. Лично я очень люблю GitExtensions:

Также удобно использовать встроенную утилиту gitk:

Полезные параметры

Все параметры команды git log не нужны, но некоторые самые полезные хорошо бы помнить. Приведу несколько примеров использования ходовых параметров.

  • --graph Показывать древовидную структуру графа истории в ASCII-виде
  • -5 Посмотреть последних пять коммитов
  • --skip=3 Пропустить три коммита
  • --pretty=oneline Отводить по одной строчке на коммит
  • --since="today" Показать коммиты за сегодня
  • --since=2.weeks Показать коммиты за последние две недели
  • -p Показывать diff каждого коммита
  • --decorate Показывать ссылки на этот коммит
  • --stat Показывать подробную статистику по каждому коммиту
  • --shortstat Показывать краткую статистику по каждому коммиту
  • --name-only Показывать список изменённых файлов
  • --name-status Показывать список изменённых файлов с информацией о них
  • --abbrev-commit Показывать только несколько первых цифр SHA-1
  • --relative-date Показывать дату в относительной форме

C помощью замечательного параметра --pretty=format:"" можно указать, какие именно данные о коммите нужно выводить, определив внутри кавычек общий паттерн, используя следующие обозначения:

  • %H Хеш коммита
  • %h Сокращённый хеш коммита
  • %d Имена ссылок на коммит
  • %s Сообщение к коммиту
  • %an Автор
  • %ad Дата автора
  • %cn Коммитер
  • %cd Дата коммитера
  • %Cred Переключить цвет на красный
  • %Cgreen Переключить цвет на зелёный
  • %Cblue Переключить цвет на синий
  • %Creset Сбросить цвет