Перебазировать мастер в ветку - PullRequest
0 голосов
/ 23 октября 2018

Здравствуйте, я создал новый репо, клонировал его, забыл создать ветку объектов и начал работать в основной ветке.Теперь я понял, и я хотел бы это исправить.Я еще ничего не совершал.Моя цель теперь состоит в том, чтобы «перенести» текущие изменения в ветку объектов, оставив мастер полностью чистым (в состоянии, когда репо был клонирован).Есть ли неинвазивный способ добиться этого?Спасибо!

Ответы [ 5 ]

0 голосов
/ 23 октября 2018

Вы можете использовать git rev-parse и git update-ref, чтобы просто изменить имена локальных и удалить ветви для защиты виновных.

То есть получите sha1 подсказки ветви удаленного источника (возможно,происхождение / мастер).

Запомните имя текущей ветви, которая будет переименована git rev-parse --symbolic-full-name HEAD (вероятно, refs / главы / master)

git checkout -b <newname>

git update-ref <oldbranchrefname> <remote_tip>

Теперь у вас должна быть текущая ветвь, а прежнее имя ветки возвращается к выбранной подсказке.

0 голосов
/ 23 октября 2018

Простой способ подобен этому

$ git checkout cool-feature
$ git rebase master

, а затем объедините его в мастере всякий раз, когда вы хотите объединить ветвь объекта с мастером:

$ git checkout master
$ git merge cool-feature
0 голосов
/ 23 октября 2018
git add . // to add all the changed files to index (so that git 'become aware' of these files
git stash // to "put aside" all the changes that git is aware of
git status // should be empty, since you haven't committed you're in sync with master
git checkout -b  myfeaturebranch // create a branch, after this command you're on feature branch
git stash apply  // apply all the stashed (putted aside) changed to feature branch
0 голосов
/ 23 октября 2018

Если вы еще ничего не совершали, то от мастера:

git checkout -b <my-new-branch>
git add *
git commit -m "updated"
0 голосов
/ 23 октября 2018

Лучше всего вы можете спрятать ваши изменения

git stash

, затем создать новую ветку

git checkout <your new branch name>

и применить ваши изменения

git stash apply
...