Github Tutorials ? Verständliche erklärungen wie was funktioniert ?

Es gibt 25 Antworten in diesem Thema. Der letzte Beitrag () ist von thefiloe.

    Github Tutorials ? Verständliche erklärungen wie was funktioniert ?

    Moinsen,

    ich möchte mich gerne mehr in den OpenSource Bereich bewegen und dabei Github verwenden.
    Nun gut ich habe aber leider "0" ahnung davon.

    Gibt es verständliche Tutorials die ihr empfehlen könnt für Github mit VS 2015 ?
    Hab da zwar jetzt das Github Addon da installiert aber irgendwie kommt da nur Käse raus beim testen.

    Ich danke schonmal für alle antworten.

    mfg
    Grüße , xChRoNiKx

    Nützliche Links:
    Visual Studio Empfohlene Einstellungen | Try-Catch heißes Eisen
    Und wie geht die Backup-Funktion?

    Also angenommen ich hab im aktuellen Projekt was verdaddelt, und läuft garnet mehr.
    Da möchte ich eine frühere Version, die noch lief, in einem 2. VisualStudio öffnen, und vergleichen und untersuchen, warums vorher ging, und jetzt nicht mehr.
    Und ich will Code-Passagen aus der älteren Version ins aktuelle einkopieren, oder auch ganze Dateien, die ich vlt. voreilig gelöscht hatte.

    Wie kriegt man mit TFS das hin, dass man das aktuelle mit früheren Versionen vergleichen kann?
    @ErfinderDesRades
    TFS =/= Git!!!

    Ich gebe doch mal eine Antwort auf die Frage bezogen auf Git:
    Bei Git(Hub) kannste einfach einen Commit "reverten" oder auch alle früheren Versionen (& die Änderungen ala Diff) einer Datei ansehen.
    da verdaddelt sichs.

    Also ich hab eine Solution in C:\Users\Admin\Source\Repos\NewRepo angelegt, und committed, dann eine Klasse zugefügt und committed, dann noch eine zugefügt und committed - habe also 3 commits.

    nu reverte ich den 2. Commit, und kriege Compiler-Fehler: Unable to open module file 'C:\Users\Admin\Source\Repos\NewRepo\TfsTester\TfsTester\Class1.vb': Das System kann die angegebene Datei nicht finden. C:\Users\Admin\Source\Repos\NewRepo\TfsTester\TfsTester\Class1.vb 1 1 TfsTester

    Also scheints hatter Class1 wieder verschwinden lassen, aber den vbProj-Eintrag wohl drin gelassen, sodass der jetzt hängt. Auch hat er Class2 drin gelassen, die vom 3. Commit.

    Also was bedeutet "Revert" - macht das einen Commit rückgängig, belässt aber die folgenden Commits unangetastet?
    Das wäre ja als Backup-Restore unbrauchbar, weil produziert einen völlig inkonsistenten Zustand.

    ErfinderDesRades schrieb:

    Also angenommen ich hab im aktuellen Projekt was verdaddelt, und läuft garnet mehr.
    Da möchte ich eine frühere Version, die noch lief, in einem 2. VisualStudio öffnen, und vergleichen und untersuchen, warums vorher ging, und jetzt nicht mehr.
    Dafür hat man git bisect erfunden. Vorausgesetzt natürlich, man commited vernünftig. Man definiert einen Commit, zu dem der Bug noch nicht da war und einen, wo er da war. Dann legt man los und git checkt nach dem Muster einer Binärsuche die Commits dazwischen aus. Für die Commits testet man jeweils, ob der Fehler da ist. Wenn man das lange genug macht, findet man (in O(logn)) den Commit, der den Bug mitgebracht hat.
    git-scm.com/docs/git-bisect
    Man sollte immer eine vernünftige gitignore haben, da man sich sonst unnötig viele Konflikte reinbringt.


    Generell ist es wichtig, den Unterschied zwischen Git und Github zu kennen. Github ist nur eine Plattform, die Git-Repos anbietet und mit ihnen arbeitet. Es ist deshalb viel wichtiger, Git an sich zu können.
    Von meinem iPhone gesendet

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „nikeee13“ ()

    ichduersie schrieb:

    Von @VincentTB:


    Danke dafür das hat mir schon seeehr geholfen.
    Jetzt kann ich schonmal aus VS raus das ganze handlen und was neues hochladen usw.

    Gibt es da noch Tutorials die weiter in die Materie gehen? ODer villt eine gute Doku?
    Grüße , xChRoNiKx

    Nützliche Links:
    Visual Studio Empfohlene Einstellungen | Try-Catch heißes Eisen
    Für das Tutorial auf GitHub brauch man afair keinen Account. Und git selbst ist ein dezentrales System und GitHub ist nur ein Anbieter von vielen, da gibt es z.B. noch GitLab und Bitbucket. Aber ich setzte git oft genug auch nur lokal ein, wenn ich einfach nur eine History brauche und keinen Bedarf habe das zu veröffentlichen oder über mehrere Systeme hinweg daran zu arbeiten. git alleine benötigt nämlich keinen Server.
    also ich hab jetzt bisserl ins deutsche Buch reingeguckt - verstehe ich das richtig, dass man da mit Kommandozeilen-Befehlen irgendwas zurechtprogrammieren muss?

    Also meine Erwartung war eigentlich, im Team-Explorer geeignete Buttons zu finden.
    Für Commits hab ich die Buttons ja gefunden - aber zum Checkout gibts keine?
    Ja - also wenn mir nicht noch jmd. ein Licht aufgehen lässt, dann gewinne ich den Eindruck, dass das Team-Foundation-Dingens im Visualstudio einfach meine Bedürfnisse nicht trifft.
    Ich will ein schnelles Backup machen können, das geht ja mit Commit - (nur dass immer eine Commit-Message erzwungen wird, nervt bisserl).
    Aber ebenso schnell möchte ich aus einem Backup auch wieder ein neues Projekt generieren können.

    Derzeit löse ich das mit einem selbstgebastelten Zipper. Wenn ich da "Backup" klickse, analysiert der die vbProj- und csProj-Dateien aller Projekte der Solution, findet so sämtliche eingebundene Dateien, kopiert die ins "Backzip"-Directory der Solution und zippt den Kram dann.
    Entpacken geht ja mit Explorer-KontextMenu, und flupps! - habe ich meine ältere Version lauffähig restauriert.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „ErfinderDesRades“ ()

    ErfinderDesRades schrieb:

    Ja - also wenn mir nicht noch jmd. ein Licht aufgehen lässt, dann gewinne ich den Eindruck, dass das Team-Foundation-Dingens im Visualstudio einfach meine Bedürfnisse nicht trifft.

    Oh Gott zum 10. mal.
    TFS = Teamfoundation Server UND DAS IST NICHT git.

    git ist auch nicht github sondern github ist eine Platform die git anbietet samt den ganzen zusatzfeatures wie issues,...

    git kannste in jedem Verzeichnis mit
    git init machen. Mehr brauchst du nicht. Keinen Server kein github, keinen account. Git ist commandline-basiert. Es gibt aber auch jede Menge Clients mit denen du klicki bunti machen kannst. Aber den vollen Funktionsumfang haste damit nur selten, denn git ist einfach unfassbar umfangreich mit extrem vielen zusatzflags/optionen für haufenweise Befehle. Aber das Basis-Zeug kann jeder git client.

    Git funktioniert so, dass es einen Ist-Stand nimmt und dann immer die Änderungen speichert. Das heißt die aktuelle Version ergibt sich aus der ersten Version und der Summe aller Änderungen, von allen Commits.
    Wenn du eine bestimmte Version willst, so kannst du einfach eine Version mit ihrer Nummer auschecken. Du kannst auch parallel mit Branches etc. arbeiten.
    Aber wie wärs, wenn du dir einfach mal nen Buch schnappst, irgend nen Artikel ausgräbst, nen Blog liest,... what ever und dir das anschaust. Keiner wird dir hier alles über git beibringen können, da hier wahrscheinlich so oder so keiner den vollen Durchblick über den gesamten Funktionsumfang hat. Braucht man auch nicht.

    Und nein, dein Backup Dingens ist nicht praktischer/mächtiger/...


    Opensource Audio-Bibliothek auf github: KLICK, im Showroom oder auf NuGet.
    @ErfinderDesRades Man darf jetzt nicht alles durcheinander mischen.
    Team Foundation ist Microsoft. Kann man selbst hosten (auch als kostenlose Express) oder Visual Studio Online nehmen
    git ist eine freie Versionsverwaltung von Linus Torvalds. Darauf setzen die bereits erwähnten Github, gitLab und Bitbucket auf. Dazu noch einige weitere.

    Beide können, richtige Visual Studio Version vorausgesetzt, mit dem Team Explorer im VS bedient werden. Ob das vor allem bei git so komfortabel ist, sei mal dahin gestellt.
    Dazu gibt es aber Clients wie SourceTree, wenn man nicht die git-bash nutzen will.

    Ich denke jeder der nur halbwegs Nachverfolgen wil was er geändert hat, sollte eine Versionverwaltung nutzen.

    git(hub/lab/bitbucket) und TFS bieten dazu auch direkt an die Anforderungen / Requests zu verwalten. Wenn mehr als einer am Projekt arbeitet kommt man eh nicht drum rum.
    Die deutsche Sprache ist Freeware, du kannst sie benutzen, ohne dafür zu bezahlen. Sie ist aber nicht Open Source, also darfst du sie nicht verändern, wie es dir gerade passt.
    @thefiloe: hat glaub auch niemand gesagt, dass TFS Git sei.
    Was hingegen gesagt wurde:

    MrTrebron schrieb:

    ... und Visual Studio ab 2013 bringt git in den Team Explorer

    Solaris schrieb:

    Wobei die Git Integration in Visual Studio 2013 ein bisschen feature-arm ist.


    Und alles womit ich mich hier beschäftige, ist, ob ich hinkriege, den TFS als Backup-Tool nutzbar zu kriegen.

    Und mein Backup-Dingens ist sicher nicht mächtiger, aber immerhin praktischer, zumindest insofern, dass man keine umfangreichen Recherchen durchführen muss, damit es tut, was ich benötige (restaurierbares Backup erstellen).

    Aber wo wir dabei sind, so genau zu werden: Was ist Git denn nu? Ists ein Standard, der von verschiedenen Softwares (Github, TFS) erfüllt wird?
    Ists ein Dienst in Windows? ein Windows-System-Tool, wie RoboCopy.exe oder xsd.exe?
    Jo, letzteres nehme ich nu an, weil du sagst, um "git init" zu machen (was immer das bedeutet) brauche man überhaupt nichts weiter.