{"action":"opened","issue":{"url":"https://api.github.com/repos/CarinaAllmann/UE_02_Carina/issues/1","labels_url":"https://api.github.com/repos/CarinaAllmann/UE_02_Carina/issues/1/labels{/name}","comments_url":"https://api.github.com/repos/CarinaAllmann/UE_02_Carina/issues/1/comments","events_url":"https://api.github.com/repos/CarinaAllmann/UE_02_Carina/issues/1/events","html_url":"https://github.com/CarinaAllmann/UE_02_Carina/issues/1","id":71844607,"number":1,"title":"Aufgabe 1","user":{"login":"CarinaAllmann","id":12151272,"avatar_url":"https://avatars.githubusercontent.com/u/12151272?v=3","gravatar_id":"","url":"https://api.github.com/users/CarinaAllmann","html_url":"https://github.com/CarinaAllmann","followers_url":"https://api.github.com/users/CarinaAllmann/followers","following_url":"https://api.github.com/users/CarinaAllmann/following{/other_user}","gists_url":"https://api.github.com/users/CarinaAllmann/gists{/gist_id}","starred_url":"https://api.github.com/users/CarinaAllmann/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/CarinaAllmann/subscriptions","organizations_url":"https://api.github.com/users/CarinaAllmann/orgs","repos_url":"https://api.github.com/users/CarinaAllmann/repos","events_url":"https://api.github.com/users/CarinaAllmann/events{/privacy}","received_events_url":"https://api.github.com/users/CarinaAllmann/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2015-04-29T11:00:15Z","updated_at":"2015-04-29T11:00:15Z","closed_at":null,"body":"Aufgabe 1\r\nSubversion\r\nHochladen von Code in das Repository\r\nSubversion hat ein zentrales Repository und viele Arbeitskopien des jeweils neuesten Stands.Für jeden Commit, jeden Merge und jedes Log wird eine Verbindung zum Server benötigt.\r\n\r\nHerunterladen von Code aus dem Repository\r\nSubersions Arbeitskopien sichern nur den jeweils allerneuesten Stand, es werden immer nur die Unterschiede von zwei Versionen festgehalten.\r\n\r\nKonfliktbehebung bei Änderungen von gleichen Daten\r\nEs gibt File Locks, damit kann nur eine Person Änderungen auf dem Pfad vornehmen -> Doppelarbeit wird vermieden! Erst wenn dieser Lock wieder freigegeben wird, kann jemand anders einen Lock anfordern und die Datei bearbeiten\r\n\r\nGIT\r\nHochladen von Code in das Repository\r\nGit Arbeitskopien sind vollständige Repositories. Git kann problemlos ohne bestimmte Zentrale, also peer-to-peer verwendet werden.\r\nAuch ohne dauernde Netzwerkverbindung sind alle GIT Features verfügbar. Git betrachtet den gesamten Pfadbaum als Einheit und die Historie ist für Git nichts weiter als eine Sammlung von Schnappschüssen zu verschiedenen Zeitpunkten.\r\n\r\nHerunterladen von Code aus dem Repository\r\nJede erstellte Arbeitskopie bildet eine exakte Kopie der gesamten Historie (Clone).\r\nFällt das „Haupt-Repository“ aus können Mitarbeiter nahtlos ein andere Arbeitskopie zum neuen „Haupt-Repository“ machen.\r\n\r\nKonfliktbehebung bei Änderungen von gleichen Daten\r\nMERGE- KONFLIKT – Wenn so ein Fehler auftritt, schreibt Git in eine Textdatei, die beide Inhalte von beiden Versionen enthält, bei denen der Konflikt aufgetreten ist. Um den Merge dennoch zu vervollständigen muss man diese Datei in einem Texteditor öffnen (beide Änderungen werden hier angezeigt), und mithilfe von conflict markers erkennt man wo der Konflikt begonnen hat und wo er endet.\r\nNun kann man einfach die gewünschte Version des Codes in die Datei schreiben, löscht die conflict markers und lädt die Datei mit git add und einem neuen commit + neuer commit message hinauf.\r\nQuellen:\r\nhttp://www.elegosoft.com/files/Downloads/Publications/artikel_Git-vs-Subversion.pdf"}}