2015-10-23 3 views
2

Предположим, что я сделал пять фиксаций в git, чтобы сказать 1 -> 2 -> 3 -> 4 -> 5 по порядку.Нажмите выделение в Git, используя SourceTree и git bash?

Я знаю, что можно нажать выбранные фиксации позволяет говорить фиксации 1 и 2 с использованием Git Баша, которые описаны здесь Push selective commits using git bash

Но я хочу знать, если это возможно с помощью Atlassian SourceTree? Это была бы очень удобная функция.

Другой вопрос: Как нажимать только коммит 2 и 4 с помощью git bash, не влияя на другие коммиты? Я знаю, что это может быть сделано путем переупорядочения коммитов? Но я хочу знать, можно ли это сделать без какого-либо переупорядочения.

+0

С 2013 года эта функциональность отсутствовала для git https://answers.atlassian.com/questions/217192/push-only-some-commits – jready

+0

'git' не нажимает произвольные коммиты. Вам нужно нажать ссылку, т. Е. Либо ветку, либо тег, и это гарантирует, что весь график до этой ссылки присутствует и полностью подключен к пульту дистанционного управления. Репозиторий - это не просто хранилище для случайных коммитов, которые не имеют связи с другими коммитами. – twalberg

ответ

1

Прежде всего, как ResidentBiscuit предложил, SourceTree не поддерживает эту функциональность, но билет Jira был создан для этого. Вы можете отслеживать билет this, чтобы выяснить, когда это будет добавлено в SourceTree.

В то же время в SourceTree есть хорошая функция, которая может пригодиться для решения этой проблемы вместе с git bash. Во-первых, вам нужно переупорядочить коммиты. Нажмите «Репозиторий» -> «Интерактивная ребаза». Это даст вам список коммитов, и вы можете изменить порядок коммитов так, что 2 и 4 предшествует 1, 3, 5. Затем вы можете выполнить следующую команду в мерзавца Баш

$ git push origin master~3:master 

Эта команда установит головку до трех берет на себя и направляет его на удаленную ведущую ветвь, так что только 2 и 4 будут перенаправлены на удаленный мастер.

0

Похоже, он не поддерживается в Source Tree Смотрите эту post

Смежные вопросы