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
Check if a forced update is pending
$ git fetch --dry-run remote: Enumerating objects: 26, done. remote: Counting objects: 100% (26/26), done. remote: Compressing objects: 100% (15/15), done. remote: Total 26 (delta 12), reused 21 (delta 7), pack-reused 0 Unpacking objects: 100% (26/26), done. From https://somerepo + 1ec508d...c046c5f 1.x -> origin/1.x (forced update)
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.1639992438.txt.gz · Last modified: 2021/12/20 09:27 by sunkan