Автор Тема: Вопрос по работе с git  (Прочитано 4501 раз)

Оффлайн alsoijw

  • Завсегдатай
  • *
  • Сообщений: 166
  • Fedora 25 GNOME 3 amd64
Re: Вопрос по работе с git
« Ответ #30 : 19.04.2016 15:21:02 »
Если нужно заменить, то достаточно
mv new_test.php test.php
Мало видеть нам начало - надо видеть и конец. Если видишь ты создание - значит где-то есть ТВОРЕЦ
Многие жалуются: геометрия в жизни не пригодилась. Ямб от хорея им приходится отличать ежедневно?

Оффлайн berkut_174

  • Мастер
  • ***
  • Сообщений: 7 145
    • Email
Re: Вопрос по работе с git
« Ответ #31 : 19.04.2016 15:27:57 »
В том то и дело, что название хотелось бы сменить у файла + содержимое файла очень сильно отличается (функцию-то ту же выполняет, но полностью переписано всё). Поэтому, мне кажется, что смысла возиться с mv нет. Лучше использовать rm + add.


UPD: Хотя, если использовать 'git mv ...' наглядно будет понятно, что я изменил название файла и теперь те функции, который он выполнял, будут в новом файле.
« Последнее редактирование: 19.04.2016 15:34:30 от berkut_174 »
Сноси Винду, переходи на Линукс ! :)

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 19 908
    • Домашняя страница
    • Email
Re: Вопрос по работе с git
« Ответ #32 : 19.04.2016 17:42:54 »
Если git увидит, что удаляли и добавляли схожий файл, он сам покажет как mv...
Андрей Черепанов (cas@)

Оффлайн berkut_174

  • Мастер
  • ***
  • Сообщений: 7 145
    • Email
Re: Вопрос по работе с git
« Ответ #33 : 29.04.2016 18:05:36 »
Ещё спрошу.

Сейчас делаю:
git push site masterПишет что нужно сделать сначала git pull, делаю.
Выходит что там какие-то конфликты в двух файлах.
Я конфликты исправил, теперь делаю:
git statusВижу эти два файла.
Как мне быть ? Просто:
git add
git commit
?

UPD: Да, всё верно, так и сделал, в видео одном подглядел.
« Последнее редактирование: 29.04.2016 18:32:36 от berkut_174 »
Сноси Винду, переходи на Линукс ! :)

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 246
  • Учиться .... Телепатами не рождаются, ими ....
    • Email
Re: Вопрос по работе с git
« Ответ #34 : 29.04.2016 19:54:31 »
Как мне быть ? Просто:

git add
git commit

?
Да

Оффлайн berkut_174

  • Мастер
  • ***
  • Сообщений: 7 145
    • Email
Re: Вопрос по работе с git
« Ответ #35 : 04.11.2016 17:22:02 »
Снова нужна помощь по git.

Ситуация такая:
* 8803084 2016-10-31 | [fix] Исправление (HEAD, master) [berkut_174]
* ff69c52 2016-10-29 | [add] Новая функция [berkut_174]

Эти коммиты ещё не опубликованы. На данный момент есть ещё непроиндексированные изменения (modified).

Что нужно: убрать последний коммит (там исправления минимальны, я их тогда сделаю позже), а непроиндексированные изменения добавить к ff69c52 через --amend.

Как можно такое сделать ? Читаю здесь http://ru.stackoverflow.com/questions/431520/Как-вернуться-откатиться-к-более-раннему-коммиту/431521, но боюсь ошибиться... подскажите, пожалуйста.
Сноси Винду, переходи на Линукс ! :)

Оффлайн berkut_174

  • Мастер
  • ***
  • Сообщений: 7 145
    • Email
Re: Вопрос по работе с git
« Ответ #36 : 04.11.2016 17:42:34 »
Поправьте меня, если не прав:
git reset --soft ff69c52
git reset HEAD <file>
Последней командой даже смогу убрать из индекса файлы из последнего коммита, указав вместо <file> имена файлов.
Сноси Винду, переходи на Линукс ! :)

Оффлайн berkut_174

  • Мастер
  • ***
  • Сообщений: 7 145
    • Email
Re: Вопрос по работе с git
« Ответ #37 : 07.06.2017 19:02:37 »
Необходимо принять pull request.
Так получается, что основная ветка "уехала", поэтому требуется rebase для pull request.
Делаю:
git checkout nickname/branch-request
git rebase -i master
См. историю -- всё хорошо.
Ухожу обратно на master:
git checkout master
git merge --ff-only nickname/branch-request
Но получаю ошибку, что нельзя сделать ff-only.
Иду снова в request:
git checkout nickname/branch-request
См. историю, а она такая, как будто бы я rebase до этого не делал.

Как быть ?

