Helaian tip arahan Git
Git menjejaki perubahan fail anda sebagai siri commit dalam repositori. Arahan ini meliputi alur kerja harian: mencipta repo, menyimpan kerja, bercabang, menggabung dan berkongsi dengan remote. Biarkan helaian ini terbuka semasa anda belajar.
| Arahan | Fungsinya |
|---|---|
| git init | Create a new, empty Git repository in the current directory. |
| git clone | Download a remote repository and its full history to your machine. |
| git status | Show changed, staged and untracked files in the working tree. |
| git add | Stage changes (files) to be included in the next commit. |
| git commit | Record staged changes as a new commit with a message. |
| git log | Display the commit history of the repository. |
| git diff | Show unstaged or staged differences between states. |
| git branch | List, create or delete branches in the repository. |
| git checkout / switch | Switch branches or restore files (switch is the modern command). |
| git merge | Join another branch's history into the current branch. |
| git rebase | Reapply commits on top of another base commit, rewriting history. |
| git pull | Fetch from a remote and merge the changes into the current branch. |
| git push | Upload local commits to a remote repository. |
| git stash | Temporarily shelve uncommitted changes to reapply later. |
| git remote | Manage the set of remote repositories you track. |
Nota
- Kebanyakan arahan menerima flag (seperti -m untuk mesej atau -a untuk semua); jalankan 'git help <arahan>' untuk senarai penuh.
- Nama cawangan murah dan boleh dibuang — commit selalu pada cawangan ciri, kemudian merge ke main.
- Sebelum arahan memusnah seperti rebase atau reset, pastikan kerja anda telah di-commit atau di-stash.
Soalan lazim
- Apakah bezanya merge dan rebase?
- Merge menggabungkan sejarah dengan commit baharu yang mempunyai dua induk. Rebase memainkan semula commit anda di atas cawangan lain, menghasilkan sejarah linear tetapi menulis semula ID commit.
- Bagaimana saya buat asal sesebuah commit?
- Gunakan 'git revert <commit>' untuk menambah commit baharu yang membatalkan perubahan (selamat, sejarah dikongsi kekal). 'git reset' menulis semula sejarah dan tidak patut digunakan pada cawangan dikongsi.
- Apakah bezanya git pull dan git fetch?
- Fetch memuat turun commit dan rujukan dari remote tanpa menyentuh pokok kerja anda. Pull melakukan fetch kemudian menggabung atau me-rebase perubahan itu ke cawangan semasa anda.
- Bila saya patut guna git stash?
- Stash menyimpan sementara perubahan belum di-commit supaya anda boleh tukar cawangan atau pull dengan bersih, lalu memulihkannya dengan 'git stash pop'.