git
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
git [2023/11/16 15:27] – [Initial Setup on Windows] skipidar | git [2025/08/24 14:25] (current) – [Gitflow Workflow] skipidar | ||
---|---|---|---|
Line 35: | Line 35: | ||
{{https:// | {{https:// | ||
+ | |||
+ | |||
+ | < | ||
+ | Default Branch Names: | ||
+ | |||
+ | Production Branch (master or main): This branch should always reflect the production-ready state of your project. | ||
+ | |||
+ | Development Branch (develop): This is the main branch for all new development. Feature branches are created from develop and merged back into it. | ||
+ | |||
+ | |||
+ | Feature Branch Prefix (feature/): For new features. | ||
+ | |||
+ | Release Branch Prefix (release/): For preparing a new production release. | ||
+ | |||
+ | Hotfix Branch Prefix (hotfix/): For quick fixes to the production branch. | ||
+ | |||
+ | Support Branch Prefix (support/): For long-running support branches (less common but available). | ||
+ | |||
+ | Version Tag Prefix (v): Used for tagging releases. | ||
+ | </ | ||
+ | |||
==== FallPits ==== | ==== FallPits ==== | ||
* Use the http / https repository for cloning. | * Use the http / https repository for cloning. | ||
Line 69: | Line 90: | ||
</ | </ | ||
- | {{http://i520.photobucket.com/albums/ | + | {{https://s3.eu-central-1.amazonaws.com/alf-digital-wiki-pics/ |
Line 126: | Line 147: | ||
</ | </ | ||
- | == .ssh == | + | == .ssh\config |
File: | File: | ||
Line 206: | Line 227: | ||
</ | </ | ||
- | |||
- | ===Assembla=== | ||
- | **Summary: | ||
- | - Assembla has SSH Key authtication. It can be generated with Putty - the public key is uploaded here: https:// | ||
- | - Then you should create a remote entry with yout Assembla email and private key under < | ||
- | - Do the "Git Clone" somehwere | ||
- | |||
- | The details are here: http:// | ||
Line 265: | Line 278: | ||
==== Rebase ===== | ==== Rebase ===== | ||
- | <code> | + | <sxh shell> |
Line 306: | Line 319: | ||
git push --force-with-lease | git push --force-with-lease | ||
- | </code> | + | </sxh> |
+ | |||
+ | |||
+ | ==== Getting rid of Git History ===== | ||
+ | |||
+ | https:// | ||
+ | |||
+ | <sxh shell> | ||
+ | |||
+ | |||
+ | # first backup your history by copying the branch. | ||
+ | # can remove it later | ||
+ | git switch master | ||
+ | git branch master_history_2023_11_31 | ||
+ | git push origin -u master_history_2023_11_31 | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | # Checkout as orphan, without history | ||
+ | git checkout --orphan latest_branch | ||
+ | |||
+ | # Add all the files | ||
+ | git add -A | ||
+ | |||
+ | # Commit the changes | ||
+ | git commit -am " | ||
+ | |||
+ | # Delete the branch | ||
+ | git branch -D master | ||
+ | |||
+ | # Rename the current branch to master | ||
+ | git branch -m master | ||
+ | |||
+ | # Finally, force update your repository | ||
+ | git push -f origin master | ||
+ | |||
+ | |||
+ | </ | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ==== Deleting branch | ||
+ | |||
+ | Delete branch '' | ||
+ | |||
+ | <sxh shell> | ||
+ | |||
+ | git branch -D latest_branch | ||
+ | |||
+ | git push origin --delete latest_branch | ||
+ | |||
+ | </ | ||
+ | |||
+ | |||
+ | |||
+ | ==== Remove unreachable blobs, reduce size of repo ===== | ||
+ | |||
+ | '' | ||
+ | |||
+ | |||
+ | Sometimes in '' | ||
+ | Even if you removed the history on the current branch, they might persist blowing up the repo. | ||
+ | |||
+ | To clean them up - use the garbage collector. | ||
+ | |||
+ | <sxh shell> | ||
+ | |||
+ | # This command is used to expire all entries in the reflog that are not reachable from the current commit (i.e., entries that are not part of any branch or tag). The --expire-unreachable=all flag specifies that even unreachable entries (such as commits that were " | ||
+ | # The --all flag ensures that it applies to all branches and tags, not just the current branch. | ||
+ | git reflog expire --expire-unreachable=all --all | ||
+ | |||
+ | |||
+ | |||
+ | # This command triggers Git's garbage collection process (gc stands for " | ||
+ | |||
+ | git gc --prune=all | ||
+ | </sxh> |
git.1700148434.txt.gz · Last modified: by skipidar