Git CLI hints: Difference between revisions
From WikiMLT
m (Стадий: 3 [Фаза:Разработване, Статус:Разутвърден]; Категория:DevOps and SRE) |
m (→References) |
||
Line 61: | Line 61: | ||
* Stack Overflow: [https://stackoverflow.com/a/449070/6543935 How can I remove a commit on GitHub?] | * Stack Overflow: [https://stackoverflow.com/a/449070/6543935 How can I remove a commit on GitHub?] | ||
* Stack Overflow: [https://stackoverflow.com/a/60855504/6543935 How do I copy a version of a single file from one Git branch to another?] | * Stack Overflow: [https://stackoverflow.com/a/60855504/6543935 How do I copy a version of a single file from one Git branch to another?] | ||
* Free Code Camp: [https://forum.freecodecamp.org/t/push-a-new-local-branch-to-a-remote-git-repository-and-track-it-too/13222 Push a new local branch to a remote Git repository and track it too] | |||
* Atlassian Bitbucket: [https://www.atlassian.com/git/tutorials/undoing-changes Undoing Commits & Changes] | |||
<noinclude> | <noinclude> | ||
<div id='devStage'> | <div id='devStage'> |
Revision as of 09:13, 2 December 2022
Append a file to a branch
touch file.name
git add -A
git commit -am "my update msg"
git push
How to shrink the .git folder
git gc --aggressive --prune # will perform garbage collection in your repository and prune old objects.
git repack -a -d --depth=250 --window=250 # It's better to use this command, because 'git gc --aggressive' is considered to be bad practice.
Delete all commit history
git checkout --orphan latest_branch # Checkout
git add -A # Add all the files to the 'current' branch
git commit -am "commit message" # Commit the changes
git branch -D main # Delete the branch 'main'
git branch -m main # Rename/move the 'current' branch to main
git push -f origin main # Finally, force update your repository
Delete/Remove a branch
git branch -d <branch-name>
Remove last Commit and Push from the Remote
git reset --soft HEAD~1
git push -f origin HEAD^:BRANCH_NAME
Now you are ready to push the same changes by a new commit.
Copy File from Another Branch
git restore --source master ./assets/css/src/style.less
Where master
is the name of the branch we want to copy from.
Hard Reset a Local Branch
BRANCH="master"
git stash
git fetch --all
git reset --hard FETCH_HEAD
git clean -df
git checkout "$BRANCH"
git pull --all
References
- Stack Overflow: How to delete all commit history in GitHub?
- Stack Overflow: How to shrink the .git folder
- Stack Overflow: How to clone all repos at once from GitHub?
- DevConnected: How To Undo Last Git Commit
- Stack Overflow: How can I remove a commit on GitHub?
- Stack Overflow: How do I copy a version of a single file from one Git branch to another?
- Free Code Camp: Push a new local branch to a remote Git repository and track it too
- Atlassian Bitbucket: Undoing Commits & Changes