A couple additional commands that have saved me quite a bit of trouble/work:
git reflog & git cherry-pick.
reflog sort of allows you to view a complete git history of what's happened. It's more extensive than commits cause it includes merges and rebases. So if you have a rebase that goes wrong, you can use reflog to figure out what point in history you need to jump back to and then jump back to that history.
cherry-pick allows you to cherry-pick commits from one branch to another. This is particularly useful if you find yourself putting to much "unrelated" work into a single branch and you need to start a new branch and grab some work you've already done. git cherry-pick <commit-hash>. It'll grab the commit and put it in the branch your working on. It's pretty great.
Software Developer for as long as I can remember, building startups and projects. I've worked mostly in analytics, devops, and data science research. Running has proved useful so I enjoy doing it.
Got into computers when I learned BASIC when I was 14. That was back in the dark ages around 1973. Yes, there were computers back then. I graduated with a BSEE in 1982 and kept learning.
Location
Portland, OR
Education
BSEE and a bunch of other things I learned.
Work
General vollunteer, bus driver, and goof off. at Retired
Git push --force. Not to be used trivially. Makes git push act like the old FTP Dump all the Files remote update. Useful for pushing updates to web servers. Becauese someone went around the workflow and fixed a typo directly on the server. Causing the git push command to have a hissy fit when you try to publish an update.
Software Developer for as long as I can remember, building startups and projects. I've worked mostly in analytics, devops, and data science research. Running has proved useful so I enjoy doing it.
Software Developer for as long as I can remember, building startups and projects. I've worked mostly in analytics, devops, and data science research. Running has proved useful so I enjoy doing it.
Software Developer for as long as I can remember, building startups and projects. I've worked mostly in analytics, devops, and data science research. Running has proved useful so I enjoy doing it.
These are great!
A couple additional commands that have saved me quite a bit of trouble/work:
git reflog&git cherry-pick.reflogsort of allows you to view a complete git history of what's happened. It's more extensive than commits cause it includes merges and rebases. So if you have a rebase that goes wrong, you can usereflogto figure out what point in history you need to jump back to and then jump back to that history.cherry-pickallows you to cherry-pick commits from one branch to another. This is particularly useful if you find yourself putting to much "unrelated" work into a single branch and you need to start a new branch and grab some work you've already done.git cherry-pick <commit-hash>. It'll grab the commit and put it in the branch your working on. It's pretty great.So that's what
reflogdoes! Very useful, thanks!Git push --force. Not to be used trivially. Makes git push act like the old FTP Dump all the Files remote update. Useful for pushing updates to web servers. Becauese someone went around the workflow and fixed a typo directly on the server. Causing the git push command to have a hissy fit when you try to publish an update.
Don't get me wrong,
git bisectis pretty amazing, but I think thatgit blameis more on the field of "everyone should know" (in my opinion, obviously)Fixed / formatted :)
Why
:wqa!in Vim?:wqorZZis enought.Nice post!
During interviews, I require developer to know at least a little about git rebase and amend.
It's not a prerequisite to use git.
But it's really important to work in a team.
Updated!
Nice selection. I would add at least:
git checkout -b <new_branch_name>Fixed :)
Me who only knows git push and git pull... 😅