4

Я использовал черепаху SVN в течение нескольких лет, но теперь перехожу к использованию Git. Может ли кто-нибудь объяснить, что такое процесс для выполнения следующих действий в Git:

Получить последние, регистрация

Мне удалось успешно клонировать репозиторий, внести изменения, зафиксировать и затем отправить изменения. Git говорит, что все в порядке, но я не вижу изменений на удаленном сервере.

Моя установка:

Удаленный сервер с репозиторием Git и машиной Dev, которая подключается к Git, чтобы получить локальную копию решения для работы.

Кроме того, когда я смотрю историю на моей локальной машине, все хорошо! Он показывает всю историю, когда я захожу на сервер, изменения не отображаются!

Если я не делаю это правильно, дайте мне знать!

3 ответа3

2

Чтобы ответить на ваш вопрос ... В Git действительно нет процесса «Check in Check out». Эти ссылки для централизованного VCS не распределены.

С централизованным VCS есть одна абсолютная база кода ... Источник. С распределенной VCS это не так ...

В Git есть уровень абстракции, называемый индексом, который отделяет код рабочих каталогов от хранилища. В этом отношении вы должны добавить свои изменения в индекс, а затем зафиксировать их в хранилище. Но этот коммит не отражает прямого обновления рабочего каталога.

Для того, чтобы вы физически «видели изменения» на удаленной стороне после коммита ... Вам нужно подключиться к широковещательному каталогу, чтобы вытащить из обновленного репо ...

Презумпция здесь ... Но я предполагаю, что вы хотите сделать что-то вроде рабочего процесса управления веб-сайтом. Использование Git для управления сайтом

Git - чрезвычайно мощный и надежный DVCS ... Тем не менее, вы должны полностью понимать, как это работает, чтобы эффективно использовать его. При всем уважении, я предлагаю вам полностью прочитать документацию. Тем не менее, вот вам хорошая отправная точка :-) Git Magic

1

Я покажу свой рабочий процесс, используя github в качестве сервера для моих репозиториев:

If I've not nothing on my machine:
$ git clone git@github.com:<username>/<repository-name>.git

Теперь у вас есть локальная копия. Если у вас уже есть копия, не нужно снова клонировать. Просто потяните

$ git pull origin master

Эта команда загружает с сервера на ваш компьютер все обновления.

Теперь вы можете работать. Сделать коммиты. Когда ты готов. Вы можете отправить свой код на сервер с помощью следующих команд:

$ git add .
$ git commit -m 'some stuffs'
$ git add .
$ git commit -m 'some others stuff'
...
$ git add .
$ git commit -m 'some others stuff'
$ git push origin master

Команда "git push origin master" поместит ваш код на сервер. Если другие пользователи выдвинули некоторые коммиты!?!?!? Ну что ж: прежде чем нажать на свой код, нужно запустить "тянуть". Это последовательность, которую я предпочитаю:

1:

$ git pull origin master // now I can start to work

2:

$ git add .
$ git commit -m 'some stuffs'
$ git add .
$ git commit -m 'some others stuff'
...
$ git add .
$ git commit -m 'some others stuff'

3:

$ git pull origin master
$ git push origin master

Если после извлечения возникают конфликты, просто исправьте их, добавьте, зафиксируйте и, наконец, отправьте.

0

@Funky,
Поскольку вы можете просматривать историю локально, я предполагаю, что вы можете правильно зафиксировать свои изменения в локальной копии вашего git-репо. Непонятно, что вы делаете на пульте («сервер»): «... когда я захожу на сервер, изменения не отображаются!». В зависимости от того, как настроен «сервер» (удаленный), вы можете видеть вещи не так, как на компьютере разработчика.

Если вы уверены, что ваши изменения действительно отсутствуют на удаленном сервере («сервер»), вы можете просто пропустить это (на своем локальном компьютере разработчика):

git push origin master

Состояние git status до и после указанной выше команды даст вам полезную информацию о любых расхождениях между вашей локальной и удаленной копией.

Для двойной проверки перейдите на другую машину (или в другую папку на том же компьютере разработчика) и выполните:git clone <git-url-of-your-server> . И проверьте, есть ли ваши изменения.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .