git push одиночный файл в ветку удаленного отслеживания - PullRequest
5 голосов
/ 17 июня 2011

Люди,

Это мой вариант использования: у меня есть 3 ветки, все три ветви удаленного отслеживания.

git branch
  release-alpha
* release-allUS
  master

Теперь я добавил новый файл в ветку release-allUS и сделал коммит, выполнив следующее:

 git add filter_driver.rb 
 git commit -m "driver code"

Теперь я хочу отправить только этот файл в ветку remote release-allUS. Как это сделать? Большое спасибо за любые отзывы.

Ответы [ 2 ]

11 голосов
/ 17 июня 2011

Поскольку все, что вы фиксировали локально, это один файл, git push на вашем пульте будет работать.Push будет выдвигать только то, что было зафиксировано локально.

git push origin release-allUS

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

4 голосов
/ 17 июня 2011

я знаю, что вы можете нажать на определенную ветку следующим образом:

git push origin <branch>

Я просто быстро взглянул на git push --help, и он, похоже, ничего не говорит об отправке отдельного коммита в ветку.

возможно, одним из способов обойти это было бы создание ветки integration, к которой вы никогда не прикасаетесь, за исключением случаев, когда вы хотите выдвигать коммиты. если вы находитесь в ветке integration, вы можете сделать git cherry-pick <commit> из другой ветки, перенеся только то, что было в этом коммите, на integration, а затем сделать git push origin integration.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...