Мне нужен сервер для использования мерзавца?

При использовании дескрипторов на классах, Python полностью обходит __dict__ для того ключа, который делает его хорошим местом для хранения таких значений:

>>> class User(object):
...  def _get_username(self):
...   return self.__dict__['username']
...  def _set_username(self, value):
...   print 'username set'
...   self.__dict__['username'] = value
...  username = property(_get_username, _set_username)
...  del _get_username, _set_username
... 
>>> u = User()
>>> u.username = "foo"
username set
>>> u.__dict__
{'username': 'foo'}

Это помогает сохранить dir() чистым.

5
задан Matt J 23 July 2009 в 17:02
поделиться

7 ответов

Существует ряд размещенных решений для репозиториев Git, включая GitHub и Unfuddle .

Формулировка вашего вопроса указывает на то, что вы можете неправильно понимать, что такое Git (и системы управления распределенными версиями в целом). Возможно, вы захотите прочитать введение в Git в Unfuddle или введение в Git, подобное здесь .

8
ответ дан 18 December 2019 в 05:44
поделиться

Мне нравится DropBox за это. www.getdropbox.com

2
ответ дан 18 December 2019 в 05:44
поделиться

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

Тогда ваш вопрос касается того, как синхронизировать хранилища на работе и дома. Есть много возможностей:

  • Вы можете создать чистый репозиторий (то есть без рабочего каталога), клон репозитория, на каком-нибудь съемном носителе, таком как USB-диск (флешка). Вы могли бы синхронизировать через этот репозиторий, нажимая на него из одного места и получая (вытягивая) из него в другом месте.

  • Вы можете использовать одну из служб хостинга Git , как упомянуто GitHub , и использовать ее для синхронизации ваших репозиториев. Однако вы должны помнить, что обычно бесплатных планов требуют сделать ваш репозиторий общедоступным; если вы хотите иметь частный репозиторий, вы должны использовать платный план (платная услуга). Проверьте, что предлагает сайт, который вы хотите использовать.

  • Вы можете использовать команду git-bundle : сгенерировать пакет на одной стороне с помощью команды «git bundle», затем клонировать / получить / извлечь на другой стороне используя файл пакета вместо URL-адреса репозитория, например git fetch file.bndl . Вы можете передать пакет любым способом, будь то на USB-накопителе, загрузив его через HTTP (здесь будет достаточно простого веб-сервера), FTP или SCP.

  • Вы можете обслуживать свой репозиторий через SSH. Для этого вам нужно, чтобы git был установлен как на работе, так и на вашем домашнем компьютере, демон ssh на сервере (сторона, с которой вы получаете / отправляете) и клиент ssh на клиенте. Git не нужно устанавливать глобально для всех пользователей на сервере; вы можете указать git, где найти соответствующие двоичные файлы git, с помощью соответствующей опции (см. документацию git). На странице Советы и хитрости в Git Wiki вы найдете «Как отправлять / извлекать через ssh для размещения за шлюзом?» совет.

  • Наконец, вы можете обслуживать свой репозиторий через HTTP, используя простой веб-сервер, как если бы вы публиковали веб-страницы. Не забудьте запустить git update-server-info для генерации вспомогательной информации. Обычно это делается с помощью хука post-update post-commit , если репозиторий не является пустым, т.е. если вы создаете в нем коммиты);

17
ответ дан 18 December 2019 в 05:44
поделиться

Git is similar to subversion/sourcesafe, but it's design to be distributed. You could make one act as a centralized server, or you could just work between your peers. There's a few more model you could use, see mmc's links for more info.

GitHub is available on the web, but I suspect you want something hosted at work and no open to the outside.

1
ответ дан 18 December 2019 в 05:44
поделиться

Поскольку GIT децентрализован, у вас есть полная копия вашего репозитория в каждой системе. Это дает вам гибкость в выборе рабочего процесса для синхронизации репозиториев, который работает для вас. Учитывая то, что вы сказали в своем вопросе, я бы порекомендовал один из двух вариантов.

Синхронизация домашнего и рабочего репозиториев через ssh

Если ваш домашний и рабочий компьютеры доступны из Интернета, то вы можете просто ssh с одного к другому и внесите изменения в каждый локальный репозиторий. Итак:

  1. SSH на ваш другой компьютер (другой - рабочий или домашний)
  2. Удалите все изменения удаленного репозитория
  3. Подтвердите любые изменения локального репозитория.
2
ответ дан 18 December 2019 в 05:44
поделиться

Вы можете использовать что-то вроде: LogMeIn ( https://secure.logmein.com/home.asp?lang=en )

для любого другого программного обеспечения для доступа к удаленному рабочему столу.

Дополнительные сведения о таком программном обеспечении см. Здесь -> http://mashable.com/2007/09/07/remote-access/

0
ответ дан 18 December 2019 в 05:44
поделиться

Несмотря на то, что центральный сервер может несколько упростить задачу, он вам не нужен.

На работе я использую некоторые сценарии из git-bundle для синхронизации мои репозитории git между машинами, которые не подключены к сетям таким образом, чтобы они могли получить доступ друг к другу. Для перемещения пакетов я использую электронную почту или USB-накопители. (Рассматриваемые машины не могли даже получить доступ к общей третьей машине через IP-соединения).

0
ответ дан 18 December 2019 в 05:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: