среда, 26 апреля 2017 г.

Мой GIT.


# настроить апстрим 
git remote add upstream git@...:.../....git

Выполнить после Pull Request

# переход на ветку master 
 git checkout master 

# список веток
git branch

# удалить ветку локально
git branch -D branchname.

# удалить ветку удаленно
git push origin :branchname.

Обновление Форка.

# скачать обновления основного репозитория 
git fetch upstream 

 # обновить форк 
git checkout master 

 # поместить в форк обновления основного репозитория 
git merge upstream/master 

 # обновить субмодули 
git submodule update 

 # поместить на сервер 
git push


Новая задача.

#создать новую ветку
git checkout -b taskname


Накатить изменения master в новую задачу.

#перейти на ветку
git checkout  taskname

#накатить изменения
git merge  master
ctrl X выход из редактора.


Отмена изменения локальной ветки.

#отменить последний commit сохранив изменения
git reset HEAD~1

Отмена изменения удаленной ветки.

(Error: Updates were rejected because the tip of your current branch is behind)
#отменить последний commit сохранив изменения
git push origin +branchname


Импортирование ветки upstream в fork.

#создание локальной версии ветки
git checkout -b newbranch upstream/newbranch

#push новую ветку в origin
git push -u origin newbranch

Перенос commit в другую ветку.

#создание ветки 
git checkout -b mybranch upstream/branch

#push новую ветку в origin
git cherry-pick 2228fa950c

#push новую ветку в origin
git push  origin mybranch

#обновить submodule
git submodule update --recursive --remote

Rebase.

#перейти на свою ветку
git checkout mybranch

#сделать rebase
git rebase master

#обновить удаленную ветку
git push --force-with-lease