Я изучаю работу с пультами Git, прочитав соответствующий раздел Pro Git Book.
Если вы клонируете репозиторий, команда автоматически добавляет этот удаленный репозиторий под названием "origin". Таким образом, git fetch origin
извлекает любую новую работу, которая была перенесена на этот сервер, так как вы клонировали (или последний из них).
Важно отметить, что команда git fetch
извлекает данные только в ваш локальный репозиторий; он не автоматически объединяет его с какой-либо вашей работой или не изменяет то, что вы в настоящее время работаете. Вы должны объединить его вручную в свою работу, когда будете готовы.
Вот что я пробовал. Я клонировал репозиторий и редактировал файл. В исходном репозитории кто-то обновил один и тот же файл и нажал. Тогда,
-
Я побежал
git fetch
. Он показал некоторое сообщение о ходе обновления. Однакоgit log
не показывал это обновление. Не понял ли я, что делаетgit fetch
? Я что-то пропустил? -
Я побежал
git pull
, и я получил
Ошибка: ваши локальные изменения в 'hello_world.c' будут перезаписаны слиянием. Aborting. Пожалуйста, сделайте свои изменения или запишите их, прежде чем сможете объединиться.
Здесь я считаю, что он также объединяется и чтобы избежать случайной потери данных, он прерывается.
Edit: Спасибо за ответы. Фактически, прежде чем смотреть на ответы, я сам пытался и понял то же самое со следующими командами/выходами:
$ git ls-remote origin
d0006a6bfa95e0e90aa820a0e50d31a548625652 HEAD
d0006a6bfa95e0e90aa820a0e50d31a548625652 refs/heads/master
$ git ls-remote .
14375458b8a6b84f82d9fa4d2ded0bb8c9e87431 HEAD
14375458b8a6b84f82d9fa4d2ded0bb8c9e87431 refs/heads/master
d0006a6bfa95e0e90aa820a0e50d31a548625652 refs/remotes/origin/HEAD
d0006a6bfa95e0e90aa820a0e50d31a548625652 refs/remotes/origin/master
Также со следующими командами:
$git log origin --oneline
$git log --oneline
Спасибо за то, что вы с моими глупыми вопросами;-)