Skip to content

Perintah Git diterangkan

Perintah Git yang benar-benar anda gunakan, dikumpulkan mengikut tugas: sediakan repo, snapshot kerja, bercabang dan bergabung, baca sejarah, kongsi dengan remote, batalkan kesilapan, simpan kerja sementara dan urus fail serta submodule. Setiap baris memadankan perintah dengan contoh penggunaan yang realistik.

Git ada ratusan perintah, tetapi kerja harian hanya perlukan beberapa. Model mentalnya: pokok kerja ialah fail anda, indeks (kawasan staging) ialah commit seterusnya, dan HEAD ialah commit semasa. Anda stage, anda commit, anda kongsi. Baca status kerap. Semua di bawah menganggap sesuatu perintah sudah wujud jika ia disenaraikan.

Jadual rujukan · 55 entri
55 of 55 rows
Persediaan & konfigurasi
Tetapkan nama, e-mel atau editor anda sekali untuk semua repo.git config --global user.name "Ada"
Takrifkan nama pintasan untuk perintah yang kerap anda taip.git config --global alias.co checkout
Cipta repositori baharu dalam folder semasa.git init
Salin repositori jauh ke mesin anda.git clone git@github.com:org/repo.git
Salin hanya commit terbaharu daripada satu cawangan.git clone --depth 1 --single-branch git@github.com:org/repo.git
Asas snapshot
Tunjukkan apa yang telah staged, diubah dan belum dijejak.git status -sb
Stage perubahan supaya ia masuk ke commit seterusnya.git add src/app.ts
Semak perubahan cebis demi cebis dan stage hanya yang anda terima.git add -p src/app.ts
Stage perubahan semua fail dijejak tanpa menambah fail baharu.git add -u
Rekodkan perubahan yang staged sebagai commit baharu.git commit -m "fix: null check"
Gantikan commit terakhir dengan yang telah diperbetulkan.git commit --amend -m "fix: handle empty input"
Tunjukkan perubahan belum staged, atau yang staged dengan --staged.git diff --staged
Tunjukkan semua perubahan sejak commit terakhir, staged atau tidak.git diff HEAD
Pencabangan & penggabungan
Senaraikan, cipta atau padam cawangan.git branch feature-x
Padam cawangan yang telah digabung (-D memaksa, -a menyenaraikan semua cawangan).git branch -d feature-x
Tukar cawangan (pengganti moden untuk checkout).git switch feature-x
Cipta cawangan baharu dan terus bertukar kepadanya dalam satu langkah.git switch -c feature-x
Tukar cawangan atau pulihkan fail (arahan lama yang lebih luas).git checkout feature-x
Bawa perubahan cawangan lain ke dalam cawangan semasa.git merge feature-x
Batalkan penggabungan berkonflik dan kembalikan cawangan ke keadaan asalnya.git merge --abort
Mainkan semula commit cawangan semasa di atas cawangan lain.git rebase main
Squash, susun semula atau sunting commit semasa memainkannya semula.git rebase -i main
Salin satu commit daripada cawangan lain ke cawangan ini.git cherry-pick a1b2c3d
Tandakan commit dengan label mudah dibaca seperti versi.git tag -a v1.2.0
Checkout cawangan lain dalam folder berasingan pada masa yang sama.git worktree add ../repo-feature feature-x
Memeriksa sejarah
Lalui sejarah commit.git log --oneline --graph --decorate
Lalui sejarah daripada semua cawangan, bukan hanya yang semasa.git log --oneline --graph --all
Tunjukkan diff penuh dan mesej satu commit.git show HEAD
Tunjukkan siapa yang terakhir mengubah setiap baris fail.git blame src/app.ts
Tunjukkan setiap commit yang pernah ditunjuk HEAD, termasuk yang dibuang.git reflog
Cari sejarah secara separuh demi separuh untuk mencari commit yang merosakkan.git bisect start
Ringkaskan commit mengikut pengarang.git shortlog -sn
Namakan commit semasa dengan mengira daripada tag terdekat.git describe --tags
Kolaborasi jauh
Senaraikan atau tambah repositori jauh.git remote add origin <url>
Senaraikan remote berserta URL fetch dan push-nya.git remote -v
Muat turun perubahan jauh tanpa mengubah cawangan anda.git fetch origin
Muat turun perubahan jauh dan buang rujukan kepada cawangan jauh yang dipadam.git fetch --prune
Fetch dan gabungkan perubahan jauh pada cawangan semasa.git pull --rebase
Hantar commit tempatan ke remote.git push -u origin feature-x
Tulis ganti cawangan jauh, tetapi hanya jika tiada siapa push lebih awal.git push --force-with-lease origin feature-x
Membatalkan perubahan
Buang perubahan pokok kerja, atau nyahstage ia.git restore src/app.ts
Nyahstage satu fail dan kekalkan suntingannya dalam pokok kerja.git restore --staged src/app.ts
Alihkan hujung cawangan semasa dan, secara pilihan, indeksnya.git reset --hard HEAD~1
Tambah commit baharu yang membatalkan commit terdahulu (selamat untuk dikongsi).git revert HEAD
Padam fail dan folder yang belum dijejak.git clean -fd
Simpanan sementara (stash)
Simpan kerja yang belum di-commit dan set semula pokok kerja.git stash -u
Tunjukkan semua stash yang anda simpan.git stash list
Guna semula satu stash dan kekalkan ia dalam senarai.git stash apply stash@{1}
Padam stash yang anda tidak perlukan lagi.git stash drop stash@{1}
Guna semula stash terbaharu dan buang ia daripada senarai.git stash pop
Fail & submodule
Alihkan atau namakan semula fail dan stage perubahannya.git mv old.ts src/new.ts
Padam satu fail dan stage pemadaman itu.git rm src/old.ts
Jejak repositori lain sebagai folder di dalam repo ini.git submodule add git@github.com:org/lib.git lib
Checkout hanya folder yang anda namakan daripada repositori besar.git sparse-checkout set src docs
Eksport pokok satu commit sebagai fail tar atau zip.git archive -o repo.zip HEAD