Сначала основы удаленных филиалов. Ваш репозиторий выглядит примерно так.
A - B - C [origin/master]
\
D - E [master]
master
и origin/master
являются обе ветви, которые только этикетками, которые указывают на фиксацию. В этом случае вы сделали две фиксации до master
с момента последнего приезда.
Git не разговаривает с сетью, если вы не сообщите об этом. Он отслеживает последний раз, когда он смотрел на удаленный репозиторий с «удаленной ветвью». origin/master
- «удаленная ветка». Это ваша локальная копия ветки master
на удаленном телефоне с именем origin
обновлена в последний раз, когда был запущен git fetch origin
или git fetch --all
(или git pull
, что делает выборку).
git reset --hard origin/master
Это используется для выбросить всю свою работу на местах. Это приведет к сбросу текущей ветви и рабочего каталога туда, где находится origin/master
, то есть C
. D
и E
будут потеряны.
A - B - C [origin/master]
\
D - E [master]
git reset --hard origin/master
A - B - C [origin/master]
[master]
git reset --hard master
Это сбросит текущую ветку и рабочий каталог обратно master
. Если вы оказались на master
, это отменит вашу незавершенную работу. Но если вы в другом филиале, , вы просто сдули свою ветку.
Чтобы выбросить незафиксированные изменения, более безопасная вещь - git reset --hard HEAD
.HEAD
- указатель на текущую проверку. Он будет работать независимо от того, в какой отрасли вы находитесь. У меня есть aliased до clear
.
Я хочу, чтобы принести все в один момент времени, а затем работать с локального контента на время сборки, так что не случайно изменения делаются неполный путь через сборки ,
Git не разговаривает с сетью, если вы не сообщите об этом. Есть две команды, которые будут обновлять ваш локальный репозиторий, git fetch
и git pull
(что делает выборку). Если вы не запустите их, удаленные ветви origin/
не изменятся.
Если вы заберете и оплатите покупку в начале своей сборки, все будет в порядке. Если вам нужно выполнить сброс в чистое состояние, вы можете запустить git reset --hard HEAD
. Вы также можете запустить git clean -dxf
, который выкинет любые невоспроизводимые или проигнорированные файлы, такие как сбор артефактов.
Для справок в будущем 'origin/master' и' master' являются как ** локальными ** ветвями, так и разными. На самом деле выборка необходима для обновления локальной ветви 'origin/master'. – Zach