User Tools

Site Tools


general:git

This is an old revision of the document!


To see how branches relate

$ git log --oneline --decorate --graph --all
* c2b9e (HEAD, master) made other changes
| * 87ab2 (testing) made a change
|/
* f30ab add feature #32 - ability to add new formats to the
* 34ac2 fixed bug #1328 - stack overflow under certain conditions
* 98ca9 initial commit of my project

Or use “gitk –all”

Generate patch and apply to branch with different commit history

Generate patches for local commits from origin/1.x

$ git format-patch -k -o ~/patches_dir/ origin/1.x

Update local branch when we know there is going to be a forced update

$git checkout master # Needs to be performed before doing fetch
$git fetch
$git branch -D 1.x
$git checkout -b mybranch-1.x origin/1.x

Apply patches to branch

$ cat ~/patches_dir/* | git am -k

Script to automate fetching and re-applying patches

#!/bin/sh
 
localbranch=mybranch-1.x
remotebranch=1.x
patchdir=~/patches_dir
repodir=~/the_cloned_repo
 
# Generate patches
# git format-patch -k -o "$patchdir" origin/$remotebranch
 
( cd $repodir
  # Apply patches
  git checkout master # Needs to be run before fetch
  git branch -D $localbranch-old
  git branch -m $localbranch $localbranch-old
  git fetch
  git checkout -b $localbranch origin/$remotebranch
  cat "$patchdir"/*.patch | git am -k
)
general/git.1639992229.txt.gz · Last modified: 2021/12/20 09:23 by sunkan

Donate Powered by PHP Valid HTML5 Valid CSS Run on Debian Driven by DokuWiki