Benutzer-Werkzeuge

Webseiten-Werkzeuge


programming:git:start

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
programming:git:start [2019/07/01 19:11]
frank [aufräumen]
programming:git:start [2019/10/01 12:42] (aktuell)
frank
Zeile 73: Zeile 73:
 #​Verzeichnis ausschließen:​ #​Verzeichnis ausschließen:​
 git diff b543a94c2247bbf9e66ad9996f7d0273458faacd..bbbb5eb11e10e9fa4e0e3a620f8aa47e1e8355c4 -- . ':​(exclude)drivers/​misc/​mediatek/​*'​ >​wifi.diff git diff b543a94c2247bbf9e66ad9996f7d0273458faacd..bbbb5eb11e10e9fa4e0e3a620f8aa47e1e8355c4 -- . ':​(exclude)drivers/​misc/​mediatek/​*'​ >​wifi.diff
 +
 +#mit remote vergleichen
 +branch=$(git rev-parse --abbrev-ref HEAD)
 +git diff $branch origin/​$branch
 </​code>​ </​code>​
  
Zeile 185: Zeile 189:
  
 (holt die Änderungen vom remote und rebased die eigenen "​on-top"​) (holt die Änderungen vom remote und rebased die eigenen "​on-top"​)
 +
 +alternative (aktuellen branch im losgelösten Head aktualisieren):​
 +
 +  git rebase --onto v5.3-rc1 <erster commit>^ <letzter commit>
 +  git checkout -b <neuer branch>
  
 oder (remote mit lokal mergen inkl. merge-commit) oder (remote mit lokal mergen inkl. merge-commit)
Zeile 260: Zeile 269:
  
 falls das mit Fehler abbricht (out of memory): falls das mit Fehler abbricht (out of memory):
 +
 +  fatal: Out of memory, realloc failed
 +  error: failed to run repack
  
 https://​stackoverflow.com/​questions/​4826639/​repack-of-git-repository-fails https://​stackoverflow.com/​questions/​4826639/​repack-of-git-repository-fails
Zeile 274: Zeile 286:
         threads = 1         threads = 1
 </​code>​ </​code>​
 +- ggf. "git repack -a -d"
 - via scp die neu gepackten (auf kleine chunks) auf den Server kopieren - via scp die neu gepackten (auf kleine chunks) auf den Server kopieren
-<​code>​scp .git/​objects/​pack/​* $server:/​$pfad/​$repo/​objects/​pack/​+<​code>​
 scp .git/​objects/​pack/​* $server:/​$pfad/​$repo/​objects/​pack/​ scp .git/​objects/​pack/​* $server:/​$pfad/​$repo/​objects/​pack/​
 scp -r .git/​packed-refs $server:/​$pfad/​$repo/​ scp -r .git/​packed-refs $server:/​$pfad/​$repo/​
-<​code>​+</code>
 - Rechte auf dem Server anpassen (chmod -R user:group .;chmod -R g+w .) - Rechte auf dem Server anpassen (chmod -R user:group .;chmod -R g+w .)
 - jetzt erst den push durchführen (ggf. mit ssh) - jetzt erst den push durchführen (ggf. mit ssh)
Zeile 284: Zeile 297:
 git push --mirror ssh://​$server/​$pfad/​$repo git push --mirror ssh://​$server/​$pfad/​$repo
 </​code>​ </​code>​
 +
 +da der Fehler bei mir aber wiederkam (auch trotz großem swapfile), konnte ich ihn mit folgenden Kommandos beheben (als user,der das git gc aufruft):
 +
 +  git config --global core.packedGitLimit 128m
 +  git config --global core.packedGitWindowSize 128
 +
 +in der gitconfig sieht das dann so aus:
 +
 +  [core]
 +    packedGitLimit = 128m
 +    packedGitWindowSize = 128
 +
 ===== whitespace-fix ===== ===== whitespace-fix =====
  
Zeile 291: Zeile 316:
   git checkout -b branch-ws   git checkout -b branch-ws
   git am --whitespace=fix *.patch   git am --whitespace=fix *.patch
-  ​+ 
 +===== debugging ===== 
 +==== bisect ==== 
 +* https://​stackoverflow.com/​questions/​3179498/​how-can-i-cut-down-a-git-bisect-run-using-file-paths
 ===== Branch ===== ===== Branch =====
  
Zeile 514: Zeile 542:
  
 ===== git send-email ===== ===== git send-email =====
 +
 +  sudo apt-get install git-email
  
 https://​www.freedesktop.org/​wiki/​Software/​PulseAudio/​HowToUseGitSendEmail/​ https://​www.freedesktop.org/​wiki/​Software/​PulseAudio/​HowToUseGitSendEmail/​
 +
 +die History (changes since vX) unter die Signed-off-by mit --- getrennt
  
 patch erzeugen (Version X von sha1 bis sha2 mit Erzeugung des Patch#0): patch erzeugen (Version X von sha1 bis sha2 mit Erzeugung des Patch#0):
Zeile 527: Zeile 559:
 Empfänger ermitteln: Empfänger ermitteln:
  
-  scripts/​get_maintainer.pl --norolestats ​0001-net-dsa-adding-fields-for-holding-information-about-.patch ​+  scripts/​get_maintainer.pl --norolestats ​*.patch  
 +  scripts/​get_maintainer.pl v6-00{01..13}*.patch|sort -u
  
-und dann senden:+hier die committer rausnehmen ​und in den coverletter eintragen (1 mailingliste als To und die anderen als CC)
  
-  git send-email ​0000-cover-letter.patch 000{1..8}-net-*.patch+  ​To: linux-mediatek@lists.infradead.org 
 +  Cc: devicetree@vger.kernel.org,​ 
 +      linux-arm-kernel@lists.infradead.org,​ 
 +      ... 
 + 
 +und senden 
 + 
 +  ​git send-email ​--to-cover --cc-cover v6-*.patch
  
 http://​nickdesaulniers.github.io/​blog/​2017/​05/​16/​submitting-your-first-patch-to-the-linux-kernel-and-responding-to-feedback/​ http://​nickdesaulniers.github.io/​blog/​2017/​05/​16/​submitting-your-first-patch-to-the-linux-kernel-and-responding-to-feedback/​
 +
 +falls man jemanden vergessen hat, kann man die serie nochmal so schicken (vorher im coverletter die Mailadressen entfernen und ggf. auf das Nachsenden hinweisen):
 +
 +  git send-email --to=linux-arm-kernel@lists.infradead.org --suppress-cc=all v6-*.patch
 ===== Config ===== ===== Config =====
 ==== Benutzer/​Email konfigurieren ==== ==== Benutzer/​Email konfigurieren ====
Zeile 580: Zeile 624:
     kver = "!f() { make kernelversion;​ };f"     kver = "!f() { make kernelversion;​ };f"
     ckver = "!f() { git commit -a -m \"​update to $(make kernelversion)\";​ };f"     ckver = "!f() { git commit -a -m \"​update to $(make kernelversion)\";​ };f"
 +    current = rev-parse --abbrev-ref HEAD
 +    remote-diff = !git diff $1@{upstream}..$1@{0}
 </​code>​ </​code>​
  
programming/git/start.1562001106.txt.gz · Zuletzt geändert: 2019/07/01 19:11 von frank