Pag-setup ng Git: git config, pangalan, e-mail, at SSH key
Ang pangunahing setup ng Git ay ang mga command na git config --global user.name at git config --global user.email, na pumipirma sa inyong mga commit, kasama ang pagpili ng editor at default na branch. Para mag-login sa GitHub nang walang password, gumawa ng SSH key gamit ang ssh-keygen -t ed25519, idagdag ang public key sa account settings, at i-verify ang koneksyon gamit ang ssh -T git@github.com.
Minimum na setup ng Git sa loob ng isang minuto
Pagkatapos ng install, patakbuhin ang apat na command na ito. Kung wala ang unang dalawa, tatanggi ang Git na mag-commit; tinatanggal naman ng iba ang mga karaniwang abala.
git config --global user.name "Anna Smirnova"
git config --global user.email "anna@example.com"
git config --global init.defaultBranch main
git config --global core.editor "code --wait"
I-verify ang resulta:
$ git config --global --list
user.name=Anna Smirnova
user.email=anna@example.com
init.defaultbranch=main
core.editor=code --wait
Susunod, tatalakayin kung ano ang ginagawa ng bawat setting, saan ito iniimbak ng Git, at paano ikakabit ang pag-login sa GitHub gamit ang SSH.
Paano gumagana ang git config: tatlong antas ng setting
Binabasa at isinusulat ng git config ang mga parameter sa isa sa tatlong file. Ang mas makitid na antas ay nag-o-override sa mas malawak na antas.
| Antas | Flag | File | Sakop |
|---|---|---|---|
| System | --system | /etc/gitconfig (sa Windows, nasa folder ng install ng Git) | Lahat ng user ng computer |
| Global | --global | ~/.gitconfig o ~/.config/git/config | Lahat ng repository ninyo |
| Local | --local (default) | .git/config sa loob ng repository | Ang repository na ito lang |
Karamihan sa personal na setting ay ginagawang global, at ang mga eksepsiyon ay lokal. Halimbawa, ang e-mail ng trabaho para sa proyekto ng kumpanya ay itinatakda sa loob mismo ng repository nang walang flag na --global.
Kapaki-pakinabang na command ng git config
git config user.email # ipakita ang kasalukuyang halaga
git config --list --show-origin # lahat ng setting at kung saang file galing ang bawat isa
git config --global --edit # buksan ang ~/.gitconfig sa editor
git config --global --unset core.editor # burahin ang parameter
Ang flag na --show-origin ang pinakamagaling na katulong sa pag-debug: ipinapakita nito kung bakit "mali" ang e-mail ninyo, sa pamamagitan ng file kung saan galing ang halaga.
Pangalan at e-mail: hindi ito pormalidad
Permanenteng nakatala sa bawat commit ang pangalan at e-mail ng author. Hindi ito login o password, at hindi ito sinusuri ng Git. Pero iniuugnay ng GitHub at GitLab ang mga commit sa inyong account gamit ang e-mail: kapag hindi ito tumugma sa alinmang nakumpirmang e-mail ng profile, hindi bibilangin ang mga commit sa activity graph at lalabas ang mga ito nang walang avatar.
Hindi na mababago nang walang pagsusulat muli ng history ang pangalan o e-mail sa dakong huli, kaya tingnan ang setting bago ang unang commit.
Itago ang totoong e-mail
Kung pampubliko ang repository, makikita ng sinumang titingin sa history ang inyong e-mail. Nag-aalok ang GitHub ng serbisyong address na ganito ang anyo: ID+username@users.noreply.github.com (sa settings na Emails). Ilagay ito sa Git:
git config --global user.email "12345678+anna@users.noreply.github.com"
Magkaibang e-mail para sa trabaho at personal na proyekto
Para hindi isa-isahin ang bawat repository ng trabaho, gamitin ang conditional na pag-include ng config. Sa ~/.gitconfig:
[includeIf "gitdir:~/work/"]
path = ~/.gitconfig-work
At sa ~/.gitconfig-work:
[user]
email = anna@company.com
Ngayon, awtomatikong gagamit ng e-mail ng trabaho ang lahat ng repository sa loob ng ~/work/. Kailangan ang slash sa dulo ng path.
Iba pang kapaki-pakinabang na setting ng Git
Editor
Nagbubukas ang Git ng editor para sa mensahe ng commit, interactive rebase, at merge. Kadalasan, Vim ang default. Mga opsyon:
git config --global core.editor "code --wait" # VS Code
git config --global core.editor "nano" # Nano
git config --global core.editor "subl -n -w" # Sublime Text
Default na branch
Itinatakda ng init.defaultBranch main ang pangalan ng unang branch sa mga bagong repository (available mula sa Git 2.28). Kung wala ito, gagawa ang Git ng master at magpapakita ng paalala na palitan ang pangalan.
Line ending
git config --global core.autocrlf true # Windows
git config --global core.autocrlf input # macOS at Linux
Sa ganitong paraan, laging nakatala sa repository ang LF na line ending, at hindi lumalabas sa team ang "pagbabago" sa bawat linya ng file.
Kilos ng git pull
Kung hindi itatakda ang estratehiya, hihilingin ng modernong Git na pumili nang tahasan kapag nagkakaiba ang mga branch. Pumili ng isa:
git config --global pull.rebase false # merge, default na kilos
git config --global pull.rebase true # rebase, tuwid na history
git config --global pull.ff only # fast-forward lang, kung hindi, error
Cyrillic sa pangalan ng file at kulay
git config --global core.quotepath false
git config --global color.ui auto
Alias
git config --global alias.st status
git config --global alias.co checkout
git config --global alias.br branch
git config --global alias.lg "log --oneline --graph --decorate --all"
git config --global alias.last "log -1 HEAD"
Ngayon, iginuguhit ng git lg ang graph ng mga branch, at ipinapakita ng git last ang huling commit.
Itsura ng ~/.gitconfig pagkatapos ng setup
[user]
name = Anna Smirnova
email = anna@example.com
[init]
defaultBranch = main
[core]
editor = code --wait
autocrlf = input
quotepath = false
[pull]
rebase = false
[alias]
st = status
lg = log --oneline --graph --decorate --all
Ordinaryong text file ito. Puwede itong i-edit nang manwal at dalhin sa ibang computer.
Git login: paano mag-login sa GitHub
Walang command na git login sa Git, at madalas itong bitag para sa baguhan. Hindi nag-iimbak ang Git ng "account": nagaganap ang authentication kapag kumakausap ng server (clone, push, fetch), sa isa sa dalawang protocol.
| HTTPS | SSH | |
|---|---|---|
| Address | https://github.com/user/repo.git | git@github.com:user/repo.git |
| Paano napapatunayan ang login | Access token o login sa browser (Credential Manager) | Pares ng SSH key |
| Password ng account | Hindi tinatanggap mula 2021 | Hindi kailangan |
| Kailan mas maginhawa | Windows na may Git Credential Manager, corporate proxy | macOS, Linux, server, CI |
Pag-login sa HTTPS
Sa Git for Windows at sa macOS build na may Git Credential Manager, magbubukas ang window ng browser para mag-login sa GitHub sa unang git push, at maiimbak ang datos sa credential store ng system. Ang alternatibo ay ang opisyal na GitHub CLI: pinapatakbo ng gh auth login ang authorization at inaayos ang Git. Kung manwal ang gusto ninyo, gumawa ng Personal access token sa settings ng GitHub (Developer settings) at ilagay ito sa halip na password.
SSH para sa Git: hakbang-hakbang na setup
Ang SSH key ay pares ng file: nananatili sa inyo ang private key, at ibinibigay ninyo sa GitHub ang public key. Sinusuri ng server kung hawak ninyo ang private na bahagi, at hindi na kailanman hihingin ang password.
Hakbang 1. Tingnan kung may key na
ls -la ~/.ssh
Kung may id_ed25519 at id_ed25519.pub na doon, dumiretso sa hakbang 3.
Hakbang 2. Gumawa ng key
ssh-keygen -t ed25519 -C "anna@example.com"
Pindutin ang Enter para i-save sa default na path, at magtakda ng passphrase: poprotektahan nito ang key kung manakaw ang laptop. Ang Ed25519 ang kasalukuyang inirerekomendang algorithm. Kung hindi ito suportado ng lumang sistema, gamitin ang ssh-keygen -t rsa -b 4096 -C "anna@example.com".
Hakbang 3. Idagdag ang key sa ssh-agent
Itinatago ng agent ang na-decrypt na key sa memorya, para hindi na i-type ang passphrase sa bawat push.
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519
Sa macOS, idagdag sa ~/.ssh/config ang mga linyang ito para maiimbak ang passphrase sa keychain:
Host github.com
AddKeysToAgent yes
UseKeychain yes
IdentityFile ~/.ssh/id_ed25519
at patakbuhin ang ssh-add --apple-use-keychain ~/.ssh/id_ed25519.
Hakbang 4. Idagdag ang public key sa GitHub
cat ~/.ssh/id_ed25519.pub
Kopyahin ang buong linya simula sa ssh-ed25519. Sa GitHub, buksan ang Settings → SSH and GPG keys → New SSH key, i-paste ang key, at bigyan ito ng malinaw na pangalan, halimbawa "Laptop 2026". Huwag kailanman ipadala o i-publish ang file na walang .pub: iyon ang private key.
Hakbang 5. I-verify ang koneksyon
$ ssh -T git@github.com
Hi anna! You've successfully authenticated, but GitHub does not provide shell access.
Sa unang koneksyon, magtatanong ang SSH kung pagkakatiwalaan ang host. Itugma ang fingerprint sa mga nakalistang fingerprint sa dokumentasyon ng GitHub, saka sumagot ng yes.
Hakbang 6. Ilipat ang repository sa SSH
Kung na-clone ang repository gamit ang HTTPS, palitan ang address ng remote:
git remote -v
git remote set-url origin git@github.com:anna/my-project.git
git push
Maraming account sa GitHub sa iisang computer
Iisang account lang sa GitHub ang puwedeng itali sa isang SSH key. Para sa account ng trabaho at ng personal, gumawa ng dalawang key at mga alias ng host sa ~/.ssh/config:
Host github-work
HostName github.com
User git
IdentityFile ~/.ssh/id_ed25519_work
IdentitiesOnly yes
I-clone ang mga repository ng trabaho gamit ang alias: git clone git@github-work:company/app.git. Kasama ang includeIf para sa e-mail, ganap nang hiwalay ang kapaligiran ng trabaho at ng personal.
Karaniwang pagkakamali sa pag-setup
"Please tell me who you are"
Hindi naitakda ang user.name at user.email. Patakbuhin ang mga command sa simula ng artikulong ito at ulitin ang commit.
"Permission denied (publickey)"
Hindi nakita ng GitHub ang tamang key. Tingnan kung nasa agent ang key (ssh-add -l), nasa account ang public na bahagi, at ipapakita ng ssh -vT git@github.com ang detalye.
"Support for password authentication was removed"
Inilagay ninyo ang password ng account habang nagtatrabaho sa HTTPS. Gumamit ng token, login sa Credential Manager, o lumipat sa SSH.
Walang avatar ang mga commit sa GitHub
Hindi idinagdag sa profile ng GitHub ang e-mail na nasa git config user.email. Idagdag ito sa Settings → Emails; awtomatikong maiuugnay ang mga lumang commit.
Sarado ang port 22 sa network
Tumatanggap din ang GitHub ng SSH sa port 443. Sa ~/.ssh/config, ilagay ang Host github.com, Hostname ssh.github.com, at Port 443.
Pagkakasunod-sunod ng setup sa bagong computer
- I-install ang Git at i-verify ang
git --version. - Itakda ang
user.name,user.email,init.defaultBranch, at editor. - Ilipat o gawin ang
~/.gitconfigna may mga alias at estratehiya ng pull. - Gumawa ng bagong SSH key (huwag kopyahin ang lumang private key sa ibang makina nang walang dahilan) at idagdag ito sa GitHub.
- I-verify ang access gamit ang
ssh -T git@github.com, at i-clone ang repository ng trabaho gamit ang SSH address.
Ang hiwalay na key para sa bawat device ay kapaki-pakinabang din: kapag nawala ang laptop, sapat nang burahin sa GitHub ang isang key, at hindi maaapektuhan ang access mula sa ibang makina.
Buod
Ang pag-setup ng Git ay tatlong hakbang: itakda ang pangalan at e-mail gamit ang git config --global, piliin ang editor, default na branch, at estratehiya ng pull, at pagkatapos ikabit ang login sa GitHub, na pinakasimple at pinakamaaasahan sa pamamagitan ng SSH key. Tandaan na walang git login command: nagaganap ang authentication kapag kumakausap sa server. Ang configuration at SSH access ay tinatalakay nang praktikal sa kurso ng Git.
Mga madalas itanong
Nasaan ang mga setting ng Git sa Windows?
Ang global ay nasa file na C:\Users\Pangalan\.gitconfig, at ang local ay nasa .git\config ng bawat repository. Para malaman ang eksaktong lokasyon, makakatulong ang git config --list --show-origin.
Paano i-reset ang mga setting ng Git?
Burahin o palitan ang pangalan ng file na ~/.gitconfig; babalik ang Git sa default na mga halaga. Para sa iisang parameter, gamitin ang git config --global --unset pangalan.
Puwede bang gamitin ang iisang SSH key para sa GitHub at GitLab?
Oo, puwedeng idagdag ang iisang public key sa iba't ibang serbisyo. Iisang limitasyon lang: sa GitHub, nakatali ang key sa iisang account.
Paano pumirma ng commit para may markang Verified sa GitHub?
I-set up ang signing gamit ang GPG o SSH key: halimbawa, git config --global gpg.format ssh, user.signingkey na may path sa public key, at commit.gpgsign true; saka idagdag ang key sa GitHub bilang Signing key.
Kailangan bang i-setup ulit ang Git pagkatapos mag-update?
Hindi, hindi ginagalaw ng update ang ~/.gitconfig at mga key sa ~/.ssh; nananatili ang lahat ng setting.
Detalyadong tinatalakay ang paksang ito, may praktis, sa kursong “Git с нуля до уверенного разработчика”.
- Установка и настройка: готовим Git к первому запуску
- GitHub и удалённые репозитории: ваш код в облаке