мерзавец толкать в голое хранилище, затем тянуть не работает - PullRequest
0 голосов
/ 16 апреля 2011

У меня есть хостинг, который дает мне доступ по SSH.

Я создал голое хранилище.Куда я пихаю перед уходом с работы.Но когда я извлекаю изменения оттуда, это не работает.

nerkn@nerkn-laptop ~/www/project $ git push
Everything up-to-date

config is:

nerkn@nerkn-laptop ~/www/project $ git config -l
core.repositoryformatversion=0
core.filemode=true
core.bare=false
core.logallrefupdates=true
remote.origin.url=ssh://user@domain.com/~/project.git
remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
branch.master.remote=origin
branch.master.merge=refs/heads/master

Затем домашний компьютер:

nerkn@nerkn-desktop /var/www/project $ git pull
Already up-to-date.


nerkn@nerkn-desktop /var/www/project $ git config -l
core.repositoryformatversion=0
core.filemode=true
core.bare=false
core.logallrefupdates=true
remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
remote.origin.url=ssh://usre@domain.com/~/project.git
branch.master.remote=origin
branch.master.merge=refs/heads/master
gui.wmstate=normal
gui.geometry=962x330+284+384 207 192

Если всесовременные и уже современные, то почему они разные?Как я могу использовать эту настройку.Должен ли я открыть оба из них для синхронизации, без помощи моего хостинга SSH доступа?

Ответы [ 2 ]

2 голосов
/ 16 апреля 2011

Поскольку вы используете git push без каких-либо других параметров, трудно определить, в какой ветке вы находитесь на своем ноутбуке и настольном компьютере.Если вы работаете только в основной ветке, git push должен работать, так как вы находитесь в ветке с удаленным источником.Однако, если вы находитесь в другой ветке, скорее всего, вы создали ее по умолчанию, которая создает локальную ветку.Затем вам нужно будет явно передать эту ветку в репозиторий, используя git push origin mybranchname (или объединить ваши изменения в другую ветку, возможно, главную ветвь).

PS Великолепный Мэтью Маккалоу показал отличную настройку приглашения на bash:предыдущий NFJS, чтобы показать состояние мерзавца, включая текущую ветвь и грязное состояние.У меня есть измененная версия здесь https://gist.github.com/235332, вилка из сущности Мэтью.Это может пригодиться для отслеживания, в какой ветке вы находитесь.

0 голосов
/ 16 апреля 2011

Конфигурация, которую вы видите, когда вы запускаете git config, хранится локально, для каждого хранилища, она не распределяется между хранилищами (поэтому она не будет отправлена ​​на сервер и не будет удалена; она управляется полностью локально). Ваша конфигурация состоит из настроек управления хранилищами, которые могут быть разными на разных компьютерах или даже разными хранилищами на одном компьютере, поэтому Git не управляет содержимым конфигурации хранилища и не делится им между хранилищами.

Чтобы увидеть, что файлы обновляются между двумя репозиториями, создайте или отредактируйте файл в одном, подготовьте файл с помощью git add filename, подтвердите с помощью git commit, а затем нажмите. При извлечении из другого хранилища вы должны увидеть новый или обновленный файл.

...