بسیاری از افرادی که از Git استفاده میکنند، بدون اینکه نحوهی کار این سیستم کنترل نسخه را واقعا درک کنند، به «دستور العمل ها» وابسته هستند و فقط دستورات اصلی را copy و paste میکنند. اما اگر در تنگنا قرار گرفتید چه میکنید؟ احتمالا نمیتوانید به سادگی آن را سر همبندی کنید. با کمک کتاب Head First Git (هد فرست گیت)، شما روشهای ارزشمندی را برای استفاده از Git در موقعیتهای مختلف، خواهید آموخت. Raju Gandhi، لایهها را کنار میزند تا موتور ساده و در عین حال قدرتمند Git را نشان دهد و با فعالیت هایی به شما کمک میکند تا این ابزار مهم را در حین راه اندازی و کار کردن با آن، کاملا درک کنید. شما به branch ها، stashها و mergeها مسلط خواهید شد؛ بهترین شیوهها را یاد خواهید گرفت؛ با تیم خود همکاری خواهید کرد و از حداکثر ظرفیت گیت استفاده میکنید.
این کتاب چه ویژگی خاصی دارد؟
اگر کتابهای Head First را خوانده باشید، میدانید که چه چیزی در انتظار شماست - فرمت بصری غنی که برای نحوهی عملکرد مغز شما طراحی شده است. اگر تا به حال هم نخوانده اید، چیز خوش آیندی در انتظار شماست. با استفاده از این کتاب، Git را از طریق یک تجربه چند حسی که ذهن شما را درگیر میکند یاد میگیرید تا یک روش مبتنی بر متنهای طولانی که شما را به خواب فرو میبرند.
Table of Contents:
- 1. Beginning Git: Get going with Git
- Why we need version control
- Cubicle Conversation
- Start your engines ...
- A quick tour of the command line
- More on the command line (mkdir)
- More on the command line (ls)
- More on the command line (cd)
- No argument there
- Cleaning up
- Creating your first repository
- Inside the init command
- Magnetic Thoughts
- Introduce yourself to Git
- How you will use Git
- Putting Git to Work
- Meanwhile, back at the HawtDog Dating Service ...
- Speaking of ...
- Congratulations on your first commit!
- What exactly does it mean to commit?
- What exactly does it mean to commit? (continued)
- Look before you leap
- The three stages of Git
- Great question!
- Git in the command-line
- A peek behind the curtain
- The multiple states of files in a Git repository
- A typical day in the life of a new file
- The object database is the “source of truth”.
- The index is a “scratchpad”
- Computer, status report!
- Whoa, easy tiger!
- You’ve made history!
- Magnetic Thoughts
- 2. Branching Out: Multiple trains of thought
- It all started with an email
- But things didn’t quite pan out...
- What would you do if you were Zelda?
- Updating the restaurant menu
- First things first
- Very astute!
- Choices ... so many choices!
- Switching tracks
- Magnetic Thoughts
- Back at the ‘80s Diner
- Send it back!
- Visualizing branches
- Branches, commits, and the files contained within
- Cubicle Conversation
- Working in parallel
- What is a branch, really?
- Switching branches, or switching directories?
- Some branches are more equal than others
- Bring it in!
- RTM (git branch edition)
- Making the fall menu official
- Some merges are fast-forward
- It doesn’t quite work the other way
- A little more Git setup
- It’s almost Thursday!
- Wait! You moved?
- It’s almost Thursday! (continued)
- It’s a merge commit
- Merge commits are kinda special
- Things don’t always go so smoothly
- I am so conflicted!
- I am so conflicted! (continued)
- I am so conflicted! (Ooof! Almost there)
- A typical workflow
- Magnetic Thoughts Solution
- 3. Looking Around: Investigating your Git repository
- In pursuit of the ultimate cilantro sauce recipe
- Commits aren’t enough
- Mirror, mirror on the wall
- How does git log work?
- Making git log do all the work
- What diff-erence does it make?
- A life of pluses and minuses
- A life of pluses and minuses (continued)
- Making your diffs easier on the eyes
- Diff-ing staged changes
- How’s the view from over there?
- Be careful when you compare branches!
- All together now!
- 4. Undoing: Fixing Your Mistakes
- Planning an engagement party
- An error in judgement
- Cubicle conversation
- Undoing changes to the working directory
- Undoing changes to the index
- Deleting files from Git repositories
- Committing to delete
- Editing commit messages
- Renaming branches
- Making alternative plans
- The role of HEAD
- Referencing commits using HEAD
- Traversing merge commits
- Unneeded commits
- Removing commits
- The three types of reset
- git reset --soft
- git reset (or git reset --mixed)
- git reset --hard
- Another way to undo commits
- Reverting commits
- Annnnnd that’s a wrap!