Я, когда нахожусь в request, делаю:
git checkout -b new
И потом этот новый бранч уже могу смержить.

А как заставить сохраняться rebase, чтобы оригинальный request мержить ?

Спасибо.
Сноси Винду, переходи на Линукс ! :)

Оффлайн berkut_174

  • Мастер
  • ***
  • Сообщений: 7 145
    • Email
Re: Вопрос по работе с git
« Ответ #38 : 11.09.2017 16:00:05 »
Требуется помощь!

Подскажите, как мне создать новую ветку и отправить её ?

Новую ветку создал (из нужного состояния):
git checkout -b new_branch
Сейчас из master отправляю так:
git push origin master
А как отправить новую ветку ? Так:
git push origin new_branch
?

И ещё вопрос, как мне потом удалить ветку из git ?
У себя я знаю как удалить:
git branch -d new_branch
А как опубликовать это удаление ?

Спасибо.
Сноси Винду, переходи на Линукс ! :)

Оффлайн Антон Мидюков

  • alt linux team
  • ***
  • Сообщений: 5 183
  • antohami@
Re: Вопрос по работе с git
« Ответ #39 : 11.09.2017 16:31:38 »
А как отправить новую ветку ? Так:
Код: [Выделить]

git push origin new_branch

Да

И ещё вопрос, как мне потом удалить ветку из git ?
У себя я знаю как удалить:
Код: [Выделить]

git branch -d new_branch

А как опубликовать это удаление ?

git push origin :new_branch

https://git-scm.com/book/ru/v1/%D0%92%D0%B5%D1%82%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5-%D0%B2-Git-%D0%A3%D0%B4%D0%B0%D0%BB%D1%91%D0%BD%D0%BD%D1%8B%D0%B5-%D0%B2%D0%B5%D1%82%D0%BA%D0%B8

Оффлайн berkut_174

  • Мастер
  • ***
  • Сообщений: 7 145
    • Email
Re: Вопрос по работе с git
« Ответ #40 : 11.09.2017 17:04:08 »
Спасибо!
Сноси Винду, переходи на Линукс ! :)

Оффлайн berkut_174

  • Мастер
  • ***
  • Сообщений: 7 145
    • Email
Re: Вопрос по работе с git
« Ответ #41 : 23.11.2018 08:45:15 »
Снова возник вопрос по git.
Я работаю с одного компьютера и обычно с него же шлю коммиты в ветку master, но иногда требуется сделать что-то на другой машине. Я сделал на другой машине:
git clone firmaДалее написал ряд коммитов и сделал:
git push firma masterНа основной машине, которая первый компьютер, я делаю:
git pull firma masterИ все мои изменения, который я сделал на второй машине становятся мне видны.
Более того, что на первой, что на второй машине я вообще вижу все изменения, на GitHub тоже все коммиты отображаются, могу выполнить pull/push на обеих машинах и вроде всё норм. Но обратил внимание, что на второй машине у меня мозолит глаза такое сообщение:
Your branch is ahead of 'origin/master' by 2 commits.Что интересно, я могу добавить новый коммит на этой машине, опубликовать его, на первой машине могу взять эти изменения и никаких ошибок нет, но это сообщения не пропадает. С каждым новым коммитом значение увеличивается. Что я делаю не так ? Подскажите, пожалуйста.
Сноси Винду, переходи на Линукс ! :)

Оффлайн berkut_174

  • Мастер
  • ***
  • Сообщений: 7 145
    • Email
Re: Вопрос по работе с git
« Ответ #42 : 23.11.2018 08:49:09 »
Сейчас на третьей машине сделал:
git pull firma masterА до отправки новых коммитов со второй машины я делал на ней:
git clone firmaПоявилось такое же сообщение:
Your branch is ahead of 'origin/master' by 2 commits.Хотя я на этой машине вообще ни одного коммита ещё не делал, я только забираю изменения с основной ветки.
Как же тогда нужно выполнять синхронизацию ?
« Последнее редактирование: 23.11.2018 09:15:18 от berkut_174 »
Сноси Винду, переходи на Линукс ! :)

Оффлайн berkut_174

  • Мастер
  • ***
  • Сообщений: 7 145
    • Email
Re: Вопрос по работе с git
« Ответ #43 : 23.11.2018 09:26:31 »
О, помогло:
git fetch
Тогда вопрос: что я должен делать на второй, третье, четвёртой и т.д. машинах - fetch или pull ?
Сноси Винду, переходи на Линукс ! :)

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 19 908
    • Домашняя страница
    • Email
Re: Вопрос по работе с git
« Ответ #44 : 23.11.2018 10:12:39 »
fetch только получает информацию и коммиты, pull - накладывает их.
man git-pull
Андрей Черепанов (cas@)