Как на самом деле использовать систему управления исходным кодом?

Вы имеете в виду это?

My_list = [[1,2,3,4,5],[6,7,8,9,10],[11,12,13,14,15],[16,17,18,19,20]] new_list=My_list[0][:3]+My_list[1][3:])

15
задан Humpton 15 September 2008 в 21:54
поделиться

18 ответов

У Вас все еще есть все файлы на Вашем жестком диске, готовом к F5!

различие - то, что можно "отметить файлы контрольной точкой" в репозиторий. Ваша повседневная жизнь не должна изменяться вообще.

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

Зависит от системы управления исходным кодом, которую Вы используете. Например, для подверсии и cvs Ваши файлы могут находиться в удаленном месте, но Вы всегда проверяете свою собственную копию их локально. Эта локальная копия (часто называемый working copy) является просто регулярными файлами в файловой системе с некоторыми метаданными, чтобы позволить Вам загрузить свои изменения назад в сервере.

, Если Вы используете Подверсию, вот хорошее учебное руководство .

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

Я рекомендовал бы распределенную систему управления версиями (подвижный, мерзавец, базар, darcs), а не централизованную систему управления версиями (cvs, svn). Их намного легче установить и работать с.

подвижная Попытка (который является VCS, который я раньше понимал, как управление версиями работает) и затем если Вам нравитесь Вы, может даже переместиться к мерзавцу.

на домашней странице Mercurial существует действительно хорошее вводное учебное руководство: Понимающий Подвижный . Это представит Вас фундаментальным понятиям на VCS и как работают вещи. Это является действительно большим. После этого я предлагаю, чтобы Вы шли дальше к Подвижным учебным руководствам: Подвижная учебная страница , которая будет учить Вас, как на самом деле использовать Подвижный. Наконец, у Вас есть бесплатная электронная книга, которая является действительно большой ссылкой о том, как использовать Подвижный: Распределенное Управление версиями с Подвижным

, Если Вы чувствуете себя более предприимчивыми и хотите начаться с Мерзавцем немедленно, затем эта бесплатная электронная книга является великолепным местом для запуска: Волшебство Мерзавца (Очень легкое чтение)

В конце , какой инструмент VCS Вы выбираете, что Вы закончите тем, что делали, следующее:

  1. Имеют репозиторий, который Вы вручную не редактируете, он только для VCS
  2. Имеет рабочий каталог, где Вы вносите свои изменения, как обычно.
  3. Изменение, что Вы любите, нажимает F5 так много раз, как Вы желаете. То, когда Вам нравится то, что Вы сделали и думаете, что требуется сохранить проект путем, это в ту же минуту (во многом как Вы сделало бы, когда Вы, например, пишете что-то в Word), можно затем передать изменения в репозитории.
  4. , Если когда-нибудь необходимо возвращаться к определенному состоянию в проекте, Вы теперь имеете право делать так.

И это - в значительной степени это.

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

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

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

, Если у Вас есть больше чем один разработчик, работающий над Вашей кодовой базой, убедиться обновить регулярно, таким образом, Вы всегда работаете против недавней (объединенной) версии кода.

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

Я рекомендую Подверсия . Установка репозитория и использование его на самом деле довольно тривиальны, даже из командной строки. Вот то, как это пошло бы:

, если Вы не имеете, устанавливают Ваш repo (репозиторий)

1) , Удостоверяются, что Вам установили Подверсию на Вашем сервере

$ which svn
/usr/bin/svn

, который инструмент, который говорит Вам путь к другому инструменту. если это ничего не возвращает, что инструмент не установлен в Вашей системе

1b) , В противном случае добираются, это

$ apt-get install subversion

склонный - добирается , инструмент, который устанавливает другие инструменты на Вашу систему

, Если это не правильное название подверсии в способном, попробуйте это

$ apt-cache search subversion

, или это

$ apt-cache search svn

Находит правильное имя пакета и устанавливает его с помощью [1 116] склонный - добираются, packagename

2 установки) Создают новый репозиторий на сервере

$ cd /path/to/directory/of/repositories
$ svnadmin create my_repository

, svnadmin создают reponame, создает новый репозиторий в существующем рабочем каталоге ( pwd) с именем reponame

, Вы официально сделаны, создав Ваш репозиторий


