2016-08-08 2 views
-1

... возможно, это потому, что я использую его неправильно.Git pull не работает должным образом

Szenario: У меня есть локальный репозиторий и удаленный репозиторий (с именем staging). Теперь я разработал свой локальный репозиторий и передал его в удаленный репозиторий. Затем в моем репозитории REMOTE я добавил файл «newfiletest». Я ожидал, что когда я локально сделаю «git pull master», он должен загрузить файл «newfiletest», который он не делает.

Надеюсь, вы его получите: P Я новичок в git.

+0

Вы зафиксировали новый файл в удаленном репозитории? – Ryan

+0

Это поможет, если вы покажете 'git remote show origin' и' git branch -av'. – Christoph

ответ

0

Таким образом, вы сделали какую-то работу на локальном хранилище, а затем вы сделали

git add -A 
git commit -m "Embrace my epic programming skills" 

Тогда вы решили, что вы хотите, чтобы толкать его вверх по течению на пульте дистанционного управления, чтобы вы сделали

git remote add <remote_name> <url> 

, а затем

git push -u <remote_name> <branch> 

Git затем запросит у вас имя пользователя и пароль по причинам аутентификации и пуфа! Вы подтолкнули свои вещи вверх по течению.

Теперь вы решили создать новый файл (например .gitignore, readme.md и т. Д.) На Git Hub. Это можно сделать, а затем запустить

git pull 

Это должно принести и объединить ваши изменения в верхней части местного repoistory

+0

Не совсем. Я не использовал Git Hub. Я сделал пустой репозиторий на удаленном сервере с помощью «git init --bare». И этот репозиторий я добавил локально как «постановка». Итак, на этом удаленном сервере я создал новый файл «newtestfile». Который не загружается в мой локальный репозиторий, когда я локально выполняю «git pull master». – SVARTBERG

+0

Итак, вы настроили свой собственный сервер, на котором будут размещены ваши собственные репозитории git? : s Вышеприведенный пример с * Git Hub *, я бы попытался понять его, прежде чем переходить на более продвинутый и настраивать собственный сервер. –

+0

Ну ... на самом деле это просто веб-сервер, на котором установлен git и папку, которую я выполнил «git init --bare». И я действительно не вижу разницы с вашим примером. Я делаю то же самое на самом деле. – SVARTBERG

0

Проблема заключается в том, что если вы не сделали коммит на сервер, мерзавец не будет иметь возможность отслеживать это новый файл. Недостаточно вложить файл в папку, вам тоже нужно сделать фиксацию. Я не уверен, что вы можете совершать прямо на сервере, поскольку я никогда не пробовал, но я не понимаю, почему это не сработает. используйте git add и git commit на сервере, чтобы сделать новый файл частью вашего репозитория.

+0

Я понимаю. Что ж. Это не решит мою актуальную проблему. Я использую его в качестве промежуточного сервера для своих клиентов, чтобы показать прогресс. Когда я нажимаю свою локальную работу на сервер, крючок (post-receive) помещает файлы в указанный рабочий каталог. Я хотел быть безопасным, когда кто-то что-то меняет на сервере. Я хотел потрогать, чтобы получить текущее состояние сервера. – SVARTBERG

Смежные вопросы