git cheatsheet
Шпаргалка по гиту
Шпаргалка по гиту. В основном самому себе (чтобы через месяц не гуглить тоже самое второй раз).
Мои alias для молниеносной работы с гитом из консоли
Если файл добавлен, но еще не закоммичен (и надо откатить)..
и надо откатить добавление, чтобы переключить ветку на нужную, например:
git reset <filename>
Если файл закоммичен и надо откатить коммит
$ git commit -m "Something terribly misguided" # (0: Your Accident)
$ git reset HEAD~ # (1)
# === If you just want to undo the commit, stop here! ===
[ edit files as necessary ] # (2)
$ git add . # (3)
$ git commit -c ORIG_HEAD # (4)
Pull latest changes for all git submodules
If it’s the first time you check-out a repo you need to use --init
first:
git submodule update --init --recursive
For git 1.8.2 or above, the option --remote
was added to support updating to latest tips of remote branches:
git submodule update --recursive --remote
Merge двух разных репо
Если вы коммитили в ветку мастер, а потом разбежались с мейнтейнером основного репо и теперь кроме как с конфликтами не можете смержиться, то план таков:
Источники:
git clone https://github.com/iDoka/wavedrompy
cd wavedrompy
git clone https://github.com/wallento/wavedrompy ../wavedrompy-vanilla
git switch master
git remote add wavedrompy-vanilla ../wavedrompy-vanilla
git fetch wavedrompy-vanilla --tags
git merge --allow-unrelated-histories wavedrompy-vanilla/master
git remote remove wavedrompy-vanilla
git status
git diff wavedrom/__init__.py
git diff wavedrom/bitfield.py
*** manually resolve merge conflicts ***
ga wavedrom/__init__.py wavedrom/bitfield.py
git commit -m "Manually resolved merge conflict with https://github.com/wallento/wavedrompy"
git log
git push