Вы имеете в виду это?
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:])
У Вас все еще есть все файлы на Вашем жестком диске, готовом к F5!
различие - то, что можно "отметить файлы контрольной точкой" в репозиторий. Ваша повседневная жизнь не должна изменяться вообще.
Зависит от системы управления исходным кодом, которую Вы используете. Например, для подверсии и cvs Ваши файлы могут находиться в удаленном месте, но Вы всегда проверяете свою собственную копию их локально. Эта локальная копия (часто называемый working copy
) является просто регулярными файлами в файловой системе с некоторыми метаданными, чтобы позволить Вам загрузить свои изменения назад в сервере.
, Если Вы используете Подверсию, вот хорошее учебное руководство .
Я рекомендовал бы распределенную систему управления версиями (подвижный, мерзавец, базар, darcs), а не централизованную систему управления версиями (cvs, svn). Их намного легче установить и работать с.
подвижная Попытка (который является VCS, который я раньше понимал, как управление версиями работает) и затем если Вам нравитесь Вы, может даже переместиться к мерзавцу.
на домашней странице Mercurial существует действительно хорошее вводное учебное руководство: Понимающий Подвижный . Это представит Вас фундаментальным понятиям на VCS и как работают вещи. Это является действительно большим. После этого я предлагаю, чтобы Вы шли дальше к Подвижным учебным руководствам: Подвижная учебная страница , которая будет учить Вас, как на самом деле использовать Подвижный. Наконец, у Вас есть бесплатная электронная книга, которая является действительно большой ссылкой о том, как использовать Подвижный: Распределенное Управление версиями с Подвижным
, Если Вы чувствуете себя более предприимчивыми и хотите начаться с Мерзавцем немедленно, затем эта бесплатная электронная книга является великолепным местом для запуска: Волшебство Мерзавца (Очень легкое чтение)
В конце , какой инструмент VCS Вы выбираете, что Вы закончите тем, что делали, следующее:
И это - в значительной степени это.
Вы не должны изменять свой рабочий процесс решительным способом. Вы могли, и в некоторых случаях Вы должны, но это не что-то, что управление версиями диктует.
Вы просто используете файлы, как Вы обычно были бы. Только при управлении версиями, после того как Вы достигаете определенного состояния "законченных" или по крайней мере "рабочий" (решил проблему в Вашей системе отслеживания ошибок, закончил определенный метод, настроил что-то, и т.д.), Вы регистрируете его.
, Если у Вас есть больше чем один разработчик, работающий над Вашей кодовой базой, убедиться обновить регулярно, таким образом, Вы всегда работаете против недавней (объединенной) версии кода.
Я рекомендую Подверсия . Установка репозитория и использование его на самом деле довольно тривиальны, даже из командной строки. Вот то, как это пошло бы:
$ which svn
/usr/bin/svn
, который инструмент, который говорит Вам путь к другому инструменту. если это ничего не возвращает, что инструмент не установлен в Вашей системе
$ apt-get install subversion
склонный - добирается , инструмент, который устанавливает другие инструменты на Вашу систему
, Если это не правильное название подверсии в способном, попробуйте это
$ apt-cache search subversion
, или это
$ apt-cache search svn
Находит правильное имя пакета и устанавливает его с помощью [1 116] склонный - добираются, packagename
$ cd /path/to/directory/of/repositories
$ svnadmin create my_repository
, svnadmin создают reponame, создает новый репозиторий в существующем рабочем каталоге ( pwd) с именем reponame
, Вы официально сделаны, создав Ваш репозиторий
$ cd /repos/on/your/local/machine
$ svn co svn+ssh://www.myserver.com/path/to/directory/of/repositories/my_repository
, svn co является командой, которую Вы используете для проверки репозитория
$ 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] соединительная линия некоторое время и привыкнуть к Подверсии.
$ 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.
$ cd /repos/on/your/local/machine
$ svn status
, Который скажет Вам, если будут какие-либо новые файлы, и обновленные файлы и файлы с конфликтами (различия между Вашей локальной версией и версией на сервере), и т.д.
$ cd /repos/on/your/local/machine
$ svn up
, Обновление вытягивает любые новые изменения с сервера, который Вы уже не имеете
, svn действительно заботится о том, в каком каталоге Вы находитесь. Если Вы хотите обновить свой весь репозиторий, производитель, уверенный, что Вы находитесь в корневом каталоге репозитория (выше соединительной линии)
<час>, Это - все, что действительно необходимо знать для начала работы. Для получения дополнительной информации я рекомендую проверить Книга .
ПодверсииМожно сделать "контроль" к тому же каталогу, где Вы в настоящее время работаете так, чтобы не изменялся. В основном Ваш рабочий каталог не должен изменяться.
На самом деле, Ваши файлы, в то время как сохранено в исходном репозитории (хвастовство для другого места на Вашем жестком диске или жестком диске где-то в другом месте), может также существовать на Вашей локальной машине также, где они существуют теперь.
Так, все файлы, которые не проверяются, были бы отмечены как "только для чтения" при использовании VSS (не уверенный в SVN, CVS, и т.д.). Так, Вы могли все еще выполнить свой веб-сайт путем удара "F5", и он перезагрузит файлы, где они в настоящее время. Если Вы проверяете один и редактируете его, это становится НЕ только для чтения, и можно изменить его.
Невнимательный, веб-сервер, который Вы выполняете, загрузит файлы только для чтения/перезаписываемые тем же эффектом.
Это - дико открытый законченный вопрос, потому что то, как Вы используете SCM, зависит в большой степени, на котором SCM Вы выбираете. Распределенный SCM как мерзавец работает совершенно по-другому по сравнению с централизованным как Подверсия.
svn является путем, легче к обзору для "нового пользователя", но мерзавец может быть немного более мощным и улучшить Ваш рабочий процесс. Подверсия также имеет действительно большие документы и поддержку инструмента (как trac), и книга онлайн, которую необходимо прочитать:
Это покроет основы управления управлением исходным кодом, которое поможет Вам в некотором роде, неважно, какой SCM Вы в конечном счете выбираете, таким образом, я рекомендую просмотреть первые несколько глав.
редактирование: Позвольте мне указать , почему люди осуждают Вас, между прочим: SCM является больше, чем просто "резервное копирование Вашего кода". Наличие "timemachine" является ничем как SCM. С SCM можно возвратиться в истории изменений и видеть то, что Вы на самом деле изменили и когда, который является чем-то, которое Вы будете никогда , доберутся с блобами кода. Я уверен, что Вы спросили себя относительно больше чем одного случая: "как этот код добирался здесь?" или "Я думал, что исправил ту ошибку" - если Вы сделали, вот почему Вам нужен SCM.
При использовании Подверсии Вы проверяете свои файлы однажды . Затем каждый раз, когда Вы внесли большие изменения (или идут на ланч или безотносительно), Вы фиксация их к серверу. Тем путем можно сохранить старый поток операций путем нажатия F5, но каждый раз Вы фиксация Вы сохраняете копию всех файлов в их текущем состоянии в Вашем репозитории SVN.
Вот общий рабочий процесс, который Вы использовали бы с нецентрализованной системой управления исходным кодом как CVS или Подверсия: Сначала Вы импортируете свой текущий проект в так называемый репозиторий, имеющее версию устройство хранения данных всех Ваших файлов. Заботьтесь только для импорта сгенерированных рукой файлов (источник, файлы данных, make-файлы, файлы проекта). Сгенерированные файлы (объектные файлы, исполняемые файлы, генерировали документацию) не должны быть помещены в репозиторий.
Затем необходимо проверить рабочую копию. Поскольку имя подразумевает, это - то, где Вы сделаете все свои локальные редактирования, где Вы скомпилируете и где Вы укажете на свой тестовый сервер на. Это - в основном замена туда, где Вы работали в прежде. Только необходимо сделать эти шаги однажды на проект (хотя Вы могли проверить несколько рабочих копий, конечно.)
Это - основной цикл работы: Сначала Вы проверяете все изменения, внесенные в репозитории в Вашу локальную рабочую копию. При работе в команде это ввело бы любые изменения другие члены команды, сделанные начиная с последнего выезда. Затем Вы делаете свою работу. Когда Вы закончили с рядом работы, необходимо проверить текущую версию снова и разрешить возможные конфликты из-за изменений другими членами команды. (В дисциплинированной команде это обычно - не проблема.) Тест, и когда все работает как ожидалось, который Вы фиксируете (регистрируется) в Ваших изменениях. Затем можно продолжить работать, и после того как Вы закончили снова, выезд, конфликты твердости, и регистрируетесь снова. Обратите внимание на то, что необходимо только фиксировать изменения, которые были протестированы и работа. То, как часто Вы регистрируетесь, является вопросом вкуса, но в общем правиле говорится, что необходимо фиксировать изменения, по крайней мере, однажды в конце дня. Лично, я фиксирую свои изменения намного чаще, чем это, в основном каждый раз, когда я сделал ряд связанных изменений, которые проходят все тесты.
Большой вопрос. С управлением исходным кодом можно все еще сделать процесс обновления "F5". Но после каждого редактирования (или нескольких незначительных редактирований) Вы хотите регистрировать свой код, таким образом, Вам создали резервную копию копии.
В зависимости от системы управления исходным кодом, Вы не должны явно проверять файл каждый раз. Просто редактирование файла проверит его. Я записал визуальное руководство по управлению исходным кодом , который многие люди нашли полезными когда понимание основы.
У Eric Sink есть великое ряд сообщений на основах управления исходным кодом. Его компания (Sourcegear) делает инструмент управления исходным кодом под названием Хранилище, но практическое руководство является обычно симпатичным системным агностиком.
Это кажется, что Вы спрашиваете о том, как использовать управление исходным кодом для управления выпусками.
Вот некоторое общее руководство, это не характерно для веб-сайтов:
, Если у Вас есть малочисленная команда, стабильный продукт, быстрая сборка и эффективные, высококачественные тесты затем, этот весь процесс мог бы составить 100%, автоматизировал и мог произойти в минутах.
Я просто хочу добавить, что систему, что я думаю, было самым легким настроить и работать с, был Подвижны . Если Вы работаете одни, а не в команде Вы просто инициализируете его в своей нормальной папке работы и затем продолжаете оттуда. Нормальный поток должен отредактировать любой файл с помощью любимого редактора и затем к регистрации (фиксация). Я havn't судил МЕРЗАВЦА, но я принимаю это, очень похож. Монотонность была немного более тверда начать с. Это все распределенные системы управления исходным кодом.
Система управления исходным кодом обычно является местом хранения для Ваших файлов и их истории, и обычно отделяйтесь из файлов, Вы в настоящее время продолжаете работать. Это зависит немного от типа системы управления версиями, но предположите использование чего-то подобного CVS (как подверсия), затем все файлы будут жить в два (или больше) места. У Вас есть файлы в Вашем локальном каталоге, так называемой "рабочей копии" и один в репозитории, который может быть расположен в другой локальной папке, или на другой машине, обычно получал доступ по сети. Обычно, после первого импорта Ваших файлов в репозиторий Вы проверяете их под рабочей папкой, где Вы продолжаете работать над ними. Я предполагаю, что это было бы папкой, где Ваши файлы PHP теперь живут.
Теперь, что происходит при проверке копии и Вы внесли некоторые нетривиальные изменения, которые Вы хотите "сохранить"? Вы просто фиксируете те изменения в своей рабочей копии к системе управления версиями. Теперь у Вас есть история Ваших изменений. Если Вы в любой точке хотите вернуться к версии, в которой Вы фиксировали те изменения, затем можно просто вернуться рабочая копия к более старому пересмотру (имя, данное набору изменений, которые Вы фиксируете сразу).
Примечание, что это - все очень CVS/SVN-specific как МЕРЗАВЕЦ, работало бы немного отличающееся. Я рекомендовал бы запуститься с подверсии и прочитать первые несколько глав очень превосходного Книга SVN для запущения Вас.
Это все очень субъективно в зависимости от решение для управления исходным кодом, которое Вы решаете использовать. Тем, который Вы определенно захотите изучить, является Подверсия.
Вы упомянули выполнение PHP но Вы делаете его в среде Linux или Windows? Не действительно важно, но что я обычно делал, когда я работал в среде PHP, должен был иметь производственное ответвление и ответвление разработки. Это позволило мне настраивать задание крона (запланированная задача в Windows) для того, чтобы автоматически вытянуть от готового к производству ответвления для рабочего сервера при получении по запросу от ответвления разработки для моего dev сервера.
, После того как Вы выбираете инструмент, необходимо действительно провести некоторое время, учась, как он работает. Понятие регистрации и проверки не относится ко всем решениям для управления исходным кодом, например. Так или иначе я настоятельно рекомендовал бы, чтобы Вы выбрали тот, который разрешает переходить. Эта статья пробегается через великое (по-моему), модель управления исходным кодом для следования в продуктивной среде.
, Конечно, я заявляю все это не "чинившее" в течение многих лет. Я делал профессиональную разработку в течение некоторого времени, и мои методы могли бы быть излишеством для кого-то в Вашем положении. Не сказать, что существует что-то не так с этим, как бы то ни было.
В зависимости от системы управления исходным кодом 'контроль' может означать разные вещи. В мире SVN это просто означает получать (могло быть обновление, мог быть новый файл), последняя копия с репозитория. В безопасном от источника мире, который обычно означает обновлять существующий файл и блокировать его. текст ниже использует значение SVN:
Используя PHP, что Вы хотите сделать, контроль Ваш весь проект/сайт к рабочей папке на тестовом апачском сайте. Необходимо открыть репозиторий, таким образом, это может произойти с единственным контролем, включая любые необходимые sub папки. Вы контроль Ваш проект установить это одно время .
Теперь можно внести изменения и поразить F5 для обновления как нормальные. Когда Вы довольны рядом изменений для поддержки конкретной фиксации или функции, Вы можете фиксация в как единица (с соответствующими комментариями, конечно). Это помещает последнюю версию в репозиторий.
Проверка/фиксирующий один файл за один раз был бы стычкой.