Intereting Posts
Поддержание проекта с Git Android Studio 1.5 | Создание локального Git Проблема с AppCode и Mercurial Любой способ автоматически слить одобренный непротиворечивый запрос на слияние Gitorious? Автоматическое обновление основной ветви fork на GitHub (бесплатно) Колледж 2-го курса – Обучение – Продукты Microsoft Server git diff с ошибкой «фатальный: плохой объект $ hash HEAD» Использование Team Explorer для добавления существующего проекта Team Foundation Service Рабочий процесс для проверки кода на основе GitHub rebase для сквоша нескольких коммитов на одной ветви Git – сломайте код от мастера и сделайте его ветвью SVN :: Клиент совершает транзакцию с комментарием / сообщением svn diff игнорирует недавно добавленную пустую директорию Попробуйте импортировать проект андроида lib из git-хаба. Я получаю сообщение об ошибке: Конфигурация с именем «default» не найдена. (включая фотографии) Проверка старого фиксации и поддержание головы на главной ветке?

Переход от одной ветви к другой с новыми коммитами

Представьте, что у вас есть ветвь с именем feature-x-alpha , вы делаете много коммитов и получаете желаемое состояние. Однако, поскольку вы были в спешке, эти коммиты и его сообщения немного странны.

Поскольку у вас есть feature-x ветки feature-x вы можете перейти на эту ветку и внести в локальные изменения feature-x-alpha , теперь вы можете сделать несколько новых более организованных коммитов с этими изменениями. Очевидно, что, поскольку это рассматривается как другое (хотя с некоторым результатом), вы, вероятно, затем удалите feature-x-alpha ветки feature-x-alpha .

Вы можете добиться этого, пока feature-x-alpha с помощью команды

 git symbolic-ref HEAD refs/heads/feature-x 

который изменяет вас на feature-x ветки, но не меняет файлы рабочего каталога.

Мне кажется, что команды symbolic-ref прекрасно работают для этого, но это также означает, что эти 3 команды дают одинаковый результат.

 git symbolic-ref HEAD refs/heads/my-branch git reset my-branch git read-tree my-branch 

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

можете ли вы использовать команды более высокого порядка? Как это:

 git checkout feature-x git merge --squash feature-x-alpha git commit -m "alpha" git branch -D feature-x-alpha