Что хороший путь состоит в том, чтобы синхронизировать файлы кода между компьютером? [закрытый]

5
задан Barett 29 July 2015 в 07:45
поделиться

13 ответов

Другие хорошие способы - Mercurial или GIT.

Они похожи на то, чего вы пытаетесь достичь, за исключением того, что они являются DSCM (распределенными), поэтому вам не нужно будет устанавливать целый сервер только для этого.

Убедитесь, что вы выполнили UPDATE перед CHECKING IN вашего кода, а после UPDATE убедитесь, что ваш проект собирается.

5
ответ дан 18 December 2019 в 07:08
поделиться

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

Описание ветвления в subversion здесь.

5
ответ дан 18 December 2019 в 07:08
поделиться

Единственный способ связи с кодом, запущенным на странице в Chrome, - это DOM, поэтому вам придется использовать взлом, например вставлять тег < script > вместе с кодом. Обратите внимание, что это может оказаться ошибочным, если сценарий должен выполняться раньше всего на странице.

EDIT: Вот как расширение Nice Alert делает это:

function main () {
  // ...
  window.alert = function() {/* ... */};
  // ...
}

var script = document.createElement('script');
script.appendChild(document.createTextNode('('+ main +')();'));
(document.body || document.head || document.documentElement).appendChild(script);
-121--1222578-

Дополнение nines в базовой 10 определяется вычитанием каждой цифры из 9.

Так 45 (=... 000045) становится 54 (=... 999954).

Дополнение Тена - это только дополнение девяток плюс 1. Так... 000045 становится (... 999954 + 1) =... 999955.

Дополнительная информация в Википедии .

-121--4195898-

Пробовали Dropbox ? он в основном устанавливает папку, которая будет проходить через несколько ПК, на которых работает приложение, и сохраняет версии файлов, однако я никогда не уставал от нее в среде программирования

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

Я думаю, что многие люди слишком усложняют эту проблему. Решение очевидно. Просто используйте портативное USB-устройство и поместите туда свой каталог проверки. Для вашего сценария это имеет большой смысл.

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

Используйте git. Вы получаете все преимущества системы контроля версий, но работаете локально. Если код вашего проекта уже находится в SVN, можно использовать git-svn для совместной работы git и svn. Вот простое руководство по git-svn на примере.

В git легко ветвиться, поэтому вы захотите ветвиться очень часто. Ветки Git отличаются от веток SVN: они хранятся локально, и это не просто копия всего проекта, как в SVN. Наконец, установите Dropbox на обоих компьютерах, чтобы ваши изменения синхронизировались автоматически.

Таким образом, ваш рабочий процесс может выглядеть примерно так:

  • git-svn clone http: //mysvnrepo local_dir, чтобы получить ваш локальный репозиторий
  • git checkout -b my_new_branch, когда вы хотите поработать над новой функцией
  • Проверяйте свой код так часто, как вам нужно, не беспокоясь о том, что вы нарушите чужой код
  • Локальные изменения синхронизируются автоматически благодаря Dropbox
  • Когда ваш код готов, объедините его с основной веткой с помощью git merge my_new_branch
  • И зафиксируйте свои изменения обратно в репозиторий subversion, сначала обновите локальный репозиторий с помощью git-svn rebase, а затем зафиксируйте с помощью git-svn dcommit
2
ответ дан 18 December 2019 в 07:08
поделиться

Попробуйте использовать ветвления в вашем svn-репозитории. Или вы можете использовать iDisk, если у вас есть подписка на MobileMe.

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

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

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

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

  • Создайте свою собственную ветку SVN , над которой работаете только вы, и зафиксируйте в
  • . Когда часть вашего кода будет готова для совместного использования с другими разработчиками (или готова к выпуску), объедините изменения обратно в основную ветку («ствол»)
  • Или , если вы не хотите использовать ветки: убедитесь, что ваша программа компилируется и модульные тесты завершаются успешно, прежде чем делать коммит. Таким образом будет меньше конфликтов с чужим кодом.
0
ответ дан 18 December 2019 в 07:08
поделиться

Мне нравится Microsoft Live Mesh, он прост в использовании, вы просто выбираете папку для синхронизации и все готово.

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

Можете ли вы использовать инструмент SysInternals procmon , чтобы узнать, какой доступ к реестру он пытается получить? Возможно, это даст вам некоторое представление о том, что вы могли бы сделать, чтобы решить проблему.

-121--3202495-

Используйте что-то вроде Microsoft Foldershare (теперь называется Live Sync). Это бесплатно и хорошо работает на Макс.

Не используйте для этого систему управления версиями. На моем Mac я использовал Microsoft FolderShare в прошлом, и он работает очень хорошо. При сохранении файла в течение 2-3 секунд изменения распространяются на все синхронизированные машины. Единственное предостережение - нет облака, поэтому обе (или хотя бы одна постоянная) машины должны быть в оперативном режиме одновременно. FolderShare не работает для гигантских библиотек MP3, но хорошо работает для кодовых деревьев.

-121--4571416-

Мошеннические решения, которые работают:

  1. мой предпочтительный: простая электронная почта, Я просто .zip папку часто и отправить ее по электронной почте себе. Если мой компьютер умирает, нет проблем, потому что я также использую «Оставить почту на сервере» для POP3 учетных записей. Таким образом, я получаю резервное копирование и управление версиями вместе.

  2. используйте флэш-накопитель. Работа с флешки и резервное копирование на жесткий диск, или виза наоборот.

Вышеуказанные два метода очень хорошо работают для одного разработчика с использованием нескольких компьютеров.

Редактирование: упс, извините, пропустил командный аспект. Решение для электронной почты все еще работает, но с командой система управления версиями лучше всего потому, что несколько людей задействуют один и тот же код. Я нахожу TFS и Visual Source Safe - менее чем идеальные решения. Проблема систем управления версиями заключается в обучение кривой, чтобы овладеть ими. К сожалению, в командном окружении это необходимая задача.

-1
ответ дан 18 December 2019 в 07:08
поделиться

Используйте что-то вроде Microsoft Foldershare (теперь называется Live Sync). Это бесплатно и хорошо работает на Mac.

Не используйте для этого контроль исходных текстов. На моем Mac я использовал FolderShare от Microsoft в прошлом, и он работает очень хорошо. Всякий раз, когда я сохраняю файл, в течение 2-3 секунд изменения распространяются на все синхронизированные машины. Единственная оговорка - нет облака, поэтому обе (или хотя бы одна постоянная) машины должны быть в сети одновременно. FolderShare не работает для гигантских MP3-библиотек, но он хорошо работает для деревьев кода.

3
ответ дан 18 December 2019 в 07:08
поделиться

При использовании mercurial (hg) или git вам не нужен сервер контроля версий. Вы можете синхронизировать через usb-ключ, пакеты, отправленные по почте, или временно запущенный сервер ("hg serve"). Таким образом, никто никогда не узнает ни о каком сервере контроля версий, и вы не будете мешать членам своей команды. И hg, и git могут взаимодействовать с subversion (правда, я не знаю, насколько хорошо они это делают).

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

Используйте Fuse и sshfs для смонтируйте соответствующие каталоги на своей рабочей машине на своем домашнем компьютере.

1
ответ дан 18 December 2019 в 07:08
поделиться
Другие вопросы по тегам:

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