prog:git_server
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende ÜberarbeitungNächste ÜberarbeitungBeide Seiten der Revision | ||
prog:git_server [2018/07/18 15:54] – [gitlab] gpipperr | prog:git_server [2020/06/05 23:12] – [Distributed version control mit Git] gpipperr | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | =====Distributed version control mit Git===== | ||
+ | Git ist ein open source distributed version control system => http:// | ||
+ | |||
+ | |||
+ | Als erstes sollte man sich Gedanken darüber machen wie die Struktur der Versionierung aufgebaut werden soll. | ||
+ | |||
+ | Siehe dazu diesen Vorschlag: => http:// | ||
+ | |||
+ | |||
+ | Sind MS tools im Einsatz und es soll migriert werden | ||
+ | |||
+ | |||
+ | Wo zu kann Git noch eingesetzt werden => [[prod: | ||
+ | |||
+ | |||
+ | ---- | ||
+ | |||
+ | ===== Git Client Installieren ===== | ||
+ | |||
+ | ====Installation und Upgrade Git 2.5 auf Oracle Linux 7 ==== | ||
+ | **User root** | ||
+ | |||
+ | Wird per "yum install git" (Oracle Linux Server release 7.1) das Package " | ||
+ | |||
+ | <code bash> | ||
+ | #Install | ||
+ | yum install git | ||
+ | |||
+ | #Show version | ||
+ | git version | ||
+ | git version 1.8.3.1 | ||
+ | </ | ||
+ | |||
+ | Soll die aktuellste Version eingesetzt werden, kann nun per git Kommando der letzte Stand geladen und git neu übersetzt werden. | ||
+ | |||
+ | Vorbereitung: | ||
+ | <code bash> | ||
+ | |||
+ | #Make utils | ||
+ | yum install autoconf | ||
+ | |||
+ | #Perl libraries | ||
+ | yum install perl-CPAN | ||
+ | |||
+ | |||
+ | #install base packages | ||
+ | yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel | ||
+ | |||
+ | ######################## | ||
+ | #install package for the document feature usage | ||
+ | |||
+ | yum install xmlto | ||
+ | |||
+ | |||
+ | #install docbook2x | ||
+ | |||
+ | # search a rpm over http:// | ||
+ | #wget ftp:// | ||
+ | #yum install docbook2X-0.8.8-17.el7.x86_64.rpm | ||
+ | |||
+ | #besser Source Code von http:// | ||
+ | #Zuvor Datei configure.ac von http:// | ||
+ | |||
+ | tar xvfz docbook2X-0.8.8.tar.gz | ||
+ | cd docbook2X-0.8.8/ | ||
+ | |||
+ | wget -O configure.ac | ||
+ | |||
+ | ./configure | ||
+ | make | ||
+ | make install | ||
+ | |||
+ | |||
+ | #install asciidoc | ||
+ | # see http:// | ||
+ | # Download the zip file with a browser | ||
+ | # not working wget -O asciidoc-8.6.9.zip http:// | ||
+ | |||
+ | unzip asciidoc-8.6.9.zip | ||
+ | cd asciidoc-8.6.9/ | ||
+ | ./configure | ||
+ | make install | ||
+ | |||
+ | </ | ||
+ | |||
+ | Git Source laden und neu übersetzen: | ||
+ | <code bash> | ||
+ | |||
+ | cd /srv | ||
+ | |||
+ | #git source repository laden | ||
+ | git clone https:// | ||
+ | |||
+ | |||
+ | |||
+ | cd /srv/git | ||
+ | |||
+ | ######################### | ||
+ | #Create configure script | ||
+ | |||
+ | make configure | ||
+ | |||
+ | ./configure --prefix=/ | ||
+ | |||
+ | ######################### | ||
+ | #Compile git core and install | ||
+ | make all | ||
+ | make install | ||
+ | |||
+ | |||
+ | |||
+ | #test the version | ||
+ | git --version | ||
+ | git version 2.5.0.342.g44e0223 | ||
+ | |||
+ | |||
+ | |||
+ | ######################### | ||
+ | # Create the git documentation | ||
+ | make doc | ||
+ | make install-doc install-html | ||
+ | |||
+ | make info | ||
+ | # Problems with /bin/sh: line 1: docbook2x-texi: | ||
+ | # docbook2x-texi not availible for my platform ... hmmmm | ||
+ | |||
+ | ln -s / | ||
+ | |||
+ | #better but | ||
+ | make info | ||
+ | |||
+ | #make[2]: Leaving directory `/ | ||
+ | # DB2TEXI user-manual.texi | ||
+ | #I/O error : Attempt to load network entity http:// | ||
+ | # not realy working ... | ||
+ | # may be this bug http:// | ||
+ | # load the configure.ac from http:// | ||
+ | # copy file to the source directory and recompile/ | ||
+ | |||
+ | make install-info | ||
+ | |||
+ | </ | ||
+ | |||
+ | Leider ist mir das Übersetzen der Dokumentation am Anfang nur in Teilen gelungen, das Programm | ||
+ | |||
+ | == Quellen == | ||
+ | |||
+ | * https:// | ||
+ | |||
+ | |||
+ | ---- | ||
+ | |||
+ | ==== Git 2.5 unter Windows 10 ==== | ||
+ | |||
+ | Download der Git Software über https:// | ||
+ | |||
+ | Die Datei (Stand 08.2015) Git-2.5.0-64-bit.exe für die Installation starten: | ||
+ | |||
+ | * Welcome to the Git Setup Wizard - Next | ||
+ | * Legal information - Next | ||
+ | * Verzeichnis auswählen- | ||
+ | * Componenten auswählen - alles Default | ||
+ | * {{: | ||
+ | * Selct Start Menu Folder - alles Default - git - Next | ||
+ | * Adjust your PATH enviroment - alles Default | ||
+ | * {{: | ||
+ | * SSH executable auswählen - Option 1 "Use OpenSSH" | ||
+ | * Configure line ending conversion - Da mein persönlicher Default Linux ist, Option 2 gewählt, für mehr Windows lastige Projekte ist Option 1 wohl besser - | ||
+ | * {{: | ||
+ | * Terminal emulator - Default - Use MinTTY - Next | ||
+ | * Performance Tweaks - Nichts angewählt - Default - Next | ||
+ | * Installation läuft | ||
+ | * Finsh | ||
+ | |||
+ | Die Installation benötigt am Ende ~367 MB da auch ein kompletter kleiner [[http:// | ||
+ | |||
+ | Nach der Installation kann im gewünschten Verzeichnis eine Bash Shell über das Kontext Menü im Explorer gestartet werden. | ||
+ | {{ : | ||
+ | In der Bash Shell kann wie unter Linux gewohnt gearbeitet werden. | ||
+ | |||
+ | |||
+ | |||
+ | ==== Alternative Git Oberflächen unter MS Windows ==== | ||
+ | |||
+ | Oberflächen für das Arbeiten mit Git unter Windows | ||
+ | |||
+ | SoucreTree | ||
+ | * https:// | ||
+ | |||
+ | Git-Client Tower | ||
+ | * https:// | ||
+ | |||
+ | |||
+ | Git Hub for Windows | ||
+ | * https:// | ||
+ | * Als Editor Atom verwenden https:// | ||
+ | |||
+ | |||
+ | ---- | ||
+ | ==== Scripten unter MS Windows ==== | ||
+ | |||
+ | Alles einchecken | ||
+ | <code dos> | ||
+ | |||
+ | cd < | ||
+ | cd < | ||
+ | |||
+ | set GIT_HOME=C: | ||
+ | |||
+ | " | ||
+ | " | ||
+ | " | ||
+ | | ||
+ | </ | ||
+ | |||
+ | |||
+ | Bzw. in der Powershell | ||
+ | <code powershell> | ||
+ | set-item -path env: | ||
+ | $datum = Get-Date | ||
+ | |||
+ | |||
+ | & " | ||
+ | & " | ||
+ | & " | ||
+ | |||
+ | </ | ||
+ | |||
+ | |||
+ | Alles auschecken: | ||
+ | <code dos> | ||
+ | cd < | ||
+ | cd < | ||
+ | |||
+ | set GIT_HOME=C: | ||
+ | |||
+ | " | ||
+ | </ | ||
+ | ---- | ||
+ | |||
+ | ==== Git Client Konfiguration ==== | ||
+ | |||
+ | |||
+ | Nach der Installation (unabhängig ob Linux oder Windows) muss git konfiguriert werden. | ||
+ | |||
+ | Unter Linux: | ||
+ | |||
+ | Globale Einstellungen lassen sich unter "/ | ||
+ | |||
+ | Unter Windows: | ||
+ | |||
+ | Die Bash Emulatoin verwendt als User Home den Windows Pfad (C: | ||
+ | |||
+ | |||
+ | Globale Konfiguration erfolgt mit "git --system", | ||
+ | <code bash> | ||
+ | git config --system core.editor vi | ||
+ | git config --system color.ui true | ||
+ | |||
+ | </ | ||
+ | |||
+ | User Konfiguration: | ||
+ | |||
+ | <code bash> | ||
+ | git config --global user.name " | ||
+ | git config --global user.email "info @ pipperr.de" | ||
+ | </ | ||
+ | |||
+ | Konfiguration (ließt über alle Konfigurationsdateien, | ||
+ | |||
+ | <code bash> | ||
+ | #All | ||
+ | git config --list | ||
+ | |||
+ | #One Parameter | ||
+ | git config core.editor | ||
+ | |||
+ | #kein CRLF auf Windows ! | ||
+ | |||
+ | git config --global core.autocrlf false | ||
+ | |||
+ | </ | ||
+ | |||
+ | |||
+ | ==== Die wichtigsten git Kommandos==== | ||
+ | |||
+ | Neben den einzelnen Kommandos kann auch der Interactive Modus genützt werden mit zum Beispiel "git commit --interactive -m "My Git Test"" | ||
+ | |||
+ | ===Neues Repository=== | ||
+ | |||
+ | Das git Repository liegt im Unterordner " | ||
+ | |||
+ | <code bash> | ||
+ | # In das neue Projektverzeichnis wechseln | ||
+ | git init | ||
+ | Initialized empty Git repository in / | ||
+ | </ | ||
+ | |||
+ | Soll das Repository später verteilt werden besser gleich so anlegen: | ||
+ | <code bash> | ||
+ | git init --bare --shared | ||
+ | </ | ||
+ | |||
+ | ===Datei Handling=== | ||
+ | |||
+ | Die Daten zum nächsten Commit hinzufügen und dann ein Commit mit Kommentar absetzen: | ||
+ | <code bash> | ||
+ | #add | ||
+ | git add plan1.xer | ||
+ | |||
+ | #add all new and changed files | ||
+ | git add -A | ||
+ | |||
+ | #check the Status | ||
+ | git status | ||
+ | |||
+ | #Commit | ||
+ | git commit -m "Start Project" | ||
+ | |||
+ | #show the last commit | ||
+ | git show | ||
+ | |||
+ | </ | ||
+ | Immer beachten dass nur die Dateien commited werden die im Status " | ||
+ | Will man das "git add" auf jede geänderte Datei vermeiden, den commit mit der Option " | ||
+ | |||
+ | Übersicht über den Status einer Datei in Git: | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | |||
+ | Dateien ausschließen mit einem " | ||
+ | <code bash> | ||
+ | cd <root path of your project | ||
+ | |||
+ | #Create first on windows | ||
+ | touch .gitignore | ||
+ | |||
+ | vi .gitignore | ||
+ | |||
+ | #Ignore all tmp files | ||
+ | *.tmp | ||
+ | |||
+ | # but add this tmp file (overwrite rule 1) | ||
+ | !myprojekt.tmp | ||
+ | |||
+ | # ignore all files in the log directory | ||
+ | log/ | ||
+ | |||
+ | #Ignore all log file in directroy trace | ||
+ | trace/ | ||
+ | |||
+ | </ | ||
+ | |||
+ | |||
+ | Dateien von Platte und aus dem Repository löschen: | ||
+ | <code bash> | ||
+ | git rm < | ||
+ | git status | ||
+ | </ | ||
+ | |||
+ | Dateien nur aus dem Repository löschen (Daten bleiben auf Platten enthalten und können dann in .gitignore aufgenommen werden und nicht wieder neu eingecheckt zu werden) mit der Option " | ||
+ | <code bash> | ||
+ | git rm --cached < | ||
+ | git status | ||
+ | </ | ||
+ | |||
+ | |||
+ | Dateien umbennenen oder verschieben | ||
+ | <code bash> | ||
+ | git mv < | ||
+ | git status | ||
+ | </ | ||
+ | |||
+ | |||
+ | ===Commit Handling=== | ||
+ | |||
+ | Den letzen Commit Kommentar bearbeiten: | ||
+ | <code bash> | ||
+ | git commit --amend | ||
+ | </ | ||
+ | |||
+ | Dateien den letzen Commit hinzufügen: | ||
+ | <code bash> | ||
+ | git add < | ||
+ | git commit --amend | ||
+ | </ | ||
+ | |||
+ | Letze Änderung an einer Datei wieder rückgängig machen: | ||
+ | <code bash> | ||
+ | git reset Head < | ||
+ | git checkout HEAD < | ||
+ | </ | ||
+ | |||
+ | Alles wieder zurück setzen auf den letzten Commit im Master: | ||
+ | <note warning> | ||
+ | <code bash> | ||
+ | git reset --hard | ||
+ | </ | ||
+ | |||
+ | => Falls danach ein Undo notwendig wird => | ||
+ | <code bash> | ||
+ | git reflog show | ||
+ | git reset HEAD@{1} | ||
+ | git push | ||
+ | </ | ||
+ | |||
+ | |||
+ | {{ : | ||
+ | |||
+ | |||
+ | Die letzen Commits anzeigen: | ||
+ | <code bash> | ||
+ | #All | ||
+ | git log | ||
+ | |||
+ | #Bessere Ausgabe | ||
+ | git log --oneline | ||
+ | |||
+ | |||
+ | #Formated | ||
+ | git log --pretty=format:" | ||
+ | |||
+ | #Last 9 commits | ||
+ | git log --pretty=oneline -9 | ||
+ | |||
+ | #last commit | ||
+ | git show | ||
+ | |||
+ | </ | ||
+ | |||
+ | Wer hat was an einer Datei geändert mit "git blame < | ||
+ | <code bash> | ||
+ | git blame readme.txt | ||
+ | </ | ||
+ | |||
+ | |||
+ | ===Branch Handling und stash Funktionalität=== | ||
+ | |||
+ | Auf welchen Branch arbeite ich geraden: | ||
+ | <code bash> | ||
+ | git branch | ||
+ | </ | ||
+ | |||
+ | Einen neuen Branch anlegen mit "git branch < | ||
+ | <code bash> | ||
+ | git branch branch_gpi | ||
+ | </ | ||
+ | |||
+ | Auf den neuen Branch umschalten | ||
+ | <code bash> | ||
+ | git checkout branch_gpi | ||
+ | # Daten ändern/ | ||
+ | git add -A | ||
+ | git commit -m "start new branch" | ||
+ | git status | ||
+ | </ | ||
+ | |||
+ | |||
+ | Auf den alten Branch zurückschalten: | ||
+ | <code bash> | ||
+ | git checkout master | ||
+ | git status | ||
+ | </ | ||
+ | |||
+ | Unser Änderungen in den Master einarbeiten | ||
+ | <code bash> | ||
+ | git merge branch_gpi | ||
+ | </ | ||
+ | |||
+ | |||
+ | Eine Branch löschen: | ||
+ | <code bash> | ||
+ | #wiht upper D also if not merged! | ||
+ | git branch -D branch_gpi | ||
+ | </ | ||
+ | |||
+ | Mit " | ||
+ | <code bash> | ||
+ | git stash | ||
+ | </ | ||
+ | |||
+ | Nun können Änderungen am letzen Release durchgeführt und später können die vorherigen Änderungen wieder eingearbeitet werden | ||
+ | |||
+ | |||
+ | " | ||
+ | <code bash> | ||
+ | git stash apply | ||
+ | </ | ||
+ | |||
+ | |||
+ | HEAD anzeigen lassen auf welchen Branche das zeigt! | ||
+ | <code bash> | ||
+ | git symbolic-ref HEAD | ||
+ | </ | ||
+ | |||
+ | Übersicht: | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | |||
+ | Eine gute Übersicht siehe auch hier => http:// | ||
+ | |||
+ | |||
+ | |||
+ | ===Mit Remote Repositories arbeiten=== | ||
+ | |||
+ | Es wird immer auf einer lokalen Kopie des Remote Repository gearbeitet. | ||
+ | |||
+ | |||
+ | Herunterladen und damit lokales Repository anlegen: | ||
+ | <code bash> | ||
+ | git clone https:// | ||
+ | </ | ||
+ | |||
+ | Prüfen wie die URL lautet: | ||
+ | <code bash> | ||
+ | git remote -v | ||
+ | </ | ||
+ | |||
+ | Aktuelle Version landen (Fetch), aber nicht mergen! | ||
+ | Merge muss mit "git merge" im Anschluss erfolgen! | ||
+ | <code bash> | ||
+ | git fetch | ||
+ | #Bei Bedarf | ||
+ | git merge | ||
+ | </ | ||
+ | |||
+ | |||
+ | Update from global mit "git pull [remote-name]", | ||
+ | <code bash> | ||
+ | git pull | ||
+ | </ | ||
+ | |||
+ | |||
+ | |||
+ | Meine Commits hochladen mit "git push [remote-name] [branch-name]" | ||
+ | <code bash> | ||
+ | git push | ||
+ | </ | ||
+ | |||
+ | |||
+ | Auf Neues prüfen mit "git remote show [remote-name]": | ||
+ | <code bash> | ||
+ | git remote show | ||
+ | </ | ||
+ | |||
+ | |||
+ | Übersicht: | ||
+ | {{ : | ||
+ | |||
+ | |||
+ | ===Ein Repository lokal klonen=== | ||
+ | |||
+ | Als URL wird das Filesystem angegeben: | ||
+ | <code bash> | ||
+ | git clone file:/// | ||
+ | </ | ||
+ | |||
+ | |||
+ | **Ein Repository über ssh klonen** | ||
+ | |||
+ | <code bash> | ||
+ | git clone root@primaeppmp151:/ | ||
+ | </ | ||
+ | |||
+ | |||
+ | ===Ein Repository umziehen=== | ||
+ | |||
+ | Git Repository aus orginal Quelle clonen. | ||
+ | |||
+ | |||
+ | URL umsetzen | ||
+ | <code bash> | ||
+ | git remote rm origin | ||
+ | git remote add origin https:// | ||
+ | |||
+ | </ | ||
+ | |||
+ | Daten in das neue Repository übertragen: | ||
+ | <code bash> | ||
+ | git push -u origin --all | ||
+ | </ | ||
+ | ===Das git Repository pflegen=== | ||
+ | |||
+ | Manuell die Maintenance auf dem Repository anstossen: | ||
+ | <code bash> | ||
+ | git gc | ||
+ | </ | ||
+ | |||
+ | Wieviele Objekte: | ||
+ | <code bash> | ||
+ | git count-objects -v | ||
+ | </ | ||
+ | |||
+ | Siehe auch => [[https:// | ||
+ | |||
+ | |||
+ | ===Einen Git Patch erstellen === | ||
+ | |||
+ | Mit einem Patch über Git werden alle Änderungen in eine Branch in eine Datei übernommen, | ||
+ | Damit muss der Entwickler den Master nicht direkt " | ||
+ | Der Maintainer kann dann diese Patch in den Master einspielen und diesen commiten. | ||
+ | |||
+ | **Branch mit dem Bug Fix** | ||
+ | |||
+ | Eine Patch mit allen Änderungen des aktuellen Branches gegenüber dem Master anlegen: | ||
+ | <code bash> | ||
+ | git format-patch master --stdout > fix_gpi.patch | ||
+ | </ | ||
+ | |||
+ | **Auf dem Master Branch** | ||
+ | Prüfen: | ||
+ | <code bash> | ||
+ | git apply --stat fix_gpi.patch | ||
+ | git apply --check fix_gpi.patch | ||
+ | </ | ||
+ | |||
+ | Einspielen: | ||
+ | <code bash> | ||
+ | #Apply mit Tag um später das besser nachvollziehen zu können | ||
+ | git am --signoff < fix_gpi.patch | ||
+ | </ | ||
+ | |||
+ | |||
+ | ===Übersicht über die wichtigsten Kommandos=== | ||
+ | |||
+ | ^Kommando^Bedeutung^Kommentar^ | ||
+ | |git help < | ||
+ | |git init| Neues Repository anlegen| Im Wurzel/ | ||
+ | |git clone < | ||
+ | |git fetch | Aktuellen Stand von remote laden|Aber nicht mergen!| | ||
+ | |git pul | Aktuellen Stand von remote laden und mergen|-| | ||
+ | | git push | Commit auf den Server puschen |-| | ||
+ | |git add < | ||
+ | |git commit -am " | ||
+ | |git add -A |Alle neuen Dateien im Baum zum nächsten Commit hinzufügen | -| | ||
+ | |git status| Status der neuen/ | ||
+ | |git diff| Alle Änderungen anzeigen | mit "git diff < | ||
+ | |git rm < | ||
+ | |git mv < | ||
+ | |git log | Historie anzeigen | mit Schalter die letzten Änderungen wie "git log -p -1" oder formatieren mit git log --pretty=format:" | ||
+ | |git show | Letzes Commit anzeigen|-| | ||
+ | |git commit --amend| Den letzten Commit anpassen | Wenn sich nichts anders geändert hat nur den Kommentar anpassen| | ||
+ | |git reset Head < | ||
+ | |git checkout HEAD < | ||
+ | |git gc | Git Repository " | ||
+ | |||
+ | |||
+ | Eine gute Zusammenfassung der git Befehle mit Beispielen | ||
+ | |||
+ | |||
+ | === Von Mercurial nach Git migrieren === | ||
+ | |||
+ | |||
+ | Übersicht über die möglichen Werkzeuge => https:// | ||
+ | |||
+ | |||
+ | fast-export.git | ||
+ | |||
+ | * https:// | ||
+ | * http:// | ||
+ | |||
+ | |||
+ | ---- | ||
+ | | ||
+ | | ||
+ | === Hooks verwenden um code zu deployen=== | ||
+ | |||
+ | Idee: Auf dem Server ein Git Repository anlegen, bei einem erfolgreichen Pull vom Master werden die Daten gleich verteilt ( ohne das .git directory !) | ||
+ | |||
+ | |||
+ | Hook anlegen in .git/hook Directory: | ||
+ | |||
+ | <code bash> | ||
+ | # | ||
+ | GIT_WORK_TREE=/ | ||
+ | </ | ||
+ | |||
+ | |||
+ | |||
+ | siehe auch https:// | ||
+ | |||
+ | |||
+ | |||
+ | ---- | ||
+ | | ||
+ | | ||
+ | ====Einen Git Server aufsetzen ==== | ||
+ | |||
+ | Ziel: Einen Git Server unter Linux mit einer komfortablen Weboberfläche aufsetzen | ||
+ | |||
+ | |||
+ | Übersicht über Web Interfaces für Git => https:// | ||
+ | |||
+ | === SSH nützen=== | ||
+ | |||
+ | Am einfachsten kann das SSH Protokoll für eine verteilte Git Umgebung eingesetzt werden. | ||
+ | Dies ist zum Beispiel sehr praktisch um in einer Server Umgebung Konfigurationsdateien etc. über git zu verwalten. | ||
+ | |||
+ | Spezielle Firewall Regeln sind dann nicht notwendig, die bestehenden Wartungszugänge können genützt werden. | ||
+ | |||
+ | Auf einem zentralen Server das Repository leer anlegen | ||
+ | <code bash> | ||
+ | mkdir sqlscripts | ||
+ | cd sqlscripts | ||
+ | git init --bare --shared | ||
+ | </ | ||
+ | |||
+ | Mit Dateien füllen und entsprechend die erste Version anlegen. | ||
+ | |||
+ | Die SSH Zugänge mit Keys hinterlegen (falls möglich siehe für die Keys [[linux: | ||
+ | |||
+ | |||
+ | Das Repository kann nun über ssh auf die entsprechenden Server geklont werden | ||
+ | <code bash> | ||
+ | git clone root@primaeppmp151:/ | ||
+ | </ | ||
+ | |||
+ | |||
+ | ===gitlab=== | ||
+ | |||
+ | Installationsanleitung und Download über https:// | ||
+ | |||
+ | |||
+ | Anbinden an das AD => https:// | ||
+ | |||
+ | |||
+ | == Test mit einer virtuellen Maschine == | ||
+ | |||
+ | Für einen ersten Test kann auch hier eine Virtuelle Maschine heruntergeladen werden => https:// | ||
+ | |||
+ | Datei herunterladen und über VMWare Workstation die bitnami-gitlab-8.14.3-0-linux-ubuntu-14.04-x86_64.ova importieren, | ||
+ | |||
+ | |||
+ | Der User heißt bitnami, Password bitnami, das Password muss beim ersten Login gesetzt werden. | ||
+ | |||
+ | System vorbereiten: | ||
+ | |||
+ | <code bash> | ||
+ | # Keyboard auf Deutsch | ||
+ | sudo apt-get install console-common | ||
+ | |||
+ | #Zeitzone setzen | ||
+ | sudo dpkg-reconfigure tzdata | ||
+ | |||
+ | # Vmware Tools | ||
+ | apt-get install open-vm-tools | ||
+ | |||
+ | </ | ||
+ | |||
+ | |||
+ | Leider liegt bei dieser Maschine nun ein Problem mit der Netzwerk Konfiguration vor, DHCP funktioniert nicht, sorgfältig VMWare Netzwerk Eigenschaften und Status der Netzwerkkarte überprüfen. | ||
+ | |||
+ | SSH einschalten: | ||
+ | <code bash> | ||
+ | $ sudo mv / | ||
+ | $ sudo start ssh | ||
+ | </ | ||
+ | |||
+ | Aufruf der Weboberfläche über < | ||
+ | |||
+ | Weiter siehe http:// | ||
+ | |||
+ | <fc # | ||
+ | |||
+ | |||
+ | ==Quellen== | ||
+ | |||
+ | * http:// | ||
+ | |||
+ | |||
+ | ---- | ||
+ | |||
+ | ==== Quellen ==== | ||
+ | |||
+ | Git | ||
+ | |||
+ | * http:// | ||
+ | * https:// | ||
+ | |||
+ | |||
+ | Übersicht: | ||
+ | |||
+ | * https:// | ||
+ | * https:// | ||
+ | |||
+ | Video Tutorials | ||
+ | |||
+ | * https:// | ||
+ | |||
+ | |||
+ | Zwei Git Repository mergen | ||
+ | |||
+ | * https:// | ||
+ | |||
+ | |||
+ | MS VSS zu Git migrieren | ||
+ | |||
+ | * https:// | ||
+ | |||
+ | Git umziehen | ||
+ | * http:// | ||
+ | |||
+ | Line Endings | ||
+ | * https:// | ||
+ | |||
+ | |||
+ | Changing a remote' | ||
+ | |||
+ | * https:// | ||
+ | |||
+ | |||
+ | Changing a commit message | ||
+ | * https:// | ||
+ | |||
+ | Repostory Cleaner | ||
+ | |||
+ | * https:// |
prog/git_server.txt · Zuletzt geändert: 2022/06/13 08:36 von gpipperr