Artikel ini membawa anda pengetahuan asas tentang penggunaan git, termasuk operasi asas git, operasi cawangan, operasi penyerahan perubahan, dll. Saya harap ia akan membantu semua orang.
1. Tetapkan Kunci SSH
Tetapkan Kunci SSH supaya peranti boleh mendapat kebenaran untuk mengakses repositori kod dalam akaun
$ ssh-keygen -t rsa -C "your_email@example.com"
Salin selepas log masuk
-
"your_email@example.com"
Tetapkannya sebagai alamat e-mel berdaftar akaun GitHub anda
- Fail id_rsa ialah kunci peribadi dan id_rsa.pub ialah kunci awam.
$ cat ~/.ssh/id_rsa.pub
Salin selepas log masuk
Kandungan kunci awam ssh-rsa your_email@example.com
- Kemudian salin kunci awam dan tambahkannya pada akaun Beri perhatian bahagian hadapan
ssh-rsa
Juga salin
- Avatar》Tetapan》SSH Key》Kekunci SSH baharu
Seterusnya sahkan, jika perkataan "berjaya" muncul, ia bermakna kejayaan
$ ssh -T git@github.com
Enter passphrase for key '/c/Users/MYPC/.ssh/id_rsa':
Hi abc! You've successfully authenticated, but GitHub does not provide shell access.
Salin selepas log masuk
2. Operasi asas git
2.1 git klon gudang sedia ada
$ git clone git@github.com:hirocastest/Hello-World.git
Salin selepas log masuk
Di sini anda akan diminta untuk memasukkan kosong set kunci pada Kata Laluan GitHub, selepas pengesahan berjaya, gudang akan diklon ke dalam direktori semasa.
2.2 git add Tambah fail ke kawasan pementasan
Selepas kod ditulis, tambah kod pada kawasan pementasan sistem
$ git add 文件夹/文件
Salin selepas log masuk
2.3 git commit Simpan Sejarah gudang
Arahan komit git sebenarnya boleh menyimpan fail dalam kawasan pementasan semasa ke sejarah gudang. Melalui rekod ini, kami boleh memulihkan fail dalam pepohon kerja.
$ git commit -m "记录一行提交信息"
Salin selepas log masuk
- m mewakili gambaran keseluruhan penyerahan ini Jika anda ingin merekodkan maklumat terperinci, alih keluar -m
2.4 git push
. Selepas itu, selagi anda melaksanakan perintah push
, gudang di GitHub akan dikemas kini
$ git push
Salin selepas log masuk
2.5 git init memulakan gudang
clone
kaedah untuk mencipta gudang, tiada operasi init
diperlukan . Jika anda ingin menetapkan fail tempatan sebagai gudang, anda perlu melakukan operasi init
$ mkdir git-tutorial
$ cd git-tutorial
$ git init
Salin selepas log masuk
status 2.6 git untuk melihat status gudang
$ git status
# On branch master
#
# Initial commit
#
nothing to commit (create/copy files and use "git add" to track)
Salin selepas log masuk
Akibatnya, kami berada di bawah cawangan induk, dan Tiada apa-apa untuk diserahkan
2.7 git log Lihat log penyerahan
git log
Perintah boleh melihat log yang diserahkan di gudang sebelumnya. Termasuk siapa yang komited atau bergabung apabila
$ git log
commit 5dbbff6e009abb8a6cc44187c93b694f94fbf82a (HEAD -> main, origin/main, origin/HEAD)
Author: ywm <ywm_up@qq.com>
Date: Sun Feb 28 17:17:00 2021 +0800
Salin selepas log masuk
Jika anda hanya mahu memaparkan baris pertama maklumat komit, anda boleh menambah git log
-- pretty=short
$ git log --pretty=short > 2.8 git diff Semak perbezaan sebelum dan selepas perubahan
Laksanakan
Semak perbezaan antara buku kerja semasa dan kawasan pementasangit diff
$ git diff
Salin selepas log masuk
3 >Berbilang cawangan boleh diwujudkan untuk menjalankan tugas yang sama sekali berbeza pada masa yang sama. Tunggu kerja cawangan selesai sebelum menggabungkannya dengan cawangan induk. Melalui penggunaan cawangan yang fleksibel, berbilang orang boleh melaksanakan pembangunan serentak dengan cekap pada masa yang sama.
Cawangan 3.1 git memaparkan senarai cawangan
Terdapat “*” (asterisk) di sebelah kiri cawangan induk, menunjukkan bahawa ini ialah cawangan yang sedang kita gunakan.
3.2 git checkout mencipta dan menukar cawangan
$ git branch
* master
Salin selepas log masuk
Mencipta dan menukar kepada ciri cawangan-A
Malah, arahan di atas adalah bersamaan dengan Yang berikut dua arahan
$ git checkout -b feature-A
Salin selepas log masuk
tukar kembali ke cawangan mian
$ git branch feature-A
$ git checkout feature-A
Salin selepas log masuk
tukar kembali ke cawangan sebelumnya
$ git checkout main
Salin selepas log masuk
$ git checkout -
Salin selepas log masuk
lakukan ini: buat Cawangan baharu ciri, ubah suai README.md pada cawangan baharu, dan tambah serta komit
- Ia boleh dibuktikan melalui operasi sebenar: selagi berbilang cawangan dicipta, berbilang proses boleh dijalankan pada masa yang sama tanpa menjejaskan satu sama lain. Pembangunan fungsi
3.3 git cantumkan cawangan
Tambah parameter --no–ff apabila bergabung untuk menyimpan sejarah cawangan sebelumnya
Penyunting kemudiannya Ia akan dimulakan dan digunakan untuk memasukkan maklumat komit gabungan
$ git merge --no-ff feature
Salin selepas log masuk
3.4 git log --graf untuk melihat cawangan sebagai ikon
$ git log --graph
Salin selepas log masuk
4 commit operation
4.1 git reset Menjejak ke belakang versi sejarah
Lihat log operasi gudang semasa melalui
$ git reset --hard 目标时间点的hash值
Salin selepas log masuk
untuk mencari nilai cincang sebelum sejarah penjejakan ke belakang. Selagi GC (pengumpulan sampah) git tidak dilakukan, status sejarah terkini boleh diambil sesuka hati melalui log. Walaupun pembangun melakukan operasi git secara tidak sengaja, dia pada asasnya boleh menggunakan arahan git reflog untuk memulihkan kepada keadaan asal.
git reflog
Apa yang dicetak di atas ialah operasi terbaharu, dan apa yang dicetak di bawah ialah operasi tertua
$ git reflog
Salin selepas log masuk
4.2 Menghapuskan konflik
Adalah mudah untuk berlaku apabila penggabungan operasi Konflik, pada masa ini anda perlu
membuka editor - untuk menyelesaikan konflik Dalam pembangunan sebenar, salah satu daripadanya selalunya perlu dipadamkan, jadi pastikan untuk
teliti kandungan bahagian yang bercanggah sebelum meneruskan Buat pengubahsuaian-
Selepas menyelesaikan konflik, lakukan operasi tambah dan komit
- Jika anda tidak berpuas hati dengan penyerahan sebelumnya maklumat, anda boleh menggunakan parameter pindaan untuk mengubah suainya
4.3 git rebase -i compress history
$ git commit --amend
Salin selepas log masuk
Sebelum menggabungkan cawangan, jika anda mendapati beberapa ralat ejaan dalam kandungan yang diserahkan, anda boleh ingin menyerahkan pengubahsuaian dan kemudian memasukkan pengubahsuaian ke dalam penyerahan sebelumnya Dimampatkan ke dalam rekod sejarah.
Anda boleh memilih tempoh untuk menyasarkan dua rekod sejarah terkini termasuk HEAD dalam cawangan, dan membukanya dalam editor
git rebase -i HEAD~2
Salin selepas log masuk
5 推送至远程仓库
5.1 git remote add 添加远程仓库
在创建新仓库的时候,建议不要勾选 README.md 文件,这样会使本地仓库和远程仓库失去整合性。虽然到时候可以强制覆盖,但防止这一情况发生,还是不要勾选,就创建一个空仓库就好。
git remote 在先写代码,后创建仓库的情况下能较好的使用
$ git remote add origin git@github.com:github-book/git-tutorial.git
Salin selepas log masuk
对于一般先创仓库,后写代码的,需要先 pull 下来仓库,再对文件进行修改
5.2 git push 推送至远程仓库
推送至 master 分支
$ git push -u origin master
Salin selepas log masuk
-u 参数可以在推送的同时,将 origin 仓库的 master 分支设置为本地仓库当前分支的 upstream(上游),添加这个参数,将来运行 git pull 命令从远程仓库获取内容的时候,本地仓库的这个分支就可以直接从 origin 的 masteer 分支获取内容,省去了另外添加参数的麻烦
除了 master 分支之外,还可以推送到其他分支
$ git checkout -b feature-D
$ git push -u origin feature-D
Salin selepas log masuk
6 从远程仓库中获取
6.1 git clone 获取远程仓库
$ git clone git仓库地址
Salin selepas log masuk
将本地的 feature-D 分支更新到最新状态
$ git pull origin feature-D
Salin selepas log masuk
- 多名开发者在同一个分支中进行作业时,为减少冲突情况的发生,建议更频繁的进行 push 和 pull 操作
推荐学习:《Git教程》
Atas ialah kandungan terperinci Bagaimana untuk memahami penggunaan asas git dalam 20 minit. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!