, если Вы имеете существующий repo или закончили устанавливать его

1) , Удостоверяются, что Вам установили Подверсию на Вашей локальной машине на инструкции выше

2) Выезд репозиторий к Вашей локальной машине

$ cd /repos/on/your/local/machine
$ svn co svn+ssh://www.myserver.com/path/to/directory/of/repositories/my_repository

, svn co является командой, которую Вы используете для проверки репозитория

3) , Создают начальную структуру каталогов (дополнительно)

$ cd /repos/on/your/local/machine
$ cd my_repository
$ svn mkdir branches
$ svn mkdir tags
$ svn mkdir trunk
$ svn commit -m "Initial structure"

, svn mkdir выполняет постоянного клиента mkdir и создает каталог в существующем рабочем каталоге с именем, которое Вы предоставляете после ввода svn mkdir, и затем добавляет его к репозиторию.

svn фиксируют-m"" , отправляет Ваши изменения в репозитории и обновляет его. Независимо от того, что Вы помещаете в кавычках после ,-m является комментарием для этой фиксации (заставьте его рассчитать!).

"рабочая копия" Вашего кода вошла бы соединительная линия каталог. ответвления используется для работы над отдельными проектами за пределами соединительной линии; каждый каталог в [1 128] ответвления является копией соединительная линия для различного подпроекта. теги используется больше выпусков. Я предлагаю просто фокусироваться на [1 131] соединительная линия некоторое время и привыкнуть к Подверсии.


работа с Вашим repo

1) Добавляют код к Вашему репозиторию

