могу я впихнуть например коммит D между коммитами А и B? чтобы получилось так:
git rebase
. Сложность впихивания напрямую зависит от того, насколько много общих строчек изменяют D, B и C. Если они полностью независимы, git rebase
сделает всё сам, если нет -- прийдётся разрешать конфликты. если сравнить commit прилетевшим с удаленного репозитория с этим новым commit, то отличий между ними нет.
o--A
`--B
o--A--B--M1--E
\ / \
-C----D---M2--F
o--A--B
`--B
o--A--M1
/
...-B----C
Эх, можно было бы как-то красиво переключать аккаунты между собой
git remote add user_a_at_b https://user_a:user_a_token@github.com/b/b.git
комментарий к коммиту 1 я считаю неправильно информативным и хочу его переименовать.
как удалить коммиты 3 и 4, чтобы они изчезли в том числе из "git log --all", у меня по сути было 3 изменения в проекте, коммиты с 3 по 5 по сути являются шагами одного изменения и хранить в истории коммиты 3 и 4 никакой надобности нет.
Как скопировать файлы его ветки HW09 в свою HW09 так, чтобы master и другие ветки не были затронуты?
git fetch <URL чужого репозитория> HW09
git checkout HW09
git reset --hard FETCH_HEAD
git fetch <URL чужого репозитория> HW09
git checkout -b HW09 FETCH_HEAD
что делает команда git pull --rebase?
git remote add <имя remote> <URL>
git push <имя remote> <имя ветки>
git fetch <имя remote> <имя ветки>
git merge <имя remote>/<имя ветки>
<магия разрешения конфликтов>
You can set the 'receive.denyCurrentBranch' configuration variable
to 'ignore' or 'warn' in the remote repository to allow pushing into
its current branch
[receive]
denyCurrentBranch = ignore
1 вариант: Добавляет элемент block__element3 блоку block;
2 вариант: Добавляет текст с описанием блоку block;
Есть ли возможность узнать информацию по ветке на удалённом сервере без fetch?
как из консоли узнать имя последнего коммита в ветке на сервере?
$ git ls-remote origin refs/heads/master
2595646791c319cadfdbf271563aac97d0843dc7 refs/heads/master
есть 2 ветки dev и feature-3. я слил ветку dev с feature-3 и запушил dev ветку на remote.
Можно ли ветку feature-3?
$ git checkout dev
$ git merge --no-ff feature-3
$ git push remote HEAD
git merge feature-3
на втором шаге, и мёрж при этом не был фаст-форвардом, то вторую половину можно сделать так:$ git checkout dev
$ git pull remote dev
$ git checkout HEAD^2 -b feature-3
<id-мёржа>^<N>
-- это голова ветки № N участвовавшей в этом мёрже.Так-же если допустим нечаянно смержили ветку staging в master, как этот косяк откатить.
git revert -m 1 <id-of-merge-commit>
-m 1
означает, что при мёрже мастер был первой смёрженной веткой.По сути в master появилась куча разбросанных по времени коммитов, а как откатить я не знаю.
git reset
или git revert
коммита соответствующего мёржу отменяет все коммиты из смёрженной ветки.