Difference between revisions of "FAQ Get, update GIT Projekt Quellen"

From Dolibarr ERP CRM Wiki
Jump to navigation Jump to search
Tag: 2017 source edit
m (Updating interlang links (links to translated versions of this page in other languages) triggered by origin English page "FAQ_Get,update_GIT_project_sources" update.)
 
(24 intermediate revisions by 3 users not shown)
Line 2: Line 2:
 
<!-- Do NOT edit this section
 
<!-- Do NOT edit this section
 
     Links below are automatically managed by PolyglotBot
 
     Links below are automatically managed by PolyglotBot
     You can edit links on the English source page : FAQ_Get,_update_GIT_Projekt_Quellen -->
+
     You can edit links on the English source page : FAQ_Get,update_GIT_project_sources -->
[[en:FAQ_Get,_update_GIT_Projekt_Quellen]]
+
[[en:FAQ_Get,update_GIT_project_sources]]
 
[[fr:FAQ_Récupérer,_mettre_à_jour_les_sources_GIT_du_projet]]
 
[[fr:FAQ_Récupérer,_mettre_à_jour_les_sources_GIT_du_projet]]
 
[[es:FAQ_Recuperar,_actualizar_GIT_fuentes_del_proyecto]]
 
[[es:FAQ_Recuperar,_actualizar_GIT_fuentes_del_proyecto]]
 +
[[zh:常见问题-获取与更新项目的GIT源代码]]
 
<!-- END interlang links -->
 
<!-- END interlang links -->
  
Line 20: Line 21:
 
{{LinkLastSnapshot}}
 
{{LinkLastSnapshot}}
  
Neue Dateien überschreiben alte Dateien.
+
Neue Dateien überschreiben alte Dateien. Der Nachteil dieser Methode ist, dass Sie das Paket jedes Mal herunterladen und dekomprimieren müssen, wenn Sie Updates erhalten möchten.  
Der Nachteil dieser Methode ist, dass Sie das Paket jedes Mal herunterladen und dekomprimieren müssen, wenn Sie Updates erhalten möchten.  
 
  
 
Entwickler sollten diese Methode nicht verwenden, um Quellen zu erhalten, sondern die nächste.
 
Entwickler sollten diese Methode nicht verwenden, um Quellen zu erhalten, sondern die nächste.
Line 41: Line 41:
 
