{
    "componentChunkName": "component---src-templates-docs-js",
    "path": "/vecka5-versionshantering/versionshantering",
    "result": {"data":{"site":{"siteMetadata":{"title":"Linnéuniversitetet","language":"sv","courseCode":"1DV613"}},"mdx":{"fields":{"id":"36450c87-fb6e-5a9d-b790-5a2010b1b9c9","title":"Versionshantering","slug":"/vecka5-versionshantering/versionshantering"},"body":"var _excluded = [\"components\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\n/* @jsxRuntime classic */\n\n/* @jsx mdx */\nvar _frontmatter = {\n  \"title\": \"Versionshantering\",\n  \"metaTitle\": \"1DV613 | Versionshantering\",\n  \"metaDescription\": \"metaDescription\",\n  \"order\": 2\n};\nvar layoutProps = {\n  _frontmatter: _frontmatter\n};\nvar MDXLayout = \"wrapper\";\nreturn function MDXContent(_ref) {\n  var components = _ref.components,\n      props = _objectWithoutProperties(_ref, _excluded);\n\n  return mdx(MDXLayout, _extends({}, layoutProps, props, {\n    components: components,\n    mdxType: \"MDXLayout\"\n  }), mdx(\"p\", null, \"Ditt projekt (kod och annan implementation och dokumentation) skall i denna kurs versionshanteras p\\xE5 \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"https://gitlab.lnu.se\"\n  }, \"GitLab\"), \".\"), mdx(\"p\", null, \"Du kommer att bli tilldelad ett projekt i b\\xF6rjan av kursen. Du, kursledningen och din grupp kommer att kunna se detta projekt.\"), mdx(\"h3\", null, \"Vad ska versionshanteras?\"), mdx(\"p\", null, \"Det korta svaret \\xE4r ALLT du sj\\xE4lv producerar! Ett lite l\\xE4ngre svar \\xE4r: alla filer som du sj\\xE4lv editerar manuellt eller som beh\\xF6vs f\\xF6r att kunna leverera systemet.\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Dokument som t.ex. projektplan, iterationsplan, risklista, kravspec, etc. etc. Detta versionshanteras via wikin som h\\xF6r till ditt GitLab-repo.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Implementation som k\\xE4llkod och grafik som t.ex. asp, php, psd filer.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Inneh\\xE5ll till systemet som t.ex. bilder i orginalutf\\xF6rande som beh\\xF6vs (.psd filer).\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Manuellt genererat inneh\\xE5ll som t.ex. bilder som beh\\xF6vs fast i leveransformat (.jpg, .gif, .png) Projekt/IDE-specifika filer som kan underl\\xE4tta arbetet.\")), mdx(\"h3\", null, \"Vad ska inte versionshanteras?\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"API-nycklar, l\\xF6senord etc.: Dock s\\xE5 h\\xE4nder detta hela tiden. Var noga med att skilja dina nycklar/l\\xF6senord fr\\xE5n din kod genom t.ex. \\\"milj\\xF6variabler\\\".\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Externa bibliotek. Om din milj\\xF6 \\xE4r beroende av externa bibliotek etc., s\\xE5 b\\xF6r dessa inte versionshanteras utan detta l\\xE4mnar vi till de som underh\\xE5ller den koden att sk\\xF6ta. Exempel p\\xE5 detta \\xE4r jQuery, npm-bibliotek, ruby-gems etc.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Din byggda kod. Detta kan diskuteras. Det kan finnas vissa tillf\\xE4llen d\\xE5 det \\xE4r bra att \\xE4ven minifierad/\\\"uglyfied\\\"-kod kan vara bra att ha i versionshanteringen tillsammans med en fullt k\\xF6rbar version av din kod.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Versionshanteringen ska hj\\xE4lpa projektdeltagarna att vara up to date med projektdokumentationen, kunna arbeta p\\xE5 systemet, samt att kunna leverera systemet snabbt och enkelt.\")), mdx(\"p\", null, \"Du ska allts\\xE5 undvika att versionshantera s\\xE5dant som genereras automatiskt, t.ex. av en kompilator d\\xE5 frekventa \\xE4ndringar av denna typ av filer ofta skapar konflikter mellan olika versioner. Det g\\xE4ller att k\\xE4nna till sin utvecklingsmilj\\xF6 s\\xE5 bra som m\\xF6jligt. Se till att direkt l\\xE4gga in en .gitignore-fil och hela tiden anv\\xE4nda git status f\\xF6r att s\\xE4kerst\\xE4lla att du inte l\\xE4gger till kod till versionshanteringen som inte ska vara d\\xE4r. En bra regel kan vara att alltid l\\xE4gga till alla filer explicit med \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"git add {FILENAME}\"), \" och undvika \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"git add -A\"), \" eller \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"git add .\"), \".\"));\n}\n;\nMDXContent.isMDXComponent = true;","tableOfContents":{"items":[{"url":"#vad-ska-versionshanteras","title":"Vad ska versionshanteras?"},{"url":"#vad-ska-inte-versionshanteras","title":"Vad ska inte versionshanteras?"}]},"parent":{"relativePath":"vecka5-versionshantering/versionshantering.md"},"frontmatter":{"metaTitle":"1DV613 | Versionshantering","metaDescription":"metaDescription","fullWidth":null}},"allMdx":{"edges":[{"node":{"fields":{"slug":"/","title":"🎉 Välkommen till Mjukvaruutvecklingsprojekt (1DV613)"}}},{"node":{"fields":{"slug":"/video-loggar","title":"Videologgar"}}},{"node":{"fields":{"slug":"/studieguiden","title":"Studieguiden"}}},{"node":{"fields":{"slug":"/studieguiden/kommunikationsstrategi","title":"Kommunikationsstrategi"}}},{"node":{"fields":{"slug":"/studieguiden/kursledning","title":"Kursledning"}}},{"node":{"fields":{"slug":"/studieguiden/kursplan","title":"Kursplan och betyg"}}},{"node":{"fields":{"slug":"/studieguiden/litteratur","title":"Kurslitteratur"}}},{"node":{"fields":{"slug":"/studieguiden/schema","title":"Schema och deadlines"}}},{"node":{"fields":{"slug":"/studieguiden/studieanvisningar","title":"Studieanvisningar"}}},{"node":{"fields":{"slug":"/studieguiden/utvarderingar","title":"Kursvärderingar"}}},{"node":{"fields":{"slug":"/vecka1-2-planering-vision/dokumentation","title":"Dokumentation"}}},{"node":{"fields":{"slug":"/vecka1-2-planering-vision","title":"Vecka 1/2 - Planering och vision"}}},{"node":{"fields":{"slug":"/vecka1-2-planering-vision/todo","title":"📅 Att göra-lista"}}},{"node":{"fields":{"slug":"/vecka1-2-planering-vision/vision","title":"Projektvision"}}},{"node":{"fields":{"slug":"/vecka10-etik","title":"Vecka 10 - Etik & överlämning"}}},{"node":{"fields":{"slug":"/vecka10-etik/todo","title":"Att göra lista"}}},{"node":{"fields":{"slug":"/vecka3-krav-test/arbeta-i-projekt","title":"Att arbeta i projekt"}}},{"node":{"fields":{"slug":"/vecka3-krav-test","title":"Vecka 3 - Krav och testning"}}},{"node":{"fields":{"slug":"/vecka3-krav-test/testning","title":"Testning"}}},{"node":{"fields":{"slug":"/vecka3-krav-test/todo","title":"Att göra lista"}}},{"node":{"fields":{"slug":"/vecka3-krav-test/vecka3-krav-test","title":"Kravhantering"}}},{"node":{"fields":{"slug":"/vecka4-implementation/arkitektur","title":"Introduktion till mjukvaruarkitektur"}}},{"node":{"fields":{"slug":"/vecka4-implementation/docker-teori","title":"Introduktion till containers"}}},{"node":{"fields":{"slug":"/vecka4-implementation","title":"Vecka 4 - Implementation"}}},{"node":{"fields":{"slug":"/vecka4-implementation/just-task-it-docker","title":"Introduktion till Docker"}}},{"node":{"fields":{"slug":"/vecka4-implementation/todo","title":"Att göra lista"}}},{"node":{"fields":{"slug":"/vecka5-versionshantering","title":"Vecka 5 - Versionshantering"}}},{"node":{"fields":{"slug":"/vecka5-versionshantering/jobba-med-git","title":"Jobba med Git"}}},{"node":{"fields":{"slug":"/vecka5-versionshantering/todo","title":"Att göra lista"}}},{"node":{"fields":{"slug":"/vecka5-versionshantering/versionshantering","title":"Versionshantering"}}},{"node":{"fields":{"slug":"/vecka6-drift/docker-compose-teori","title":"Introduktion till Docker compose"}}},{"node":{"fields":{"slug":"/vecka6-drift","title":"Vecka 6 - Driftsättning"}}},{"node":{"fields":{"slug":"/vecka6-drift/just-task-it-docker-compose","title":"JTI - Docker Compose"}}},{"node":{"fields":{"slug":"/vecka6-drift/just-task-it-production","title":"JTI - Production"}}},{"node":{"fields":{"slug":"/vecka6-drift/todo","title":"Att göra lista"}}},{"node":{"fields":{"slug":"/vecka7-ci-cd/ci-cd","title":"CI/CD"}}},{"node":{"fields":{"slug":"/vecka7-ci-cd","title":"Vecka 7 - CI/CD"}}},{"node":{"fields":{"slug":"/vecka7-ci-cd/just-task-it-deploy-pipeline","title":"JTI - Deploy through a pipeline"}}},{"node":{"fields":{"slug":"/vecka7-ci-cd/todo","title":"Att göra lista"}}},{"node":{"fields":{"slug":"/vecka8-automatiska-test/automatiska-tester","title":"Automatiserad testning"}}},{"node":{"fields":{"slug":"/vecka8-automatiska-test","title":"Vecka 8 - Automatiserad testning"}}},{"node":{"fields":{"slug":"/vecka8-automatiska-test/todo","title":"Att göra lista"}}},{"node":{"fields":{"slug":"/vecka1-2-planering-vision/extern-updragsgivare","title":"Extern uppdragsgivare"}}},{"node":{"fields":{"slug":"/vecka9-leverans","title":"Vecka 9 - Slutleverans"}}},{"node":{"fields":{"slug":"/vecka1-2-planering-vision/extern-updragsgivare/extern-uppdragsgivare-samverkan","title":"Samverkansinformation: studentprojekt med extern uppdragsgivare"}}},{"node":{"fields":{"slug":"/vecka9-leverans/todo","title":"Att göra lista"}}},{"node":{"fields":{"slug":"/vecka1-2-planering-vision/extern-updragsgivare/vagledning","title":"Vägledning för arbete med extern uppdragsgivare"}}}]}},"pageContext":{"id":"36450c87-fb6e-5a9d-b790-5a2010b1b9c9"}},
    "staticQueryHashes": ["253607798","3706406642","710574383"]}