-
1. ŠŃ Š±Š¾ŃŠ»Š°Š½ŠøŃŠø
- 1.1 Š¢Š°Š»ŅŠøŠ½Š»Š°Ńни боŃŅŠ°ŃŠøŃ Ņ³Š°ŅŠøŠ“а
- 1.2 Git нинг ŅŠøŃŅŠ°Ńа ŃŠ°ŃŠøŃ Šø
- 1.3 Git Š°ŃŠ¾ŃŠø
- 1.4 ŠŠ¾Š¼Š°Š½Š“Š°Š»Š°Ń ŃŠ°ŃŃŠø
- 1.5 Git ни ŃŃŠ½Š°ŃŠøŃ
- 1.6 Git Га Š±ŠøŃŠøŠ½ŃŠø ŃŠ¾Š·Š»Š°ŃлаŃ
- 1.7 ŅŠ°Š½Š“ай ŃŃŠ“ам Š¾Š»ŠøŃ Š¼ŃŠ¼ŠŗŠøŠ½?
- 1.8 Š„ŃŠ»Š¾ŃалаŃ
-
2. Git Š°ŃŠ¾ŃŠ»Š°ŃŠø
- 2.1 Git Š¾Š¼Š±Š¾ŃŠøŠ½Šø ŃŃŠ°ŃŠøŃ
- 2.2 ŠŠ·Š³Š°ŃŠøŃŠ»Š°Ńни Š¾Š¼Š±Š¾Ńга ŃŠ·ŠøŃ
- 2.3 Š¤ŠøŠŗŃŠøŃŠ»Š°ŃŠ»Š°Ń ŃŠ°ŃŠøŃ ŠøŠ½Šø ŠŗŃŃŠøŃ
- 2.4 ŠŠ·Š³Š°ŃŠøŃŠ»Š°Ńни Š±ŠµŠŗŠ¾Ń ŅŠøŠ»ŠøŃ
- 2.5 Š£Š·Š¾Ņ Š¼Š°ŃŠ¾ŃаГаги Š¾Š¼Š±Š¾ŃŠ»Š°Ń билан ŠøŃлаŃ
- 2.6 Š¢Š°Š¼ŅŠ°Š»Š°Ń
- 2.7 Git Га ŃŠ°Ņ³Š°Š»Š»ŃŃŠ»Š°Ń
- 2.8 Š„ŃŠ»Š¾Ńа
-
3. Git Га ŃŠ°ŃŠ¼Š¾ŅŠ»Š°Š½ŠøŃ
- 3.1 Š¢Š°ŃŠ¼Š¾ŅŠ»Š°Š½ŠøŃ Ņ³Š°ŅŠøŠ“а ŠøŠŗŠŗŠø Š¾ŅŠøŠ· ŃŃŠ·
- 3.2 Š¢Š°ŃŠ¼Š¾ŅŠ»Š°Š½ŠøŃ Š²Š° Š±ŠøŃŠ»Š°ŃŠøŃ Š°ŃŠ¾ŃŠ»Š°ŃŠø
- 3.3 Š¢Š°ŃŠ¼Š¾ŅŠ»Š°ŃŠ½Šø боŃŅŠ°ŃŠøŃ
- 3.4 ŠŃ Š¶Š°ŃŠ°ŃŠ½Š»Š°ŃŠøŠ½Šø ŃŠ°ŃŠ¼Š¾ŅŠ»Š°Ń
- 3.5 Š£Š·Š¾Ņ Š¼Š°ŃŠ¾ŃаГаги ŃŠ°ŃŠ¼Š¾ŅŠ»Š°Ń
- 3.6 ŅŠ°Š¹Ńа Š°ŃоŃланиŃ
- 3.7 Š„ŃŠ»Š¾ŃалаŃ
-
4. Git ŃŠµŃŠ²ŠµŃŠ“а
- 4.1 The Protocols
- 4.2 Getting Git on a Server
- 4.3 Sizning SSH ochiq (public) kalitingizni generatsiyalash
- 4.4 Setting Up the Server
- 4.5 Git Daemon
- 4.6 Smart HTTP
- 4.7 GitWeb
- 4.8 GitLab
- 4.9 Third Party Hosted Options
- 4.10 Š„ŃŠ»Š¾ŃалаŃ
-
5. Distributed Git
- 5.1 Distributed Workflows
- 5.2 Contributing to a Project
- 5.3 Maintaining a Project
- 5.4 Summary
-
6. GitHub
-
7. Git Tools
- 7.1 Revision Selection
- 7.2 Interactive Staging
- 7.3 Stashing and Cleaning
- 7.4 Signing Your Work
- 7.5 Searching
- 7.6 Rewriting History
- 7.7 Reset Demystified
- 7.8 Advanced Merging
- 7.9 Rerere
- 7.10 Debugging with Git
- 7.11 Qism modullar (Submodule)
- 7.12 Bundling
- 7.13 Replace
- 7.14 Credential Storage
- 7.15 Summary
-
8. Customizing Git
- 8.1 Git Configuration
- 8.2 Git Attributes
- 8.3 Git Hooks
- 8.4 An Example Git-Enforced Policy
- 8.5 Summary
-
9. Git and Other Systems
- 9.1 Git as a Client
- 9.2 Migrating to Git
- 9.3 Summary
-
10. Git Internals
- 10.1 Plumbing and Porcelain
- 10.2 Git Objects
- 10.3 Git References
- 10.4 Packfiles
- 10.5 The Refspec
- 10.6 Transfer Protocols
- 10.7 Maintenance and Data Recovery
- 10.8 Environment Variables
- 10.9 Summary
-
A1. Appendix A: Git in Other Environments
- A1.1 Graphical Interfaces
- A1.2 Git in Visual Studio
- A1.3 Git in Eclipse
- A1.4 Git in Bash
- A1.5 Git in Zsh
- A1.6 Git in Powershell
- A1.7 Summary
-
A2. Appendix B: Embedding Git in your Applications
- A2.1 Command-line Git
- A2.2 Libgit2
- A2.3 JGit
-
A3. Appendix C: Git Commands
- A3.1 Setup and Config
- A3.2 Getting and Creating Projects
- A3.3 Basic Snapshotting
- A3.4 Branching and Merging
- A3.5 Sharing and Updating Projects
- A3.6 Inspection and Comparison
- A3.7 Debugging
- A3.8 Patching
- A3.9 Email
- A3.10 External Systems
- A3.11 Administration
- A3.12 Plumbing Commands
A3.7 Appendix C: Git Commands - Debugging
Debugging
Git has a couple of commands that are used to help debug an issue in your code. This ranges from figuring out where something was introduced to figuring out who introduced it.
git bisect
The git bisect
tool is an incredibly helpful debugging tool used to find which specific commit was the first one to introduce a bug or problem by doing an automatic binary search.
It is fully covered in Binary Search and is only mentioned in that section.
git blame
The git blame
command annotates the lines of any file with which commit was the last one to introduce a change to each line of the file and what person authored that commit. This is helpful in order to find the person to ask for more information about a specific section of your code.
It is covered in File Annotation and is only mentioned in that section.
git grep
The git grep
command can help you find any string or regular expression in any of the files in your source code, even older versions of your project.
It is covered in Git Grep and is only mentioned in that section.