git add <filename>
git add *
git commit -m "Commit message"
git push origin master
set LC_ALL=C.UTF-8 ;windows bug
git log -p -count
-p ; diff
-count ; last commits
git checkout master
git merge origin/master --allow-unrelated-histories
Resolve conflict, then
git add -A .
git commit -m "Upload"
git push
git checkout master
git pull origin master
git cherry-pick eb042098a5
git push origin master
git log -n 1 dev
git checkout master git merge <имяветки>
git checkout -b <имяветки> // создание ветки
git branch // активная ветка
git branch -a //все ветки
git push -u origin <branch> //обновление в ветку
https://confluence.atlassian.com/bitbucketserver/basic-git-commands-776639767.html
Команда git cherry-pick используется для того чтобы взять изменения, внесённые каким-либо коммитом, и попытаться применить их заново в виде нового коммита наверху текущей ветки. Это может оказаться полезным чтобы забрать парочку коммитов из другой ветки без полного слияния с той веткой.
Мы продемонстрировали работу этой команды в главе Rebasing and Cherry Picking Workflows.
git rebase — это "автоматизированный" cherry-pick. Он выполняет ту же работу, но для цепочки коммитов, тем самым как бы перенося ветку на новое место.
Мы в деталях разобрались с механизмом переноса веток в главе Перебазирование, включая рассмотрение потенциальных проблем переноса опубликованных веток при совместной работе.
Мы использовали эту команду на практике для разбиения истории на два репозитория в главе Замена, наряду с использованием флага --onto.
В главе Rerere мы рассмотрели случай возникновения конфликта во время переноса коммитов.
Также мы познакомились с интерактивным вариантом git rebase, включающемся с помощью опции -i, в главе Изменение сообщений нескольких коммитов.
Команда git revert — полная противоположность git cherry-pick. Она создаёт "антикоммит" для указанного коммита, таким образом отменяя изменения, внесённые в нём..
Мы использовали её в главе Отмена коммита чтобы отменить коммит слияния (merge commit).
http://clubmate.fi/git-rebasing-workflow-and-resolving-merge-conflicts/
http://clubmate.fi/category/blog/webdev/
https://help.github.com/articles/resolving-a-merge-conflict-using-the-command-line/
git checkout master
git branch -d branch_name
git push origin --delete branch_name
git fetch git checkout
think this is the right way:
git fetch --all
Then, you have two options:
git reset --hard origin/master
OR If you are on some other branch:
git reset --hard origin/<branch_name>
git diff --name-only --diff-filter=U
git diff --check
git config --global alias.lol “log --graph --decorate --pretty=oneline --abbrev-commit --all”
git lol -3
git reset --hard commit-hash
обновление локальной ветки при наличии в ней незакомиченных изменений
- git stash
- git pull
- git stash pop
как делать cherry-pick если все изменния из master заливать в prod нет надобности по тем или иным причинам (нет уверенности в стабильносит master, например), тогда можно выборочно перенести коммит следующим образом:
- скопировать хэш нужного комита (git checkout master, git log -10)
- переключиться на ветку prod (git checkout prod)
- “затянуть” в prod комит из master (git cherry-pick 44f72ad6)
- запушить prod (git push origin prod)
для выкладки проекта в бой заходим в папку с проектом и делаем git pull. если версия сломана, тогда делаем откат на рабочую версию: git reset --hard HEAD~1
git reset --hard origin/dev
git push --force origin master