-
1. Иш бошланиши
- 1.1 Талқинларни бошқариш ҳақида
- 1.2 Git нинг қисқача тарихи
- 1.3 Git асоси
- 1.4 Командалар сатри
- 1.5 Git ни ўрнатиш
- 1.6 Git да биринчи созлашлар
- 1.7 Қандай ёрдам олиш мумкин?
- 1.8 Хулосалар
-
2. Git асослари
-
3. Git да тармоқланиш
-
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
4.3 Git серверда - Sizning SSH ochiq (public) kalitingizni generatsiyalash
Sizning SSH ochiq (public) kalitingizni generatsiyalash
Bu shuni anglatadiki, Git serverlar autentifikatsiyada SSH ochiq kalitlaridan foydalanadi.
Shu sababli har bir foydalanuvchi agar unga ega bo’lmasa o’zi uchun SSH ochiq kalitini generatsiya qilishi kerak.
Ushbu jarayon barcha operatsion tizimlarda bir xil.
Birinchi, yaratishdan avval siz kalitga ega emasligingizni tekshirishingiz kerak.
Odatda o’zgarishlarsiz, foydalanuvchilar kalitlari foydalanuvchilar ~/.ssh
katalogida joylashgan bo’ladi.
Siz onsongina kalit bor yoki yo’qligini ana shu katalogga kirgan holda va faylni tashkil etuvchi qismini tekshirib ko’rishingiz mumkin:
$ cd ~/.ssh
$ ls
authorized_keys2 id_dsa known_hosts
config id_dsa.pub
Siz ko’rib turganingizdek fayllar id_dsa
yoki id_rsa
kabi boshlanuvchi nomlar bilan juftlikni xosil qiladi. Faqat ulardan birini kengaytmasi .pub
bo’ladi. .pub
kengaytmali fayl sizning ochiq kalitingiz yonidagisi uning nomdosh sherigi esa yopiq kalit hisoblanadi.
Agar siz bunday fayllarga ega bo’lmasangiz (yoki .ssh
katalogiga ham ega bo’lmasangiz) ssh-keygen
programmasi yordamida ularni generatsiya qilishingiz kerak bo’ladi. Ushbu programma Linuxda SSH paketi bilan, Windowsda esa MSysGit paketi bilan birga o’rnatiladi:
$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/schacon/.ssh/id_rsa):
Created directory '/home/schacon/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/schacon/.ssh/id_rsa.
Your public key has been saved in /home/schacon/.ssh/id_rsa.pub.
The key fingerprint is:
d0:82:24:8e:d7:f1:bb:9b:33:53:96:93:49:da:9b:e3 schacon@mylaptop.local
Bunda birinchi so’ralayotgan narsa kalitni qayerda saqlanishi (.ssh/id_rsa
) kerakligi va undan keyin kalitni ishlatgan vaqtingizda parolni ishlatishni xohlasangiz uning uchun teriladigan parolni ikki marta terib tasdiqlanishi.
Endi har bir shu ishni qilgan foydalanuvchi qaysi Git serverga shu kalit bilan bog’lanmoqchi bo’lsa uni ana shu Git server adminstratoriga jo’natishi kerak (agarda ana shu Git serverda SSH server o’rnatilgan bo’lsa uni ishlatish mumkin bo’ladi).
Buning uchun sizni qilishingiz kerak bo’lgan ish .pub
kengaytmali faylni nusxasini olib pochta orqali yuborishdir.
Ochiq kalit quyidagi ko’rinishda bo’lishi mumkin:
$ cat ~/.ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAklOUpkDHrfHY17SbrmTIpNLTGK9Tjom/BWDSU
GPl+nafzlHDTYW7hdI4yZ5ew18JH4JW9jbhUFrviQzM7xlELEVf4h9lFX5QVkbPppSwg0cda3
Pbv7kOdJ/MTyBlWXFCR+HAo3FXRitBqxiX1nKhXpHAZsMciLq8V6RjsNAQwdsdMFvSlVK/7XA
t3FaoJoAsncM1Q9x5+3V0Ww68/eIFmb1zuUFljQJKprrX88XypNDvjYNby6vw/Pb0rwert/En
mZ+AW4OZPnTPI89ZPmVMLuayrD2cE86Z/il8b+gw3r3+1nKatmIkjn2so1d01QraTlMqVSsbx
NrRFi9wrf+M7Q== schacon@mylaptop.local
SSH kalitlarni turli operatsioni tizimlarda yaratish yuzasidan chuqurroq bilim olishni istasangiz, bunga bagʻishlangan githubda joylashgan quyidagi qoʻllanmadan foydalanishingiz mumkin: https://help.github.com/articles/generating-ssh-keys.