X-Git-Url: https://git.xandkar.net/?p=git-cheat-sheet.git;a=blobdiff_plain;f=README.md;h=280c99e0329c98850e0cf5762ddabbcdff7f2a2f;hp=37c1ae433d66c5067fbca16c14eafcf7adfc727c;hb=402d8d8e07f5115ea4f953078bdac1c962cc9a44;hpb=0c3f98d931578bf044f1facc2fb8f3c8a2fb251c diff --git a/README.md b/README.md index 37c1ae4..280c99e 100644 --- a/README.md +++ b/README.md @@ -3,6 +3,28 @@ git-cheat-sheet How to do stuff with git +Staging a subset of changes in a file +------------------------------------- + + git add -p + + y - stage this hunk + n - do not stage this hunk + q - quit; do not stage this hunk or any of the remaining ones + a - stage this hunk and all later hunks in the file + d - do not stage this hunk or any of the later hunks in the file + g - select a hunk to go to + / - search for a hunk matching the given regex + j - leave this hunk undecided, see next undecided hunk + J - leave this hunk undecided, see next hunk + k - leave this hunk undecided, see previous undecided hunk + K - leave this hunk undecided, see previous hunk + s - split the current hunk into smaller hunks + e - manually edit the current hunk + ? - print help + +https://git-scm.com/docs/git-add#Documentation/git-add.txt-patch + Splitting a repo ---------------- @@ -47,7 +69,7 @@ Inserting a new root commit --------------------------- ```sh git checkout --orphan $TEMP_BRANCH -git rm -rf . +git rm -rf * git commit --allow-empty -m $INIT_COMMIT_MSG git rebase --onto $TEMP_BRANCH --root $MAIN_BRANCH git branch -d $TEMP_BRANCH @@ -89,3 +111,18 @@ From [docs](https://git-scm.com/docs/git-rebase#_splitting_commits): - Commit the now-current index with whatever commit message is appropriate now. - Repeat the last two steps until your working tree is clean. - Continue the rebase with `git rebase --continue`. + + +Merge 2 repos +------------- + +```sh +$ ls -1 +repo_A +repo_B +$ cd repo_B +$ git remote add repo_A ../repo_A +$ git fetch repo_A --tags +$ git merge --allow-unrelated-histories repo_A/$BRANCH +$ git remote remove repo_A +```