$ cd /repos/on/your/local/machine
$ svn add my_new_file.ext
$ svn add some/new/directory
$ svn add some/directory/*
$ svn add some/directory/*.ext

, предпоследняя строка добавляет каждый файл в том каталоге. Последняя строка добавляет каждый файл с расширением .ext.

2) Проверка состояние Вашего репозитория

$ cd /repos/on/your/local/machine
$ svn status

, Который скажет Вам, если будут какие-либо новые файлы, и обновленные файлы и файлы с конфликтами (различия между Вашей локальной версией и версией на сервере), и т.д.

3) Обновление Ваша локальная копия Вашего репозитория

$ cd /repos/on/your/local/machine
$ svn up

, Обновление вытягивает любые новые изменения с сервера, который Вы уже не имеете

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

<час>

, Это - все, что действительно необходимо знать для начала работы. Для получения дополнительной информации я рекомендую проверить Книга .

Подверсии
0
ответ дан 1 December 2019 в 03:05
поделиться

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

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

На самом деле, Ваши файлы, в то время как сохранено в исходном репозитории (хвастовство для другого места на Вашем жестком диске или жестком диске где-то в другом месте), может также существовать на Вашей локальной машине также, где они существуют теперь.

Так, все файлы, которые не проверяются, были бы отмечены как "только для чтения" при использовании VSS (не уверенный в SVN, CVS, и т.д.). Так, Вы могли все еще выполнить свой веб-сайт путем удара "F5", и он перезагрузит файлы, где они в настоящее время. Если Вы проверяете один и редактируете его, это становится НЕ только для чтения, и можно изменить его.

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

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

Это - дико открытый законченный вопрос, потому что то, как Вы используете SCM, зависит в большой степени, на котором SCM Вы выбираете. Распределенный SCM как мерзавец работает совершенно по-другому по сравнению с централизованным как Подверсия.

svn является путем, легче к обзору для "нового пользователя", но мерзавец может быть немного более мощным и улучшить Ваш рабочий процесс. Подверсия также имеет действительно большие документы и поддержку инструмента (как trac), и книга онлайн, которую необходимо прочитать:

http://svnbook.red-bean.com/

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

редактирование: Позвольте мне указать , почему люди осуждают Вас, между прочим: SCM является больше, чем просто "резервное копирование Вашего кода". Наличие "timemachine" является ничем как SCM. С SCM можно возвратиться в истории изменений и видеть то, что Вы на самом деле изменили и когда, который является чем-то, которое Вы будете никогда , доберутся с блобами кода. Я уверен, что Вы спросили себя относительно больше чем одного случая: "как этот код добирался здесь?" или "Я думал, что исправил ту ошибку" - если Вы сделали, вот почему Вам нужен SCM.

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

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

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

Вот общий рабочий процесс, который Вы использовали бы с нецентрализованной системой управления исходным кодом как CVS или Подверсия: Сначала Вы импортируете свой текущий проект в так называемый репозиторий, имеющее версию устройство хранения данных всех Ваших файлов. Заботьтесь только для импорта сгенерированных рукой файлов (источник, файлы данных, make-файлы, файлы проекта). Сгенерированные файлы (объектные файлы, исполняемые файлы, генерировали документацию) не должны быть помещены в репозиторий.

Затем необходимо проверить рабочую копию. Поскольку имя подразумевает, это - то, где Вы сделаете все свои локальные редактирования, где Вы скомпилируете и где Вы укажете на свой тестовый сервер на. Это - в основном замена туда, где Вы работали в прежде. Только необходимо сделать эти шаги однажды на проект (хотя Вы могли проверить несколько рабочих копий, конечно.)

Это - основной цикл работы: Сначала Вы проверяете все изменения, внесенные в репозитории в Вашу локальную рабочую копию. При работе в команде это ввело бы любые изменения другие члены команды, сделанные начиная с последнего выезда. Затем Вы делаете свою работу. Когда Вы закончили с рядом работы, необходимо проверить текущую версию снова и разрешить возможные конфликты из-за изменений другими членами команды. (В дисциплинированной команде это обычно - не проблема.) Тест, и когда все работает как ожидалось, который Вы фиксируете (регистрируется) в Ваших изменениях. Затем можно продолжить работать, и после того как Вы закончили снова, выезд, конфликты твердости, и регистрируетесь снова. Обратите внимание на то, что необходимо только фиксировать изменения, которые были протестированы и работа. То, как часто Вы регистрируетесь, является вопросом вкуса, но в общем правиле говорится, что необходимо фиксировать изменения, по крайней мере, однажды в конце дня. Лично, я фиксирую свои изменения намного чаще, чем это, в основном каждый раз, когда я сделал ряд связанных изменений, которые проходят все тесты.

1
ответ дан 1 December 2019 в 03:05
поделиться
  1. не редактируют Ваш код производства.
  2. Создают среду разработки, с соответствующими сервисами (апачский w/mod_php).
  3. каталог приложения в Вашей dev среде - то, где Вы делаете свою работу.
  4. Помещенный Ваше текущее производственное приложение там.
  5. Передают этот каталог инструменту управления исходным кодом. (теперь Вы заполнили управление исходным кодом со своим приложением)
  6. , Вносят изменения в Вашей среде новой разработки, поражая F5, когда Вы хотите видеть/тестировать то, что Вы изменили.
  7. Слияние/Фиксация Ваши изменения в управлении исходным кодом.
5
ответ дан 1 December 2019 в 03:05
поделиться

Большой вопрос. С управлением исходным кодом можно все еще сделать процесс обновления "F5". Но после каждого редактирования (или нескольких незначительных редактирований) Вы хотите регистрировать свой код, таким образом, Вам создали резервную копию копии.

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

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

У Eric Sink есть великое ряд сообщений на основах управления исходным кодом. Его компания (Sourcegear) делает инструмент управления исходным кодом под названием Хранилище, но практическое руководство является обычно симпатичным системным агностиком.

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

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

Вот некоторое общее руководство, это не характерно для веб-сайтов:

  • Использование локальная копия для разработки изменений
  • Компиляция (если применимо) и тест Ваши изменения перед регистрацией
  • Выполнение автоматизировало сборки и тесты максимально часто, (по крайней мере, ежедневно)
  • Присваивают версию Вашим ежедневным сборкам (имейте некоторый способ указать точные биты кода, соответствующего конкретной сборке и тестовому прогону)
  • , Если возможно, используйте отдельные ответвления для главных версий (или имейте разработку и ответвление выпуска)
  • , Когда необходимо, стабилизируйтесь, Ваша кодовая база (определите ряд тестов, таким образом, что передача всех тех тестов означает, что Вы достаточно уверены в качестве своего продукта выпустить его, затем управлять к 0 отказам при испытании, т.е. запретить любой checkins к ответвлению выпуска кроме мер для нерешенных вопросов)
  • , Когда у Вас есть сборка, которая имеет функции, которые Вы хотите, и прошел все необходимые тесты, разверните его.

, Если у Вас есть малочисленная команда, стабильный продукт, быстрая сборка и эффективные, высококачественные тесты затем, этот весь процесс мог бы составить 100%, автоматизировал и мог произойти в минутах.

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

Я просто хочу добавить, что систему, что я думаю, было самым легким настроить и работать с, был Подвижны . Если Вы работаете одни, а не в команде Вы просто инициализируете его в своей нормальной папке работы и затем продолжаете оттуда. Нормальный поток должен отредактировать любой файл с помощью любимого редактора и затем к регистрации (фиксация). Я havn't судил МЕРЗАВЦА, но я принимаю это, очень похож. Монотонность была немного более тверда начать с. Это все распределенные системы управления исходным кодом.

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

Система управления исходным кодом обычно является местом хранения для Ваших файлов и их истории, и обычно отделяйтесь из файлов, Вы в настоящее время продолжаете работать. Это зависит немного от типа системы управления версиями, но предположите использование чего-то подобного CVS (как подверсия), затем все файлы будут жить в два (или больше) места. У Вас есть файлы в Вашем локальном каталоге, так называемой "рабочей копии" и один в репозитории, который может быть расположен в другой локальной папке, или на другой машине, обычно получал доступ по сети. Обычно, после первого импорта Ваших файлов в репозиторий Вы проверяете их под рабочей папкой, где Вы продолжаете работать над ними. Я предполагаю, что это было бы папкой, где Ваши файлы PHP теперь живут.

Теперь, что происходит при проверке копии и Вы внесли некоторые нетривиальные изменения, которые Вы хотите "сохранить"? Вы просто фиксируете те изменения в своей рабочей копии к системе управления версиями. Теперь у Вас есть история Ваших изменений. Если Вы в любой точке хотите вернуться к версии, в которой Вы фиксировали те изменения, затем можно просто вернуться рабочая копия к более старому пересмотру (имя, данное набору изменений, которые Вы фиксируете сразу).

Примечание, что это - все очень CVS/SVN-specific как МЕРЗАВЕЦ, работало бы немного отличающееся. Я рекомендовал бы запуститься с подверсии и прочитать первые несколько глав очень превосходного Книга SVN для запущения Вас.

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

Это все очень субъективно в зависимости от решение для управления исходным кодом, которое Вы решаете использовать. Тем, который Вы определенно захотите изучить, является Подверсия.

Вы упомянули выполнение PHP но Вы делаете его в среде Linux или Windows? Не действительно важно, но что я обычно делал, когда я работал в среде PHP, должен был иметь производственное ответвление и ответвление разработки. Это позволило мне настраивать задание крона (запланированная задача в Windows) для того, чтобы автоматически вытянуть от готового к производству ответвления для рабочего сервера при получении по запросу от ответвления разработки для моего dev сервера.

, После того как Вы выбираете инструмент, необходимо действительно провести некоторое время, учась, как он работает. Понятие регистрации и проверки не относится ко всем решениям для управления исходным кодом, например. Так или иначе я настоятельно рекомендовал бы, чтобы Вы выбрали тот, который разрешает переходить. Эта статья пробегается через великое (по-моему), модель управления исходным кодом для следования в продуктивной среде.

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

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

В зависимости от системы управления исходным кодом 'контроль' может означать разные вещи. В мире SVN это просто означает получать (могло быть обновление, мог быть новый файл), последняя копия с репозитория. В безопасном от источника мире, который обычно означает обновлять существующий файл и блокировать его. текст ниже использует значение SVN:

Используя PHP, что Вы хотите сделать, контроль Ваш весь проект/сайт к рабочей папке на тестовом апачском сайте. Необходимо открыть репозиторий, таким образом, это может произойти с единственным контролем, включая любые необходимые sub папки. Вы контроль Ваш проект установить это одно время .

Теперь можно внести изменения и поразить F5 для обновления как нормальные. Когда Вы довольны рядом изменений для поддержки конкретной фиксации или функции, Вы можете фиксация в как единица (с соответствующими комментариями, конечно). Это помещает последнюю версию в репозиторий.

Проверка/фиксирующий один файл за один раз был бы стычкой.

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

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