How to Undo Mistakes With Git Using the Command Line
Вставка
- Опубліковано 21 лип 2024
- Git offers lots of different ways to undo, revert, recover and fix your mistakes. In this course, we'll look at the bad things that can happen to you - and how Git can save your neck.
✏️ This course was created by Tobias Günther from Tower. Tower creates a powerful Git desktop GUI for Mac and Windows. You can download it here: www.git-tower.com
Note: This course focuses on using Git with the command line. You do not need Tower or any other GUI software to follow along.
⭐️ Course Contents ⭐️
⌨️ (00:00) Introduction
⌨️ (00:54) Hosted by Tower
⌨️ (01:29) Git as your safety net
⌨️ (02:50) Discard all local changes in a file
⌨️ (04:28) Please be careful: discarding local changes cannot be undone!
⌨️ (05:03) Restoring deleted files
⌨️ (06:10) Discard chunks / lines in a file
⌨️ (10:22) Discarding all local changes
⌨️ (11:42) Fixing the last commit
⌨️ (14:53) What "rewriting history" means
⌨️ (15:54) Reverting a commit in the middle
⌨️ (18:48) Resetting to an old revision
⌨️ (21:48) Resetting a file to an old revision
⌨️ (23:59) The Reflog
⌨️ (24:38) Recovering deleted commits
⌨️ (27:46) Recovering deleted branches
⌨️ (31:22) Moving a commit to a new branch
⌨️ (33:55) Moving a commit to a different branch
⌨️ (35:57) Interactive Rebase: an overview of what you can do
⌨️ (37:54) Interactive Rebase: how it works in general
⌨️ (38:36) Editing old commit messages with Interactive Rebase
⌨️ (41:29) Deleting commits with Interactive Rebase
⌨️ (43:20) Squashing multiple commits into one with Interactive Rebase
⌨️ (46:00) Adding changes to an old commit with Interactive Rebase
⌨️ (51:54) Splitting/editing an old commit with Interactive Rebase
⌨️ (54:01) Reminder: don't rewrite commits that you have already shared!
⌨️ (54:38) First Aid Kit for Git: a set of short videos and a cheat sheet, free to download (www.bit.ly/git-first-aid-kit)
⭐️ Special thanks to our Champion supporters! ⭐️
🏆 Loc Do
🏆 Joseph C
🏆 DeezMaster
--
Learn to code for free and get a developer job: www.freecodecamp.org
Read hundreds of articles on programming: freecodecamp.org/news
I wished I could undo mistakes that I made in my life by using git :’)
F
Yes! you can, by following up DRY principle.
You can but you need admin privileges.
do it better next time, do not "commit" more mistakes :-)
did you commit?
This video saved me! About 2 weeks ago I deleted a commit and tried everything to could think to get it back. Discovering git reflog, then resetting or creating a new branch from that commit is exactly what I needed. And voilà, all work restored after many sleepless nights. THANK YOU SO MUCH!
Probably the most important topic on GIT explained in the most simplest way. Awesome.
Not exaggerating, you are a gift from heaven, currently having problems with bad merges with master branch. This is helping me alot
Wow, amazing tutorial. After reading the git documentation I was really confused about some topics but this lesson made it clear to me. I really appreciate it thx for the great content.
Immediately added this video to my favourites. Thanks for the clear explanation!
Thank you for this drive, really it was an awesome tour to stack up the real base of "git".
Thank you for giving me a very detailed and very easy-to-understand explanation!!! RESPECT!!! 🙏
thanks for the course and for making it freely available.
Very good tutorial! Learned quite a few things watching it. Thanks for making it!
That's a must-see for sure. Thanks for the content. Valuable af
This video is so goood! Important stuff af:
I had seen the video when it came out..
But yesterday when I ran into a problem I realized I should see this video again properly
This was awesome. Thank you! Definitely will be checking out Tower now lol.
I have no idea why it took me three years to come across this video. It's a gem 🎉
The video is in my the top 10! Thanks! 👍🏼
You are awesome indeed. thanks alot!😍🙏 Thanks for providing such a crucial knowledge for free.
Very well explained.. Thank you very much
Excellent job, Great for experts as well beginners....
I remember your voice from gitower tutorials :), thanks for the good job!
Awesome video. Very gut explained and very helpfull tools. Thank you
Great video. I like how you presented the use cases.
Great explanation!
Boom! Not panic anymore!
Oh Man I'm so happy to learn multiple things in this video
Fantastic video. And very comprehensive. Only thing is that you never gave the CLI commands for the last exercise, "Splitting / Editing and Old Commit." I took good notes on everything else. Thanks for this post.
Great information. Thanks for sharing.
soooo useful, thank you!!!
Nice. Been looking for this forever
awesome tutorial
Another good tip is when we have worked on a file but want to commit only parts of it, we can use the -p option to decide which lines should and shouldn't be staged.
Thanks for the tip!
Exactly what I need!TY
The most usefull lesson, big thx!
Git is such an amazing tool!
Thank you bro!
Really good video. On git restore -p enter "?" and git will show you the following:
y - discard this hunk from worktree
n - do not discard this hunk from worktree
q - quit; do not discard this hunk or any of the remaining ones
a - discard this hunk and all later hunks in the file
d - do not discard this hunk or any of the later hunks in the file
s - split the current hunk into smaller hunks
e - manually edit the current hunk
? - print help
Thanks a lot, it was great!
Helpful sir thanks
Genial. Muchas gracias.
great video
Thank you.
please I want a full course talks about HTML, CSS, and JS all of them are standard version like not html5 or css3 or something. Thanks!
11:30 That's my biggest concern, git restore doesn't ask for confirmation. While I'm OK with that in other cases, when you are discarding changes, I feel like git should err on the side of caution.
The one I was looking for a while, which resolves all the doubts so professionally :)
Useful one.
If you are brand new to git, start with this video: ua-cam.com/video/RGOj5yH7evk/v-deo.html
git restore . command do not work for deleting the untracked or unstaged files. Can we use git clean -fdx ?
git restore is not finding as a command. What would be problem??
Here is the scenario, I created a branch from "develop" branch, then I created my PR against "develop". Code reviewer reviewed and Approved. Then I merged my branch (PR) with with "develop". I have have couple changes for example , commit A, B, C. so on. I just don't want changed " commit B". How to undo that form the merged PR and "develop" branch should nor have that "commit B"
Nobody covered these git commands before. Thanks a lot!
Can someone please tell me what are the commands for case # 17 at 54:01
How many 'CTRL Z' is allowed in Tower?
Please provide link to your complete course.
I've read it as how to do mistakes with Git and even with that I clicked never have blindly trust a channel like that!
Im bsc cs student and its project time...could you please mention some projects with tutorials bcs many project centers approach me with expensive fees...i can't afford it...help me guys
never been so late !!!!
hi freecodecamp is it possible can we get ppt?
Voila!
Git Tower looks nice, but it's not available for GNU/Linux, so I'll stick with command line.
Use GitKraken
Yes
Make advance full course on c++ with project
Question:
1)when you squash two commit into one is it ok to delete the parents of that new commit
This is a missing guide of my git journey.
❤️
my parents:
Never been sooooo early!!
Wow
A like for a comprehensive overview of all the different possible things one can do in git to fix your mistakes.
But a dislike for using a GUI tool almost half of the time. You should have used git status and git log to find information about the commit history. And you also used the GUI tool to checkout different branches, and even do cherry-pick! I'm not necessarily against using GUI tools, but the title of your video is "How to Undo Mistakes With Git Using the Command Line
". It implies that you will not use any GUI tools, only Using the Command Line! If instead you would have used Command Line ONLY and not used the GUI tool, it would have made explaining the actual git commands better. I think that using the GUI tool is less clear about what is actually going on. It is better to use the actual Command Line to explain how git works, especially since that's the title of your video!
🎉
I also do videos about programming!😁
Just use SmartGIT :D
delete folder then clone again
Use RAR instead....
$ git restore .
Second
"Using the command line" is an unnecessary addition to the title, given that a quite relevant portion of the video shows off his GUI tool.
This is why I hate people, the entire video is free, it shows everything how to do as it claims using CLI, but you still had to comment to spread negativity somehow and pointed him showing his GUI tool to make the unrelated parts faster.
I like the topic but I don’t like the use of gittower. The whole point and title of the video was using the command line. But over and over you switched to gittower. Everything should have been done on the command line. Otherwise it defeats the purpose as well as becomes an advertisement for gittower.
This video is good, but not great. What would make this video great is not shamelessly promoting that GUI app and sticking to demonstrating all scenarios with the commandline, just as the title of this video suggests. The presenter gets lazy by scenario #11 and doesn't demonstrate the commandline tasks, and only shows a summary of the commands at the end of the scenario. This is the problem with GUI apps, they make you lazy.