Sie müssen den GIT-Client installieren (das GIT-Befehlszeilentool wird unter Linux mit "sudo apt-get install git" installiert, für Windows ist der GIT-Client unter https://git-scm.com/download/win zu finden).
 
Sie müssen den GIT-Client installieren (das GIT-Befehlszeilentool wird unter Linux mit "sudo apt-get install git" installiert, für Windows ist der GIT-Client unter https://git-scm.com/download/win zu finden).
  
==Clone process==
+
==Clone Prozess==
First, enter value of the repository with reference sources into your GIT client tool.
+
Geben Sie zunächst den Wert des Repositorys mit den Referenzquellen in Ihr GIT-Client-Tool ein.
  
*With Eclipse, go into perspective GIT, click onto button "Clone GIT repository". Enter GIT URL of project to get.
+
*Mit Eclipse, gehen Sie in die Perspektive GIT, klicken Sie auf den Button "GIT Repository klonen". Geben Sie die GIT-URL des Projekts ein, das Sie erhalten möchten.
 
 
GIT Url for Dolibarr official source is:
 
 
<source lang="ini">
 
<source lang="ini">
 
git://github.com/Dolibarr/dolibarr.git (read only)
 
git://github.com/Dolibarr/dolibarr.git (read only)
or if you created a fork of dolibarr github from github web interface
+
oder wenn Sie einen Fork von dolibarr github von der github-Weboberfläche erstellt haben
 
git@github.com:yourgitaccount/dolibarr.git (read and write access)
 
git@github.com:yourgitaccount/dolibarr.git (read and write access)
 
</source>
 
</source>
Your Eclipse GIT client will ask you to choose the branches you are interested in. Branches not selected now could be selected later by doing a "Fetch" from the "Remotes" view, but try to choose only the branch you need. This will save you time and problems later.
+
Ihr Eclipse-GIT-Client wird Sie auffordern, die Branches auszuwählen, an denen Sie interessiert sind. Branches, die jetzt noch nicht ausgewählt sind, können später durch einen "Fetch" aus der "Remotes"-Ansicht ausgewählt werden, aber versuchen Sie, nur den Branch auszuwählen, den Sie benötigen. Dies erspart Ihnen später Zeit und Probleme.
  
Note: if you are behind a firewall, you must set Eclipse proxy credentials into Eclipse menu Windows - Preferences - General - Network connection and use the alternative URL:
+
Hinweis: Wenn Sie sich hinter einer Firewall befinden, müssen Sie die Eclipse-Proxy-Zugangsdaten im Eclipse-Menü Fenster - Einstellungen - Allgemein - Netzwerkverbindung einstellen und die alternative URL verwenden:
 
<source lang="ini">
 
<source lang="ini">
 
https://gitlogin:gitpassword@github.com/yourgitaccount/dolibarr.git
 
https://gitlogin:gitpassword@github.com/yourgitaccount/dolibarr.git
 
</source>
 
</source>
  
*With GIT on Command Line Interface:
+
*Mit GIT auf der Befehlszeilenschnittstelle:
  
First setup your git client:
+
Richten Sie zunächst Ihren Git-Client ein:
 
<source lang="bash">
 
<source lang="bash">
 
git config --global user.name "Your Name"
 
git config --global user.name "Your Name"
Line 67: Line 65:
 
git config --list
 
git config --list
 
</source>
 
</source>
Then clone repository locally:
+
Dann klonen Sie das Repository lokal:
 
<source lang="bash">
 
<source lang="bash">
git://github.com/Dolibarr/dolibarr.git (read only)
+
git://github.com/Dolibarr/dolibarr.git (nur lesen)
or if you created a fork of dolibarr github from github web interface
+
oder wenn Sie einen Fork von dolibarr github von der github-Weboberfläche erstellt haben
git@github.com:yourgitaccount/dolibarr.git (read and write access)
+
git@github.com:yourgitaccount/dolibarr.git (Lese- und Schreibzugriff)
 
</source>
 
</source>
  
Note: if you are behind a firewall, you must set your porxy information and use the alternative https URL:
+
Hinweis: Wenn Sie sich hinter einer Firewall befinden, müssen Sie Ihre Proxy-Informationen einstellen und die alternative https-URL verwenden:
 
<source lang="bash">
 
<source lang="bash">
 
git config --global http.proxy http://proxyuser:proxypass@proxyserver:proxyport
 
git config --global http.proxy http://proxyuser:proxypass@proxyserver:proxyport
Line 80: Line 78:
 
</source>
 
</source>
  
Once this step is validated, your GIT client will download all files from remote GIT server. This may last several seconds or minutes.
+
Sobald dieser Schritt bestätigt ist, lädt Ihr GIT-Client alle Dateien vom entfernten GIT-Server herunter. Dies kann einige Sekunden oder Minuten dauern.
  
Once download is finished, you must choose which branch to us to work on.
+
Sobald der Download abgeschlossen ist, müssen Sie wählen, an welchem Zweig Sie arbeiten möchten.
 +
 
 +
*Mit GIT auf der Befehlszeilenschnittstelle;
  
*With GIT on Command Line Interface;
 
  
 
<source lang="bash">
 
<source lang="bash">
Line 90: Line 89:
 
git checkout x.y
 
git checkout x.y
 
</source>
 
</source>
This will create local branch and make checkout automatically.
+
Dadurch wird eine lokale Branche erstellt und automatisch ein Checkout durchgeführt.
  
*With Eclipse, right click on "Branches - Remotes - The branch you want to duplicate locally".
+
*Klicken Sie in Eclipse mit der rechten Maustaste auf "Branches - Remotes -" die Branche, die Sie lokal duplizieren möchten".
 +
Wählen Sie " Erstelle Branch" (und markieren Sie das Kästchen "Checkout"). Dadurch wird der Inhalt der Branche dupliziert, um lokal daran zu arbeiten, und Ihr "Arbeitsverzeichnis" wird aktualisiert, um an dieser Branche zu arbeiten.
  
Choose "Create Branch" (and check the box "Checkout"). This will duplicate content of branch to work on it locally and will refresh your "Working Directory" to work on this branch.
+
Erstellen Sie ein Eclipse-Projekt:
  
Create Eclipse project:
+
Wenn Sie Eclipse verwenden, erstellen Sie, sobald die Verzweigung lokal erstellt wurde, ein PHP-Projekt aus dem Assistenten, indem Sie "'''Create from existing project'''" wählen und das Verzeichnis auswählen, das Ihr lokales GIT-Repository ist (Wählen Sie nicht die Option, ein PHP-Projekt komplett neu zu erstellen).
  
If using Eclipse, once your branch is created locally, create a PHP project from assistant by choosing "'''Create from existing project'''" and select directory that is your GIT local repository (Do not choose to create a PHP project from scratch).
+
Klicken Sie dann mit der rechten Maustaste auf das Projekt in Ihrem Eclipse-Arbeitsbereich und wählen Sie "'''Team - Share'''". Wählen Sie GIT und klicken Sie auf die Option "'''Use or create repository in parent folder of project'''".
Then right click on project from your Eclipse workspace and Choose "'''Team - Share'''". Select GIT and click on option "'''Use or create repository in parent folder of project'''".
+
Eine alternative Methode ist File->Import, Git->Project von Git, Wählen Sie das Git-Repository und Weiter, Assistent für neue Projekte verwenden -> Php-Projekt, geben Sie den Ordner Ihres lokalen GIT-Repositorys ein.
An alternate method is File->Import, Git->Project from Git, Select the Git repository and Next, Use New project Wizard -> Php project, enter the folder of you GIT local repository.
 
  
Then, you can setup Eclipse to avoid it to scan all project files for its build tools (Outline scanner, TODO scanner, syntax scanner...). This will avoid Eclipse to be too slow. For this, right click on project, choose Build Path and setup it like into following screenshot.
+
Dann können Sie Eclipse so einstellen, dass es nicht alle Projektdateien für seine Build-Tools (Outline Scanner, TODO Scanner, Syntax Scanner...) scannt. Dies verhindert, dass Eclipse zu langsam ist. Klicken Sie dazu mit der rechten Maustaste auf das Projekt, wählen Sie Build Path und stellen Sie es wie im folgenden Screenshot ein.
  
 
[[File:Eclipse php build path.png|240px]]
 
[[File:Eclipse php build path.png|240px]]
  
=Get last version of sources using a GitHub user access=
+
=Abrufen der letzten Version der Quellen über einen GitHub-Nutzerzugang=
==Prerequisite==
+
==Voraussetzung==
  
*With Eclipse IDE
+
*Mit Eclipse IDE
  
You must before create an account on GitHub (https://github.com/) and upload a public RSA or DSA certificate into your account profile.
+
Sie müssen zuvor ein Konto auf GitHub (https://github.com/) erstellen und ein öffentliches RSA- oder DSA-Zertifikat in Ihr Kontoprofil hochladen.
  
Then, you must have a working install of Eclipse. '''EGit''' plugin must also have been installed.
+
Dann müssen Sie eine funktionierende Installation von Eclipse haben. Das '''EGit'''-Plugin muss ebenfalls installiert worden sein.
For this, use the '''Find And Install process''' into Eclipse menu, add the GIT update URL:
 
 
  https://download.eclipse.org/egit/updates
 
  https://download.eclipse.org/egit/updates
Then choose to install '''EGit'''.
+
Wählen Sie dann die Installation von '''EGit'''.
 +
*Mit der GIT-Kommandozeilen-Schnittstelle:
  
*With the GIT Command Line Client Interface:
+
Sie müssen zuvor ein Konto auf GitHub (https://github.com/) erstellen und ein öffentliches RSA- oder DSA-Zertifikat in Ihr Kontoprofil hochladen.
  
You must before create an account on GitHub (https://github.com/) and upload a public RSA or DSA certificate into your account profile.
+
Dann müssen Sie den GIT-Client installieren (GIT-Kommandozeilen-Tool unter Linux mit "sudo apt-get install git" oder den GIT-Client für Windows unter https://git-scm.com/download/win).
  
Then, you need to install GIT client (GIT command line tool with Linux installed with "sudo apt-get install git", or the GIT client for Windows found at https://git-scm.com/download/win).
+
==Fork Prozess==
 
+
Melden Sie sich bei Github mit den Login-Daten an, das Sie im vorherigen Schritt erstellt haben. Gehen Sie dann auf die Seite
==Fork process==
 
Login to Github, with login you created in previous step. Then go onto page
 
  
 
https://github.com/Dolibarr/dolibarr
 
https://github.com/Dolibarr/dolibarr
  
And click on button "Fork".
+
und klicken Sie auf die Schaltfläche "Fork".
  
This will create a copy (a fork) of project into your own github area. Because you will be the owner of this fork, you will have all permissions on it to be used in next steps.
+
Dadurch wird eine Kopie (ein Fork) des Projekts in Ihrem eigenen Github-Bereich erstellt. Da Sie der Besitzer dieses Forks sind, haben Sie alle Rechte, die Sie für die nächsten Schritte benötigen.
  
==Clone process==
+
==Clone Prozess==
Then process is same as getting sources with anonymous access.
+
Dann ist der Prozess derselbe wie bei der Beschaffung von Quellen mit anonymen Zugriff.
  
URL to use for GIT clone is same:
+
Die für den GIT-Clone zu verwendende URL ist dieselbe:
 
<source lang="ini">
 
<source lang="ini">
 
git@github.com:YourGitHubLogin/dolibarr.git
 
git@github.com:YourGitHubLogin/dolibarr.git
 
</source>
 
</source>
  
Note that a HTTPS URL is also available but it's sometimes offline (so prefer using first one, link with HTTPS is required only if you are behind a firewall):  
+
Beachten Sie, dass es auch eine HTTPS-URL gibt, die aber manchmal offline ist (verwenden Sie also lieber die erste, ein Link mit HTTPS ist nur erforderlich, wenn Sie sich hinter einer Firewall befinden):  
  
 
<source lang="ini">
 
<source lang="ini">
 
https://yourgithublogin@github.com/Dolibarr/dolibarr.git
 
https://yourgithublogin@github.com/Dolibarr/dolibarr.git
</source>  
+
</source>
  
=Update your repository=
+
=Update des Repository=
To update your local workspace:
+
So aktualisieren Sie Ihren lokalen Workspace:
  
*With Eclipse IDE:
+
*Mit Eclipse IDE:
  
right click on Eclipse project and select "Pull".
+
Rechtsklick auf das Eclipse-Projekt und Auswahl von "Pull".
  
If you made some changes into your Eclipse workspace on files that were changed into the GIT remote reference, your GIT client will make a merge automatically.
+
Wenn Sie in Ihrem Eclipse-Workspace Änderungen an Dateien vorgenommen haben, die in der GIT-Remote-Referenz geändert wurden, wird Ihr GIT-Client automatisch einen Merge durchführen.
  
*If there is conflicts, the merge will mark all conflict files as "conflict" (See later to solve this state).
+
*Wenn es Konflikte gibt, wird der Merge alle Konfliktdateien als "Konflikt" markieren (siehe später, um diesen Zustand zu lösen).
*If not, you will get all new version files including all your changes.
+
*Wenn nicht, erhalten Sie alle Dateien in der neuen Version, einschließlich aller Ihrer Änderungen.
  
If you already have commited some files into your local repository, your workspace will be marked as "Merged".
+
Wenn Sie bereits einige Dateien in Ihr lokales Repository übertragen haben, wird Ihr Workspace als "Zusammengeführt" markiert.
All you have to do is make a commit to validate your local repository as including your changes and changes made by others.
+
Alles was Sie tun müssen, ist ein Commit zu machen, um Ihr lokales Repository zu bestätigen, dass es sowohl Ihre Änderungen als auch die Änderungen anderer enthält.
  
  
*With the GIT Command Line Client Interface:
+
*Mit dem GIT Command Line Client Interface:
  
 
<source lang="bash">
 
<source lang="bash">
Line 169: Line 166:
 
</source>
 
</source>
  
=Commit and publish your changes=
+
=Commit und Veröffentlichen von Änderungen=
To see all changes you made into your working directory and waiting to be added into Git:
+
Um alle Änderungen zu sehen, die Sie in Ihrem Arbeitsverzeichnis vorgenommen haben und die darauf warten, in Git hinzugefügt zu werden:
  
*With GIT Command Line Interface:
+
*Mit GIT Command Line Interface:
  
 
<source lang="bash">
 
<source lang="bash">
Line 179: Line 176:
 
</source>
 
</source>
  
To add changes made into your local repository into the GIT index, then commit this index :
+
Um Änderungen, die Sie in Ihrem lokalen Repository vorgenommen haben, in den GIT-Index aufzunehmen, führen Sie einen commit-Befehl für diesen Index durch:
  
*With Eclipse: Right click on file or directory to commit. Select file to add/remove/update into commit.
+
*Mit Eclipse: Klicken Sie mit der rechten Maustaste auf die zu übertragende Datei oder das Verzeichnis. Wählen Sie die Datei zum Hinzufügen/Entfernen/Aktualisieren in den nächsten Commit.
*With GIT Command Line Interface:
+
*Mit GIT Command Line Interface:
  
 
<source lang="bash">
 
<source lang="bash">
 
git commit -a -m "Commit text"
 
git commit -a -m "Commit text"
 
</source>
 
</source>
This will save add and changes into your local branch.
+
Dadurch werden Hinzufügungen und Änderungen in Ihrem lokalen Branch gespeichert.
  
To push them on the GIT repository server,
+
Um sie auf den GIT-Repository-Server zu pushen,
  
*With Eclipse: right click on project and choose "'''Team - Push to Upstream'''".
+
 
 +
*With Eclipse: Klicken Sie mit der rechten Maustaste auf das Projekt und wählen Sie "'''Team - Push to Upstream'''".
 
*With GIT Command Line Interface:
 
*With GIT Command Line Interface:
  
Line 198: Line 196:
 
</source>
 
</source>
  
To cancel a commit:
+
Um ein Commit abzubrechen:
  
*With GIT Command Line Interface, if commit was not already pushed:
+
*Mit GIT Command Line Interface, wenn der Commit noch nicht gepusht wurde:
  
 
<source lang="bash">
 
<source lang="bash">
Line 206: Line 204:
 
</source>
 
</source>
  
*With GIT Command Line Interface, if commit was already pushed:
+
*Mit GIT Command Line Interface, wenn ein Commit bereits gepusht wurde:
  
 
<source lang="bash">
 
<source lang="bash">
Line 212: Line 210:
 
</source>
 
</source>
  
To merge changes done into your forked GIT instance into official Dolibarr instance:
+
Um Änderungen, die in Ihrer GIT-Instanz vorgenommen wurden, in die offizielle Dolibarr-Instanz einzubinden:
 
 
*Go into GitHub web interface of your forked Git instance.
 
*Click on small button "Create a Pull request".
 
*Choose commit you request inclusion and validate.
 
  
=Ask official project to include your changes=
+
*Gehen Sie in die GitHub-Weboberfläche Ihrer geforkten Git-Instanz.
Once you pushed one or several commit toward your distant fork area on github, you can ask the Dolibarr core team to include it into official project.
+
*Klicken Sie auf die kleine Schaltfläche "Create a Pull request".
For this, follow this tutorial: https://help.github.com/articles/creating-a-pull-request/
+
*Wählen Sie den Commit aus, dessen Aufnahme Sie beantragen, und validieren Sie ihn.
  
=Add an external commit into current repository=
+
=Anfrage stellen, um die Änderungen in das offizielle Projekt zu übernehmen=
Some developers may work and do commit into their own Git repository after forking the project. If you are interesting into getting this changes, you can import them with the following steps.
+
Sobald Sie einen oder mehrere Commits in Ihren remote Fork-Bereich auf Github gepusht haben, können Sie das Dolibarr-Kernteam bitten, diese in das offizielle Projekt aufzunehmen.
 +
Folgen Sie dazu dieser Anleitung: https://help.github.com/articles/creating-a-pull-request/
  
You need both Eclipse and GIT Command Line interface to achieve this:
+
=Hinzufügen eines externen Commits zum aktuellen Repository=
 +
Einige Entwickler fügen ihre Änderungen durch Commits in ihr eigenes Git-Repository hinzu, nachdem sie das Projekt geforkt haben. Wenn Sie daran interessiert sind, diese Änderungen zu erhalten, können Sie sie mit den folgenden Schritten importieren.
  
*First, go into GIT setup view and right click on "'''Remotes'''" of your Eclipse Git working space and choose "'''Create a remote...'''"
+
Hierfür benötigen Sie sowohl Eclipse als auch das GIT Command Line Interface:
*Type name or remote fork the developer has create (in most cases, it's developer Git login). For example: "'''thedevlogin'''". Choose also "'''Configure Fetch'''".
 
*Type URI of Git repository of developer. For example: '''git://github.com/thedevlogin/dolibarr.git'''. Also add a refspec value to declare the branch you want to get. For example: '''refs/heads/master:refs/remotes/thedevlogin/master'''. Click "'''Save and Fetch'''". A new entry will be added into "Remote Tracking" making possible to read/get commits done into this branch.
 
  
Now, go on command line of your git repository (in most cases on Linux, it's '''/home/yourlogin/git/yourdolibarr''') and type the git cherry-pick command:
+
*Gehen Sie zunächst in die GIT-Setup-Ansicht und klicken Sie mit der rechten Maustaste auf "'''Remotes'''" in Ihrem Eclipse-Git-Workspace und wählen Sie "'''Create a remote...'''"
 +
*Geben Sie den Namen des entfernten Forks ein, den der Entwickler erstellt hat (in den meisten Fällen ist es das Git-Login des Entwicklers). Zum Beispiel: "'''thedevlogin'''". Wählen Sie auch "'''Configure Fetch'''".
 +
*Geben Sie die URI des Git-Repositorys des Entwicklers ein. Zum Beispiel: '''git://github.com/thedevlogin/dolibarr.git'''. Fügen Sie auch einen refspec-Wert hinzu, um den Branch anzugeben, den Sie abrufen möchten. Zum Beispiel: '''refs/heads/master:refs/remotes/thedevlogin/master'''. Klicken Sie auf "'''Save and Fetch'''". Es wird ein neuer Eintrag in "Remote Tracking" hinzugefügt, der es ermöglicht, Commits in diesem Zweig zu lesen/zu schreiben.
 +
Gehen Sie nun in die Kommandozeile Ihres Git-Repositorys (unter Linux ist es in den meisten Fällen  '''/home/yourlogin/git/yourdolibarr''') und geben Sie den Befehl git cherry-pick ein:
 
<source lang="bash">
 
<source lang="bash">
 
git cherry-pick -x commitid
 
git cherry-pick -x commitid
 
</source>
 
</source>
where commitid is value of commit id you want to get.
+
wobei commitid der Wert der Commit-ID ist, die Sie erhalten möchten.
  
Once this is done, go back to Eclipse and make a refresh on project. You will see modified files appears with decorators (with conflicts if there is).
+
Sobald dies erledigt ist, gehen Sie zurück zu Eclipse und aktualisieren Sie das Projekt. Sie werden sehen, dass geänderte Dateien mit Dekoratoren erscheinen (mit Konflikten, wenn es welche gibt).
  
It the cherry-pick fails because of conflicts, you can cancel the cherry-pick try with
+
Wenn die Auswahl aufgrund von Konflikten fehlschlägt, können Sie den Versuch der Auswahl mit
 
<source lang="bash">
 
<source lang="bash">
 
git cherry-pick --abort
 
git cherry-pick --abort
 
</source>
 
</source>
  
=Solving a conflict=
+
=Einen Konflikt lösen=
If a file has been marked as "conflict" after a Pull, open the file to edit it.
+
Wenn eine Datei nach einem "Pull" als "Konflikt" markiert ist, öffnen Sie die Datei und bearbeiten Sie sie.
Find string "<<<<<<<<<<", you will see part of code that is conflict between "<<<<<<<<<" and ">>>>>>>>". Edit manually code lines and remove "<<<<<<<<" and ">>>>>>>".  
+
Suchen Sie nach dem String "<<<<<<<<<<", dann sehen Sie den Teil des Codes, der zwischen "<<<<<<<<<" und ">>>>>>>>" als Konflikt markiert ist. Bearbeiten Sie die Codezeilen manuell, um das Endergebnis zu erhalten, indem Sie auch die "<<<<<<<<" und ">>>>>>>" entfernen.  
  
Then, right click on file and select "Add".
+
Klicken Sie dann mit der rechten Maustaste auf die Datei und wählen Sie " Hinzufügen".
  
If you prefer to forget completely all changes you made into all files (so to restore you workspace with content of remote repository), you can make a hard reset:
+
Wenn Sie lieber alle Änderungen, die Sie an allen Dateien vorgenommen haben, vollständig rückgängig machen möchten (um Ihren Arbeitsbereich mit dem Inhalt des entfernten Repositoriums wiederherzustellen), können Sie einen Reset durchführen:
  
*With Eclipse: Right click on project top line and select "'''Reset'''" then "'''Hard'''" then "'''Reference - HEAD'''".
+
*Mit Eclipse klicken Sie mit der rechten Maustaste auf die oberste Zeile des Projekts und wählen Sie "Zurücksetzen" und dann "'''Hard'''" und dann "'''Reference - HEAD'''".
*With GIT Command Line Interface: You can achieve this with command
+
*Bei Verwendung des GIT-Befehlszeilentools erreichen Sie dies mit dem Befehl
  
 
<source lang="bash">
 
<source lang="bash">
git reset --hard HEAD
+
git reset --hard HEAD  
</source>
 
To reset changes you commited but not pushed to origin
 
<source lang="bash">
 
git reset --hard origin/develop
 
 
</source>
 
</source>
  
=Tagging sources=
+
=Taggen Sie die Quellen=
With GIT Command Line Interface:
+
Mit den GIT-Kommandozeilenwerkzeugen:
 
+
Um ein Tag über eine Version zu erstellen:
To add a tag to a current version:
 
 
<source lang="bash">
 
<source lang="bash">
 
git tag -a -m "Release|Maintenance release x.y.z" "x.y.z"
 
git tag -a -m "Release|Maintenance release x.y.z" "x.y.z"
or
+
oder
git tag -a -f -m "Beta x.y.betai" "x.y.betai_YYYYMMDD" idcommit  # -f force if an existing tag already exists, idcommit allows to choose commit to tag
+
git tag -a -f -m "Beta x.y.betai" "x.y.betai_YYYYMMDD" idcommit  # -f force wenn ein Tag bereits existiert, ermöglicht idcommit die Auswahl des zu taggenden Commits.
 
+
git push --tags  # Pour pousser le tags sur le serveur distant
git push --tags  # To push tags to remote origin
 
 
</source>
 
</source>
  
To remove a tag:
+
Um einen Tag zu löschen:
 
<source lang="bash">
 
<source lang="bash">
 
git tag -d "x.y.z_YYYYMMDD"
 
git tag -d "x.y.z_YYYYMMDD"
git push remoteentryname :x.y.z_YYYYMMDD    # To validate delete on remote origin
+
git push origin :x.y.z_YYYYMMDD    # Um die Löschung auf dem entfernten Server zu bestätigen
 
</source>
 
</source>
  
=Creating a new branch=
+
=Einen neue Branche erstellen=
With GIT Command Line Interface:
+
Hier ist der Befehl, den Sie verwenden müssen, um einen neuen Zweig aus einem eigenen develop-Repository zu erstellen:
 
 
Create a clone (see previously) of the branch from where you want to create another branch, then go into directory and launch command:
 
 
<source lang="bash">
 
<source lang="bash">
 
git branch x.y
 
git branch x.y
Line 290: Line 279:
 
</source>
 
</source>
  
With Eclipse:
+
=Statistiken=
 +
Mit den GIT-Kommandozeilenwerkzeugen:
  
Create a clone (see previously) of the branch from where you want to create another branch, with a checkout done. The go into view git. Choose branches, remote tracking and select start branch.
+
Um die Anzahl der Änderungen zu zählen, die ein Entwickler zwischen Version x und y vorgenommen hat:
Right click and choose "Create branch".
 
Then make a push to create branch remotely.
 
Then go into "Remotes - origins" and edit the entries to pull and push onto new branch.
 
It may also be required to edit the .git/config file to have project linked by default onto new branch.
 
  
=Deleting a branch=
+
*Zuerst führen Sie "git merge-base" aus, um die ID des letzten gemeinsamen Commits zwischen x und y zu erfahren.
With GIT Command Line Interface:
 
  
Do a push on branch but add : before name of branch:
 
 
<source lang="bash">
 
<source lang="bash">
git push remoteentryname :branchnametodelete
+
git merge-base origin/3.1 origin/develop
 
</source>
 
</source>
  
=Merging a maintenance branch x.x into dev branch=
+
*Dann führen Sie git log aus, um eine Liste aller Änderungen von der letzten gemeinsamen Übertragung bis zur letzten Übertragung zu erhalten.
With Eclipse:
 
 
 
*Go onto the root directory of project with a checkout of the dev branch.
 
*Check fetch setup to be sure, this repository contains both information of dev branch and version x.x you want to merge.
 
*Right click onto root directory and choose "Team - Merge". Select "x.x". Click onto "Merge options - Commit", because we want to commit merged branch if there is no conflicts.
 
*Once merge is done, check everything is ok.
 
*Commit and push.
 
 
 
=Pushing a branch onto another Git server=
 
You may want to synchronize another GIT server.
 
To synchronize push to another server, this is how to proceed.
 
With Eclipse:
 
 
 
*Go onto Git clone view and add a remote with a name, choose "Configure push" and enter URL. For example, for name "sourceforge" and URL "ssh://yoursourceforgelogin@git.code.sf.net/p/dolibarr/code"
 
*Just validate, a first push will be done automatically.
 
*To force sync, run
 
 
 
 
<source lang="bash">
 
<source lang="bash">
git push sourceforge develop
+
git log id_found_at_previous_step..HEAD
git push --tags sourceforge develop
 
 
</source>
 
</source>
  
=Statistics=
+
*Um die Gesamtzahl der hinzugefügten/gelöschten Zeilen zu ermitteln:
With GIT Command Line interface:
 
 
 
To count number of changes developers have made between a version x and y:
 
 
 
*First, search commit id of tags you want to compare
 
 
 
To find id_start (common commit id between 2 versions/tags)
 
 
<source lang="bash">
 
<source lang="bash">
git merge-base refs/tags/3.3.0 origin/3.4
+
git log --ancestry-path --numstat --pretty="%H" id_found_at_previous_step..HEAD | awk 'NF==3 {plus+=$1; minus+=$2} END {printf("+%d, -%d\n", plus, minus)}'
or
 
git merge-base 3.7 origin/develop
 
 
</source>
 
</source>
To find id_end, choose among
 
<source lang="bash">
 
git show-ref
 
</source>
 
Choose a value for id_start and id_end
 
Note: id_end can be HEAD.
 
  
*Then run git log to have list of all changes from last common commit to last commit
 
  
<source lang="bash">
+
Zählen der endgültigen Änderungen zwischen einer Version x und y (dies unterscheidet sich von der vorherigen Zählung, da bei der vorherigen Zählung eine Änderung zweimal zu zwei verschiedenen Zeitpunkten durchgeführt werden kann, um unterschiedliche Änderungen vorzunehmen. Bei der zweiten Methode werden die Änderungen gezählt, die schließlich gefunden wurden, wenn die Änderungen beim ersten Versuch in Ordnung waren):
git log id_start..id_end
+
 
</source>
 
  
*To get total number of added/deleted lines:
+
*Verwenden Sie die gleiche Methode wie zuvor, aber anstatt git log auszuführen, führen Sie '''git diff''' aus.
  
 
<source lang="bash">
 
<source lang="bash">
git log --ancestry-path --numstat --pretty="%H" id_start..id_end | awk 'NF==3 {plus+=$1; minus+=$2} END {printf("+%d, -%d\n", plus, minus)}'
+
git diff -b -M --numstat --pretty="%H" id_found_at_previous_step..HEAD | awk 'NF==3 {plus+=$1; minus+=$2} END {printf("+%d, -%d\n", plus, minus)}'
 
</source>
 
</source>
  
  
To count number of changes finally between a version x and y (it differs from previous count because in previous count, a change can be done 2 times at two different moment to change differently. With second method, you count changes finally found if changes were ok at first try).  
+
Weitere Informationen über die Verwendung von GIT erhältlich unter: [http://wiki.eclipse.org/EGit/User_Guide ici].
 
 
*Use same method than previously but instead of running git log, run git diff.
 
 
 
<source lang="bash">
 
git diff -b -M --numstat --pretty="%H" id_start..id_end | awk 'NF==3 {plus+=$1; minus+=$2} END {printf("+%d, -%d\n", plus, minus)}'
 
</source>
 
 
 
  
More information in GIT usage is available [http://wiki.eclipse.org/EGit/User_Guide here].
 
 
[[Category:Development]]
 
[[Category:Development]]

Latest revision as of 02:21, 14 September 2023

Hier finden Sie Informationen darüber, wie Sie die Quellen des Dolibarr-Projekts erhalten können. Es werden mehrere Methoden beschrieben, aber wir empfehlen, die auf GitHub basierende Methode zu verwenden.


Letzte Version der Quellen durch tgz-Download abrufen

Diese Methode kann auch von nicht-technischen Benutzern verwendet werden. Sie ermöglicht es Ihnen, die Quellen des Hauptentwicklungszweigs (HEAD genannt) zu erhalten, indem Sie einfach eine Datei herunterladen: Diese Operation besteht darin, die letzte Version der Dolibarr-Dateien zu erhalten, die jede Nacht in eine tgz-Datei gepackt werden. Die Datei ist über einen Link verfügbar:

Last GitHub snapshot of Dolibarr source files.

Neue Dateien überschreiben alte Dateien. Der Nachteil dieser Methode ist, dass Sie das Paket jedes Mal herunterladen und dekomprimieren müssen, wenn Sie Updates erhalten möchten.

Entwickler sollten diese Methode nicht verwenden, um Quellen zu erhalten, sondern die nächste.

Letzte Version der Quellen über einen anonymen GIT-Zugang abrufen

Sie können diese Methode verwenden, wenn Sie keinen GIT-Zugang haben. Mit dieser Methode können Sie keine Änderungen einreichen. Wenn Sie also ein Entwickler sind, sollten Sie ein GitHub-Konto erstellen und die nächste Methode anstelle dieser Methode verwenden.

Voraussetzungen

  • Mit Eclipse IDE

Zuerst müssen Sie eine funktionierende Installation von Eclipse haben. Das EGit-Plugin muss ebenfalls installiert worden sein. Verwenden Sie dazu den Find And Install process im Eclipse Menü, fügen Sie die GIT update URL hinzu:

https://download.eclipse.org/egit/updates

Wählen Sie dann EGit zur Installation aus (JGit muss nicht ausgewählt werden)

  • Mit der GIT-Kommandozeilen-Client-Schnittstelle

Sie müssen den GIT-Client installieren (das GIT-Befehlszeilentool wird unter Linux mit "sudo apt-get install git" installiert, für Windows ist der GIT-Client unter https://git-scm.com/download/win zu finden).

Clone Prozess

Geben Sie zunächst den Wert des Repositorys mit den Referenzquellen in Ihr GIT-Client-Tool ein.

  • Mit Eclipse, gehen Sie in die Perspektive GIT, klicken Sie auf den Button "GIT Repository klonen". Geben Sie die GIT-URL des Projekts ein, das Sie erhalten möchten.
git://github.com/Dolibarr/dolibarr.git (read only)
oder wenn Sie einen Fork von dolibarr github von der github-Weboberfläche erstellt haben
git@github.com:yourgitaccount/dolibarr.git (read and write access)

Ihr Eclipse-GIT-Client wird Sie auffordern, die Branches auszuwählen, an denen Sie interessiert sind. Branches, die jetzt noch nicht ausgewählt sind, können später durch einen "Fetch" aus der "Remotes"-Ansicht ausgewählt werden, aber versuchen Sie, nur den Branch auszuwählen, den Sie benötigen. Dies erspart Ihnen später Zeit und Probleme.

Hinweis: Wenn Sie sich hinter einer Firewall befinden, müssen Sie die Eclipse-Proxy-Zugangsdaten im Eclipse-Menü Fenster - Einstellungen - Allgemein - Netzwerkverbindung einstellen und die alternative URL verwenden:

https://gitlogin:gitpassword@github.com/yourgitaccount/dolibarr.git
  • Mit GIT auf der Befehlszeilenschnittstelle:

Richten Sie zunächst Ihren Git-Client ein:

git config --global user.name "Your Name"
git config --global user.email "user@domain.com"
git config --list

Dann klonen Sie das Repository lokal:

git://github.com/Dolibarr/dolibarr.git (nur lesen)
oder wenn Sie einen Fork von dolibarr github von der github-Weboberfläche erstellt haben
git@github.com:yourgitaccount/dolibarr.git (Lese- und Schreibzugriff)

Hinweis: Wenn Sie sich hinter einer Firewall befinden, müssen Sie Ihre Proxy-Informationen einstellen und die alternative https-URL verwenden:

git config --global http.proxy http://proxyuser:proxypass@proxyserver:proxyport
git clone https://gitlogin:gitpassword@github.com/yourgitaccount/dolibarr.git dolibarr

Sobald dieser Schritt bestätigt ist, lädt Ihr GIT-Client alle Dateien vom entfernten GIT-Server herunter. Dies kann einige Sekunden oder Minuten dauern.

Sobald der Download abgeschlossen ist, müssen Sie wählen, an welchem Zweig Sie arbeiten möchten.

  • Mit GIT auf der Befehlszeilenschnittstelle;


git checkout develop
git checkout x.y

Dadurch wird eine lokale Branche erstellt und automatisch ein Checkout durchgeführt.

  • Klicken Sie in Eclipse mit der rechten Maustaste auf "Branches - Remotes -" die Branche, die Sie lokal duplizieren möchten".

Wählen Sie " Erstelle Branch" (und markieren Sie das Kästchen "Checkout"). Dadurch wird der Inhalt der Branche dupliziert, um lokal daran zu arbeiten, und Ihr "Arbeitsverzeichnis" wird aktualisiert, um an dieser Branche zu arbeiten.

Erstellen Sie ein Eclipse-Projekt:

Wenn Sie Eclipse verwenden, erstellen Sie, sobald die Verzweigung lokal erstellt wurde, ein PHP-Projekt aus dem Assistenten, indem Sie "Create from existing project" wählen und das Verzeichnis auswählen, das Ihr lokales GIT-Repository ist (Wählen Sie nicht die Option, ein PHP-Projekt komplett neu zu erstellen).

Klicken Sie dann mit der rechten Maustaste auf das Projekt in Ihrem Eclipse-Arbeitsbereich und wählen Sie "Team - Share". Wählen Sie GIT und klicken Sie auf die Option "Use or create repository in parent folder of project". Eine alternative Methode ist File->Import, Git->Project von Git, Wählen Sie das Git-Repository und Weiter, Assistent für neue Projekte verwenden -> Php-Projekt, geben Sie den Ordner Ihres lokalen GIT-Repositorys ein.

Dann können Sie Eclipse so einstellen, dass es nicht alle Projektdateien für seine Build-Tools (Outline Scanner, TODO Scanner, Syntax Scanner...) scannt. Dies verhindert, dass Eclipse zu langsam ist. Klicken Sie dazu mit der rechten Maustaste auf das Projekt, wählen Sie Build Path und stellen Sie es wie im folgenden Screenshot ein.

Eclipse php build path.png

Abrufen der letzten Version der Quellen über einen GitHub-Nutzerzugang

Voraussetzung

  • Mit Eclipse IDE

Sie müssen zuvor ein Konto auf GitHub (https://github.com/) erstellen und ein öffentliches RSA- oder DSA-Zertifikat in Ihr Kontoprofil hochladen.

Dann müssen Sie eine funktionierende Installation von Eclipse haben. Das EGit-Plugin muss ebenfalls installiert worden sein.

https://download.eclipse.org/egit/updates

Wählen Sie dann die Installation von EGit.

  • Mit der GIT-Kommandozeilen-Schnittstelle:

Sie müssen zuvor ein Konto auf GitHub (https://github.com/) erstellen und ein öffentliches RSA- oder DSA-Zertifikat in Ihr Kontoprofil hochladen.

Dann müssen Sie den GIT-Client installieren (GIT-Kommandozeilen-Tool unter Linux mit "sudo apt-get install git" oder den GIT-Client für Windows unter https://git-scm.com/download/win).

Fork Prozess

Melden Sie sich bei Github mit den Login-Daten an, das Sie im vorherigen Schritt erstellt haben. Gehen Sie dann auf die Seite

https://github.com/Dolibarr/dolibarr

und klicken Sie auf die Schaltfläche "Fork".

Dadurch wird eine Kopie (ein Fork) des Projekts in Ihrem eigenen Github-Bereich erstellt. Da Sie der Besitzer dieses Forks sind, haben Sie alle Rechte, die Sie für die nächsten Schritte benötigen.

Clone Prozess

Dann ist der Prozess derselbe wie bei der Beschaffung von Quellen mit anonymen Zugriff.

Die für den GIT-Clone zu verwendende URL ist dieselbe:

git@github.com:YourGitHubLogin/dolibarr.git

Beachten Sie, dass es auch eine HTTPS-URL gibt, die aber manchmal offline ist (verwenden Sie also lieber die erste, ein Link mit HTTPS ist nur erforderlich, wenn Sie sich hinter einer Firewall befinden):

https://yourgithublogin@github.com/Dolibarr/dolibarr.git

Update des Repository

So aktualisieren Sie Ihren lokalen Workspace:

  • Mit Eclipse IDE:

Rechtsklick auf das Eclipse-Projekt und Auswahl von "Pull".

Wenn Sie in Ihrem Eclipse-Workspace Änderungen an Dateien vorgenommen haben, die in der GIT-Remote-Referenz geändert wurden, wird Ihr GIT-Client automatisch einen Merge durchführen.

  • Wenn es Konflikte gibt, wird der Merge alle Konfliktdateien als "Konflikt" markieren (siehe später, um diesen Zustand zu lösen).
  • Wenn nicht, erhalten Sie alle Dateien in der neuen Version, einschließlich aller Ihrer Änderungen.

Wenn Sie bereits einige Dateien in Ihr lokales Repository übertragen haben, wird Ihr Workspace als "Zusammengeführt" markiert. Alles was Sie tun müssen, ist ein Commit zu machen, um Ihr lokales Repository zu bestätigen, dass es sowohl Ihre Änderungen als auch die Änderungen anderer enthält.


  • Mit dem GIT Command Line Client Interface:
git pull

Commit und Veröffentlichen von Änderungen

Um alle Änderungen zu sehen, die Sie in Ihrem Arbeitsverzeichnis vorgenommen haben und die darauf warten, in Git hinzugefügt zu werden:

  • Mit GIT Command Line Interface:
git status
git diff subdir/filename

Um Änderungen, die Sie in Ihrem lokalen Repository vorgenommen haben, in den GIT-Index aufzunehmen, führen Sie einen commit-Befehl für diesen Index durch:

  • Mit Eclipse: Klicken Sie mit der rechten Maustaste auf die zu übertragende Datei oder das Verzeichnis. Wählen Sie die Datei zum Hinzufügen/Entfernen/Aktualisieren in den nächsten Commit.
  • Mit GIT Command Line Interface:
git commit -a -m "Commit text"

Dadurch werden Hinzufügungen und Änderungen in Ihrem lokalen Branch gespeichert.

Um sie auf den GIT-Repository-Server zu pushen,


  • With Eclipse: Klicken Sie mit der rechten Maustaste auf das Projekt und wählen Sie "Team - Push to Upstream".
  • With GIT Command Line Interface:
git push

Um ein Commit abzubrechen:

  • Mit GIT Command Line Interface, wenn der Commit noch nicht gepusht wurde:
git reset --soft HEAD~1
  • Mit GIT Command Line Interface, wenn ein Commit bereits gepusht wurde:
git revert IdCommit  or  git revert HEAD  (for last commit)

Um Änderungen, die in Ihrer GIT-Instanz vorgenommen wurden, in die offizielle Dolibarr-Instanz einzubinden:

  • Gehen Sie in die GitHub-Weboberfläche Ihrer geforkten Git-Instanz.
  • Klicken Sie auf die kleine Schaltfläche "Create a Pull request".
  • Wählen Sie den Commit aus, dessen Aufnahme Sie beantragen, und validieren Sie ihn.

Anfrage stellen, um die Änderungen in das offizielle Projekt zu übernehmen

Sobald Sie einen oder mehrere Commits in Ihren remote Fork-Bereich auf Github gepusht haben, können Sie das Dolibarr-Kernteam bitten, diese in das offizielle Projekt aufzunehmen. Folgen Sie dazu dieser Anleitung: https://help.github.com/articles/creating-a-pull-request/

Hinzufügen eines externen Commits zum aktuellen Repository

Einige Entwickler fügen ihre Änderungen durch Commits in ihr eigenes Git-Repository hinzu, nachdem sie das Projekt geforkt haben. Wenn Sie daran interessiert sind, diese Änderungen zu erhalten, können Sie sie mit den folgenden Schritten importieren.

Hierfür benötigen Sie sowohl Eclipse als auch das GIT Command Line Interface:

  • Gehen Sie zunächst in die GIT-Setup-Ansicht und klicken Sie mit der rechten Maustaste auf "Remotes" in Ihrem Eclipse-Git-Workspace und wählen Sie "Create a remote..."
  • Geben Sie den Namen des entfernten Forks ein, den der Entwickler erstellt hat (in den meisten Fällen ist es das Git-Login des Entwicklers). Zum Beispiel: "thedevlogin". Wählen Sie auch "Configure Fetch".
  • Geben Sie die URI des Git-Repositorys des Entwicklers ein. Zum Beispiel: git://github.com/thedevlogin/dolibarr.git. Fügen Sie auch einen refspec-Wert hinzu, um den Branch anzugeben, den Sie abrufen möchten. Zum Beispiel: refs/heads/master:refs/remotes/thedevlogin/master. Klicken Sie auf "Save and Fetch". Es wird ein neuer Eintrag in "Remote Tracking" hinzugefügt, der es ermöglicht, Commits in diesem Zweig zu lesen/zu schreiben.

Gehen Sie nun in die Kommandozeile Ihres Git-Repositorys (unter Linux ist es in den meisten Fällen /home/yourlogin/git/yourdolibarr) und geben Sie den Befehl git cherry-pick ein:

git cherry-pick -x commitid

wobei commitid der Wert der Commit-ID ist, die Sie erhalten möchten.

Sobald dies erledigt ist, gehen Sie zurück zu Eclipse und aktualisieren Sie das Projekt. Sie werden sehen, dass geänderte Dateien mit Dekoratoren erscheinen (mit Konflikten, wenn es welche gibt).

Wenn die Auswahl aufgrund von Konflikten fehlschlägt, können Sie den Versuch der Auswahl mit

git cherry-pick --abort

Einen Konflikt lösen

Wenn eine Datei nach einem "Pull" als "Konflikt" markiert ist, öffnen Sie die Datei und bearbeiten Sie sie. Suchen Sie nach dem String "<<<<<<<<<<", dann sehen Sie den Teil des Codes, der zwischen "<<<<<<<<<" und ">>>>>>>>" als Konflikt markiert ist. Bearbeiten Sie die Codezeilen manuell, um das Endergebnis zu erhalten, indem Sie auch die "<<<<<<<<" und ">>>>>>>" entfernen.

Klicken Sie dann mit der rechten Maustaste auf die Datei und wählen Sie " Hinzufügen".

Wenn Sie lieber alle Änderungen, die Sie an allen Dateien vorgenommen haben, vollständig rückgängig machen möchten (um Ihren Arbeitsbereich mit dem Inhalt des entfernten Repositoriums wiederherzustellen), können Sie einen Reset durchführen:

  • Mit Eclipse klicken Sie mit der rechten Maustaste auf die oberste Zeile des Projekts und wählen Sie "Zurücksetzen" und dann "Hard" und dann "Reference - HEAD".
  • Bei Verwendung des GIT-Befehlszeilentools erreichen Sie dies mit dem Befehl
git reset --hard HEAD

Taggen Sie die Quellen

Mit den GIT-Kommandozeilenwerkzeugen: Um ein Tag über eine Version zu erstellen:

git tag -a -m "Release|Maintenance release x.y.z" "x.y.z"
oder
git tag -a -f -m "Beta x.y.betai" "x.y.betai_YYYYMMDD" idcommit   # -f force wenn ein Tag bereits existiert, ermöglicht idcommit die Auswahl des zu taggenden Commits.
git push --tags   # Pour pousser le tags sur le serveur distant

Um einen Tag zu löschen:

git tag -d "x.y.z_YYYYMMDD"
git push origin :x.y.z_YYYYMMDD    # Um die Löschung auf dem entfernten Server zu bestätigen

Einen neue Branche erstellen

Hier ist der Befehl, den Sie verwenden müssen, um einen neuen Zweig aus einem eigenen develop-Repository zu erstellen:

git branch x.y
git push origin x.y

Statistiken

Mit den GIT-Kommandozeilenwerkzeugen:

Um die Anzahl der Änderungen zu zählen, die ein Entwickler zwischen Version x und y vorgenommen hat:

  • Zuerst führen Sie "git merge-base" aus, um die ID des letzten gemeinsamen Commits zwischen x und y zu erfahren.
git merge-base origin/3.1 origin/develop
  • Dann führen Sie git log aus, um eine Liste aller Änderungen von der letzten gemeinsamen Übertragung bis zur letzten Übertragung zu erhalten.
git log id_found_at_previous_step..HEAD
  • Um die Gesamtzahl der hinzugefügten/gelöschten Zeilen zu ermitteln:
git log --ancestry-path --numstat --pretty="%H" id_found_at_previous_step..HEAD | awk 'NF==3 {plus+=$1; minus+=$2} END {printf("+%d, -%d\n", plus, minus)}'


Zählen der endgültigen Änderungen zwischen einer Version x und y (dies unterscheidet sich von der vorherigen Zählung, da bei der vorherigen Zählung eine Änderung zweimal zu zwei verschiedenen Zeitpunkten durchgeführt werden kann, um unterschiedliche Änderungen vorzunehmen. Bei der zweiten Methode werden die Änderungen gezählt, die schließlich gefunden wurden, wenn die Änderungen beim ersten Versuch in Ordnung waren):


  • Verwenden Sie die gleiche Methode wie zuvor, aber anstatt git log auszuführen, führen Sie git diff aus.
git diff -b -M --numstat --pretty="%H" id_found_at_previous_step..HEAD | awk 'NF==3 {plus+=$1; minus+=$2} END {printf("+%d, -%d\n", plus, minus)}'


Weitere Informationen über die Verwendung von GIT erhältlich unter: ici.